Ir para conteúdo
  • Cadastre-se

(Resolvido)[PEDIDO] Add storage


Ir para solução Resolvido por Vodkart,

Posts Recomendados

Copiei novamente e está dando outro erro:'then' expected near '='


Agora é outro erro: 'then' expected near '='

Link para o post
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 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 msg, price = string.lower(msg), 200000
local ticked_stor, max_stor =  23844, 788978
if isInArray({'bilhete', 'ticket', 'tickets'}, msg) then
npcHandler:say('Você quer comprar um ticket por '..price..' gps? {yes}', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if getGlobalStorageValue(max_stor) < 20 then
if getPlayerStorageValue(cid, ticked_stor) <= 0 then
if doPlayerRemoveMoney(cid, price) then
setPlayerStorageValue(cid, ticked_stor, 1)
setGlobalStorageValue(max_stor,getGlobalStorageValue(max_stor) < 0 and 1 or getGlobalStorageValue(max_stor)+1)
npcHandler:say('aqui está seu bilhete.', cid)
else
npcHandler:say('you do not have enough money!', cid)
talkState[talkUser] = 0 
end
else
npcHandler:say('you already have ticket!', cid)
talkState[talkUser] = 0 
end
else
npcHandler:say('ticket esgotado!', cid)
talkState[talkUser] = 0 
end
elseif msg == "no" then 
selfSay("Then not", cid) 
talkState[talkUser] = 0 
npcHandler:releaseFocus(cid) 
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

Essa pegou, só que eu quero 2 tickets no npc, 1 pra cada time.

 

E por favor, poderia adicionar as storages no lugar certo? 34789 - 34790 cada time com a sua.

Editado por arthur122222 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

hmm entendi agr, o time blue e o time green, é isso?

mas é 20 tickets(total 40) para cada time ou 10 tickets para cada time(total 20)? 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
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 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 msg, price = string.lower(msg), 200000
local team = {["blue"]  = {storage = 34789}, ["green"] = {storage = 34790}}
if isInArray({'bilhete', 'ticket', 'tickets'}, msg) then
npcHandler:say('Você quer participar de que time por '..price..'? se sim escolha um time: {blue} ou {green}', cid)
talkState[talkUser] = 1
elseif talkState[talkUser] == 1 then
if team[msg] then
if getGlobalStorageValue(34789) < 20 and getGlobalStorageValue(34790) < 20 then
if getPlayerStorageValue(cid, 34789) <= 0 and getPlayerStorageValue(cid, 34790) <= 0 then
if doPlayerRemoveMoney(cid, price) then
setPlayerStorageValue(cid, team[msg].storage, 1)
setGlobalStorageValue(team[msg].storage,getGlobalStorageValue(team[msg].storage) < 0 and 1 or getGlobalStorageValue(team[msg].storage)+1)
npcHandler:say('aqui está seu bilhete.', cid)
else
npcHandler:say('you do not have enough money!', cid)
talkState[talkUser] = 0 
end
else
npcHandler:say('you already have ticket!', cid)
talkState[talkUser] = 0 
end
else
npcHandler:say('ticket esgotado!', cid)
talkState[talkUser] = 0 
end
end
elseif msg == "no" then 
selfSay("Then not", cid) 
talkState[talkUser] = 0 
npcHandler:releaseFocus(cid) 
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Editado por Vodkart (veja o histórico de edições)

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

E porque quando falo hi, ticket, blue - O npc não responde mais.. Quero que ele me venda o bilhete do time blue ou green mas o npc não responde quando tento comprar.

Link para o post
Compartilhar em outros sites

erro meu, faltou declarar o talkState[talkUser] == 1

editei la em cima

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

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

Funcionou, mas tipo, o player só pode escolher um dos dois, né? Blue ou Green.

 

O player pode escolher os dois, o que faço pra poder só escolher um?

Editado por arthur122222 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Yes o que? Por ter dado certo? Só falta o player poder comprar apenas um ticket, ao invés dos dois.

Link para o post
Compartilhar em outros sites
  • Solução

n tinha pensado nisso, vlw. já editei de novo

 

 

@ -- editei de novo pq tinha faltando um "and"

 

usa o que eu editei lá agr que é esse:

 

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
local msg, price = string.lower(msg), 200000
local team = {["blue"]  = {storage = 34789}, ["green"] = {storage = 34790}}
if isInArray({'bilhete', 'ticket', 'tickets'}, msg) then
npcHandler:say('Você quer participar de que time por '..price..'? se sim escolha um time: {blue} ou {green}', cid)
talkState[talkUser] = 1
elseif talkState[talkUser] == 1 then
if team[msg] then
if getGlobalStorageValue(34789) < 20 and getGlobalStorageValue(34790) < 20 then
if getPlayerStorageValue(cid, 34789) <= 0 and getPlayerStorageValue(cid, 34790) <= 0 then
if doPlayerRemoveMoney(cid, price) then
setPlayerStorageValue(cid, team[msg].storage, 1)
setGlobalStorageValue(team[msg].storage,getGlobalStorageValue(team[msg].storage) < 0 and 1 or getGlobalStorageValue(team[msg].storage)+1)
npcHandler:say('aqui está seu bilhete.', cid)
else
npcHandler:say('you do not have enough money!', cid)
talkState[talkUser] = 0 
end
else
npcHandler:say('you already have ticket!', cid)
talkState[talkUser] = 0 
end
else
npcHandler:say('ticket esgotado!', cid)
talkState[talkUser] = 0 
end
end
elseif msg == "no" then 
selfSay("Then not", cid) 
talkState[talkUser] = 0 
npcHandler:releaseFocus(cid) 
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Editado por Vodkart (veja o histórico de edições)

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

Funcionou, valeu!


Teria como quando player comprasse o ticket a outfit dele mudasse de cor? e ele só pudesse tirar a cor da outfit quando perder a storage?

Editado por arthur122222 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo