Ir para conteúdo

Featured Replies

Postado

Tenta este :

"data/npc/premmyseller"

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Premmy Seller" script="data/npc/scripts/premmyseller.lua" walkinterval="3000" floorchange="0" access="5" >
<health now="150" max="150"/>
<look type="545" head="0" body="114" legs="114" feet="0"/>
<parameters>
<parameter key="message_greet" value="Bem-vindo, aqui voce pode comprar sua Premium para ver as ofertas diga 'offer' "/>
<parameter key="message_farewell" value="Ate a proxima, Beijoss!"/>
</parameters>
</npc>

"data/npc/scripts/premmyseller"

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

local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid

-- Conversa Jogador/NPC
if(msgcontains(msg, 'offer') or msgcontains(msg, 'offer')) then
selfSay('Para comprar Premium diga ( premium ).', cid)
elseif(msgcontains(msg, 'premium') or msgcontains(msg, 'Premium')) then
selfSay('dialogo da premium - diga sim para comprar-', cid)
talkState[talkUser] = 1


-- Confirmação da Compra
elseif(msgcontains(msg, 'sim') and talkState[talkUser] == 1) then
if(doPlayerRemoveItem(cid, 2160, 10) == true) then
selfSay('Parabens, Premium de 30 dias!', cid)
doPlayerAddPremiumDays(cid, 31)
talkState[talkUser] = 0
else
selfSay('Voce nao tem dinheiro suficientes.', cid)
talkState[talkUser] = 0
end
end
return TRUE
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
  • Respostas 21
  • Visualizações 920
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Tenta este :   "data/npc/buypremmy.xml" <?xml version="1.0" encoding="UTF-8"?> <npc name="Premium Seller" script="buypremmy.lua" walkinterval="2000" floorchange="0"> <health now="10

  • Tem que falar "sim",no caso se quiser que fale "yes" mude para este script : local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(n

  • Brother você ta usando o script e a tag que eu te mandei ?m Porque pelo que estou vendo o nome do NPC e a fala estão erradas com a que eu mandei (a não ser que você tenha trocado),manda o script e a

Postado
  • Autor

vitin reeditei aqui e deu  o npc apareceu !só me manda oque tenho q manda pra ele me arruma as premmy

 olha o oque ele me respondeu !!!

 

19:57 Buypremmy: Olá Test Ek. Eu vendo Premium Days.
19:57 Test Ek [128]: premium
19:57 Buypremmy: Voce gostaria de comprar "..days.." dias de Premium por "..quant.." Crystal ?
19:57 Test Ek [128]: yes
19:57 Buypremmy: Voce não tem "..quant.." Crystal .
19:57 Test Ek [128]: yes
19:57 Test Ek [128]: 10
19:57 Test Ek [128]: 10 yes
19:57 Test Ek [128]: 1 yes

Ficou reeditado assim 

 

days = 30
Crystal = 2160
quant = 10
 
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 santaNPC(cid, message, keywords, parameters, node)
if(not npcHandler:isFocused(cid)) then
return false
end
if (parameters.present == true) then
if isPlayer(cid) then
if getPlayerItemCount(cid,crystal ) >= quant then
doPlayerAddPremiumDays(cid,days)
doPlayerRemoveItem(cid,crystal ,quant)
npcHandler:say('Obrigado |PLAYERNAME|, Está aqui seus "..days.." dias de Premium', cid)
else
npcHandler:say('Voce não tem "..quant.." Crystal .', cid)
end
end
npcHandler:resetNpc()
return true
end
end
 
npcHandler:setMessage(MESSAGE_GREET, "Olá |PLAYERNAME|. Eu vendo {Premium} Days.")
 
local noNode = KeywordNode:new({'no'}, santaNPC, {present = false})
local yesNode = KeywordNode:new({'yes'}, santaNPC, {present = true})
 
local node = keywordHandler:addKeyword({'premium'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce gostaria de comprar "..days.." dias de Premium por "..quant.." Crystal ?'})
node:addChildKeywordNode(yesNode)
node:addChildKeywordNode(noNode)
npcHandler:addModule(FocusModule:new())
Postado
  • Solução

Tem que falar "sim",no caso se quiser que fale "yes" mude para este script :

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

local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid

-- Conversa Jogador/NPC
if(msgcontains(msg, 'offer') or msgcontains(msg, 'offer')) then
selfSay('Para comprar Premium diga ( premium ).', cid)
elseif(msgcontains(msg, 'premium') or msgcontains(msg, 'Premium')) then
selfSay('dialogo da premium - diga sim para comprar-', cid)
talkState[talkUser] = 1


-- Confirmação da Compra
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if(doPlayerRemoveItem(cid, 2160, 1) == true) then
selfSay('Parabens, Premium de 30 dias!', cid)
doPlayerAddPremiumDays(cid, 31)
talkState[talkUser] = 0
else
selfSay('Voce nao tem dinheiro suficientes.', cid)
talkState[talkUser] = 0
end
end
return TRUE
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

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

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