Ir para conteúdo
  • Cadastre-se

Garou

Membro
  • Total de itens

    256
  • Registro em

  • Última visita

  • Dias Ganhos

    15

Tudo que Garou postou

  1. Programação de um servidor com a temática do Harry Potter, é deveras simples. Acho que o que falta mesmo são spriters, digamos, que queiram fazer parte de uma equipe, e de graça.
  2. Checagem da promotion no lugar errado dá nisso. NPC 1: 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 _onCreatureSay(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talk
  3. O segundo NPC não necessita de ajustes: 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 _onCreatureSay(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_C
  4. Pronto, já testei e está funcional. Incrementei o diálogo do NPC também e arrumei o inglês, tive que usar uma tabela para as frases para não precisar toda hora de if e elseif para a linguagem do NPC. Boa sorte. 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) en
  5. Como eu testo meus scripts em localhost, não há influência de possíveis gargalos na conexão. Tente com o script abaixo, alterei apenas o tempo do addEvent para um intervalo maior. function autoloot(cid, position, corpseID) if not isPlayer(cid) then return end local corpse = getTileItemById(position, corpseID) if corpse and isContainer(corpse.uid) then local gold = 0 for slot = 1, getContainerSize(corpse.uid) do local item = getContainerItem(corpse.uid, slot) local amount = (item.itemid == 2148 and item.type or (item.itemid == 2152 and item.type * 100 or (item.itemid ==
  6. Aqui o não apaga meu tópico e aceita indentação normalmente
  7. Infelizmente, recomendo que você troque o executável do seu servidor. Procure por um TFS (The Forgotten Server), pois acredito que o que você está usando não tem a função necessária para ter um script desse tipo.
  8. Acho que vou fazer a Lib Player, Creature e Item do TFS 1.0 no TFS 0.4.

  9. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_HITCOLOR, 94) setCombatParam(combat, COMBAT_PARAM_EFFECT, 15) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.5, 0, -3.0, 0) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat2, COMBAT_PARAM_HITCOLOR, 94) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 15) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -2.5, 0, -3.0, 0) local combat3 = createCombatObject() setCombatParam(com
  10. Eu testei superficialmente, mas acho que funciona. 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 spells = { ["rage of the skies"] = {price = 5, vocations = {1}, level = 60, storage = 17501}, ["hells core"] = {p
  11. Olá, Possível, é sim. Mas seria necessário fazer um pequeno trecho de código, no script de compra de magias (seja NPC, Talkaction, etcétera), para essa verificação se o jogador já comprou magia semelhante a quer comprar.
  12. Olá, O erro estava nessa linha npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, "creatureSayCallback") O callback do Jiddo NPC System deve ser chamado como função e não como string, corrija para: npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
  13. Tudo indica que seu servidor não possui a função db.query para executar consultas SQL no banco de dados, o que é por si só é muito estranho. Qual a versão do Tibia do servidor? Usa The Forgotten Server, se sim qual revisão?
  14. Qual o processador, a memória RAM e o sistema operacional utilizado?
  15. Respondendo sua pergunta de 05-ago-2014 (acho que estou atrasado), sim, eu sou o Oneshot e fiz essas magias, na época, foi o dono do http://ntoultimate.com.br/ que me pediu isso. Quanto ao pedido do rapaz, vou ver se atendo ele, não gosto de Carnaval, então estou por aqui.
  16. Registrou no creaturescripts.xml e colocou a função registerCreatureEvent no login.lua?
  17. Não se incomode com reputação, não preciso disso. Então, quando falha, dá algum erro no console? Todos os testes que fiz, matando vários Rat, ele foi normal.
  18. Perdão, má interpretação do erro da minha parte: ALTER TABLE global_storage ADD world_id INTEGER NOT NULL DEFAULT 0;
  19. Execute isso no banco de dados: CREATE TABLE "global_storage" ( "key" INTEGER NOT NULL, "world_id" INTEGER NOT NULL DEFAULT 0, "value" VARCHAR(255) NOT NULL DEFAULT '0', UNIQUE ("key", "world_id") ); Caso seja MySQL, deve ser feito no PHPMyAdmin, caso seja SQLite deve ser feito em programas que abrem arquivos .s3db
  20. Me diz o nome dos monstros que o loot falha que eu posso simular e estudar o problema.
  21. function autoloot(cid, position, corpseID) if not isPlayer(cid) then return end local corpse = getTileItemById(position, corpseID) if corpse and isContainer(corpse.uid) then local gold = 0 for slot = 1, getContainerSize(corpse.uid) do local item = getContainerItem(corpse.uid, slot) local amount = (item.itemid == 2148 and item.type or (item.itemid == 2152 and item.type * 100 or (item.itemid == 2160 and item.type * 10000)) or 0) if item.uid > 0 then if amount > 0 then gold = gold + amount doRemoveItem(item.uid) end else break end end
  22. A função que eu postei no tópico arrendonda tanto para baixo como para cima, dependendo do número. 4.6 = Retorna 5 4.42 = Retorna 4 4.44 com uma casa decimal = 4.4 4.46 com uma casa decimal = 4.5
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo