Ir para conteúdo

Facil Facil Script Npcs


Victor8

Posts Recomendados

Eai pessoal, fiz um scrip aqui rapidinho pra um amigo meu, mas achei um problema olhe o codigo ai :>

 

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 creatureSayCallback(cid, type, msg)
   if (not npcHandler:isFocused(cid)) then
       return false
   end

if msgcontains(msg, 'Ajuda') or msgcontains(msg, 'ajuda') then
               npcHandler:say('Para você comprar um addon, simplesmente digite o nome do addon desejado. \n {Exemplo: Barbarian}', cid)

talk_state = 0

end

if msgcontains(msg, 'Knight') or msgcontains(msg, 'knight') then
               npcHandler:say('Desculpe, o Knight outfit é só para quem já completou a Demon Oak Quest.', cid)

talk_state = 0
end


if msgcontains(msg, 'Warmaster') or msgcontains(msg, 'warmaster') then
               npcHandler:say('Desculpe, o Warmaster outfit é só para quem já completou a Orc Fortress Quest.', cid)

talk_state = 0
end



if msgcontains(msg, 'Warrior') or msgcontains(msg, 'warrior') then
               npcHandler:say('Desculpe, o Warrior outfit é só para quem já completou a Annihilator Quest.', cid)

talk_state = 0



end




if msgcontains(msg, 'Mage') or msgcontains(msg, 'mage') then
if getPlayerItemCount(cid, 5903) >= 1 then
npcHandler:say('Você deseja entregar o Ferrumbras Hat em troca do Mage Outfit?', cid)
talk_state = 3
else
npcHandler:say('Você não tem o Ferrumbras Hat. Mate o ferrumbras, pegue-o e volte aqui.', cid)
talk_state = 0
end
end



if msgcontains(msg, 'yes') and talk_state == 3 then
if getPlayerItemCount(cid, 5903) >= 1 then
if(getPlayerSex(cid) == 0)then
doPlayerAddOutfit(cid, 138, 3)
talk_state = 0
doPlayerRemoveItem(cid, 5903, 1)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
npcHandler:say('Aqui esta.', cid)
else
doPlayerAddOutfit(cid, 130, 3)
talk_state = 0
doPlayerRemoveItem(cid, 5903, 1)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
npcHandler:say('Aqui esta.', cid)



end
else
npcHandler:say('Você não tem o Ferrumbras Hat. Mate o ferrumbras, pegue-o e volte aqui.', cid)
talk_state = 0
end
end




if msgcontains(msg, 'Summoner') or msgcontains(msg, 'summoner') then
npcHandler:say('Desculpe, o Summoner outfit é só para quem já completou a Labirint Quest.', cid)
talk_state = 0
end






if msgcontains(msg, 'Demon Hunter') or msgcontains(msg, 'demon hunter') then
npcHandler:say('Desculpe, o Demon Hunter outfit é só para quem já completou a Inquisition Quest.', cid)
talk_state = 0
end



if msgcontains(msg, 'Assasin') or msgcontains(msg, 'assasin') then
npcHandler:say('Desculpe, o Assasin outfit é só para quem já completou a Pits Of inferno Quest.', cid)
talk_state = 0
end

if msgcontains(msg, 'Pirate') or msgcontains(msg, 'pirate') then
npcHandler:say('Desculpe, o Pirate outfit é só para quem já completou a Pirate Quest.', cid)
talk_state = 0
end



if msgcontains(msg, 'Citizen') or msgcontains(msg, 'Citizen') then
npcHandler:say('Você deseja comprar o Citizen Outfit?', cid)
talk_state = 1
outfit = "Citizen"
price = 500000
price2 = price / 100000
outfit_feminino = 136
outfit_masculino = 128
end

if msgcontains(msg, 'Hunter') or msgcontains(msg, 'hunter') then
npcHandler:say('Você deseja comprar o Hunter Outfit?', cid)
talk_state = 1
outfit = "Hunter"
price = 500000
price2 = price / 100000
outfit_feminino = 137
outfit_masculino = 129
end

