ďťż

[8.3-8.52] Zmiana miejsca logowania

PRzeSteR

[8.3-8.52] Zmiana miejsca logowania
  MasterHuligans poprosił, abym zrobił taki oto skrypt, tak więc zrobiłem. Polega on na tym, że przy zalogowaniu w zależności od levela pojawiamy się w różnych miejscach.

Tak więc tworzymy plik login place.lua w katalogu data/creaturescripts/scripts/ i wklejamy do niego:
Kod: -- do creaturescripts.xml: <event type="login" name="loginplace" event="script" value="login place.lua" />
local places = {
{fromLevel=1, toLevel=20, place={x=123, y=123, z=7}},
{fromLevel=21, toLevel=40, place={x=123, y=123, z=7}},
{fromLevel=41, toLevel=60, place={x=123, y=123, z=7}},
{fromLevel=61, toLevel=99999, place={x=123, y=123, z=7}}
}

function onLogin(cid)
local level = getPlayerLevel(cid)
for i=1, #places do
        if(places[i].fromLevel <= level and places[i].toLevel >= level) then
                doTeleportThing(cid,places[i].place)
                doSendMagicEffect(places[i].place,CONST_ME_TELEPORT)
                return TRUE
        end
end
doTeleportThing(cid,places[#places].place)
doSendMagicEffect(getCreaturePosition(cid),CONST_ME_TELEPORT)
return TRUE
end Następnie do creaturescripts.xml w katalogu data/creaturescripts/ dodajemy:
Kod: <event type="login" name="loginplace" event="script" value="login place.lua" /> Konfiguracja jest łatwa, tak więc nie będę jej wyjaśniał. Zdjęć także nie będę udostępniał, ponieważ nie ma jak zrobić (efekt logowania?).

Mam nadzieję, że skrypt się przyda.
Pozdrawiam,
Gelio

@sawex
Tak, jeżeli ktoś nie mieści się w przedziale daje tp do ostatniego miejsca na liście.

@MooX
Moje założenie było takie, że jak ktoś ma level większy niż maksymalny wpisany w tabeli, to żeby został przeniesiony do ostatniego miejsca.

@sawex i MooX
Nie kłóćcie się.



  Prosty skrypt ale moze sie przydac jezeli ktos robi otsa w stylu cRpg/Rpg
Tylko szkoda ze coraz mniej pomagasz innym ;p Ale zawsze cos :)

Pozdrawiam Arkam

  Całkiem niezły skrypt.
Kod: doTeleportThing(cid,places[#places].place)
doSendMagicEffect(getCreaturePosition(cid),CONST_ME_TELEPORT)
return TRUE To jest alternatywa dla osób nie mieszczących sie w przedziale? bo nie chce mi się sprawdzać.

  Cytat:
Całkiem niezły skrypt.
Kod: doTeleportThing(cid,places[#places].place)
doSendMagicEffect(getCreaturePosition(cid),CONST_ME_TELEPORT)
return TRUE To jest alternatywa dla osób nie mieszczących sie w przedziale? bo nie chce mi się sprawdzać.
Widac ze skrypty to dla ciebie magia... Odp. Na twoje pytanie: NIE

@Topic skrypt moze byc, przyda mi sie na war z priv charami :p

@DOWN
ten kawalek skryptu ktory dales odpowiada za wyglad efektu i odsyla do places...
gracze nie mieszczący sie pewnie maja pozycje z bazy danych



  Skrypty to dla mnie magia? to raczej ja jestem magikiem skryptowym..
jak juz mowilem po prostu nie chce mi sie sprawdzac....

  Witam mam pytanie odnośnie tego skryptu fajnie działa aż za dobrze moje pytanie brzmi jak zrobić żeby skrypt nie ragował na osoby powyżej 50 lvla zrobiłem tak ale nie działa chodzi oto że postacie idom np na exp wylogują sie tam i zaczynają znowu od np teple taka trochę lipa

local places = {
{fromLevel=1, toLevel=20, place={x=160, y=46, z=8}},
{fromLevel=21, toLevel=49, place={x=160, y=46, z=8}}
}
function onLogin(cid)

  Skrypt bardzo fajny. Użyłem go u siebie. Używam 8.1 i podziałało mi jak zmieniłem trochę linijkę, a dokładniej:
Kod: <event type="login" name="loginplace" script="loginplace.lua" /> Może się komuś przyda z 8.1owiczów :p

Podziękowanie leci za ten skrypcik :)
Copyright (c) 2009 PRzeSteR | Powered by Wordpress. Fresh News Theme by WooThemes - Premium Wordpress Themes.