Ir para conteúdo

Npc Que Troca Itens.


gabizinhaah

Posts Recomendados

Galera, a NPC marina no meu servidor era pra trocar GSS por Spool of yarn, porém elá não está trocando.

Vou colocar os scripts no tópico, alguem pode dar uma olhada pra mim e me ajudar?

thanks

 

Marina.xml

<?xml version="1.0"?>
<npc name="Marina" script="data/npc/scripts/default.lua" access="5" lookdir="2" walkinterval="0">
 <health now="200" max="200" />
  <look typeex="5811" head="0" body="0" legs="0" feet="0" addons="0" />
 <parameters>
   <parameter key="message_greet" value="Oh, hello |PLAYERNAME|. A visitor, how nice!" />
 </parameters>
</npc>

 

Obs:O Script da NPC fica em /npc/scripts/default.lua, Porém lá o script está assim:

 

Default.lua

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

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

npcHandler:addModule(FocusModule:new())

 

 

Alguem consegue pra mim o script pra colocar direto no NPC Marina.xml?

De preferencia sem mecher no default.lua

Thanks :D

 

Rep + Pra quem conseguir

Link para o comentário
Compartilhar em outros sites

Olha melhor não mexer no default.lua, só mude lá para algum outro nome, por exemplo troca.lua!

<?xml version="1.0"?> 
<npc name="Marina" script="data/npc/scripts/troca.lua" access="5" lookdir="2" walkinterval="0"> 
 <health now="200" max="200" /> 
  <look typeex="5811" head="0" body="0" legs="0" feet="0" addons="0" /> 
 <parameters> 
   <parameter key="message_greet" value="Oh, hello |PLAYERNAME|. A visitor, how nice!" /> 
 </parameters> 
</npc>

Daí, vá para PastaDoSeuOt/data/npc/scripts/ e crie esse troca.lua!

(Copie um arquivo qualquer, renomeie e apague tudo que estiver dentro)

Dentro do arquivo já em branco coloque:

local keywordHandler = KeywordHandler:new()   
local npcHandler = NpcHandler:new(keywordHandler)   
NpcSystem.parseParameters(npcHandler)   

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 GSS(cid, message, keywords, parameters, node)   
   if(not npcHandler:isFocused(cid)) then   
       return false   
   end   
       if getPlayerItemCount(cid,5879) >= 1 then   
       if doPlayerRemoveItem(cid,5879,1) then   
           npcHandler:say('Here is your spool of yarn!', cid)   
           doPlayerAddItem(cid,5886,1)   
       end   
       else   
           npcHandler:say('Sorry, you don\'t have the giant spider silk!', cid)   
  end      
end 


keywordHandler:addKeyword({'giant spider silk'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you wanna exchange a giant spider silk into a {spool of yarn}?.'}) 

local node1 = keywordHandler:addKeyword({'spool of yarn'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Are you sure?'})   
   node1:addChildKeyword({'yes'}, GSS, {npcHandler = npcHandler, onlyFocus = true, reset = true})   
   node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Come back when you want.', reset = true})

npcHandler:addModule(FocusModule:new())

Obs: Não testei, mas veja se é isso...

Caso for REP++!

Créditos ao Vodkart pelo script, apenas editei para a GSS.

Ahh, funciona da seguinte forma: você fala 'hi', depois 'giant spider silk' ou 'spool of yarn', 'yes'.

Obs: Não sei se tem como fazer isso pelo arquivo .xml, o.O'

Editado por Beto06
Link para o comentário
Compartilhar em outros sites

Thanks, vou testar se funcionar eu edito :D

REP +

 

@edit

 

Deu certinho :D

Só tive que trocar o valor de troca, pois a NPC estava trocando 1 gss por 1 spool of yarn

acho que o certo é 10GSS por 1 Spool of yarn

mas, já está resolvido :D

thanks.

Editado por gabih
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...