Ir para conteúdo
  • 0

Alguem Que Tenha Experiencia Em Script.


749676

Pergunta

Tou com problema com um script aki de um npc... esse npc troca 5 itens por 1 outro item.. mais se o player so levar 4 item ele pega os 4 item e n da nd pro player... gostaria q se o player levasse 4 item o npc falasse, que são preciso todos os itens e não pegasse dele os 4 itens.

 

esse é o 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, 'negociar')) then

selfSay('Eu posso lhe oferecer a passagem para a proxima fase dessa quest, mais para isto eu quero os 5 itens que esses monstros guardam, caso tenha coletado os itens diga, {expecto patrono}.', cid)

elseif(msgcontains(msg, 'expecto patrono')) then

selfSay('Você coletou os 5 itens necessarios para a proxima fase?', cid)

talkState[talkUser] = 13

 

-- Confirmação da Compra

elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 13) then

if doPlayerRemoveItem(cid,5468,1) and doPlayerRemoveItem(cid,2600,1) and doPlayerRemoveItem(cid,6103,1) and doPlayerRemoveItem(cid,2194,1) and doPlayerRemoveItem(cid,10165,1) then

doPlayerAddItem(cid, 7632,1)

setPlayerStorageValue(cid,5644, 1)

doSendMagicEffect(getCreaturePosition(cid), 29)

selfSay('Obrigado, foi um prazer barganhar com você.', cid)

talkState[talkUser] = 0

else

selfSay('Você está tentando me enganar? Isso pode lhe custar caro!', cid)

talkState[talkUser] = 0

end

end

return TRUE

end

 

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

 

 

ALGUEM AE MANJA ARRUMA ISSO?

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
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 
function doPlayerCountItems(cid, items) -- by Vodka
local items = type(items) == "table" and items or {items}  
   for i = 1, table.maxn(items) do 
   if getPlayerItemCount(cid, items[i]) <= 0 then  
 return false  
 end
end
return true  
end
function doPlayerRemoveAllItems(cid, items, count) -- by Vodka
local items = type(items) == "table" and items or {items}  
     for i = 1, table.maxn(items) do  
   doPlayerRemoveItem(cid,items[i], count or 1)  
   end
 return nil  
end
items_list = {5468,2600,6103,2194,10165,7632}
-- Conversa Jogador/NPC 
if(msgcontains(msg, 'negociar')) then 
selfSay('Eu posso lhe oferecer a passagem para a proxima fase dessa quest, mais para isto eu quero os 5 itens que esses monstros guardam, caso tenha coletado os itens diga, {expecto patrono}.', cid) 
elseif(msgcontains(msg, 'expecto patrono')) then 
selfSay('Você coletou os 5 itens necessarios para a proxima fase?', cid) 
talkState[talkUser] = 13 
-- Confirmação da Compra 
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 13) then 
if doPlayerCountItems(cid, items_list) then
doPlayerRemoveAllItems(cid, items_list, 1)
doPlayerAddItem(cid, 7632,1) 
setPlayerStorageValue(cid,5644, 1) 
doSendMagicEffect(getCreaturePosition(cid), 29)
selfSay('Obrigado, foi um prazer barganhar com você.', cid)
talkState[talkUser] = 0 
else 
selfSay('Você está tentando me enganar? Isso pode lhe custar caro!', cid) 
talkState[talkUser] = 0 
end 
end 
return TRUE 
end 

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

Link para o comentário
Compartilhar em outros sites

  • 0

No título do seu tópico coloque uma breve introdução ao seu pedido.

 

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, 'negociar')) then 
selfSay('Eu posso lhe oferecer a passagem para a proxima fase dessa quest, mais para isto eu quero os 5 itens que esses monstros guardam, caso tenha coletado os itens diga, {expecto patrono}.', cid) 
elseif(msgcontains(msg, 'expecto patrono')) then 
selfSay('Você coletou os 5 itens necessarios para a proxima fase?', cid) 
talkState[talkUser] = 13 

-- Confirmação da Compra 
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 13) then 
if doPlayerRemoveItem(cid,5468,4) == TRUE then
doPlayerAddItem(cid, 7632,1) 
setPlayerStorageValue(cid,5644, 1) 
doSendMagicEffect(getCreaturePosition(cid), 29)
selfSay('Obrigado, foi um prazer barganhar com você.', cid)
talkState[talkUser] = 0 
else 
selfSay('Você está tentando me enganar? Isso pode lhe custar caro!', cid) 
talkState[talkUser] = 0 
end 
end 
return TRUE 
end 

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

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

×
×
  • Criar Novo...