Postado Junho 13, 2014 11 anos Essa é minha intenção de falas pro NPC. A primeira fala: Player: Hi NPC: Ola |PLAYERNAME| , poderia me ajudar recolhendo alguns itens pra minha lojinha? Player: Yes NPC: Ok, recolha para mim 13 pair of leaves que pode ser encontrada com snivys. 13 Sandbags que pode ser encontradas com Krokoroks. Boa Sorte! Depois que o player conseguir todos os itens,o NPC vai recolher os itens que ele pegou: Player: Hi NPC: Conseguiu recolher os itens? Player: Yes NPC: Muito obrigado, aqui está seu premio! A Script atual do NPC: Jonas.xml <?xml version="1.0"?><npc name="Jonas" script="data/npc/scripts/Jonas.lua" walkinterval="2000"> <health now="200" max="200" /><look type="131" head="38" body="38" legs="38" feet="38" addons="3"/> <parameters> <parameter key="message_greet" value="Ola, |PLAYERNAME|. Em que posso ajuda-lo?" /> </parameters></npc> Jonas.lua 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 doCreatureSayWithDelay(cid,text,type,delay,e) if delay<=0 then doCreatureSay(cid,text,type) else local func=function(pars) doCreatureSay(pars.cid,pars.text,pars.type) pars.e.done=TRUE end e.done=FALSE e.event=addEvent(func,delay,{cid=cid, text=text, type=type, e=e}) end end function cancelNPCTalk(events) local ret=1 for aux=1,table.getn(events) do if events[aux].done==FALSE then stopEvent(events[aux].event) else ret=ret+1 end end events=nil return(ret) end function doNPCTalkALot(msgs,interval) local e={} local ret={} if interval==nil then interval=3000 end --3 seconds is default time between messages for aux=1,table.getn(msgs) do e[aux]={} doCreatureSayWithDelay(getNpcCid(),msgs[aux],TALKTYPE_PRIVATE_NP,(aux-1)*interval,e[aux]) table.insert(ret,e[aux]) end return(ret) 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, 'Quest') or msgcontains(msg, 'mission')) and getPlayerStorageValue(cid,1001) == -1 then selfSay('Ola, poderia me ajudar recolhendo alguns itens pra minha lojinha?', cid) talkState[talkUser] = 1 elseif((msgcontains(msg, 'Yes') or msgcontains(msg, 'sim')) and talkState[talkUser] == 1) then selfSay('Ok, recolha para mim {13 pair of leaves} que pode ser encontrada com {snivys} e {13 Sandbags} que pode ser encontradas com {Krokoroks}. Boa Sorte!', cid) talkState[talkUser] = 0 setPlayerStorageValue(cid, 1001, 1) setPlayerStorageValue(cid, 1002, 1) elseif(msgcontains(msg, 'Quest') or msgcontains(msg, 'mission')) and getPlayerStorageValue(cid,1002) == 1 then selfSay('Conseguiu recolher os itens?', cid) talkState[talkUser] = 2 elseif(msgcontains(msg, 'Yes') or msgcontains(msg, 'sim')) and talkState[talkUser] == 2 and getPlayerItemCount(cid, 12155) < 13 and getPlayerItemCount(cid, 12177) < 13 then selfSay('Voce ainda nao tem todos os itens necessarios.', cid) talkState[talkUser] = 0 elseif((msgcontains(msg, 'No') or msgcontains(msg, 'nao')) and talkState[talkUser] == 2) then selfSay('Entao vai la buscar.', cid) talkState[talkUser] = 0 elseif(msgcontains(msg, 'Yes') or msgcontains(msg, 'sim')) and getPlayerStorageValue(cid,1002) == 1 and talkState[talkUser] == 2 and getPlayerItemCount(cid, 12155) == 13 and getPlayerItemCount(cid, 12177) == 13 then selfSay('Muito obrigado, aqui está seu premio!', cid) doPlayerAddItem(cid,11441, 1) doPlayerAddItem(cid,11451, 1) doPlayerRemoveItem(cid, 12155, 13) doPlayerRemoveItem(cid, 12177, 13) setPlayerStorageValue(cid, 1002, -1) end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Como mudar pras falas ficarem igual as que eu queria? Me ajudem por favor, SE POSSÍVEL editem o Script pra mim pois sou pessímo em Scripts! --------------------------------------------------------------------------> Agradeço Desde Já <-------------------------------------------------------------------------------------- Atensiosamente, Gabriel L.
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.