Ir para conteúdo

Script De Quest Mal Acabado


miroking

Posts Recomendados

Opa eu pedi um script pra um cara e ele o fez, até certo ponto estava perfeito, o script consiste de um npc que você falara com ele, se voce tiver 1kk ele tira 1kk de voce e te da um item.

 

porem se voce tiver 10kk e quiser 10 itens iguais basta voce falar 10 vezes com o npc, eu queria pedir se algum de voces poderiam terminar o script para mim fazendo com que voce só possa pegar esse item 1 vez, após isso se voce tentar novamente nada acontece e ele fala "Humano ganancioso, saia daqui"

 

acho que é até facil fazer isso mas eu sou uma besta para scripts kkkk, creio que seja adicionando um StorageValue

 

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

       if(not npcHandler:isFocused(cid)) then
               return false
       end

       local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
       if msgcontains(msg, 'QUEST') then
               selfSay('hmm... vejo que sabe sobre nós, aqui esta esse item por 1kk, diga yes se o quiser')
               talkState[talkUser] = 1
       elseif msgcontains(msg, 'yes') and talkState[talkUser] == 1 then
               local price = 1000000
               if getPlayerItemCount(cid, 2160) >= 100 and getPlayerMoney(cid) >= price then
                       if doPlayerRemoveMoney(cid, price) then
                               selfSay('aqui esta esse item por 1kk', cid)
                               doPlayerRemoveItem(cid, 2160, 100)
                               doPlayerAddItem(cid, 2407, 1)
                               talkState[talkUser] = 0
                       end
               else
                       selfSay('mas oque é isso, estou pedindo uma quantidade tao baixa, nada feito', cid)
                       talkState[talkUser] = 0
               end
       elseif msgcontains(msg, 'no') and (talkState[talkUser] >= 1 and talkState[talkUser] <= 3) then
               selfSay('ok até mais', cid)
               talkState[talkUser] = 0
       end
       return true
end

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

Link para o comentário
Compartilhar em outros sites

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

       if(not npcHandler:isFocused(cid)) then 
               return false 
       end 
       local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid 


local price = 1000000 
local storage = 95745

       if msgcontains(msg, 'QUEST') then 
       selfSay('hmm... vejo que sabe sobre nós, aqui esta esse item por 1kk, diga yes se o quiser') 
       talkState[talkUser] = 1 
       elseif msgcontains(msg, 'yes') and talkState[talkUser] == 1 then
                               if getPlayerStorageValue(cid, storage) <= 0 then 
                               if doPlayerRemoveMoney(cid, price) == TRUE then
                               selfSay('aqui esta esse item por 1kk', cid)
                               doPlayerAddItem(cid, 2407, 1)
                               setPlayerStorageValue(cid, storage, 1) 
                               talkState[talkUser] = 0
               else 
                       selfSay('mas oque é isso, estou pedindo uma quantidade tao baixa, nada feito', cid) 
                       talkState[talkUser] = 0 
               end
               else 
                       selfSay('Humano ganancioso, saia daqui', cid) 
                       talkState[talkUser] = 0 
               end
       elseif msgcontains(msg, 'no') and talkState[talkUser] >= 1 then 
               selfSay('ok até mais', cid) 
               talkState[talkUser] = 0 
       end 
       return true 
end 

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

Link para o comentário
Compartilhar em outros sites

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

       if(not npcHandler:isFocused(cid)) then 
               return false 
       end 
       local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid 


local price = 1000000 
local storage = 95745

       if msgcontains(msg, 'QUEST') then 
       selfSay('hmm... vejo que sabe sobre nós, aqui esta esse item por 1kk, diga yes se o quiser') 
       talkState[talkUser] = 1 
       elseif msgcontains(msg, 'yes') and talkState[talkUser] == 1 then
                               if getPlayerStorageValue(cid, storage) <= 0 then 
                               if doPlayerRemoveMoney(cid, price) == TRUE then
                               selfSay('aqui esta esse item por 1kk', cid)
                               doPlayerAddItem(cid, 2407, 1)
                               setPlayerStorageValue(cid, storage, 1) 
                               talkState[talkUser] = 0
               else 
                       selfSay('mas oque é isso, estou pedindo uma quantidade tao baixa, nada feito', cid) 
                       talkState[talkUser] = 0 
               end
               else 
                       selfSay('Humano ganancioso, saia daqui', cid) 
                       talkState[talkUser] = 0 
               end
       elseif msgcontains(msg, 'no') and talkState[talkUser] >= 1 then 
               selfSay('ok até mais', cid) 
               talkState[talkUser] = 0 
       end 
       return true 
end 

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

 

nas linhas

if getPlayerStorageValue(cid, storage) <= 0 then

setPlayerStorageValue(cid, storage, 1)

 

eu devo mudar o "storage" pro numero que eu quiser ?

Link para o comentário
Compartilhar em outros sites

 

deixa escrito storage ai mesmo, se quiser mudar muda aki

 

[color="#000088"]local[/color] storage [color="#666600"]=[/color] [color="#006666"]95745[/color] 

muda o numero

 

Link para o comentário
Compartilhar em outros sites

certo brigadao, a duvida em questao ja foi mtu bem sanada porem uma mini-duvida : como eu faço para achar todos os storage values que ainda podem ser usados, digo achar os que nao foram usados em outra quests etc ?

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...