if msgcontains(msg, 'Nobleman') or msgcontains(msg, 'nobleman') then
npcHandler:say('Você deseja comprar o Nobleman Outfit?', cid)
talk_state = 1
outfit = "Nobleman"
price = 500000
price2 = price / 100000
outfit_feminino = 140
outfit_masculino = 132
end

if msgcontains(msg, 'Barbarian') or msgcontains(msg, 'barbarian') then
npcHandler:say('Você deseja comprar o Barbarian Outfit?', cid)
talk_state = 1
outfit = "Barbarian"
price = 500000
price2 = price / 100000
outfit_feminino = 147
outfit_masculino = 143
end

if msgcontains(msg, 'Druid') or msgcontains(msg, 'druid') then
npcHandler:say('Você deseja comprar o Druid Outfit?', cid)
talk_state = 1
outfit = "Druid"
price = 500000
price2 = price / 100000
outfit_feminino = 148
outfit_masculino = 144
end

if msgcontains(msg, 'Wizard') or msgcontains(msg, 'wizard') then
npcHandler:say('Você deseja comprar o Wizard Outfit?', cid)
talk_state = 1
outfit = "Wizard"
price = 500000
price2 = price / 100000
outfit_feminino = 149
outfit_masculino = 145
end


if msgcontains(msg, 'Oriental') or msgcontains(msg, 'oriental') then
npcHandler:say('Você deseja comprar o Oriental Outfit?', cid)
talk_state = 1
outfit = "Oriental"
price = 500000
price2 = price / 100000
outfit_feminino = 150
outfit_masculino = 146
end

if msgcontains(msg, 'Beggar') or msgcontains(msg, 'beggar') then
npcHandler:say('Você deseja comprar o Beggar Outfit?', cid)
talk_state = 1
outfit = "Beggar"
price = 500000
price2 = price / 100000
outfit_feminino = 157
outfit_masculino = 153
end


if msgcontains(msg, 'Shaman') or msgcontains(msg, 'shaman') then
npcHandler:say('Você deseja comprar o Shaman Outfit?', cid)
talk_state = 1
outfit = "Shaman"
price = 500000
price2 = price / 100000
outfit_feminino = 158
outfit_masculino = 154
end


if msgcontains(msg, 'Norseman') or msgcontains(msg, 'norseman') then
npcHandler:say('Você deseja comprar o Norseman Outfit?', cid)
talk_state = 1
outfit = "Norseman"
price = 500000
price2 = price / 100000
outfit_feminino = 252
outfit_masculino = 251
end


if msgcontains(msg, 'Nightmare') or msgcontains(msg, 'nightmare') then
npcHandler:say('Você deseja comprar o Nightmare Outfit?', cid)
talk_state = 1
outfit = "Nightmare"
price = 500000
price2 = price / 100000
outfit_feminino = 269
outfit_masculino = 268
end


if msgcontains(msg, 'Brotherhood') or msgcontains(msg, 'brotherhood') then
npcHandler:say('Você deseja comprar o Nightmare Outfit?', cid)
talk_state = 1
outfit = "Brotherhood"
price = 500000
price2 = price / 100000
outfit_feminino = 279
outfit_masculino = 278
end



if msgcontains(msg, 'Jester') or msgcontains(msg, 'jester') then
npcHandler:say('Você deseja comprar o Jester Outfit?', cid)
talk_state = 1
outfit = "Jester"
price = 500000
price2 = price / 100000
outfit_feminino = 270
outfit_masculino = 273
end



if msgcontains(msg, 'Yalaharian') or msgcontains(msg, 'Yalaharian') then
npcHandler:say('Você deseja comprar o Yalaharian Outfit?', cid)
talk_state = 1
outfit = "Yalaharian"
price = 500000
price2 = price / 100000
outfit_feminino = 324
outfit_masculino = 325
end



