Fedake - 2009-12-22 13:33:32

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Ć :D', 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 ;]

www.menadzer2009zuzlowy.pun.pl www.zgraja.pun.pl www.poczujmagie.pun.pl www.shetty.pun.pl www.veterans.pun.pl