• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!
  • 2026 staff recruitment is open! Check it out and consider applying!

Czy takie coś jest możliwe?

eloziomek

New Member
Joined
Apr 18, 2009
Messages
7
Reaction score
0
Siemka .

Mam pytanie czy jest mozliwe zrobienie czegos takiego :
Robisz postac na serverze ( WAR SERVER!! ) i rzeczy takie jak level ( a co za tym idzie hp , oraz manna... ) resetują się co dead'a a reszta czyli np . mlvl , skille , addony nie resetują się .

Gdy dam save na 0 w bazie niestety resetuje sie wszystko , dlatego pytam czy jest taka mozliwosc ?
 
Teraz sprawa jakie rozwiazanie bedzie najlepsze.

Myslalem nad czyms takim :
Save w bazie na 1
I napisac skrypt ktory poprostu po kazdym deadzie bedzie resetowal level do danego stanu ?

Czy macie moze taki skrypt ?
Jestem newbiem w tych sprawach , wiem ze zapewne nie bedziecie chcieli podac gotowego skryptu , wiec moze jakies naprowadzenie dla newbie ktory plik edytowac/gdzie szukac oraz jakie funkcje moga sie przydac? ;/
 
Ok dałem save na 1 w bazie
Teraz rozumiem ze to co mi podales mam gdzies wkleic ,tyle ze nie wiem gdzie oraz jak to pozmieniac :F
 
Musisz zrobić nowy plik w creaturescripts/scripts/, zapakować to co podałem w funkcje onPrepareDeath(~), dodać do login.lua i creaturescripts.xml.
 
Ok
Zrobiłem nowy plik o nazwie resetlvl.lua w creaturescripts/scripts/
W pliku creaturescripts.xml dodałem:
Code:
    <event type="login" name="resetlvl" event="script" value="resetlvl.lua"/>

Natomiast w pliku login.lua mam dodać coś w stylu
Code:
registerCreatureEvent(cid, "lvlreset")
?

No i nie bardzo rozumiem jak mam "zapakować" to w tą funkcję "onPrepareDeath(~)"

I gdzie potem będę musiał wpisać level do którego ma wracać postać po śmierci?
 
To co podałem powoduje, że nic poza levelem nie spada, do resetowania levela do konkretnego wrzuć poniższą funkcje do lib/functions.lua:
PHP:
--[[byKeraxel]] function doPlayerSetLevel(cid, level)
	return doPlayerAddExperience(cid, (getExperienceForLevel(level) - getPlayerExperience(cid))) or FALSE
end
i wykonaj ją w pliku, który stworzyłeś.

Najlepiej podaj na pw gg, coś wykombinujemy ;)
 
Back
Top