Postado Agosto 17, 2014 11 anos Bom gente eu tenho esse NPC aqui, ele seria um NPC de quest em que o player tem que pegar alguns items e entregar pro NPC. O Npc aparece no jogo, da pra abrir ele no RME e tudo. PORÈM quando vai falar com ele vocÊ fala "Hi" ai ele fala "Welcome, to expengin you."(algo assim n lembro ç.ç ) e não fala mais nada. E essa fala "Welcome to..." nem ta no script do NPc '------' alguém poderia arrumar? (Se expliquei muito confuso, malz ae '--') XML do NPC::: <?xml version="1.0"?> <npc name="Marlon" script="marlon.lua" walkinterval="2000"> <health now="200" max="200" /> <look type="614" head="0" body="114" legs="94" feet="0" addons="3"/> <parameters> </parameters> </npc> LUA do NPC::: 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, 'Hi') or msgcontains(msg, 'oi')) and getPlayerStorageValue(cid,1001) == -1 then selfSay('Ola, poderia me ajudar recolhendo alguns itens pra minha lojinha?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'Hi') or msgcontains(msg, 'oi')) and getPlayerStorageValue(cid,1003) == 1 then selfSay('Ola, Em que posso ajudar?', cid) elseif((msgcontains(msg, 'No') or msgcontains(msg, 'nao')) and talkState[talkUser] == 1) then selfSay('Ok entao. Bye!', cid) talkState[talkUser] = 0 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 {oddish} e {13 Sandbags} que pode ser encontradas com {diglett}. Boa Sorte!', cid) talkState[talkUser] = 0 doSendMagicEffect(getPlayerPosition(cid), 13) setPlayerStorageValue(cid, 1001, 1) setPlayerStorageValue(cid, 1002, 1) elseif(msgcontains(msg, 'Hi') or msgcontains(msg, 'oi')) 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) doSendMagicEffect(getPlayerPosition(cid), 49) doPlayerAddItem(cid,11441, 1) doPlayerAddItem(cid,11451, 1) doPlayerRemoveItem(cid, 12155, 13) doPlayerRemoveItem(cid, 12177, 13) setPlayerStorageValue(cid, 1002, -1) setPlayerStorageValue(cid, 1003, 1) end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) REP+ pra quem ajudar e.e Atensiosamente, Gabriel L.
Postado Agosto 17, 2014 11 anos Essa mensagem deve ser algo padrão. Você pode mudar ela na LIB, do NPC Tony Araújo
Postado Agosto 17, 2014 11 anos Autor Essa mensagem deve ser algo padrão. Você pode mudar ela na LIB, do NPC Ta mais como? onde? Oq mudo??? '------------' Atensiosamente, Gabriel L.
Postado Agosto 17, 2014 11 anos Troca <?xml version="1.0"?> <npc name="Marlon" script="marlon.lua" walkinterval="2000"> por <?xml version="1.0"?> <npc name="Marlon" script="data/npc/scripts/marlon.lua" walkinterval="0" floorchange="0"> ve se da certo, se dão algum erro na distro manda. Editado Agosto 17, 2014 11 anos por nazesaria (veja o histórico de edições) Discord: Naze#3578 Ter Linux Dentro de Windows com Acesso 'localhost' para testes e + AutoLoot Otimizado Direto na Source (tfs 0.4/otx) // Pirataria é crime, original é roubo, compartilhar é legal.
Postado Agosto 17, 2014 11 anos Autor Troca por <?xml version="1.0"?> <npc name="Marlon" script="data/npc/scripts/marlon.lua" walkinterval="0" floorchange="0"> ve se da certo, se dão algum erro na distro manda. Ele continua falando Marlon: Welcome, Biel! I have been expecting you. em vez das falas propostas no script 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.