[8.3-8.52] Zmiana miejsca logowania
PRzeSteR
[8.3-8.52] Zmiana miejsca logowaniaMasterHuligans 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 :)