- Fórum
- OTServ
- Suporte
- Tópicos Sem Resposta
- [Encerrado] [duvida] Script Npc de Troca
[Encerrado] [duvida] Script Npc de Troca
Por narutibianspd, 18 de nov. de 2013 em Tópicos Sem Resposta
info
Grupo: Conde
Registrado: 16/09/07
Posts: 600
Reputação: +151
Gênero: Masculino
Char no Tibia: NãoJogoMais

Boa noite.
Fiz este script pra você, porém você precisará ser mais específico com o que deseja em questão de outfits.
Ficou faltando configurar só ele, mas creio que com ajuda do tópico que o usuário acima recomendou, consiga fazer.
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
npcHandler:setRadius(1)
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 creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
local moedas = 2180
--------------------MESSAGES------------------------------------------------------------------------------
if (msgcontains(msg, 'sexo') or msgcontains(msg, 'sex')) then
selfSay('Deseja mudar de sexo por 10 {Moedas Vip}?', cid)
talkState[talkUser] = 1
elseif (msgcontains(msg, 'bless') or msgcontains(msg, 'blessing')) then
selfSay('Deseja receber as blessings por 2 {Moedas Vip}?', cid)
talkState[talkUser] = 3
elseif (msgcontains(msg, 'outfit') or msgcontains(msg, 'outfits')) then
selfSay('Deseja comprar novas Outfits por 15 {Moedas Vip}?', cid)
talkState[talkUser] = 5
elseif (msgcontains(msg, 'help') or msgcontains(msg, 'ajuda')) then
selfSay(' Digite {sexo} ou {sex} para mudar o sexo do seu personagem.', cid)
selfSay(' Digite {bless} ou {blessing} para comprar bencaos.', cid)
selfSay(' Digite {outfit} para comprar novas outfits.', cid)
talkState[talkUser] = 15
---------------------- CHANGE SEX --------------------------------------
elseif talkState[talkUser] == 1 then
if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
if getPlayerItemCount(cid, moedas) <= 9 then
return selfSay('Voce nao tem moedas vip o suficiente.', cid)
else
if getPlayerSex(cid) == 0 then
doPlayerRemoveItem(cid, moedas, 10)
doPlayerSetSex(cid, 1)
selfSay('Uiii sapata.', cid)
else
doPlayerRemoveItem(cid, moedas, 10)
doPlayerSetSex(cid, 0)
selfSay('Uiii boiola.', cid)
end
end
talkState[talkUser] = 0
elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then
talkState[talkUser] = 0
selfSay('Tudo bem entao.', cid)
end
---------------------- BLESSINGS ---------------------------------------------
elseif talkState[talkUser] == 3 then
if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
if getPlayerItemCount(cid, moedas) >= 2 then
doPlayerRemoveItem(cid, moedas, 2)
doPlayerAddBlessing(cid, 1)
doPlayerAddBlessing(cid, 2)
doPlayerAddBlessing(cid, 3)
doPlayerAddBlessing(cid, 4)
doPlayerAddBlessing(cid, 5)
doPlayerAddBlessing(cid, 6)
selfSay('Voce recebeu suas bencaos.', cid)
talkState[talkUser] = 0
else
selfSay('Voce precisa de 2 {Moedas Vip} para comprar as Blessings.', cid)
talkState[talkUser] = 0
end
else
selfSay('Ok, cancelado.', cid)
talkState[talkUser] = 0
end
--------------------- OUTFITS ----------------------------------------------------------
elseif talkState[talkUser] == 5 then
if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
if getPlayerItemCount(cid, moedas) >= 15 then
doPlayerRemoveItem(cid, moedas, 15)
doPlayerAddOutfit(cid, 336, 1)
selfSay('Parabens, voce comprou um outfit.', cid)
talkState[talkUser] = 0
else
selfSay('Dinheiro insuficiente.', cid)
talkState[talkUser] = 0
end
else
selfSay('Ok, cancelado.', cid)
talkState[talkUser] = 0
end
end
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
-- function maded by Gesior--
function getNumber(txt) --return number if its number and is > 0, else return 0
x = string.gsub(txt,"%a","")
x = tonumber(x)
if x ~= nill and x > 0 then
return x
else
return 0
end
end
Qualquer coisa, poste aqui.
Boa sorte.
info
Grupo: Campones
Registrado: 31/10/13
Posts: 29
Reputação: 0

Valeu galera pela força ... vou começar a configurar agora...
info
Grupo: Herói
Registrado: 12/06/12
Posts: 2.2k
Reputação: +739
Gênero: Masculino
Char no Tibia: Supreme Player

Tópico movido para a seção de dúvidas e pedidos resolvidos.
info
Grupo: Herói
Registrado: 28/11/10
Posts: 3.4k
Reputação: +585
Gênero: Masculino

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.





info
Grupo: Campones
Registrado: 31/10/13
Posts: 29
Reputação: 0
Boa Noite, Gostaria de um NPC que vende-se Bless, Troca de Sexo, Vende 1 Outfit por moedas vip.
Exemplo, Id da moeda vip 2180.
Vende bless por 2 moedas vip
troca de sexo por 10 moedas vip
Vende outfit por 15 moedas vip