Ir para conteúdo

gabriel28

Visconde
  • Total de itens

    429
  • Registro em

  • Última visita

  • Dias Ganhos

    6

Tudo que gabriel28 postou

  1. @xugrude456 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 --------------------------- Configuração Inicial ------------------------------------ local strg = 9785 -- Valor da Storage local item = xxxx -- id do item local quant = yyy --quantidade local vocs = {zzz, www} -- id das vocaçao que irao poder receber a permissao --------------------------- Configuração das Falas ----------------------------------- if (msgcontains(msg, 'storage')) then if getPlayerStorageValue(cid, strg) < 1 then selfSay('Deseja receber a permissao? Para isso, deve me trazer X quantia do item Y', cid) talkState[talkUser] = 1 else selfSay('Voce ja recebeu a permissao.', cid) talkState[talkUser] = 0 end --------------------------- Falas de Entrada ----------------------------------- elseif(msgcontains(msg, 'yes') or msgcontains(msg, 'sim') and talkState[talkUser] == 1) then if getPlayerStorageValue(cid, strg) < 1 then if isInArray(vocs, getPlayerVocation(cid)) then if doPlayerRemoveItem(cid, item, quant) then setPlayerStorageValue(cid, strg, 1) selfSay('Permissao concedida com sucesso.', cid) talkState[talkUser] = 0 else selfSay('Voce nao tem o item.', cid) talkState[talkUser] = 0 end else selfSay('Sua vocaçao nao pode receber a permissao.', cid) return false end else selfSay('Permissao ja concedida anteriormente.', cid) return false end --------------------------- Falas de Rejeição ----------------------------------- elseif(msgcontains(msg, 'no') or msgcontains(msg, 'nao') and isInArray({1}, talkState[talkUser])) then talkState[talkUser] = 0 selfSay('Tudo bem entao.', cid) --------------------------- FIM do SCRIPT --------------------------------------- end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  2. @xugrude456 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 --------------------------- Configuração Inicial ------------------------------------ local strg = 9785 -- Valor da Storage local item = xxxx -- id do item local quant = yyy --quantidade --------------------------- Configuração das Falas ----------------------------------- if (msgcontains(msg, 'storage')) then if getPlayerStorageValue(cid, strg) < 1 then selfSay('Deseja receber a permissao? Para isso, deve me trazer X quantia do item Y', cid) talkState[talkUser] = 1 else selfSay('Voce ja recebeu a permissao.', cid) talkState[talkUser] = 0 end --------------------------- Falas de Entrada ----------------------------------- elseif(msgcontains(msg, 'yes') or msgcontains(msg, 'sim') and talkState[talkUser] == 1) then if getPlayerStorageValue(cid, strg) < 1 then if doPlayerRemoveItem(cid, item, quant) then setPlayerStorageValue(cid, strg, 1) selfSay('Permissao concedida com sucesso.', cid) talkState[talkUser] = 0 else selfSay('Voce nao tem o item.', cid) talkState[talkUser] = 0 end else selfSay('Permissao ja concedida anteriormente.', cid) return false end --------------------------- Falas de Rejeição ----------------------------------- elseif(msgcontains(msg, 'no') or msgcontains(msg, 'nao') and isInArray({1}, talkState[talkUser])) then talkState[talkUser] = 0 selfSay('Tudo bem entao.', cid) --------------------------- FIM do SCRIPT --------------------------------------- end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  3. Pra descompilar o client tem que ter conhecimento, mas da pra testar se usaram um compilador qualquer na net, só ir testando os decompiladores que tem por ai. Pra fazer o Object Build ler essas sprites, vai ter que descobrir o signature novo do dat/spr, pois, provavelmente, foi modificado, dai faz com que o programa não consiga ler.
  4. @xugrude456 Quando tiver pedidos assim, já posta o script junto pra agilizar. Essa minha resposta de agora já poderia conter a solução.
  5. Tem uma DLL por ai que poem a mana bar no old client, porém, tem um bug que, ao usar o ctrl+n, o client crasha.
  6. @emersongo 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 local node1 = keywordHandler:addKeyword({'promot'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can promote you for 20000 gold coins. Do you want me to promote you?'}) node1:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, premium = true, cost = 20000, level = 20, promotion = 1, text = 'Congratulations! You are now promoted.'}) node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then, come back when you are ready.', reset = true}) npcHandler:addModule(FocusModule:new())
  7. @emersongo Vai no config.lua e procura por premiumForPromotion = false e troca o false por true.
  8. @Emooooo Parece que quando você colou lá, trocou por um caractere especial. Reescreve 'exhaustion_time' no script e fica atento se não tem nenhum outro caractere especial.
  9. @Emooooo Troca: local exhaustion_time = 1 * * 60 * 60 Por: local exhaustion_time = 1 * 60 * 60
  10. @xugrude456 Se você dissesse qual é a modificação que está tentando fazer, ajudaria.
  11. @tacokunacara O que tá acontecendo quando tas tentando criar a conta?
  12. Usa um HexEditor e checa as signatures.
  13. Vi por ai que quando extrai o dat/spr do NTO Brasil, vem um dat/spr falso e não o verdadeiro, e provável que seja mesmo, pois ta muito surreal esses números ai.
  14. Vê se tem alguma função no login.lua que está setando o group id pra 0.
  15. Não tinha visto o editado. Faz o que o Vini disse, vai resolver. Depois vê quais os chares que foram criados estão com o group id 0 e muda pra 1.
  16. gabriel28

    Item que dá skill

    Talvez um creatureevent com onLogin contorne isso, não?
  17. Bem, pelo que sei, group id 0 não existe. Qualquer coisa, adiciona ele no arquivo groups.xml na pasta data/XML e vê se o erro continua.
  18. Posta o script que está dando esse erro, vai facilitar na ajuda.
  19. De que NTO tu pegou isso ai? O número de sprites, efeitos, missiles estão estranhamente altos.
  20. @wizav01 Pra modificar nas Source, tem tutoriais pelo fórum. Depois que modificar, em items.xml é só por o shoot type com o nome que você colocou na source.
  21. Desculpem pelo título chamativo e/ou pela área está incorreta, mas enfim, lhes trago a solução definitiva pros problemas de bug relacionados a conteiners, como ficar comprando bp's infinitamente até crashar o server, stackar várias bps dentro de bps, jogar dentro da casa e usar o comando !leavehouse (ou algo do tipo) o que causa lag (talvez crash?) por conta da database ter que processar tantos itens saindo da house pro dp ou qualquer outra merda desse tipo. Vá em ...\data\npc\lib\npcsystem procure por: -- Handles onBuy events. If you wish to handle this yourself, use the CALLBACK_ONBUY callback. Substitua toda a função por: Explicando: Se o player tentar comprar mais de X itens de id Y, o npc não irá vender. Quando o player comprar uma quantidade menor que X, ganhará um cooldown de Z segundos até poder comprar novamente. Tudo isso configurável na tabela. Pra te prejudicar com esse tipo de bug agora, só se o "player" tiver com uma puta vontade de te foder. Testado e totalmente funcional em TFS 0.4 rev 3884, mas qualquer coisa é só adaptar pra outras versões que tenho certeza que funciona. EDIT: Não sei se já tem script similar por ai, mas esse ai é de minha autoria.
  22. Solução pro bug da party: Em game.cpp procure por: Party* party = player->getParty(); E adicione acima: if (invitedPlayer == player) return false; O crash acontece quando usam elfbot e dão party em si mesmo. Créditos: Gesior.pl EDIT: Bug nas portas que empurram items (Geralmente são as que precisam de level pra entrar). Abra a porta, coloque vários items na stack e saia. Quando a porta fechar, vai crashar o seu cliente e o de todos que estiverem perto(Na mesma tela). Não sei como fica o servidor, mas da forma que testei (Criei vários items estacáveis com o GOD >/i gold), ele não caiu, mas provavelmente dê lag. EDIT 2: Quando teve o clean, deu crash nos clientes que eu tinha aberto. Solução: Mudar a quantidade máxima de item por tile e/ou tirar a script de transformar gold. (Já que na maioria dos OTs é relativamente fácil fazer dinheiro, tirar esse script diminuirá a quantidade de lixo que um player pode produzir.) EDIT3: Sobre o bug das mochilas: Script auxiliar(Se tiver pego o de antes desse edit, mude): Vá em: ...\data\npc\lib\npcsystem procure por: -- Handles onBuy events. If you wish to handle this yourself, use the CALLBACK_ONBUY callback. E substitua a função por essa: function NpcHandler:onBuy(cid, itemid, subType, amount, ignoreCap, inBackpacks) local config = { sto = 11000, --storage tempo = 60, --tempo de cooldown para comprar novamente it = {2144, 2149}, --id dos itens total = 10 --total de itens que pode ser comprado por vez } if isInArray(config.it, itemid) and amount >= config.total then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "nao pode comprar mais que "..config.total.." itens desse.") return false elseif getPlayerStorageValue(cid, config.sto) > os.time() and isInArray(config.it, itemid) and amount <= config.total then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "espere "..(getPlayerStorageValue(cid, config.sto) - os.time()).." segundo(s) para comprar novamente.") return false elseif isInArray(config.it, itemid) and amount <= config.total then setPlayerStorageValue(cid, config.sto, os.time() + config.tempo) end local callback = self:getCallback(CALLBACK_ONBUY) if(callback == nil or callback(cid, itemid, subType, amount, ignoreCap, inBackpacks)) then if(self:processModuleCallback(CALLBACK_ONBUY, cid, itemid, subType, amount, ignoreCap, inBackpacks)) then -- end end end
  23. @NdboHakai Conseguiria, só você comparar como ta no script e como ta a forma que mandei, dai veria as diferenças e como adicionar uma nova cidade premium ou free.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...