if msgcontains(msg, 'Wayfarer') or msgcontains(msg, 'Wayfarer') then
npcHandler:say('Você deseja comprar o Wayfarer Outfit?', cid)
talk_state = 1
outfit = "Wayfarer"
price = 500000
price2 = price / 100000
outfit_feminino = 366
outfit_masculino = 367
end



if msgcontains(msg, 'yes') and talk_state == 1 then
talk_state = 0 
if getPlayerMoney(cid) >= price then
if doPlayerRemoveMoney(cid, price) == true then
if(getPlayerSex(cid) == 0)then



doPlayerAddOutfit(cid, outfit_feminino, 3)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
npcHandler:say('Aqui esta.', cid)
talk_state = 0
else
doPlayerAddOutfit(cid, outfit_masculino, 3)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
npcHandler:say('Aqui esta.', cid)
talk_state = 0



end
else
npcHandler:say('Você não tem dinheiro suficiente. O ' .. outfit .. ' Outfit custa 50 moedas de Crystal.', cid)
talk_state = 0
end
else
npcHandler:say('Você não tem dinheiro suficiente. O ' .. outfit .. ' Outfit custa 50 moedas de Crystal.', cid)
talk_state = 0
end
end









return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
npcHandler:setMessage(MESSAGE_WALKAWAY, "Tchau, então...")
npcHandler:setMessage(MESSAGE_FAREWELL, "Até mais.")
npcHandler:setMessage(MESSAGE_IDLETIMEOUT, "Eita ! Dormiu?")
npcHandler:setMessage(MESSAGE_GREET, "Eai |PLAYERNAME|. Eu vendo alguns addons. Para qualquer duvida, digite {ajuda}.")

 

 

Seguinte se eu falar " Demon hunter" Ele vai puxar a resposta do hunter e do demon hunter, entenderam?

Outra coisa... se puder me dar alguma sugestão pra melhorar meus scripts eu agradeço.

 

Eu poderia fazer ele puxar só pelo Demon, mas não to afim disso...

 

Daria certo se tiver um if msgcontains(msg, 'Demon hunter') Que pegase realmente só o demon hunter completo, e não se o cara digitar hunter tambem satisfazer o IF :\

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

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 creatureSayCallback(cid, type, msg)

if (not npcHandler:isFocused(cid)) then

return false

end

 

if msgcontains(msg, 'Ajuda') or msgcontains(msg, 'ajuda') then

npcHandler:say('Para você comprar um addon, simplesmente digite o nome do addon desejado. \n {Exemplo: Barbarian}', cid)

 

talk_state = 0

 

end

 

if msgcontains(msg, 'Knight') or msgcontains(msg, 'knight') then

npcHandler:say('Desculpe, o Knight outfit é só para quem já completou a Demon Oak Quest.', cid)

 

talk_state = 0

end

 

 

if msgcontains(msg, 'Warmaster') or msgcontains(msg, 'warmaster') then

npcHandler:say('Desculpe, o Warmaster outfit é só para quem já completou a Orc Fortress Quest.', cid)

 

talk_state = 0

end

 

 

 

if msgcontains(msg, 'Warrior') or msgcontains(msg, 'warrior') then

npcHandler:say('Desculpe, o Warrior outfit é só para quem já completou a Annihilator Quest.', cid)

 

talk_state = 0

 

 

 

end

 

 

 

 

if msgcontains(msg, 'Mage') or msgcontains(msg, 'mage') then

if getPlayerItemCount(cid, 5903) >= 1 then

npcHandler:say('Você deseja entregar o Ferrumbras Hat em troca do Mage Outfit?', cid)

talk_state = 3

else

npcHandler:say('Você não tem o Ferrumbras Hat. Mate o ferrumbras, pegue-o e volte aqui.', cid)

talk_state = 0

end

end

 

 

 

if msgcontains(msg, 'yes') and talk_state == 3 then

if getPlayerItemCount(cid, 5903) >= 1 then

if(getPlayerSex(cid) == 0)then

doPlayerAddOutfit(cid, 138, 3)

talk_state = 0

doPlayerRemoveItem(cid, 5903, 1)

doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)

npcHandler:say('Aqui esta.', cid)

else

doPlayerAddOutfit(cid, 130, 3)

talk_state = 0

doPlayerRemoveItem(cid, 5903, 1)

doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)

npcHandler:say('Aqui esta.', cid)

 

 

 

end

else

npcHandler:say('Você não tem o Ferrumbras Hat. Mate o ferrumbras, pegue-o e volte aqui.', cid)

talk_state = 0

end

end

 

 

 

 

if msgcontains(msg, 'Summoner') or msgcontains(msg, 'summoner') then

npcHandler:say('Desculpe, o Summoner outfit é só para quem já completou a Labirint Quest.', cid)

talk_state = 0

end

 

 

 

 

 

 

if msgcontains(msg, 'Demon Hunter') or msgcontains(msg, 'demon hunter') then

npcHandler:say('Desculpe, o Demon Hunter outfit é só para quem já completou a Inquisition Quest.', cid)

talk_state = 0

end

 

 

 

if msgcontains(msg, 'Assasin') or msgcontains(msg, 'assasin') then

npcHandler:say('Desculpe, o Assasin outfit é só para quem já completou a Pits Of inferno Quest.', cid)

talk_state = 0

end

 

if msgcontains(msg, 'Pirate') or msgcontains(msg, 'pirate') then

npcHandler:say('Desculpe, o Pirate outfit é só para quem já completou a Pirate Quest.', cid)

talk_state = 0

end

 

 

 

if msgcontains(msg, 'Citizen') or msgcontains(msg, 'Citizen') then

npcHandler:say('Você deseja comprar o Citizen Outfit?', cid)

talk_state = 1

outfit = "Citizen"

price = 500000

price2 = price / 100000

outfit_feminino = 136

outfit_masculino = 128

end

 

if msgcontains(msg, 'Sniper') or msgcontains(msg, 'sniper') then

npcHandler:say('Você deseja comprar o Hunter Outfit?', cid)

talk_state = 1

outfit = "Hunter"

price = 500000

price2 = price / 100000

outfit_feminino = 137

outfit_masculino = 129

end

 

if msgcontains(msg, 'Nobleman') or msgcontains(msg, 'nobleman') then

npcHandler:say('Você deseja comprar o Nobleman Outfit?', cid)

talk_state = 1

outfit = "Nobleman"

price = 500000

price2 = price / 100000

outfit_feminino = 140

outfit_masculino = 132

end

 

if msgcontains(msg, 'Barbarian') or msgcontains(msg, 'barbarian') then

npcHandler:say('Você deseja comprar o Barbarian Outfit?', cid)

talk_state = 1

outfit = "Barbarian"

price = 500000

price2 = price / 100000

outfit_feminino = 147

outfit_masculino = 143

end

 

if msgcontains(msg, 'Druid') or msgcontains(msg, 'druid') then

npcHandler:say('Você deseja comprar o Druid Outfit?', cid)

talk_state = 1

outfit = "Druid"

price = 500000

price2 = price / 100000

outfit_feminino = 148

outfit_masculino = 144

end

 

if msgcontains(msg, 'Wizard') or msgcontains(msg, 'wizard') then

npcHandler:say('Você deseja comprar o Wizard Outfit?', cid)

talk_state = 1

outfit = "Wizard"

price = 500000

price2 = price / 100000

outfit_feminino = 149

outfit_masculino = 145

end

 

 

if msgcontains(msg, 'Oriental') or msgcontains(msg, 'oriental') then

npcHandler:say('Você deseja comprar o Oriental Outfit?', cid)

talk_state = 1

outfit = "Oriental"

price = 500000

price2 = price / 100000

outfit_feminino = 150

outfit_masculino = 146

end

 

if msgcontains(msg, 'Beggar') or msgcontains(msg, 'beggar') then

npcHandler:say('Você deseja comprar o Beggar Outfit?', cid)

talk_state = 1

outfit = "Beggar"

price = 500000

price2 = price / 100000

