Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 06/02/16 em %

  1. AnjoCelestial

    [8.54] PokéXRed 1.0 (PDA)

    • Menu: ├ Informações; ├ Edições; ├ Erros; ├ Prints; ├ Mapa ├ Download; ├ Atualização; ├ Utilitários; └ Créditos. • Informações Basicas • (+)1 a 3 Gen (Completa) (+)Bike System (+)Tournament System (+)Clã System (+)Boost Stone (+)Shiny Stone (+)VIP System 100% Fucional (+)Moto System Entre outras coisas... • Edições / Ajustes • (+)Retirados alguns Bugs do server (+)Implantado remakes da 1 a 4 Gen. (+)Adicionados alguns comandos e system. (+)Nova raça de pokémons FAIRY (+)Adicionado Level System com balanceamento (+)Foi balanceado mais de 123 pokémons (+)Megas Pokémon no client,não deu tempo de serem add (+)Alguns Pokémon da 5 Gen. • Erros Do Servidor • Nenhum que eu saiba XD • PrintScreen • Em breve posto mais prints!! • Download's • Client e Server:https://www.sendspace.com/filegroup/2JkNESDqZBTn2xsIGFMPzg • Creditos • Eu Gabrieltxu Kalvin Zeref Shirou • Scan • Server: https://www.virustotal.com/pt/file/33c953a07a87e3d420ecbb89e1bf03492ebcd03eb6471be4cead9caceb380daa/analysis/1464903516/ Client: https://www.virustotal.com/pt/file/162a9ec7ff56ef1af0450b7f83af402f8b112be560df7cc3a2a827aafd2f8237/analysis/
    4 pontos
  2. Danihcv

    [erro] npc

    @Spring Trap, ah saquei... Então nesse caso deixa o npc.lua como tava, então.. :v *ou seja, remove essa checagem: if s.z ~= c.z then return nil end Ficando assim: function getNpcDistanceToCreature(id) if id == 0 or id == nil then selfIdle() return nil end c = getCreaturePosition(id) if c == nil then return nil end s = getNpcPos() return math.max(math.abs(s.x-c.x), math.abs(s.y-c.y)) end
    2 pontos
  3. Danihcv

    [erro] npc

    @Spring Trap, estranho... Tenta assim:
    2 pontos
  4. Yan Liima

    Hp e mana por porcentagem!

    Fala galera do Xtibia beleza? Alguns meses atrás tinha resolvido um tópico que o membro @julhinhuu tinha pedido Mana e Life por porcentagem para TFS 1.2 Como tem muita gente atrás desse code e não acha em nenhum lugar, resolvi adaptar para TFS 1.x e compartilhar com vocês! Estarei deixando também para as versões anteriores... TFS 1.X Em protocolgame.cpp procure por: msg.add<uint16_t>(std::min<int32_t>(player->getHealth(), std::numeric_limits<uint16_t>::max())); msg.add<uint16_t>(std::min<int32_t>(player->getPlayerInfo(PLAYERINFO_MAXHEALTH), std::numeric_limits<uint16_t>::max())); Troque por isto: if (player->getPlayerInfo(PLAYERINFO_MAXHEALTH) > 0) { msg.add<uint16_t>(player->getHealth() * 100 / player->getPlayerInfo(PLAYERINFO_MAXHEALTH)); msg.add<uint16_t>(100); } else { msg.add<uint16_t>(0); msg.add<uint16_t>(0); } Depois procure por: msg.add<uint16_t>(std::min<int32_t>(player->getMana(), std::numeric_limits<uint16_t>::max())); msg.add<uint16_t>(std::min<int32_t>(player->getPlayerInfo(PLAYERINFO_MAXMANA), std::numeric_limits<uint16_t>::max())); Troque por: if (player->getPlayerInfo(PLAYERINFO_MAXMANA) > 0) { msg.add<uint16_t>(player->getMana() * 100 / player->getPlayerInfo(PLAYERINFO_MAXMANA)); msg.add<uint16_t>(100); } else { msg.add<uint16_t>(0); msg.add<uint16_t>(0); } Pronto depois é só compilar e ser feliz xD Testado em TFS 1.0/1.2 Para as versões anteriores aqui está: Agora inves de ser um número grande --> <-- Irá ser um número pequeno Não se preocupe, isso não altera o health nem a mana do jogador, apenas ficara mais fácil de saber se o player irá morrer sim ou não. Créditos: Yan Liima
    1 ponto
  5. Novo Pack de Sprites By Anjo Celestial Estão todos em OBD,com seus devidos Icon System,Morto,Portrait e Corpo. Façam bom proveito!!!!! Downloads: Obs(Esse down é as sprites separadas em OBD todas salva em v2): https://www.sendspace.com/file/bfm13m Obs(Esse down é as sprites em Dat e Spr em v1,v2 e v3,a version que funfa no seu obd vc pega):https://www.sendspace.com/file/tay66y Scan: https://www.virustotal.com/pt/file/427c5108ff6dd316081dc564d878a093aaf02a65c0fcb4e9a687072afa61c24a/analysis/1464909664/ PRINTS:
    1 ponto
  6. Fir3element

    Tibia UnBinder v0.3

    Usando o UnBinder v0.1 vi que ele injetava a DLL pelo título do processo, logo algumas pessoas inseriram caracteres especiais nos seus clients, impossibilitando de usar o UnBinder. Pensando nisso, refiz o programa para usar o nome do arquivo (.exe). DLL's feitas pelo Beziak e Chojrak. Tutorial: Vou usar o client do NTOUltimate para ensinar... Link: http://www.mediafire.com/download/z2c21uxxsj26tqv/NtoShinobi2.5.rar Abra o Tibia UnBinder e o client do NTO. No UnBinder execute os seguintes comandos: process NtoShinobi2.5 client 860 inject Os arquivos pic/dat/spr vão ser extraídos na pasta do client. Para saber mais sobre os comandos digite 'help'. Download: http://www.mediafire.com/?869ax137366by3m Scan: https://www.virustotal.com/pt/file/32184500c5db59f88d619bb1760753f6a237a5c18c138f43e7b73825592e022e/analysis/1378836263/ Tibia UnBinder v0.3.rar
    1 ponto
  7. zipter98

    Mega Evolution System (PxG)

    Base usada: PDA by Slicer, v1.9 Para quem não conhece o sistema de mega evoluções, recomendo acessar este link. A diferença é que a pedra (mega stone) não ocupa o espaço de um Held Item tier Y (visto que não são todos os servidores que possuem Held Itens). Instalação do sistema (atenção nos detalhes) data/lib: cooldown bar.lua: Troque o código da função getNewMoveTable(table, n) por este: function getNewMoveTable(table, n) if table == nil then return false end local moves = {table.move1, table.move2, table.move3, table.move4, table.move5, table.move6, table.move7, table.move8, table.move9, table.move10, table.move11, table.move12} local returnValue = moves if n then returnValue = moves[n] end return returnValueend No código da função doUpdateMoves(cid), troque o segundo: table.insert(ret, "n/n,") por: local mEvolveif not getCreatureName(summon):find("Mega") and getItemAttribute(getPlayerSlotItem(cid, 8).uid, "megaStone") then if not isInArray(ret, "Mega Evolution,") then table.insert(ret, "Mega Evolution,") mEvolve = true endendif not mEvolve then table.insert(ret, "n/n,")end Depois, em pokemon moves.lua: Troque: min = getSpecialAttack(cid) * table.f * 0.1 --alterado v1.6 por: min = getSpecialAttack(cid) * (table and table.f or 0) * 0.1 --alterado v1.6 Código da spell: elseif spell == "Mega Evolution" then local effect = xxx --Efeito de mega evolução. if isSummon(cid) then local pid = getCreatureMaster(cid) if isPlayer(pid) then local ball = getPlayerSlotItem(pid, 8).uid if ball > 0 then local attr = getItemAttribute(ball, "megaStone") if attr and megaEvolutions[attr] then local oldPosition, oldLookdir, health_percent_lost = getThingPos(cid), getCreatureLookDir(cid), (getCreatureMaxHealth(cid) - getCreatureHealth(cid)) * 100 / getCreatureMaxHealth(cid) doItemSetAttribute(ball, "poke", megaEvolutions[attr][2]) doSendMagicEffect(getThingPos(cid), effect) doRemoveCreature(cid) doSummonMonster(pid, megaEvolutions[attr][2]) local newPoke = getCreatureSummons(pid)[1] doTeleportThing(newPoke, oldPosition, false) doCreatureSetLookDir(newPoke, oldLookdir) adjustStatus(newPoke, ball, true, false) doCreatureAddHealth(newPoke, -(health_percent_lost * getCreatureMaxHealth(newPoke) / 100)) if useKpdoDlls then addEvent(doUpdateMoves, 5, pid) end end end end end Depois, em configuration.lua: megaEvolutions = { --[itemid] = {"poke_name", "mega_evolution"}, [11638] = {"Charizard", "Mega Charizard X"}, [11639] = {"Charizard", "Mega Charizard Y"},} Agora, em data/actions/scripts, código da mega stone: function onUse(cid, item) local mEvolution, ball = megaEvolutions[item.itemid], getPlayerSlotItem(cid, 8).uid if not mEvolution then return doPlayerSendCancel(cid, "Sorry, this isn't a mega stone.") elseif ball < 1 then return doPlayerSendCancel(cid, "Put a pokeball in the pokeball slot.") elseif #getCreatureSummons(cid) > 0 then return doPlayerSendCancel(cid, "Return your pokemon.") elseif getItemAttribute(ball, "poke") ~= mEvolution[1] then return doPlayerSendCancel(cid, "Put a pokeball with a(n) "..mEvolution[1].." in the pokeball slot.") elseif getItemAttribute(ball, "megaStone") then return doPlayerSendCancel(cid, "Your pokemon is already holding a mega stone.") end doItemSetAttribute(ball, "megaStone", item.itemid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Now your "..getItemAttribute(ball, "poke").." is holding a(n) "..getItemNameById(item.itemid)..".") doRemoveItem(item.uid) return trueend Depois, em goback.lua: Abaixo de: if not pokes[pokemon] then return trueend coloque: if pokemon:find("Mega") then local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1] if normalPoke then doItemSetAttribute(item.uid, "poke", normalPoke) pokemon = normalPoke end end Depois, em data/creaturescripts/scripts, look.lua: Abaixo de: local boost = getItemAttribute(thing.uid, "boost") or 0 coloque: local extraInfo, megaStone = "", getItemAttribute(thing.uid, "megaStone")if megaStone then extraInfo = getItemNameById(megaStone) if pokename:find("Mega") then pokename = megaEvolutions[megaStone][1] endend Depois, acima do primeiro: doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, table.concat(str)) coloque: if extraInfo ~= "" then table.insert(str, "\nIt's holding a(n) "..extraInfo..".")end Já em data/talkactions/scripts, move1.lua: Abaixo de: function doAlertReady(cid, id, movename, n, cd) coloque: if movename == "Mega Evolution" then return true end Troque: if not move then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.") return true end por: if not move then local isMega = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "megaStone") if not isMega or name:find("Mega") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.") return true end local moveTable, index = getNewMoveTable(movestable[name]), 0 for i = 1, 12 do if not moveTable[i] then index = i break end end if tonumber(it) ~= index then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.") return true end local needCds = true --Coloque false se o pokémon puder mega evoluir mesmo com spells em cooldown. if needCds then for i = 1, 12 do if getCD(getPlayerSlotItem(cid, 8).uid, "move"..i) > 0 then return doPlayerSendCancel(cid, "To mega evolve, all the spells of your pokemon need to be ready.") end end end move = {name = "Mega Evolution", level = 0, cd = 0, dist = 1, target = 0} end E troque: doCreatureSay(cid, ""..getPokeName(mypoke)..", "..msgs[math.random(#msgs)]..""..move.name.."!", TALKTYPE_SAY) por: local spellMessage = msgs[math.random(#msgs)]..""..move.name.."!"if move.name == "Mega Evolution" then spellMessage = "Mega Evolve!"enddoCreatureSay(cid, getPokeName(mypoke)..", "..spellMessage, TALKTYPE_SAY) Se não quiser que o "Mega" apareça no nome do pokémon, vá em data/lib, level system.lua: Acima de: if getItemAttribute(item, "nick") then nick = getItemAttribute(item, "nick")end coloque: if nick:find("Mega") then nick = nick:match("Mega (.*)") if not pokes[nick] then nick = nick:explode(" ")[1] end end Caso queiram que cada mega evolução tenha um clã específico: Em move1.lua, acima de: move = {name = "Mega Evolution", level = 0, cd = 0, dist = 1, target = 0, f = 0, t = "?"} coloque: local megaEvoClans = { --[mega_stone_id] = "clan_name", [91912] = "Volcanic", [91913] = "Seavell", --etc,}if megaEvoClans[isMega] then if getPlayerClanName(cid) ~= megaEvoClans[isMega] then return doPlayerSendCancel(cid, "You can't mega evolve this pokemon.") endend Finalizando o tópico após uma pequena reestruturação na indexação, gostaria de levantar algo que acredito ser bem claro: o sistema é cheio de detalhes, muitas vezes minuciosos. Um simples erro e bugs aparecem por toda parte. Se você encontrou algum, pelo menos uma das duas seguintes condições acontecem: Base DIFERENTE da usada. Peço desculpas, mas não pretendo adaptar o sistema para todas as bases diferentes que aparecerem. Se a base for a mesma, você com certeza errou em algum ponto da instalação. O sistema foi testado inúmeras vezes, não apenas por mim, e seu funcionamento foi seguidamente comprovado. Façam bom uso, invocadores.
    1 ponto
  8. iae pessoal então como o título já diz estou tentando colocar a função setcreaturename na magia bunshin no jutsu do meu servidor que cria uma clone porém não estou conseguindo coloco tudo certo mas não faz alteração script do jutsu problema resolvido optei por esta script
    1 ponto
  9. Marco Oliveira

    Lord Loras

    Lord Loras Lord Loras é o terceiro filho de Lorde Mace Tyrell. Conhecido como O Cavaleiro das Flores, é extremamente habilidoso nas justas e torneios. Suas habilidades e seu estilo o tornaram famoso nas cortes dos Sete Reinos. Seu brasão pessoal são três rosas douradas sobre um campo verde, indicando-o como terceiro filho. História Em sua juventude, Loras foi criado em Luminera, onde serviu como pajem e escudeiro de Renly Baratheon. Supõe-se que foi nesse período que teve início o relacionamento secreto dos dois. Apesar disso, muitos na corte sabem dessa relação proibida. Durante o casamento de Sansa com Tyrion, Sor Garlan Tyrell puxa a noiva para dançar. Ele diz a ele que viu o modo como ela olha para seu irmão, e que Loras e bonito e valente, e que todos o amam muito Equipamento
    1 ponto
  10. Poccnn

    [Erro] Npc

    Esse escopo não está sendo executado por causa dessa condição: Mais especificamente aqui: Ela não está sendo executada, porquê você está tentando encontrar a mensagem (nesse caso seria: "entregar") nos index da array 'tabela', na qual não tem o index: "entregar".
    1 ponto
  11. https://github.com/Alissonfgp/forgottenserver/commit/40f8154f1095246411f30ddc0f10064b62f982c3
    1 ponto
  12. Poccnn

    [Erro] Npc

    For em lua é um loop e pairs é um iterator. Quando usado o iterator no loop for, retornar-se dois valores, o index (k) e o valor atribuido ao index (v). Acessar a tabela na qual está acessando o loop com o iterator pelo caminho, é um mal exemplo de programação. Nao faça isso: Faça isso:
    1 ponto
  13. É a formatação do seu .lua. Abre a script desse sistema seu pelo notepad ++, copie tudo que está la dentro depois lá em cima vai ter uma opção escrita "FORMATAR" clique nela e veja se está marcado em UTF-8 ou ANSI. Se tiver em UTF-8 mude para ANSI ou se tiver ANSI mude para UTF-8. Depois os caracteres com acentos vai bugar tu cola o que tu tinha copiado antes e depois salva. Depois é so dar reload no servidor e curtir seus acentos rsrs
    1 ponto
  14. Yan Liima

    [Encerrado] Erro estranho

    é porque no channels.xml você tem que por: <channel id="15" name="Death Channel"/> E o chat não abre automaticamente, você que tem que abrir ele...
    1 ponto
  15. Yan Liima

    [Encerrado] Erro estranho

    Script do lindo do Zoom rsrs Tente esse aqui: -- Coded by Zoom..local info, win, lose = "%s [Level: %s] foi mort%s pelo %s %s%s", "%s obteve %s frags seguidos após derrotar %s.", "%s acabou de impedir que %s fizesse uma sequência de %s frags seguidos."local frags, storage = {5, 10, 15, 20, 25, 30, 35, 40, 45, 50}, 30045function onDeath(cid, corpse, deathList) if(not isPlayer(cid)) then return true end local target = deathList[1] doCreatureSetStorage(target, storage, getCreatureStorage(target, storage) + (getCreatureStorage(target, storage) == -1 and 2 or 1)) for _, pid in ipairs(getPlayersOnline()) do doPlayerSendChannelMessage(pid, '', info:format(getCreatureName(cid), getPlayerLevel(cid), getPlayerSex(cid) == 1 and "o" or "a", isPlayer(target) and "player" or "monstro", getCreatureName(target), isPlayer(target) and " [Level: "..getPlayerLevel(target).."]." or "."), TALKTYPE_CHANNEL_O, 0xF) for _, frag in ipairs(frags) do if(getCreatureStorage(target, storage) == frag) then doPlayerSendChannelMessage(pid, '', win:format(getCreatureName(target), frag, getCreatureName(cid)), TALKTYPE_CHANNEL_W, 0xF) end if(getCreatureStorage(cid, storage) >= frag) then doPlayerSendChannelMessage(pid, '', lose:format(getCreatureName(target), getCreatureName(cid), getCreatureStorage(cid, storage)+1), TALKTYPE_CHANNEL_RN, 0xF) end end end doCreatureSetStorage(cid, storage, 0) return trueend São duas versões uma pra OTX e outra pra TFS. Veja a diferença aqui: Agora que tu disse lembrei que era esse o problema que eu tive uma vez kkkkk
    1 ponto
  16. Yan Liima

    [Encerrado] Erro estranho

    Faz assim, faz uma copia do seu creaturescript.xml e depois edite tirando todos event que tem Death,PrepareDeath e Kill. E faz o teste pra ver se da debug
    1 ponto
  17. Erro meu desculpe: function onLogin(cid)local config = {group_id = 1, ip = getPlayerIp(cid)} if getPlayerGroupId(cid) >= config.group_id thenio.output(io.open("data/logs/playerlogin.txt", "a"))io.write("["..os.date("%d/%m/%y %X").."] "..getPlayerName(cid).." Entrou no servidor.\nConta: "..getPlayerAccount(cid)..", Acesso: ".. getPlayerGroupName(cid) .."("..getPlayerGroupId(cid).."), IP: "..doConvertIntegerToIp(config.ip)..", Posição: [x=..getPlayerPosition(cid).x..", y="..getPlayerPosition(cid).y..", z="..getPlayerPosition(cid).z..].\n")io.close() endreturn trueend Como o @Poccnn disse, estava fora da função.
    1 ponto
  18. Acabei de fazer um aqui vê se da certo Em creaturescript crie um arquivo chamado playerlog.lua e cole isto dentro: function onLogin(cid)local config = {group_id = 1, ip = getPlayerIp(cid)} if isPlayer(cid) thenif getPlayerGroupId(cid) >= config.group_id thenio.output(io.open("data/logs/playerlogin.txt", "a"))io.write("["..os.date("%d/%m/%y %X").."] "..getPlayerName(cid).." Entrou no servidor.\nConta: "..getPlayerAccount(cid)..", Acesso: ".. getPlayerGroupName(cid) .."("..getPlayerGroupId(cid).."), IP: "..doConvertIntegerToIp(config.ip)..", Posição: [x=..getPlayerPosition(cid).x..", y="..getPlayerPosition(cid).y..", z="..getPlayerPosition(cid).z..].\n")io.close() endreturn trueendreturn trueend Em creaturescript.xml adicione: <event type="login" name="LoginLog" event="script" value="playerlog.lua"/> Pronto se der certo edite como quiser xD Se quiser por pra registrar apenas os players com group 1 troque if getPlayerGroupId(cid) >= config.group_id then por if getPlayerGroupId(cid) == config.group_id then Caso contrario ele irá registrar de todos. O arquivo .txt vai ta na pasta data/logs/playerlogin.txt
    1 ponto
  19. Scizorgame

    Base Bolz 2.5 Com Source

    eu consegui adaptar o sistema de duel, 1x1 pelo menos, mas tive q mecher em muita coisa para deixar 10/10, vou tentar fazer um tutorial se eu conseguir compilar essa source, compilei com um dev c++ de todos jeitos mas n funcionou o .exe, vou tentar compilar com msvc2010 e depois informo aqui.
    1 ponto
  20. bianco001

    Wodbohs 2014-2015 8.0

    é cada coisa AHUEHUEHAUEH, "empresa crazzy e jacolos" é Crash, Jacolos e Hajbos.. e pra começa tudo é ripado desde as sprites do gameboy advance do jogo Dragon ball Z buu's fury, e nao.. nao ouve vazamento de dados.. quando hajbos saiu da empresa, e wodbo se torno uma engine desatualizada pela source devland 0.4, crash e jacolos decidiu que ia criar um totalmente atualizado, com base no tfs 0.3.6pl1 na epoca, com a versão 8.54 chamado DBKO, dai que veio a ideia de lucrar com o wodbo mesmo desatualizado vendendo ele pra ter o lucro inicial do outro server.. e ai que por acaso alguem resouveu revender naqueles forum polones, até alguem decidir postar de graça lá tbm.. ou seja.. nem mesmo os proprios criadores ligam pra isso.. tanto que tao vendendo o DBHO tbm..
    1 ponto
  21. Danihcv

    [TFS 1.1] Lua functions - funções

    Olá, xTibianos. Hoje lhes trago mais uma lista de funções. Dessa vez é do TFS 1.1. Source functions - Funções da source addDamageCondition(condition, rounds, time, value) addEvent(callback, delay, ...) addOutfitCondition(condition, lookTypeEx, lookType, lookHead, lookBody, lookLegs, lookFeet) addOutfitCondition(condition, lookTypeEx, lookType, lookHead, lookBody, lookLegs, lookFeet[, lookAddons, lookMount]) canJoin(player) cleanMap() closeShopWindow(cid) Combat() combat:execute(creature, variant) combat:setArea(area) combat:setCallback(key, function) combat:setCondition(condition) combat:setFormula(type, mina, minb, maxa, maxb) combat:setOrigin(origin) combat:setParameter(key, value) Condition(conditionType[, conditionId = CONDITIONID_COMBAT]) condition:addDamage(rounds, time, value) condition:clone() condition:delete() condition:getEndTime() condition:getIcons() condition:getId() condition:getSubId() condition:getTicks() condition:getType() condition:setFormula(mina, minb, maxa, maxb) condition:setOutfit(lookTypeEx, lookType, lookHead, lookBody, lookLegs, lookFeet[, lookAddons[, lookMount]]) condition:setOutfit(outfit) condition:setParameter(key, value) condition:setTicks(ticks) Container(uid) container:addItem(itemId[, count/subType = 1[, index = INDEX_WHEREEVER[, flags = 0]]]) container:addItemEx(item[, index = INDEX_WHEREEVER[, flags = 0]]) container:getCapacity() container:getEmptySlots([recursive = false]) container:getItem(index) container:getItemCountById(itemId[, subType = -1]) container:getItemHoldingCount() container:getSize() container:hasItem(item) createCombatArea( {area}, <optional> {extArea} ) createCombatObject() createConditionObject(type) Creature(id or name or userdata) creature:addCondition(condition[, force = false]) creature:addHealth(healthChange) creature:addMana(manaChange[, animationOnLoss = false]) creature:canSee(position) creature:canSeeCreature(creature) creature:changeSpeed(delta) creature:getBaseSpeed() creature:getCondition(conditionType[, conditionId = CONDITIONID_COMBAT[, subId = 0]]) creature:getDamageMap() creature:getDescription(distance) creature:getDirection() creature:getFollowCreature() creature:getHealth() creature:getId() creature:getLight() creature:getMana() creature:getMaster() creature:getMaxHealth() creature:getMaxMana() creature:getName() creature:getOutfit() creature:getParent() creature:getPathTo(pos[, minTargetDist = 0[, maxTargetDist = 1[, fullPathSearch = true[, clearSight = true[, maxSearchDist = 0]]]]]) creature:getPosition() creature:getSkull() creature:getSpeed() creature:getSummons() creature:getTarget() creature:getTile() creature:isCreature() creature:isHealthHidden() creature:isInGhostMode() creature:isRemoved() Creature:onAreaCombat(tile, aggressive) or Creature.onAreaCombat(self, tile, aggressive) Creature:onChangeOutfit(outfit) or Creature.onChangeOutfit(self, outfit) Creature:onTargetCombat(target) or Creature.onTargetCombat(self, target) creature:registerEvent(name) creature:remove() creature:removeCondition(conditionType[, conditionId = CONDITIONID_COMBAT[, subId = 0[, force = false]]]) creature:say(text, type[, ghost = false[, target = nullptr[, position]]]) creature:setDirection(direction) creature:setDropLoot(doDrop) creature:setFollowCreature(followedCreature) creature:setHiddenHealth(hide) creature:setLight(color, level) creature:setMaster(master) creature:setMaxHealth(maxHealth) creature:setOutfit(outfit) creature:setSkull(skull) creature:setTarget(target) creature:teleportTo(position[, pushMovement = false]) creature:unregisterEvent(name) debugPrint(text) doAddContainerItem(uid, itemid, <optional> count/subtype) doAreaCombatCondition(cid, pos, area, condition, effect) doAreaCombatDispel(cid, pos, area, type, effect) doAreaCombatHealth(cid, type, pos, area, min, max, effect) doAreaCombatHealth(cid, type, pos, area, min, max, effect[, origin = ORIGIN_SPELL]) doAreaCombatMana(cid, pos, area, min, max, effect) doAreaCombatMana(cid, pos, area, min, max, effect[, origin = ORIGIN_SPELL]) doChallengeCreature(cid, target) doCombat(cid, combat, param) doCreateItem(itemid, <optional> type/count, pos) doCreateItem(itemid, type/count, pos) doCreateItemEx(itemid, <optional> count/subtype) doMoveCreature(cid, direction) doNpcSetCreatureFocus(cid) doPlayerAddItem(cid, itemid, <optional: default: 1> count, <optional: default: 1> canDropOnMap, <optional: default: 1>subtype) doPlayerAddItem(cid, itemid, <optional: default: 1> count/subtype, <optional: default: 1> canDropOnMap) doPlayerAddItem(uid, itemid, <optional: default: 1> count/subtype) doPlayerSetOfflineTrainingSkill(cid, skill) doPlayerSetOfflineTrainingSkill(cid, skillid) doSellItem(cid, itemid, amount, <optional> subtype, <optional> actionid, <optional: default: 1> canDropOnMap) doSetCreatureLight(cid, lightLevel, lightColor, time) doSetCreatureOutfit(cid, outfit, time) doSetItemOutfit(cid, item, time) doSetMonsterOutfit(cid, name, time) doTargetCombatCondition(cid, target, condition, effect) doTargetCombatDispel(cid, target, type, effect) doTargetCombatHealth(cid, target, type, min, max, effect) doTargetCombatHealth(cid, target, type, min, max, effect[, origin = ORIGIN_SPELL]) doTargetCombatMana(cid, target, min, max, effect) doTargetCombatMana(cid, target, min, max, effect[, origin = ORIGIN_SPELL) doTileAddItemEx(pos, uid) Game.createContainer(itemId, size[, position]) Game.createItem(itemId[, count[, position]]) Game.createMonster(monsterName, position[, extended = false[, force = false]]) Game.createNpc(npcName, position[, extended = false[, force = false]]) Game.createTile(position[, isDynamic = false]) Game.createTile(x, y, z[, isDynamic = false]) Game.getExperienceStage(level) Game.getGameState() Game.getHouses() Game.getMonsterCount() Game.getNpcCount() Game.getPlayerCount() Game.getPlayers() Game.getReturnMessage(value) Game.getSpectators(position[, multifloor = false[, onlyPlayer = false[, minRangeX = 0[, maxRangeX = 0[, minRangeY = 0[, maxRangeY = 0]]]]]]) Game.getTowns() Game.getWorldType() Game.loadMap(path) Game.setGameState(state) Game.setWorldType(type) Game.startRaid(raidName) getCreatureCondition(cid, condition[, subId]) getDepotId(uid) getDistanceTo(uid) getNpcCid() getNpcParameter(paramKey) getPlayerFlagValue(cid, flag) getPlayerInstantSpellCount(cid) getPlayerInstantSpellInfo(cid, index) getWaypointPosition(name) getWaypointPositionByName(name) getWorldLight() getWorldTime() getWorldUpTime() Group(id) group:getAccess() group:getFlags() group:getId() group:getMaxDepotItems() group:getMaxVipEntries() group:getName() Guild(id) guild:addMember(player) guild:addRank(id, name, level) guild:getId() guild:getMembersOnline() guild:getMotd() guild:getName() guild:getRankById(id) guild:getRankByLevel(level) guild:removeMember(player) guild:setMotd(motd) House(id) house:getAccessList(listId) house:getBedCount() house:getBeds() house:getDoorCount() house:getDoors() house:getExitPosition() house:getId() house:getName() house:getOwnerGuid() house:getRent() house:getTileCount() house:getTiles() house:getTown() house:setAccessList(listId, list) house:setOwnerGuid(guid[, updateDatabase = true]) isDepot(uid) isInArray(array, value) isInWar(cid, target) isMovable(uid) isMoveable(uid) isType(derived, base) isValidUID(uid) Item(uid) item:clone() item:decay() item:getActionId() item:getArticle() item:getAttribute(key) item:getCharges() item:getCount() item:getDescription(distance) item:getFluidType() item:getId() item:getName() item:getParent() item:getPluralName() item:getPosition() item:getSubType() item:getTile() item:getTopParent() item:getUniqueId() item:getWeight() item:hasAttribute(key) item:hasProperty(property) item:isItem() item:moveTo(position or cylinder) item:remove([count = -1]) item:removeAttribute(key) item:setActionId(actionId) item:setAttribute(key, value) item:split([count = 1]) item:transform(itemId[, count/subType = -1]) ItemType(id or name) itemType:getArmor() itemType:getArticle() itemType:getAttack() itemType:getCapacity() itemType:getCharges() itemType:getClientId() itemType:getDecayId() itemType:getDefense() itemType:getDescription() itemType:getElementDamage() itemType:getElementType() itemType:getExtraDefense() itemType:getFluidSource() itemType:getHitChance() itemType:getId() itemType:getName() itemType:getPluralName() itemType:getRequiredLevel() itemType:getShootRange() itemType:getSlotPosition() itemType:getTransformDeEquipId() itemType:getTransformEquipId() itemType:getType() itemType:getWeaponType() itemType:getWeight([count = 1]) itemType:hasSubType() itemType:isContainer() itemType:isCorpse() itemType:isDoor() itemType:isFluidContainer() itemType:isMovable() itemType:isReadable() itemType:isRune() itemType:isStackable() itemType:isWritable() ModalWindow(id, title, message) modalWindow:addButton(id, text) modalWindow:addChoice(id, text) modalWindow:getButtonCount() modalWindow:getChoiceCount() modalWindow:getDefaultEnterButton() modalWindow:getDefaultEscapeButton() modalWindow:getId() modalWindow:getMessage() modalWindow:getTitle() modalWindow:hasPriority() modalWindow:sendToPlayer(player) modalWindow:setDefaultEnterButton(buttonId) modalWindow:setDefaultEscapeButton(buttonId) modalWindow:setMessage(text) modalWindow:setPriority(priority) modalWindow:setTitle(text) Monster(id or userdata) monster:addFriend(creature) monster:addTarget(creature[, pushFront = false]) monster:getFriendCount() monster:getFriendList() monster:getSpawnPosition() monster:getTargetCount() monster:getTargetList() monster:getType() monster:isFriend(creature) monster:isIdle() monster:isInSpawnRange([position]) monster:isMonster() monster:isOpponent(creature) monster:isTarget(creature) monster:removeFriend(creature) monster:removeTarget(creature) monster:searchTarget([searchType = TARGETSEARCH_DEFAULT]) monster:selectTarget(creature) monster:setIdle(idle) MonsterType(id or name) monsterType:canPushCreatures() monsterType:canPushItems() monsterType:getArmor() monsterType:getAttackList() monsterType:getBaseSpeed() monsterType:getChangeTargetChance() monsterType:getChangeTargetSpeed() monsterType:getCombatImmunities() monsterType:getConditionImmunities() monsterType:getCorpseId() monsterType:getCreatureEvents() monsterType:getDefense() monsterType:getDefenseList() monsterType:getElementList() monsterType:getExperience() monsterType:getHealth() monsterType:getLight() monsterType:getLoot() monsterType:getManaCost() monsterType:getMaxHealth() monsterType:getMaxSummons() monsterType:getName() monsterType:getNameDescription() monsterType:getOutfit() monsterType:getRace() monsterType:getRunHealth() monsterType:getStaticAttackChance() monsterType:getSummonList() monsterType:getTargetDistance() monsterType:getVoices() monsterType:getYellChance() monsterType:getYellSpeedTicks() monsterType:isAttackable() monsterType:isConvinceable() monsterType:isHealthShown() monsterType:isHostile() monsterType:isIllusionable() monsterType:isPushable() monsterType:isSummonable() NetworkMessage() networkMessage:addByte(number) networkMessage:addDouble(number) networkMessage:addItem(item) networkMessage:addItemId(itemId) networkMessage:addPosition(position) networkMessage:addString(string) networkMessage:addU16(number) networkMessage:addU32(number) networkMessage:addU64(number) networkMessage:getByte() networkMessage:getPosition() networkMessage:getString() networkMessage:getU16() networkMessage:getU32() networkMessage:getU64() networkMessage:reset() networkMessage:sendToPlayer(player) networkMessage:skipBytes(number) Npc([id or name or userdata]) npc:closeShopWindow(player) npc:getParameter(key) npc:getSpeechBubble() npc:isNpc() npc:openShopWindow(cid, items, buyCallback, sellCallback) npc:setFocus(creature) npc:setMasterPos(pos[, radius]) npc:setSpeechBubble(speechBubble) onaddItem(moveitem, tileitem, pos) onAdvance(player, skill, oldLevel, newLevel) onBuy(player, itemid, count, amount, ignore, inbackpacks) onCastSpell(creature, var) onCastSpell(creature, var, isHotkey) onCreatureAppear(creature) onCreatureAppear(self, creature) onCreatureDisappear(creature) onCreatureDisappear(self, creature) onCreatureMove(creature, oldPos, newPos) onCreatureMove(self, creature, oldPosition, newPosition) onCreatureSay(creature, type, msg) onCreatureSay(self, creature, type, message) onDeath(creature, corpse, lasthitkiller, mostdamagekiller, lasthitunjustified, mostdamageunjustified) onDeEquip(player, item, slot) onEquip(player, item, slot) onExtendedOpcode(player, opcode, buffer) onGetPlayerMinMaxValues(...) onGetPlayerMinMaxValues(player, attackSkill, attackValue, attackFactor) onGetPlayerMinMaxValues(player, level, maglevel) onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin) onJoin(player) onKill(creature, target) onLeave(player) onLogin(player) onLogout(player) onManaChange(creature, attacker, manaChange, origin) onModalWindow(player, modalWindowId, buttonId, choiceId) onPlayerCloseChannel(player) onPlayerEndTrade(player) onPrepareDeath(creature, killer) onRaid() onRecord(current, old) onRemoveItem(moveitem, tileitem, pos) onSay(player, words, param, type) onSpeak(player, type, message) onStepIn(creature, item, pos, fromPosition) onStepOut(creature, item, pos, fromPosition) onTargetCombat(creature, target) onTextEdit(player, item, text) onThink() onThink(creature, interval) onThink(self, interval) onTileCombat(creature, pos) onUse(player, item, fromPosition, target, toPosition, isHotkey) onUseWeapon(player, var) openShopWindow(cid, items, onBuy callback, onSell callback) os.mtime() party:addInvite(player) party:addMember(player) party:disband() party:getInviteeCount() party:getInvitees() party:getLeader() party:getMemberCount() party:getMembers() party:isSharedExperienceActive() party:isSharedExperienceEnabled() Party:onDisband() or Party.onDisband(self) Party:onJoin(player) or Party.onJoin(self, player) Party:onLeave(player) or Party.onLeave(self, player) party:removeInvite(player) party:removeMember(player) party:setLeader(player) party:setSharedExperience(active) party:shareExperience(experience) Player(id or name or userdata) player:addBlessing(blessing) player:addExperience(experience[, sendText = false]) player:addItem(itemId[, count = 1[, canDropOnMap = true[, subType = 1[, slot = CONST_SLOT_WHEREEVER]]]]) player:addItemEx(item[, canDropOnMap = false[, index = INDEX_WHEREEVER[, flags = 0]]]) player:addItemEx(item[, canDropOnMap = true[, slot = CONST_SLOT_WHEREEVER]]) player:addManaSpent(amount) player:addMapMark(position, type, description) player:addMoney(money) player:addMount(mountId) player:addOutfit(lookType) player:addOutfitAddon(lookType, addon) player:addPremiumDays(days) player:addSkillTries(skillType, tries) player:addSoul(soulChange) player:canLearnSpell(spellName) player:channelSay(speaker, type, text, channelId) player:forgetSpell(spellName) player:getAccountId() player:getAccountType() player:getBankBalance() player:getBaseMagicLevel() player:getCapacity() player:getClient() player:getContainerById(id) player:getContainerId(container) player:getContainerIndex(id) player:getDeathPenalty() player:getDepotChest(depotId[, autoCreate = false]) player:getEffectiveSkillLevel(skillType) player:getExperience() player:getFreeCapacity() player:getGroup() player:getGuid() player:getGuild() player:getGuildLevel() player:getGuildNick() player:getHouse() player:getInbox() player:getIp() player:getItemById(itemId, deepSearch[, subType = -1]) player:getItemCount(itemId[, subType = -1]) player:getLastLoginSaved() player:getLastLogout() player:getLevel() player:getMagicLevel() player:getManaSpent() player:getMaxSoul() player:getMoney() player:getParty() player:getPremiumDays() player:getSex() player:getSkillLevel(skillType) player:getSkillPercent(skillType) player:getSkillTries(skillType) player:getSkullTime() player:getSlotItem(slot) player:getSoul() player:getStamina() player:getStorageValue(key) player:getTown() player:getVocation() player:hasBlessing(blessing) player:hasLearnedSpell(spellName) player:hasMount(mountId) player:hasOutfit(lookType[, addon = 0]) player:isPlayer() player:isPzLocked() player:learnSpell(spellName) Player:onBrowseField(position) or Player.onBrowseField(self, position) Player:onGainExperience(source, exp, rawExp) Player:onGainSkillTries(skill, tries) Player:onLook(thing, position, distance) or Player.onLook(self, thing, position, distance) Player:onLookInBattleList(creature, position, distance) or Player.onLookInBattleList(self, creature, position, distance) Player:onLookInShop(itemType, count) or Player.onLookInShop(self, itemType, count) Player:onLookInTrade(partner, item, distance) or Player.onLookInTrade(self, partner, item, distance) Player:onLoseExperience(exp) Player:onMoveCreature(creature, fromPosition, toPosition) or Player.onMoveCreature(self, creature, fromPosition, toPosition) Player:onMoveItem(item, count, fromPosition, toPosition) or Player.onMoveItem(self, item, count, fromPosition, toPosition) Player:onTradeAccept(target, item, targetItem) Player:onTradeRequest(target, item) Player:onTurn(direction) or Player.onTurn(self, direction) player:openChannel(channelId) player:popupFYI(message) player:removeBlessing(blessing) player:removeExperience(experience[, sendText = false]) player:removeItem(itemId, count[, subType = -1[, ignoreEquipped = false]]) player:removeMoney(money) player:removeMount(mountId) player:removeOutfit(lookType) player:removeOutfitAddon(lookType, addon) player:removePremiumDays(days) player:save() player:sendChannelMessage(author, text, type, channelId) player:sendOutfitWindow() player:sendPrivateMessage(speaker, text[, type]) player:sendTextMessage(type, text[, position, primaryValue = 0, primaryColor = TEXTCOLOR_NONE[, secondaryValue = 0, secondaryColor = TEXTCOLOR_NONE]]) player:sendTutorial(tutorialId) player:setAccountType(accountType) player:setBankBalance(bankBalance) player:setCapacity(capacity) player:setGhostMode(enabled) player:setGroup(group) player:setGuild(guild) player:setGuildLevel(level) player:setGuildNick(nick) player:setMaxMana(maxMana) player:setSex(newSex) player:setSkullTime(skullTime) player:setStamina(stamina) player:setStorageValue(key, value) player:setTown(town) player:setVocation(id or name or userdata) player:showTextDialog(itemId[, text[, canWrite[, length]]]) Position([position]) Position([x = 0[, y = 0[, z = 0[, stackpos = 0]]]]) position:getDistance(positionEx) position:isSightClear(positionEx[, sameFloor = true]) position:sendDistanceEffect(positionEx, distanceEffect[, player = nullptr]) position:sendMagicEffect(magicEffect[, player = nullptr]) rawgetmetatable(metatableName) registerClass(className, baseClass, newFunction) registerEnum(value) registerEnumIn(tableName, value) registerGlobalMethod(functionName, function) registerGlobalVariable(name, value) registerMetaMethod(className, functionName, function) registerMethod(className, functionName, function) registerTable(tableName) registerVariable(tableName, name, value) saveServer() selfFollow(player) selfMove(direction) selfMoveTo(x,y,z) selfSay(words[, target]) selfTurn(direction) sendChannelMessage(channelId, type, message) sendGuildChannelMessage(guildId, type, message) setCombatArea(combat, area) setCombatCallBack(combat, key, function_name) setCombatCondition(combat, condition) setCombatFormula(combat, type, mina, minb, maxa, maxb) setCombatParam(combat, key, value) setConditionFormula(combat, mina, minb, maxa, maxb) setConditionFormula(condition, mina, minb, maxa, maxb) setConditionParam(condition, key, value) setmetatable(className, methodsTable) stopEvent(eventid) table.create(arrayLength, keyLength) Teleport(uid) teleport:getDestination() teleport:setDestination(position) Tile(position) Tile(x, y, z) tile:getBottomCreature() tile:getBottomVisibleCreature(creature) tile:getCreatureCount() tile:getCreatures() tile:getDownItemCount() tile:getFieldItem() tile:getGround() tile:getHouse() tile:getItemById(itemId[, subType = -1]) tile:getItemByTopOrder(topOrder) tile:getItemByType(itemType) tile:getItemCount() tile:getItemCountById(itemId[, subType = -1]) tile:getItems() tile:getPosition() tile:getThing(index) tile:getThingCount() tile:getThingIndex(thing) tile:getTopCreature() tile:getTopDownItem() tile:getTopItemCount() tile:getTopTopItem() tile:getTopVisibleCreature(creature) tile:getTopVisibleThing(creature) tile:hasFlag(flag) tile:hasProperty(property[, item]) tile:queryAdd(thing[, flags]) Town(id or name) town:getId() town:getName() town:getTemplePosition() Variant(number or string or position or thing) Variant:getNumber() Variant:getPosition() Variant:getString() version(CLIENT_VERSION_MIN) Vocation(id or name) vocation:getAttackSpeed() vocation:getBaseSpeed() vocation:getCapacityGain() vocation:getClientId() vocation:getDemotion() vocation:getDescription() vocation:getHealthGain() vocation:getHealthGainAmount() vocation:getHealthGainTicks() vocation:getId() vocation:getManaGain() vocation:getManaGainAmount() vocation:getManaGainTicks() vocation:getMaxSoul() vocation:getName() vocation:getPromotion() vocation:getRequiredManaSpent(magicLevel) vocation:getRequiredSkillTries(skillType, skillLevel) vocation:getSoulGainTicks() Data functions - Funções pra LUA Container.isContainer(self) Creature.getClosestFreePosition(self, position, extended) Creature.getPlayer(self) Creature.isItem(self) Creature.isMonster(self) Creature.isNpc(self) Creature.isPlayer(self) Creature.isTile(self) Creature:onAreaCombat(tile, isAggressive) Creature:onChangeOutfit(outfit) Creature:onTargetCombat(target) CreatureIndex(self, key) FocusModule.messageMatcher(keywords, message) FocusModule.onFarewell(cid, message, keywords, parameters) FocusModule.onGreet(cid, message, keywords, parameters) FocusModule:init(handler) FocusModule:new() Game.broadcastMessage(message, messageType) Game.convertIpToString(ip) Game.getReverseDirection(direction) Game.getSkillType(weaponType) Game.getStorageValue(key) Game.setStorageValue(key, value) Item.getType(self) Item.isContainer(self) Item.isCreature(self) Item.isPlayer(self) Item.isTeleport(self) Item.isTile(self) ItemIndex(self, key) ItemType.usesSlot(self, slot) KeywordHandler:addKeyword(keys, callback, parameters) KeywordHandler:getLastNode(cid) KeywordHandler:getRoot() KeywordHandler:moveUp(cid, steps) KeywordHandler:new() KeywordHandler:processMessage(cid, message) KeywordHandler:processNodeMessage(node, cid, message) KeywordHandler:reset(cid) KeywordModule:addKeyword(keywords, reply) KeywordModule:init(handler) KeywordModule:new() KeywordModule:parseKeywords(data) KeywordModule:parseParameters() KeywordNode:addChildKeyword(keywords, callback, parameters) KeywordNode:addChildKeywordNode(childNode) KeywordNode:checkMessage(message) KeywordNode:getKeywords() KeywordNode:getParameters() KeywordNode:getParent() KeywordNode:new(keys, func, param) KeywordNode:processMessage(cid, message) NpcHandler:addFocus(newFocus) NpcHandler:addModule(module) NpcHandler:cancelNPCTalk(events) NpcHandler:doNPCTalkALot(msgs, interval, pcid) NpcHandler:getCallback(id) NpcHandler:getMessage(id) NpcHandler:greet(cid) NpcHandler:isFocused(focus) NpcHandler:isInRange(cid) NpcHandler:new(keywordHandler) NpcHandler:onBuy(creature, itemid, subType, amount, ignoreCap, inBackpacks) NpcHandler:onCreatureAppear(creature) NpcHandler:onCreatureDisappear(creature) NpcHandler:onCreatureSay(creature, msgtype, msg) NpcHandler:onFarewell(cid) NpcHandler:onGreet(cid) NpcHandler:onPlayerCloseChannel(creature) NpcHandler:onPlayerEndTrade(creature) NpcHandler:onSell(creature, itemid, subType, amount, ignoreCap, inBackpacks) NpcHandler:onThink() NpcHandler:onTradeRequest(cid) NpcHandler:onWalkAway(cid) NpcHandler:parseMessage(msg, parseInfo) NpcHandler:processModuleCallback(id, ...) NpcHandler:releaseFocus(focus) NpcHandler:resetNpc(cid) NpcHandler:say(message, focus, publicize, shallDelay, delay) NpcHandler:setCallback(id, callback) NpcHandler:setKeywordHandler(newHandler) NpcHandler:setMaxIdleTime(newTime) NpcHandler:setMessage(id, newMessage) NpcHandler:unGreet(cid) NpcHandler:updateFocus() NpcSystem.getParameter(key) NpcSystem.parseParameters(npcHandler) Party:onDisband() Party:onJoin(player) Party:onLeave(player) Player.addSkillTries(...) Player.feed(self, food) Player.getClosestFreePosition(self, position, extended) Player.getDepotItems(self, depotId) Player.getLossPercent(self) Player.isPremium(self) Player.isUsingOtClient(self) Player.sendCancelMessage(self, message) Player.sendExtendedOpcode(self, opcode, buffer) Player:isPremium() Player:onBrowseField(position) Player:onGainExperience(source, exp, rawExp) Player:onGainSkillTries(skill, tries) Player:onLook(thing, position, distance) Player:onLookInBattleList(creature, distance) Player:onLookInShop(itemType, count) Player:onLookInTrade(partner, item, distance) Player:onLoseExperience(exp) Player:onMoveCreature(creature, fromPosition, toPosition) Player:onMoveItem(item, count, fromPosition, toPosition) Player:onTradeAccept(target, item, targetItem) Player:onTradeRequest(target, item) Player:onTurn(direction) Position.getNextPosition(self, direction, steps) Position.getTile(self) Position:getNextPosition(direction, steps) Position:moveUpstairs() ShopModule.messageMatcher(keywords, message) ShopModule.onConfirm(cid, message, keywords, parameters, node) ShopModule.onDecline(cid, message, keywords, parameters, node) ShopModule.requestTrade(cid, message, keywords, parameters, node) ShopModule.tradeItem(cid, message, keywords, parameters, node) ShopModule:addBuyableItem(names, itemid, cost, itemSubType, realName) ShopModule:addBuyableItemContainer(names, container, itemid, cost, subType, realName) ShopModule:addSellableItem(names, itemid, cost, realName, itemSubType) ShopModule:callbackOnBuy(cid, itemid, subType, amount, ignoreCap, inBackpacks) ShopModule:callbackOnModuleReset() ShopModule:callbackOnSell(cid, itemid, subType, amount, ignoreEquipped, _) ShopModule:getCount(message) ShopModule:getShopItem(itemId, itemSubType) ShopModule:init(handler) ShopModule:new() ShopModule:parseBuyable(data) ShopModule:parseBuyableContainers(data) ShopModule:parseParameters() ShopModule:parseSellable(data) ShopModule:reset() StdModule.bless(cid, message, keywords, parameters, node) StdModule.learnSpell(cid, message, keywords, parameters, node) StdModule.promotePlayer(cid, message, keywords, parameters, node) StdModule.say(cid, message, keywords, parameters, node) StdModule.travel(cid, message, keywords, parameters, node) Teleport.isTeleport(self) Tile.isCreature(self) Tile.isItem(self) Tile.isTile(self) TravelModule.bringMeTo(cid, message, keywords, parameters, node) TravelModule.listDestinations(cid, message, keywords, parameters, node) TravelModule.onConfirm(cid, message, keywords, parameters, node) TravelModule.onDecline(cid, message, keywords, parameters, node) TravelModule.travel(cid, message, keywords, parameters, node) TravelModule:addDestination(name, position, price, premium) TravelModule:init(handler) TravelModule:new() TravelModule:parseDestinations(data) TravelModule:parseParameters() broadcastMessage(message, messageType) canJoin(player) canPlayerLearnInstantSpell(cid, name) canPlayerWearOutfit(cid, lookType, addons) creatureSayCallback(cid, type, msg) destroyItem(cid, target, toPosition) doAddCondition(cid, conditionId) doAddContainerItemEx(uid, virtualId) doAddMapMark(cid, pos, type, description) doChangeSpeed(cid, delta) doChangeTypeItem(uid, newType) doConvinceCreature(cid, target) doCreateNpc(name, pos, ...) doCreateTeleport(itemId, destination, position) doCreatureAddHealth(cid, health) doCreatureChangeOutfit(cid, outfit) doCreatureSay(cid, text, type, ...) doCreatureSayWithDelay(cid, text, type, delay, e, pcid) doCreatureSayWithRadius(cid, text, type, radiusx, radiusy, position) doCreatureSetLookDir(cid, direction) doDecayItem(uid) doForceSummonCreature(name, pos) doMonsterChangeTarget(cid) doNpcSellItem(cid, itemid, amount, subType, ignoreCap, inBackpacks, backpack) doPlayerAddBlessing(cid, blessing) doPlayerAddExp(cid, exp, useMult, ...) doPlayerAddItemEx(cid, uid, ...) doPlayerAddMana(cid, mana, ...) doPlayerAddManaSpent(cid, mana) doPlayerAddMoney(cid, money) doPlayerAddMount(cid, mountId) doPlayerAddOutfit(cid, lookType, addons) doPlayerAddPremiumDays(cid, days) doPlayerAddSkillTry(cid, skillid, n) doPlayerAddSoul(cid, soul) doPlayerBuyItemContainer(cid, containerid, itemid, count, cost, charges) doPlayerFeed(cid, food) doPlayerJoinParty(cid, leaderId) doPlayerPopupFYI(cid, message) doPlayerRemOutfit(cid, lookType, addons) doPlayerRemoveItem(cid, itemid, count, ...) doPlayerRemoveMoney(cid, money) doPlayerRemoveMount(cid, mountId) doPlayerRemovePremiumDays(cid, days) doPlayerSellItem(cid, itemid, count, cost) doPlayerSendCancel(cid, text) doPlayerSendTextMessage(cid, type, text, ...) doPlayerSetBalance(cid, balance) doPlayerSetGuildLevel(cid, level) doPlayerSetGuildNick(cid, nick) doPlayerSetSex(cid, sex) doPlayerSetTown(cid, town) doPlayerSetVocation(cid, vocation) doPlayerTakeItem(cid, itemid, count) doRelocate(fromPos, toPos) doRemoveCondition(cid, conditionType, subId) doRemoveCreature(cid) doRemoveItem(uid, ...) doSendAnimatedText() doSendDistanceShoot(fromPos, toPos, distanceEffect, ...) doSendMagicEffect(pos, magicEffect, ...) doSendTutorial(cid, tutorialId) doSetCreatureDropLoot(cid, doDrop) doSetItemActionId(uid, actionId) doSetItemSpecialDescription(uid, desc) doSetItemText(uid, text) doSetMonsterTarget(cid, target) doShowTextDialog(cid, itemId, text) doSummonCreature(name, pos, ...) doTeleportThing(uid, dest, pushMovement) doTransformItem(uid, newItemId, ...) firstServerSaveWarning() getAccountNumberByPlayerName(name) getArticle(str) getBlessingsCost(level) getConfigInfo(info) getContainerCap(uid) getContainerCapById(itemId) getContainerItem(uid, slot) getContainerSize(uid) getCount(string) getCreatureBaseSpeed(cid) getCreatureHealth(cid) getCreatureMaster(cid) getCreatureMaxHealth(cid) getCreatureName(cid) getCreatureOutfit(cid) getCreaturePosition(cid) getCreatureSpeed(cid) getCreatureSummons(cid) getCreatureTarget(cid) getDistanceBetween(firstPosition, secondPosition) getExpForLevel(level) getFluidSourceType(itemId) getFormattedWorldTime() getGlobalStorageValue(key) getGuildId(guildName) getHouseAccessList(id, listId) getHouseByPlayerGUID(playerGUID) getHouseEntry(houseId) getHouseName(houseId) getHouseOwner(houseId) getHouseRent(id) getHouseTilesSize(houseId) getHouseTown(houseId) getIPByPlayerName(name) getItemDescriptions(itemId) getItemIdByName(name) getItemName(itemId) getItemRWInfo(uid) getItemWeight(itemId, ...) getItemWeightByUID(uid, ...) getMonsterFriendList(cid) getMonsterTargetList(cid) getMonthDayEnding(day) getMonthString(m) getOnlinePlayers() getPartyMembers(cid) getPlayerAccess(cid) getPlayerAccountType(cid) getPlayerBalance(cid) getPlayerBlessing(cid, blessing) getPlayerByName(name) getPlayerDepotItems(cid, depotId) getPlayerFood(cid) getPlayerFreeCap(cid) getPlayerGUID(cid) getPlayerGUIDByName(name) getPlayerGroupId(cid) getPlayerGuildId(cid) getPlayerGuildLevel(cid) getPlayerGuildName(cid) getPlayerGuildNick(cid) getPlayerGuildRank(cid) getPlayerIp(cid) getPlayerItemById(cid, deepSearch, itemId, ...) getPlayerItemCount(cid, itemId, ...) getPlayerLastLoginSaved(cid) getPlayerLearnedInstantSpell(cid, name) getPlayerLevel(cid) getPlayerLight(cid) getPlayerLookDir(cid) getPlayerLossPercent(cid) getPlayerMagLevel(cid) getPlayerMana(cid) getPlayerMasterPos(cid) getPlayerMaxMana(cid) getPlayerMoney(cid) getPlayerMount(cid, mountId) getPlayerName(cid) getPlayerParty(cid) getPlayerPosition(cid) getPlayerPremiumDays(cid) getPlayerSex(cid) getPlayerSkill(cid, skillId) getPlayerSkullType(cid) getPlayerSlotItem(cid, slot) getPlayerSoul(cid) getPlayerStorageValue(cid, key) getPlayerTown(cid) getPlayerVocation(cid) getPlayersByAccountNumber(accountNumber) getPlayersByIPAddress(ip, mask) getPromotedVocation(vocationId) getPvpBlessingCost(level) getSkillId(skillName) getSpectators(centerPos, rangex, rangey, multifloor, onlyPlayers) getThing(uid) getThingPos(uid) getThingfromPos(pos) getTibianTime() getTileHouseInfo(pos) getTileInfo(position) getTileItemById(position, itemId, ...) getTileItemByType(position, itemType) getTilePzInfo(position) getTileThingByPos(position) getTileThingByTopOrder(position, topOrder) getTopCreature(position) getTownId(townName) getTownName(townId) getTownTemplePosition(townId) getWorldCreatures(type) greetCallback(cid) hasProperty(uid, prop) internalBedTransform(item, targetItem, toPosition, ids) isContainer(uid) isCorpse(uid) isCreature(cid) isDruid(cid) isInRange(pos, fromPos, toPos) isItem(uid) isItemContainer(itemId) isItemDoor(itemId) isItemFluidContainer(itemId) isItemMovable(itemId) isItemRune(itemId) isItemStackable(itemId) isKnight(cid) isMonster(cid) isNpc(cid) isNumber(str) isPaladin(cid) isPlayer(cid) isPlayerGhost(cid) isPlayerPzLocked(cid) isPremium(cid) isSightClear(fromPos, toPos, floorCheck) isSorcerer(cid) isSummon(cid) msgcontains(message, keyword) onAddFocus(cid) onAddItem(moveitem, tileitem, position) onCastSpell(cid, var) onCastSpell(cid, var, isHotkey) onCastSpell(creature, var) onCastSpell(creature, var, isHotkey) onCastSpell(creature, variant, isHotkey) onCreatureAppear(cid) onCreatureDisappear(cid) onCreatureSay(cid, type, msg) onDeath(player, corpse, killer, mostDamage, unjustified, mostDamage_unjustified) onDeath(player, corpse, killer, mostDamageKiller, unjustified, mostDamageUnjustified) onExtendedOpcode(player, opcode, buffer) onGetFormulaValues(cid, level, maglevel) onGetFormulaValues(cid, skill, attack, factor) onGetFormulaValues(player, level, attack, factor) onLogin(player) onLogout(player) onRecord(current, old) onReleaseFocus(cid) onRemoveItem(item, tile, position) onSay(player, words, param) onSpeak(player, type, message) onStartup() onStepIn(creature, item, position, fromPosition) onStepOut(creature, item, position, fromPosition) onTargetCreature(creature, target) onTargetTile(creature, pos) onThink() onTime(interval) onUpdateDatabase() onUse(cid, item, fromPosition, target, toPosition, isHotkey) onUse(player, item, fromPosition, target, toPosition, isHotkey) onUseWeapon(player, var) playerLearnInstantSpell(cid, name) pushThing(thing) queryTileAddThing(thing, position, ...) registerCreatureEvent(cid, name) secondServerSaveWarning() serverSave() setGlobalStorageValue(key, value) setHouseAccessList(id, listId, listText) setHouseOwner(id, guid) setPlayerGroupId(cid, groupId) setPlayerStorageValue(cid, key, value) spellCallback(param) targetPositionToVariant(position) unregisterCreatureEvent(cid, name) useStamina(player) Créditos felzan
    1 ponto
  22. Remova estas linhas: doChangeSpeed(cid, -getCreatureSpeed(cid)) doCreatureSetNoMove(cid, true) doRegainSpeed(cid) doCreatureSetNoMove(cid, false)
    1 ponto
  23. Danihcv

    [TFS 0.2] Lua functions - funções

    Olá, xTibianos. Hoje lhes trago duas listas com todas as funções (teoricamente) do TFS 0.2. Source functions - funções na source //get* getPlayerMasterPos(cid) getPlayerLossPercent(cid) getItemIdByName(name) getTownName(townId) getTownTemplePosition(townId) getPlayersByAccountNumber(accountNumber) getAccountNumberByPlayerName(name) getIPByPlayerName(name) getPlayersByIPAddress(ip[, mask = 0xFFFFFFFF]) getFluidSourceType(type) getItemDescriptions(itemid) getItemWeightByUID(uid) getContainerCapById(itemid) getDepotId(uid) getHouseTilesSize(houseid) getHighscoreString(skillId) getPartyMembers(leaderId) getCreatureMaster(cid) - Returns: returns the creature's master or itself if the creature isn't a summon getMonsterTargetList(cid) getMonsterFriendList(cid) getPlayerByName(name) getPlayerGUIDByName(name) getPlayerLearnedInstantSpell(cid, name) getPlayerInstantSpellCount(cid) getPlayerInstantSpellInfo(cid, index) getPlayerMount(cid, mountid) getWorldType() getWorldTime() getWorldLight() getWorldCreatures(type) - Types: 0 players, 1 monsters, 2 npcs, 3 all Returns: Amount getWorldUpTime() getGuildId(guild_name) getPlayerSex(cid) getContainerSize(uid) getContainerCap(uid) getContainerItem(uid, slot) getInstantSpellInfoByName(cid, name) getInstantSpellWords(name) getGlobalStorageValue(valueid) getHouseOwner(houseid) getHouseName(houseid) getHouseEntry(houseid) getHouseRent(houseid) getHouseTown(houseid) getHouseAccessList(houseid, listid) getHouseByPlayerGUID(playerGUID) getCreatureOutfit(cid) getCreaturePosition(cid) getCreatureName(cid) getCreatureSpeed(cid) getCreatureBaseSpeed(cid) getCreatureTarget(cid) getTilePzInfo(pos) - Returns: 1 is pz. 0 no pz. getTileHouseInfo(pos) - Returns: 0 no house. != 0 house id getItemRWInfo(uid) getThingfromPos(pos) getThing(uid) getCreatureCondition(cid, condition) getItemName(itemid) getItemWeight(itemid, count) getPlayerPremiumDays(cid) getPlayerSkullType(cid) getPromotedVocation(vocation) getPlayerBlessing(cid, blessing) getTileThingByTopOrder(pos, topOrder) getTileItemByType(pos, type) getTopCreature(pos) getTileThingByPos(pos) getTileItemById(pos, itemId, <optional> subType) getOnlinePlayers() getTileInfo(pos) getThingPos(uid) getSpectators(centerPos, rangex, rangey, multifloor) getPlayerStorageValue(uid, valueid) getPlayerItemById(cid, deepSearch, itemId, <optional> subType) getPlayerIp(cid) getPlayerGuildLevel(cid) getCreatureSummons(cid) - Returns: returns a table with all the summons of the creature getWaypointPosition(name) //do* doPlayerAddBlessing(cid, blessing) doPlayerPopupFYI(cid, message) doCombat(cid, combat, param) doPlayerRemovePremiumDays(cid, days) doPlayerAddPremiumDays(cid, days) doPlayerSetSex(cid, newSex) doSetCreatureOutfit(cid, outfit, time) doSetItemOutfit(cid, item, time) doSetMonsterOutfit(cid, name, time) doChangeSpeed(cid, delta) doAddContainerItem(uid, itemid, <optional> count/subtype) doChallengeCreature(cid, target) doTargetCombatDispel(cid, target, type, effect) doAreaCombatDispel(cid, pos, area, type, effect) doTargetCombatCondition(cid, target, condition, effect) doAreaCombatCondition(cid, pos, area, condition, effect) doTargetCombatMana(cid, target, min, max, effect) doAreaCombatMana(cid, pos, area, min, max, effect) doTargetCombatHealth(cid, target, type, min, max, effect) doAreaCombatHealth(cid, type, pos, area, min, max, effect) doSetCreatureDropLoot(cid, doDrop) doSetCreatureLight(cid, lightLevel, lightColor, time) doPlayerRemoveMount(cid, mountid) doPlayerAddMount(cid, mountid) doPlayerRemOutfit(cid,looktype,addons) doPlayerAddOutfit(cid,looktype,addons) doPlayerSetGuildNick(cid, nick) doPlayerSetGuildRank(cid, rank) doPlayerSetGuildId(cid, id) doPlayerAddExp(cid,exp) doPlayerRemoveItem(cid,itemid,count) doPlayerSetVocation(cid,voc) doPlayerSetTown(cid, townid) doMoveCreature(cid, direction) doRemoveCreature(cid) doConvinceCreature(cid, target) doSummonCreature(name, pos) doCreateTeleport(itemid, topos, createpos) doTileAddItemEx(pos, uid) doCreateItemEx(itemid, <optional> count/subtype) - Returns: Returns uid of the created item, only works on tiles. doCreateItem(itemid, type/count, pos) - Returns: Returns uid of the created item, only works on tiles. doDecayItem(uid) doShowTextDialog(cid, itemid, text) doPlayerRemoveMoney(cid, money) doPlayerSendTextMessage(cid, MessageClasses, message) doPlayerAddItemEx(cid, uid, <optional: default: 0> useCidPosOnFail) doPlayerAddItem(uid, itemid, <optional> count/subtype) - Returns: Returns uid of the created item doPlayerAddSoul(cid, soul) doPlayerAddManaSpent(cid, mana) doPlayerAddMana(cid, mana) doCreatureAddHealth(cid, health) doPlayerAddSkillTry(cid, skillid, n) doSendAnimatedText(pos, text, color) doSetItemSpecialDescription(uid, desc) doSetItemText(uid, text) doSetItemActionId(uid, actionid) doChangeTypeItem(uid, newtype) doSendDistanceShoot(frompos, topos, type) doSendMagicEffect(pos, type) doCreatureSay(cid, text, type) doTransformItem(uid, toitemid, <optional> count/subtype) doTeleportThing(cid, newpos, <optional> pushmove) doPlayerSendDefaultCancel(cid, ReturnValue) doRemoveCondition(cid, type) doAddCondition(cid, condition) doMonsterChangeTarget(cid) doSetMonsterTarget(cid, target) doCreatureChangeOutfit(cid, outfit) doCreateNpc(name, pos) doRelocate(pos, posTo) - Returns: Moves all moveable objects from pos to posTo doAddContainerItemEx(uid, virtuid) doSendTutorial(cid, tutorialid) doCreatureSetLookDir(cid, direction) doPlayerFeed(cid, food) doRemoveItem(uid, <optional> n) doAddMapMark(cid, pos, type, <optional> description) doPlayerAddMoney(cid, money) doPlayerChangeName(cid, newName) doSetCreatureDirection(cid, direction) doWaypointAddTemporial(name, pos) //set* setHouseAccessList(houseid, listid, listtext) setHouseOwner(houseid, ownerGUID) setCombatArea(combat, area) setCombatCondition(combat, condition) setCombatParam(combat, key, value) setConditionParam(condition, key, value) setCombatCallBack(combat, key, function_name) setCombatFormula(combat, type, mina, minb, maxa, maxb) setConditionFormula(combat, mina, minb, maxa, maxb) setGlobalStorageValue(valueid, newvalue) setPlayerGroupId(cid, newGroupId) setPlayerStorageValue(uid, valueid, newvalue) //is* isPlayer(cid) isCreature(cid) isContainer(uid) isMoveable(uid) isSightClear(fromPos, toPos, floorCheck) isValidUID(uid) isPlayerGhost(cid) isPlayerPzLocked(cid) isDepot(uid) isCorpse(uid) isMovable(uid) isItemMovable(itemid) isItemMoveable(itemid) isItemStackable(itemid) isItemRune(itemid) isItemDoor(itemid) isItemContainer(itemid) isItemFluidContainer(itemid) isInArray(array, value) //misc* broadcastMessage(message, type) createCombatArea( {area}, <optional> {extArea} ) canPlayerWearOutfit(cid, looktype, addons) hasProperty(uid, prop) refreshMap() cleanMap() createConditionObject(type) addDamageCondition(condition, rounds, time, value) addOutfitCondition(condition, lookTypeEx, lookType, lookHead, lookBody, lookLegs, lookFeet) createCombatObject() numberToVariant(number) stringToVariant(string) positionToVariant(pos) targetPositionToVariant(pos) variantToNumber(var) variantToString(var) variantToPosition(var) debugPrint(text) addEvent(callback, delay, parameter) stopEvent(eventid) mayNotLogout(cid, value) mayNotMove(cid, value) saveData() saveServer(), does the same thing as saveData() escapeString(str) registerCreatureEvent(uid, eventName) queryTileAddThing(uid, pos, <optional> flags) playerLearnInstantSpell(cid, name) canPlayerLearnInstantSpell(cid, name) Lua made functions - funções feitas em LUA (data/global.lua) doPlayerGiveItem(cid, itemid, count, charges) doCreatureSayWithRadius(cid, text, type, radiusx, radiusy, position) doSummonCreatures(monsters, positions) doPlayerTakeItem(cid, itemid, count) doPlayerBuyItem(cid, itemid, count, cost, charges) doPlayerSellItem(cid, itemid, count, cost) doPlayerAddAddons(cid, addon) doPlayerBuyItemContainer(cid, containerid, itemid, count, cost, charges) doCopyItem(item, attributes) doForceSummonCreature(name, pos) getMonthDayEnding(day) getMonthString(m) getArticle(str) getDistanceBetween(firstPosition, secondPosition) getConfigInfo(info) getDirectionTo(pos1, pos2) getPlayerLookPos(cid) getPosByDir(fromPosition, direction, size) getCreaturesInRange(position, radiusx, radiusy, showMonsters, showPlayers, showSummons) getCount(string) getTibianTime() setPlayerMultipleStorageValues(cid, storage, value) isInRange(pos, fromPos, toPos) isPremium(cid) isNumber(str) isSorcerer(cid) isDruid(cid) isPaladin(cid) isKnight(cid) isSummon(cid) isPlayerSummon(cid) isMonsterInRange(monsterName, fromPos, toPos) addContainerWithItems(cid, container, item, item_count, count) rows(result) numRows(result) tableToPos(t) positionExists(pos) warnPlayer(cid, msg) hasAddon(cid, looktype, addon) addAddon(cid, looktype, addon) playerExists(name) string.split(str) string.trim(str) string.explode(str, sep) table.find(table, value) table.isStrIn(txt, str) escapeString(str) createClass(parent) db.getResult(query)
    1 ponto
  24. shept

    Novos Tipos de DAMAGE (como criar)

    em enums.h abaixo disso, ou abaixo de outro tipo de COMBAT: COMBAT_FIREDAMAGE = 1 << 3, add (nesse caso o nome que eu coloquei é dark, mas é claro que vc pode colocar outro nome): COMBAT_DARKDAMAGE = 1 << 4, // não sei o que esses numeros querem dizer mas deixem esse valor vc precisa aumentar o contador, neste caso é só 1 de aumento COMBAT_COUNT = 12 // normal contador agora com o aumento: COMBAT_COUNT = 13 // contador aumentado em 1 em game.cpp abaixo desse "case" vc vai colocar o seu novo damage, isso é muito importante, aqui que vc vai dizer qual a cor que ele vai ser, qual o efeito que vai ser feito quando ele for usado por um player ou monstro... case COMBAT_LIFEDRAIN: { color = TEXTCOLOR_RED; effect = CONST_ME_MAGIC_RED; break; } add: case COMBAT_DARKDAMAGE: { color = TEXTCOLOR_DARKRED; // aqui vc escolhe a cor possivel do seu novo damage effect = CONST_ME_BLACKSMOKE; // aqui o effect do seu novo damage break; } aqui estão as cores possiveis para o seu damage, não estou certo se são apenas essas, se alguém souber e puder falar eu mudarei aqui. TEXTCOLOR_BLUE = 5, TEXTCOLOR_LIGHTGREEN = 30, TEXTCOLOR_LIGHTBLUE = 35, TEXTCOLOR_MAYABLUE = 95, TEXTCOLOR_DARKRED = 108, TEXTCOLOR_LIGHTGREY = 129, TEXTCOLOR_SKYBLUE = 143, TEXTCOLOR_PURPLE = 154, TEXTCOLOR_RED = 180, TEXTCOLOR_ORANGE = 198, TEXTCOLOR_YELLOW = 210, TEXTCOLOR_WHITE_EXP = 215, TEXTCOLOR_NONE = 255, em monsters.cpp abaixo do else if: } else if (tmpName == "lifedrain") { combat->setParam(COMBAT_PARAM_TYPE, COMBAT_LIFEDRAIN); add: } else if (tmpName == "dark") { combat->setParam(COMBAT_PARAM_TYPE, COMBAT_DARKDAMAGE); agora vc precisa colocar o seu damage como possivel de ser atribuida como imunidade pra monstros... em monsters.cpp abaixo: } else if ((attr = immunityNode.attribute("lifedrain"))) { if (attr.as_bool()) { mType->damageImmunities |= COMBAT_LIFEDRAIN; } add: } else if ((attr = immunityNode.attribute("dark"))) { if (attr.as_bool()) { mType->damageImmunities |= COMBAT_DARKDAMAGE; } agora vc precisa colocar ele como element percent, aquele que vai na tag dos monsters. ainda em monsters.cpp below: } else if ((attr = elementNode.attribute("lifedrainPercent"))) { mType->elementMap[COMBAT_LIFEDRAIN] = pugi::cast<int32_t>(attr.value()); add: } else if ((attr = elementNode.attribute("darkPercent"))) { mType->elementMap[COMBAT_DARKDAMAGE] = pugi::cast<int32_t>(attr.value()); em spells.cpp abaixo (eu não tenho certeza se essa mudança é necessaria, mas faça ) "lifedrain", add: "dark", isso é tudo... mas tenha certeza que os nomes que vc for dar pro seu damage sejam os mesmos em todas as mudanças pra não ter bugs... funciona em tfs 1.1 ou 1.2 ... nas outras não sei, não uso essas mais velhas... créditos: silveralol (otland) // eu por trazer pra cá.
    1 ponto
  25. valakas

    Pokemon Dash v6 reupload by Valakinhas

    bem eu ja disponibilizei a Base perfeita, n espere uma nova versão, se sair próxima versão vai ser melhor que OTP hahaha, esse e um servidor para pessoas old que gosta de apenas primeira e segunda geração com old client, do jeito que está ai é pegar e por on para jogar, sistemas que falta e sistema de 255+ effect Tv system Nick system (SetCreatureName) sistema de attack passivo, tirando o Tv system o resto é facinho povo quer um servidor pxg com todos os pokemons e todas as gerações todos os systemas 110% e se duvidar vai querer que eu pague um vps ainda xD
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...