Witam! To po raz kolejny ja
Tym razem mam problem z NPC
(Mam Visumots 8.7)
Ot?? utworzy?em takiego oto NPC imieniem Ared (w sumie to przeedytowa?em NPCta od soft?w)
Oto skrypt do niego:
I tu si? pojawia problem...
Po dodaniu go do mapy, gdy pr?buje w??czy? ots w konsoli pojawia si? taki oto b??d:
[Warning - NpcScript::NpcScript] Can not load script: data/npc/scripts/ared.lua
data/npc/scripts/ared.lua:14: 'end' expected (to close 'function' at line 3) near 'elseif'
Czy kto? zechcia? by wyja?ni? w czym problem ?
I problem 2
Chcia?bym po??czy? ten skrypt up z nast?puj?cym skryptem, tak ?eby jeden NPC reagowa? i na komendy ze skrypt up (tego niedzia?aj?cego jeszcze xD) i na te ze skryptu poni?ej
Edit:
Uda?o mi si? naprawi? 1 skrypt
Teraz prosi? bym tylko o pomoc przy "sklejeniu" tych dw?ch skrypt?w w jeden
Tym razem mam problem z NPC
(Mam Visumots 8.7)
Ot?? utworzy?em takiego oto NPC imieniem Ared (w sumie to przeedytowa?em NPCta od soft?w)
Oto skrypt do niego:
PHP:
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, 'zelazo') or msgcontains(msg, 'kawalek zelaza')) then
selfSay('Taakk.. Mam cos takiego. Dam Ci go, jesli przyniesiesz mi 20 snopkow pszenicy. Umowa stoi?', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'tak') and talkState[talkUser] == 1) then
doPlayerAddItem(cid, 2550)
selfSay('Prosze, oto kosa. Na poludniu od wioski sa pola. Tam mozesz sciac pszenice', cid)
talkState[talkUser] = 0
elseif(msgcontains(msg, 'nic') and isInArray({1}, talkState[talkUser]) == TRUE) then
talkState[talkUser] = 0
selfSay('A to spadaj...', cid)
end
return true
end
Po dodaniu go do mapy, gdy pr?buje w??czy? ots w konsoli pojawia si? taki oto b??d:
[Warning - NpcScript::NpcScript] Can not load script: data/npc/scripts/ared.lua
data/npc/scripts/ared.lua:14: 'end' expected (to close 'function' at line 3) near 'elseif'
Czy kto? zechcia? by wyja?ni? w czym problem ?
I problem 2
Chcia?bym po??czy? ten skrypt up z nast?puj?cym skryptem, tak ?eby jeden NPC reagowa? i na komendy ze skrypt up (tego niedzia?aj?cego jeszcze xD) i na te ze skryptu poni?ej
PHP:
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, 'zadanie') or msgcontains(msg, 'quest')) then
selfSay('Czy masz przy sobie 20 snopkow pszenicy?', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'tak') and talkState[talkUser] == 1) then
if(getPlayerItemCount(cid, 2694) >= 20) then
if(doPlayerRemoveItem(cid, 2694, 10) == TRUE) then
doPlayerRemoveItem(cid, 2694, 10)
setPlayerStorageValue(cid, 23467, 1)
selfSay('Dziekuje! Wlasnie o to mi chodzilo! Teraz mozesz wziasc {kawalek zelaza} ze skrzynki w pokoju obok', cid)
else
selfSay('Wydaje mi sie ze troche Ci brakuje... Wroc gdy nazbierasz 20 snopkow', cid)
end
else
selfSay('Wydaje mi sie ze troche Ci brakuje... Wroc gdy nazbierasz 20 snopkow', cid)
end
talkState[talkUser] = 0
elseif(msgcontains(msg, Nie') and isInArray({1}, talkState[talkUser]) == TRUE) then
talkState[talkUser] = 0
selfSay('A to spadaj...', cid)
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Edit:
Uda?o mi si? naprawi? 1 skrypt
Teraz prosi? bym tylko o pomoc przy "sklejeniu" tych dw?ch skrypt?w w jeden