- Dołączył
- Sierpień 15, 2008
- Posty
- 64
- Liczba reakcji
- 8
Witam.
Wiele os?b ma problemy je?li chodzi o save w TFSach w wersji 0.2
W tym temacie dam skrypty na NPC oraz komendy Save dzia?aj?ce pod TFS 0.2.x, daj? tutaj tylko skrypty i npc pod TFS 0.2 poniewa? w TFS 0.3 s? one umieszczone ju? od razu, a w TFS 0.2 niestety cz?sto ich brakuje.
Umieszcz? tutaj r??ne skrypty r??nych autor?w, gdy? maj? one troch? inne funkcj? i mo?e jednej osobie przyda si? jeden skrypt, a drugiej inny.
W data/global.lua dodajecie poni?szy skrypt:
Je?li nie dzia?a, dodajcie ten skrypt w data/actions/lib/actions.lua
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Skrypt na komend? /save dla danego acces.
W data/talkactions/scripts tworzycie plik o nazwie save.lua i w nim dajecie:
Teraz w data/talkactions/talkactions.xml dodajecie:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
W data/npc tworzycie jakiego sobie chcecie npc, np. o nazwie Ted.xml i w nim dajecie:
Nast?pnie w data/npc/scripts tworzycie plik o nazwie save.lua i w nim dajecie:
Nast?pnie by ten NPC dzia?a? musicie postawi? go gdzie? na mapie na swoim OTSie (najlepiej gdzie?, gdzie niema ?adnych ludzi).
Z g?ry m?wi?, je?li chcecie poprzerabia? te swoje skrypty na takie by np. po zasevowaniu si? serwera pokazywa?o si? wszystkim graczom dane og?oszenie wystarczy doda? do skryptu w odpowiednim miejscu tak? funkcj? jak:
Czy mo?e na przyk?ad chcecie ulepszy? te skrypty i opr?cz save doda? jeszcze czyszczenie (clean) mapy, lub zrobi? z tego skrypt kt?ry tylko czy?ci map? to wystarczy doda? t? funkcj?:
w odpowiednim miejscu skryptu lub po prostu przerobi? skrypt by u?ywa? tej funkcji. Mo?ecie robi? co chcecie Tongue
Jak co? ch?tnie pomog?.
Na zako?czenie powiem, ?e te skrypty nie s? mojego autorstwa, ja je po prostu tutaj umie?ci?em i opisa?em co nale?y zrobi?.
Pozdrawiam.
@edit
Prosz? moderatora o wy??czenie mi opcji u?mieszk?w bo zapomnia?em.
Wiele os?b ma problemy je?li chodzi o save w TFSach w wersji 0.2
W tym temacie dam skrypty na NPC oraz komendy Save dzia?aj?ce pod TFS 0.2.x, daj? tutaj tylko skrypty i npc pod TFS 0.2 poniewa? w TFS 0.3 s? one umieszczone ju? od razu, a w TFS 0.2 niestety cz?sto ich brakuje.
Umieszcz? tutaj r??ne skrypty r??nych autor?w, gdy? maj? one troch? inne funkcj? i mo?e jednej osobie przyda si? jeden skrypt, a drugiej inny.
Automatyczny Save pod TFS 0.2.x
Ten skrypt sam robi save co ustalony czas (w tym kt?rym ja daj? jest ustawiony co 15 min.)
Ten skrypt sam robi save co ustalony czas (w tym kt?rym ja daj? jest ustawiony co 15 min.)
W data/global.lua dodajecie poni?szy skrypt:
saveDelay = 15 * 60 * 1000 -- 15 minutes for each save.
storageValue = 2342
if (getGlobalStorageValue(storageValue) == -1) then
function save(saveDelay)
saveData()
debugPrint(">>>>PLAYERS SAVED<<<<")
addEvent(save, saveDelay, saveDelay)
end
addEvent(save, saveDelay, saveDelay)
setGlobalStorageValue(storageValue, 1)
end
Je?li nie dzia?a, dodajcie ten skrypt w data/actions/lib/actions.lua
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Prosta komenda /save pod TFS 0.2.x
Skrypt na komend? /save dla danego acces.
W data/talkactions/scripts tworzycie plik o nazwie save.lua i w nim dajecie:
function onSay(cid)
if (getPlayerGroupId(cid) >= 3) then
saveData()
doPlayerSendTextMessage(cid, 24, "Server saved.")
else
doPlayerSendCancel(cid, "You can not execute this command.")
end
return 1
end
Teraz w data/talkactions/talkactions.xml dodajecie:
<talkaction words="!save" script="save.lua"/>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Save NPC pod TFS 0.2.x
W data/npc tworzycie jakiego sobie chcecie npc, np. o nazwie Ted.xml i w nim dajecie:
<?xml version="1.0" encoding="UTF-8"?>
<npc name="Ted" script="data/npc/scripts/save.lua" autowalk="1" floorchange="0">
<health now="100" max="100"/>
<look type="143" head="114" body="114" legs="0" feet="0" addons="2"/>
<parameters>
<parameter key="message_greet" value="Hello |PLAYERNAME|."/>
</parameters>
</npc>
Nast?pnie w data/npc/scripts tworzycie plik o nazwie save.lua i w nim dajecie:
Kod:
local SAVE_FREQUENCE = 700 -- seconds
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local saveTimer = SAVE_FREQUENCE
function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink()
saveTimer = saveTimer - 1
if saveTimer == 0 then
saveData()
saveTimer = SAVE_FREQUENCE
end
npcHandler:onThink()
end
npcHandler:addModule(FocusModule:new())
Nast?pnie by ten NPC dzia?a? musicie postawi? go gdzie? na mapie na swoim OTSie (najlepiej gdzie?, gdzie niema ?adnych ludzi).
Z g?ry m?wi?, je?li chcecie poprzerabia? te swoje skrypty na takie by np. po zasevowaniu si? serwera pokazywa?o si? wszystkim graczom dane og?oszenie wystarczy doda? do skryptu w odpowiednim miejscu tak? funkcj? jak:
doBroadcastMessage("Tutaj wasze ogloszenie.")
Czy mo?e na przyk?ad chcecie ulepszy? te skrypty i opr?cz save doda? jeszcze czyszczenie (clean) mapy, lub zrobi? z tego skrypt kt?ry tylko czy?ci map? to wystarczy doda? t? funkcj?:
cleanMap()
w odpowiednim miejscu skryptu lub po prostu przerobi? skrypt by u?ywa? tej funkcji. Mo?ecie robi? co chcecie Tongue
Jak co? ch?tnie pomog?.
Na zako?czenie powiem, ?e te skrypty nie s? mojego autorstwa, ja je po prostu tutaj umie?ci?em i opisa?em co nale?y zrobi?.
Pozdrawiam.
@edit
Prosz? moderatora o wy??czenie mi opcji u?mieszk?w bo zapomnia?em.
Ostatnia edycja:

przyda?o si?