outfit_feminino = 157

outfit_masculino = 153

end

 

 

if msgcontains(msg, 'Shaman') or msgcontains(msg, 'shaman') then

npcHandler:say('Você deseja comprar o Shaman Outfit?', cid)

talk_state = 1

outfit = "Shaman"

price = 500000

price2 = price / 100000

outfit_feminino = 158

outfit_masculino = 154

end

 

 

if msgcontains(msg, 'Norseman') or msgcontains(msg, 'norseman') then

npcHandler:say('Você deseja comprar o Norseman Outfit?', cid)

talk_state = 1

outfit = "Norseman"

price = 500000

price2 = price / 100000

outfit_feminino = 252

outfit_masculino = 251

end

 

 

if msgcontains(msg, 'Nightmare') or msgcontains(msg, 'nightmare') then

npcHandler:say('Você deseja comprar o Nightmare Outfit?', cid)

talk_state = 1

outfit = "Nightmare"

price = 500000

price2 = price / 100000

outfit_feminino = 269

outfit_masculino = 268

end

 

 

if msgcontains(msg, 'Brotherhood') or msgcontains(msg, 'brotherhood') then

npcHandler:say('Você deseja comprar o Nightmare Outfit?', cid)

talk_state = 1

outfit = "Brotherhood"

price = 500000

price2 = price / 100000

outfit_feminino = 279

outfit_masculino = 278

end

 

 

 

if msgcontains(msg, 'Jester') or msgcontains(msg, 'jester') then

npcHandler:say('Você deseja comprar o Jester Outfit?', cid)

talk_state = 1

outfit = "Jester"

price = 500000

price2 = price / 100000

outfit_feminino = 270

outfit_masculino = 273

end

 

 

 

if msgcontains(msg, 'Yalaharian') or msgcontains(msg, 'Yalaharian') then

npcHandler:say('Você deseja comprar o Yalaharian Outfit?', cid)

talk_state = 1

outfit = "Yalaharian"

price = 500000

price2 = price / 100000

outfit_feminino = 324

outfit_masculino = 325

end

 

 

 

if msgcontains(msg, 'Wayfarer') or msgcontains(msg, 'Wayfarer') then

npcHandler:say('Você deseja comprar o Wayfarer Outfit?', cid)

talk_state = 1

outfit = "Wayfarer"

price = 500000

price2 = price / 100000

outfit_feminino = 366

outfit_masculino = 367

end

 

 

 

if msgcontains(msg, 'yes') and talk_state == 1 then

talk_state = 0

if getPlayerMoney(cid) >= price then

if doPlayerRemoveMoney(cid, price) == true then

if(getPlayerSex(cid) == 0)then

 

 

 

doPlayerAddOutfit(cid, outfit_feminino, 3)

doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)

npcHandler:say('Aqui esta.', cid)

talk_state = 0

else

doPlayerAddOutfit(cid, outfit_masculino, 3)

doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)

npcHandler:say('Aqui esta.', cid)

talk_state = 0

 

 

 

end

else

npcHandler:say('Você não tem dinheiro suficiente. O ' .. outfit .. ' Outfit custa 50 moedas de Crystal.', cid)

talk_state = 0

end

else

npcHandler:say('Você não tem dinheiro suficiente. O ' .. outfit .. ' Outfit custa 50 moedas de Crystal.', cid)

talk_state = 0

end

end

 

 

 

 

 

 

 

 

 

return true

end

 

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

npcHandler:setMessage(MESSAGE_WALKAWAY, "Tchau, então...")

npcHandler:setMessage(MESSAGE_FAREWELL, "Até mais.")

npcHandler:setMessage(MESSAGE_IDLETIMEOUT, "Eita ! Dormiu?")

npcHandler:setMessage(MESSAGE_GREET, "Eai |PLAYERNAME|. Eu vendo alguns addons. Para qualquer duvida, digite {ajuda}.")

 

 

Use "Sniper" para comprar addon de "Hunter"

 

Ajudei ? REP+

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...