Ir para conteúdo

Featured Replies

Postado

Fala pessoal, eu estou com uma dúvida não sei o que está havendo....

 

Eu editei um item no Ot Item Editor, copiei a sprite e criei uma staff que eu vou mostrar, e criei outros items mas vou mostrar essa staff apenas como exemplo...

 

acontece que  quando eu boto para vender no npc...  dá um bug e não vende de jeito nenhum!!

 

O item é esse:

post-126526-0-37058200-1409457071_thumb.

 

Mas Vejam o que acontece no NPC, o item aparece com valor e nomes certos! porém quando eu dou um look no item pela caixinha do trade aparece a descrição e o ID do item original que foi usado para criar essa staff!!

post-126526-0-08949900-1409457183_thumb.

 

Viram? como é possivel o NPC reconhecer o item original apenas pela sprite?? porque o ID é outro! o ID do item era 12609 e o que foi editado com mesma sprite é 12626... mas na caixinha do trade aparece o item de id 12609 quando da look!

 

no meu NPC tá assim :

 

<parameter key="module_shop" value="1"/>
<parameter key="shop_buyable" value="staff of baiak,12626,5000000;"/>
 
Como que pode aparecer na caixinha do trade o item com ID 12609 ???
 

Me ajudem pessoal, eu preciso colocar itens editados à venda nesse NPC, e não queria ter que sacrificar items originais para criar os meus.. por isso estou duplicando as sprites...

 

Ajudem ai! eu dou rep+ com certeza!


@UP!!

 

Criei o tópico de madrugada, tô dando esse UP pra ver se alguem responde...

 

Me ajudem ai pessoal!!

Editado por eric77 (veja o histórico de edições)

Gosto de ajudar, e se te ajudei manda aquele REP+

 

Valeu  ;):D 

  • Respostas 5
  • Visualizações 3.2k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Ragnar Lothbrook
    Ragnar Lothbrook

    Isso acontece porque o ID do iten duplicado vem antes do ID do item original. Pois como tem a mesma sprite, o NPC não detecta apenas o numero do ID, mas também da sprite, onde entra em conflito. Faça

  • Ragnar Lothbrook
    Ragnar Lothbrook

    Vou fazer o script completo pra você então.   no XML você coloca: <?xml version="1.0" encoding="UTF-8"?> <npc name="Mad" script="data/npc/scripts/loot.lua" walkinterval="2000" floorchange

Posted Images

Postado

Isso acontece porque o ID do iten duplicado vem antes do ID do item original. Pois como tem a mesma sprite, o NPC não detecta apenas o numero do ID, mas também da sprite, onde entra em conflito. Faça um comando por IDS, como:

 

"sell staf original, yes" ou "sell 4 staff original. yes"

 

Bem como este:

 

Arquivo XML:

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Mad" script="data/npc/scripts/loot.lua" walkinterval="2000" floorchange="0">
<health now="150" max="150"/>
<look type="141" head="78" body="86" legs="88" feet="0" addons="3"/>
<parameters>
<parameter key="module_shop" value="1"/>
<parameter key="message_greet" value="Ola |PLAYERNAME|. Eu compro alguns loots. Caso não consiga vender algum iten, use o exemplo: {sell 3 tower shield}, {sell 2 warlord sword}, etc."/>
<parameter key="shop_sellable" value="royal helmet,2498,20000;warrior helmet,2475,5000;crusader helmet,2497,9000;crown helmet,2491,3000;devil helmet,2462,2000;mystic turban,2663,500;chain helmet,2458,35;iron helmet,2459,30;steel boots,2645,30000;boots of haste,2195,30000;golden boots,2646,100000;magic plate armor,2472,120000;dragon scale mail,2492,60000;demon armor,2494,90000;golden armor,2466,20000;crown armor,2487,9000;knight armor,2476,5000;blue robe,2656,15000;lady armor,2500,2500;plate armor,2463,400;brass armor,2465,200;chain armor,2464,100;golden legs,2470,40000;crown legs,2488,10000;knight legs,2477,5000;plate legs,2647,500;brass legs,2487,100;mastermind shield,2514,40000;demon shield,2520,20000;blessed shield,2523,150000;great shield,2522,100000;vampire shield,2534,20000;medusa shield,2536,15000;amazon shield,2537,4000;crown shield,2519,5000;tower shield,2528,5000;guardian shield,2515,200;beholder shield,2518,1500;dwarven shield,2525,100;magic longsword,2390,200000;warlord sword,2408,140000;magic sword,2400,100000;giant sword,2393,10000;bright sword,2407,6000;ice rapier,2396,4000;fire sword,2392,3000;serpent sword,2409,1500;spike sword,2383,800;two handed sword,2377,400;broad sword,2413,70;short sword,2406,30;sword,2376,25;dragon lance,2414,8000;stonecutter axe,2431,90000;guardian halberd,2427,7500;fire axe,2432,10000;knight axe,2430,2000;double axe,2387,200;halberd,2381,200;battle axe,2378,100;hatchet,2388,20;war hammer,2391,6000;thunder hammer,2421,120000;skull staff,2436,10000;dragon hammer,2434,2000;clerical mace,2423,200;battle hammer,2417,60;mace,2398,30;"/>
</parameters>
</npc>

royal helmet,2498,20000; = Nome que está no itens.xml, id que esta no itens.xml, valor em golds;

 

 

No script 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


-- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions!
keywordHandler:addKeyword({'helmets'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I buy royal (40k), warrior (6k), crusader (9k), crown (5k), devil (4k), chain (35gp) and iron helmets (30gp), also mystic turbans (500gp).'})
keywordHandler:addKeyword({'boots'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I buy golden boots (100k), steel boots (40k) and boots of haste (40k).'})
keywordHandler:addKeyword({'armors'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I buy golden (30k), crown (20k), knight (5k), lady (7,5k), plate (400gp), brass (200gp) and chain armors (100gp), also mpa (100k), dsm (60k) and blue robes (15k).'})
keywordHandler:addKeyword({'legs'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I buy golden (80k), crown (15k), knight (6k), plate (500gp) and brass legs (100gp).'})
keywordHandler:addKeyword({'shields'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I buy blessed (150k), great (100k), demon (40k), vampire (25k), medusa (8k), amazon (4k), crown (5k), tower (5k), dragon (3k), guardian (2k), beholder (1k), and dwarven shields (100gp), also mms (80k).'})
keywordHandler:addKeyword({'swords'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I buy giant (10k), bright (6k), fire (3k) serpent (1.5k), spike (800gp) and two handed swords (400gp), also ice rapiers (4k), magic longswords (150k), magic swords (90k), warlord swords (100k) broad swords (70gp), short swords (30gp), sabres (25gp) and swords (25gp).'})
keywordHandler:addKeyword({'axes'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I buy fire (10k), guardian halberds (7,5k) knight (2k), double (200gp) and battle axes (100gp), also dragon lances (10k), stonecutters axes (90k), halberds (200gp) and hatchets (20gp).'})
keywordHandler:addKeyword({'clubs'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I buy thunder hammers (90k), war (6k), dragon (2k) and battle hammers (60gp), also skull staffs (10k) and clerical maces (200gp).'})


npcHandler:addModule(FocusModule:new())
Com este script, basta dizer ''sell 'quantidade' 'nome', yes", que o NPC compra qualquer iten com a mesma sprite. É impossivel concertar este erro.
 
Qualquer erro poste aqui que ajudo a resolver.

Atenciosamente,

 0lxhEI2.jpg

 

 

Meu servidor:

 

pbOT

Postado
  • Autor

Putz... Triste é saber que não tem jeito pra isso, mas eu já estava esperando por isso mesmo pra falar a verdade...

Bom já que está confirmado que não tem jeito, só me resta tentar partir para caminhos paralelos, eu não tenho certeza que vou usar teu modelo de npc, ele vende itens como antigamente no tibia, hehe , interessante voltar nos tempos...

Enfim, de qualquer maneira tu me ajudou muito, apesar de não resolver meu problema esclareceu minha dúvida e me deu uma alternativa, levou meu Rep+

Obrigado amigo!

Gosto de ajudar, e se te ajudei manda aquele REP+

 

Valeu  ;):D 

Postado

Vou fazer o script completo pra você então.

 

no XML você coloca:

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Mad" script="data/npc/scripts/loot.lua" walkinterval="2000" floorchange="0">
<health now="150" max="150"/>
<look type="141" head="78" body="86" legs="88" feet="0" addons="3"/>
<parameters>
<parameter key="module_shop" value="1"/>
<parameter key="message_greet" value="Ola |PLAYERNAME|. Eu vendo alguns itens Caso não consiga comprar algum iten, diga {buy staff of baiak}, etc."/>
<parameter key="shop_buyable" value="staff of baiak,12609,5000000;"/>
</parameters>
</npc>

E no arquivo lua você cola isto:

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


-- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions!
keywordHandler:addKeyword({'itens'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'COLOQUE OS ITENS QUE O NPC VENDE'})


npcHandler:addModule(FocusModule:new())

Sendo assim, se o player disser: "buy staff of baiak", o NPC vai perguntar "voce quer a staff of baiak por 5kk ?", e é só confirmar, que a compra é feita.

Editado por VictorTasquin (veja o histórico de edições)

Atenciosamente,

 0lxhEI2.jpg

 

 

Meu servidor:

 

pbOT

Postado
  • Autor

Vou fazer o script completo pra você então.

 

no XML você coloca:

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Mad" script="data/npc/scripts/loot.lua" walkinterval="2000" floorchange="0">
<health now="150" max="150"/>
<look type="141" head="78" body="86" legs="88" feet="0" addons="3"/>
<parameters>
<parameter key="module_shop" value="1"/>
<parameter key="message_greet" value="Ola |PLAYERNAME|. Eu vendo alguns itens Caso não consiga comprar algum iten, diga {buy staff of baiak}, etc."/>
<parameter key="shop_buyable" value="staff of baiak,12609,5000000;"/>
</parameters>
</npc>

E no arquivo lua você cola isto:

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


-- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions!
keywordHandler:addKeyword({'itens'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'COLOQUE OS ITENS QUE O NPC VENDE'})


npcHandler:addModule(FocusModule:new())

Sendo assim, se o player disser: "buy staff of baiak", o NPC vai perguntar "voce quer a staff of baiak por 5kk ?", e é só confirmar, que a compra é feita.

Valeu amigo! muito bom mesmo, já que você decidiu ajeitar o script todinho pra mim eu vou colocar no meu server...

 

Só vou adicionar mais items e dar uma modificada na fala, nome e aparência. Meu Obrigado. rep+ 

Editado por eric77 (veja o histórico de edições)

Gosto de ajudar, e se te ajudei manda aquele REP+

 

Valeu  ;):D 

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo