Czyli tworzymy nasze MMO ;)
NPC Skrypt:
Spoiler:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
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() npcHandler:onThink() end
function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
if(msgcontains(msg, 'informacje'))then
selfSay('BARDZO CIEKAWA RPGOWA HISTORIA KTÓREJ NIE UMIEM WYMYŚLIĆ', cid)
if(msgcontains(msg, 'tak') or msgcontains(msg, 'rozumiem')) then
selfSay('Więc na co czekasz, ruszaj do Hogwartu', cid)
doPlayerSetStorageValue(cid, 60000, 1)
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
w Hagrid.xml
Spoiler:
<?xml version="1.0" encoding="UTF-8"?>
<npc name="HAGRID" script="ŚCIEŻKA" walkinterval="2000" floorchange="0">
<health now="100" max="100"/>
<look type="JEGO LOOKTYPE" head="0" body="0" legs="0" feet="0"/>
<parameters>
<parameter key="message_greet" value="Witam cie |PLAYERNAME|. Aby dowiedziec sie wiecej o Hogwarcie zapytaj o {informacje}" />
<parameter key="message_farewell" value="Zegnaj." />
<parameter key="message_walkaway" value="Gdzie uciekasz?" />
</parameters>
</npc>
Kiedy pogadamy z nim i będziemy już mieli Storage Value = 60000(mozna zmienic) Możemy wejść na łódź
Spoiler:
function onStepIn(cid, item, pos)
local boataid = 9999
local tp = {x=999, y=999, z=9}
if item.actionid == boataid then
if getPlayerStorageValue(cid, 60000) == 1
doTeleportThing(cid, tp)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Najpierw porozmawiaj z Hagridem")
end
end
return TRUE
end
boataid = Action ID Kratki która ma tpować
tp = miejsce gdzie ma tpować
W movements.xml
Spoiler:
<movevent type="StepIn" actionid="TUTAJ ACTION ID ŁÓDKI" event="script" value="ŚCIEŻKA" />
Aby dodać jakieś słowa na które mają reagować npc musimy edytować(w TFS) data/npc/lib/npcsystem/npcsystem.lua
Szukamy linijki: FOCUS_GREETWORDS i tam zmieniamy na co ma reagować npc ;]
Ostatnio edytowany przez Fedake (2009-12-22 14:05:25)
Offline