Postado Maio 7, 2014 11 anos Opa, fala ae galerinha do TK Eu tenho um npc no meu server que vende VIP, ele ja veio com o servidor, mas veio com alguns Bug's acho... Eu falo VIP, Days e ele pergunta quantos dias de vip eu quero, eu respondo 15 por exemplo mas ele em qualquer ocasião fala que só é possível comprar menos de 350 dias... alguem pode me ajudar a arrumar? O script dele é este: 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 local node1 = keywordHandler:addKeyword({'vip'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Se Você Quise Compra Vip So Fala { days } .'}) function creatureSayCallback(cid, type, msg) p = 10000 -- Valor Da Premium account Em GP if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid ---------- MSGs ---------- if msgcontains(msg, 'premium') or msgcontains(msg, 'Premium') or msgcontains(msg, 'premium') or msgcontains(msg, 'Premium Accounts') or msgcontains(msg, 'days') then selfSay('Pois Bem , Cada dia de VIP custa '..p..' GPs, quantos dias você deseja comprar?', cid) talkState[talkUser] = 1 ---== compra por GPs ==--- elseif talkState[talkUser] == 1 then if getNumber(msg) < 350 then n = getNumber(msg) if n ~= 0 then if getPlayerMoney(cid) > p*n then selfSay('Dias de Vip: {'..n..'} por {'..n*(p)..'} GPs?', cid) talkState[talkUser] = 3 else selfSay('Você nao tem Gold suficientes para comprar {'..n..'} dias de VIP.', cid) talkState[talkUser] = 0 end else selfSay('Escolha Um Numero Acima De Zero.', cid) talkState[talkUser] = 0 end else selfSay('Você Nao Pode Comprar Mais Que 350 Dias De Vip.', cid) talkState[talkUser] = 0 end elseif talkState[talkUser] == 3 then ---== GPs ==--- if msgcontains(msg, 'yes') or msgcontains(msg, 'sim') or msgcontains(msg, 'SIM') or msgcontains(msg, 'YES') then if getPlayerPremiumDays(cid)+n <= 350 then if (doPlayerRemoveMoney(cid, p*n) ~= TRUE) then npcHandler:say('Voce Nao Tem Gold Suficientes!', cid) talkState[talkUser] = 0 else doPlayerAddPremiumDays(cid, n) selfSay('Compra Efetuada Com Sucesso , Dias De Vip:{ '..n..' }.', cid) talkState[talkUser] = 0 end else npcHandler:say('Voce Nao Pode Ter Mais Que 350 Dias De Vip!', cid) talkState[talkUser] = 0 end end elseif msgcontains(msg, 'no') or msgcontains(msg, 'nao') or msgcontains(msg, 'não') or msgcontains(msg, 'NO') or msgcontains(msg, 'NAO') or msgcontains(msg, 'NÃO')then selfSay('Tudo Bem.', cid) talkState[talkUser] = 0 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
Postado Maio 7, 2014 11 anos Neste caso .. if getPlayerPremiumDays(cid)+n <= 350 then if (doPlayerRemoveMoney(cid, p*n) ~= TRUE) then npcHandler:say('Voce Nao Tem Gold Suficientes!', cid) talkState[talkUser] = 0 else doPlayerAddPremiumDays(cid, n) selfSay('Compra Efetuada Com Sucesso , Dias De Vip:{ '..n..' }.', cid) talkState[talkUser] = 0 end else npcHandler:say('Voce Nao Pode Ter Mais Que 350 Dias De Vip!', cid) talkState[talkUser] = 0 end Traduzindo ... • Se o seu número que você escolher + os números de dias de premium for maior que 350 o NPC dirá: Voce Nao Pode Ter Mais Que 350 Dias De Vip! O NPC aparentemente está correto, o problema é que ele dá dias de premium e não VIP (doPlayerAddPremiumDays) OBS: • Quando for postar códigos coloque-os dentro da opção CÓDIGO ... ele vai ficar visualmente melhor, igual ao que eu postei ... • Quando for código grandes coloque-os dentro de spoiler, assim [.spoiler] código [./spoiler] .. sem os pontos que eu coloquei! Espero ter ajudado STYLLER OT 2022
Postado Maio 7, 2014 11 anos O npc ta vendendo premium não vip doPlayerAddPremiumDays(cid, n) raell, me come
Postado Maio 7, 2014 11 anos Autor Aaaah sim, e tem como eu fazer com que ele venda VIP days? O meu é aquele sistema do Mock sabe.. '-' KK tava procurando aqui e não achei ;s
Postado Maio 7, 2014 11 anos Aaaah sim, e tem como eu fazer com que ele venda VIP days? O meu é aquele sistema do Mock sabe.. '-' KK tava procurando aqui e não achei ;s http://www.tibiaking.com/forum/topic/20589-vip-system-by-mock-100/ raell, me come
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.