Ir para conteúdo
US
Blazera 8.60
blazera.net
SOBRE O BLAZERA
Um fresh start em um servidor 8.6 clássico, com real map, focado na experiência raiz do Tibia. | Classic Real Map • Fresh Start • Client 8.6 • Old School Gameplay • Active Community
Inicia em: --
Participar

gabrielzika

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Obrigado
    gabrielzika recebeu reputação de koyotestark em How to fix NPC msg sending to Default chat   
    @henkas
     
    replaces this
     


     
  2. Gostei
    gabrielzika recebeu reputação de Doidodepeda em Slot System   
    @Gabrielk 
     
    Action:
     


     
    CreatureScript
     


     
  3. Curtir
    gabrielzika recebeu reputação de amoxicilina em (Resolvido)NPC Que troca storage por itens   
    @amoxicilina
    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 config = {         item1 = 12400, item2 = 12400, item3 = 12400, item4 = 12400, count1 = 5, count2 = 5, count3 = 5, count4 = 10,        level = 300,    -- Level que precisara para viajar sto = 99952,    -- Storage não mecher  tempo = 172800, -- tempo que vai durar a storage quest = 444454, -- quest necessaria... } if msgcontains(msg, 'mission') then     if (getPlayerStorageValue(cid, config.sto) <= os.time()) then        if getPlayerStorageValue(cid, config.quest) >= 1 then         if getPlayerItemCount(cid, config.item1) >= config.count1 and getPlayerItemCount(cid, config.item2) >= config.count2 and getPlayerItemCount(cid, config.item3) >= config.count3 and getPlayerItemCount(cid, config.item4) >= config.count4 then             selfSay('Claro, você foi para a próxima missão. Boa sorte.', cid)             setPlayerStorageValue(cid, config.sto, os.time()+config.tempo)             doPlayerRemoveItem(cid, config.item1, config.count1)             doPlayerRemoveItem(cid, config.item2, config.count2)             doPlayerRemoveItem(cid, config.item3, config.count3)             doPlayerRemoveItem(cid, config.item4, config.count4)         else             selfSay('Traga-me os 25 protective charm para poder treinar comigo por dois dias.', cid)         end     else             selfSay("voce nao completou a quest do vilarejo dos orc ao south da cidade, complete-a e e mostre-me que voce e realmente um guerreiro promissor.", cid)         end     else             selfSay('Você Ja fez essa missão!' , cid)     return true     end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())  
    xml
     
    <?xml version="1.0" encoding="UTF-8"?> <npc name="NomeDoNpc" script="NomeDoArquivo.lua" walkinterval="0" floorchange="0"> <health now="150" max="150"/> <look type="589" head="20" body="100" legs="50" feet="99" corpse="2212"/>] <parameters> <parameter key="message_greet" value="Parabens, voce provou-me que e um guerreiro promissor. Se quiser continuar diga {mission}."/> </parameters> </npc>  
  4. Gostei
    gabrielzika recebeu reputação de Salazar Slytherin em Criação de Quest,Tile que mata o play se pisa nele   
    @louco3626
     vc criou o arquivo neste local?? data/movements/scripts
    tem como enviar prints?
     
  5. Gostei
    gabrielzika recebeu reputação de Salazar Slytherin em Criação de Quest,Tile que mata o play se pisa nele   
    @louco3626
     
    https://hastebin.com/gulokatovi.rb
  6. Gostei
    gabrielzika recebeu reputação de Salazar Slytherin em Criação de Quest,Tile que mata o play se pisa nele   
    @louco3626 Ve se é isso(não testei):
     
    Em data/movements/scripts/ crie um arquivo chamado: tileEvent.lua
     
    local config = { actions = {1200, 1300}, -- Certo, Errado tiles = {1200, 1300}, -- tile normal, tile diferente } function onStepIn(cid) if isPlayer(cid) and not isPlayerGhost(cid) then -- Certo local pos = getCreaturePosition(cid) if getTileInfo(pos).actionid == config.actions[1] then if getTileItemById(pos, config.tiles[1]).uid ~= 0 then doTransformItem(getTileItemById(pos, config.tiles[1]).uid, config.tiles[2]) end end end if isPlayer(cid) and not isPlayerGhost(cid) then -- Errado local valor = getCreatureHealth(cid) local pos = getCreaturePosition(cid) if getTileInfo(pos).actionid == config.actions[2] then if getTileItemById(pos, config.tiles[1]).uid ~= 0 or getTileItemById(pos, config.tiles[2]).uid ~= 0 then doCreatureAddHealth(cid, -valor) end end end return true end Tag:
     
    <movevent type="StepIn" actionid="1200;1300" event="script" value="tileEvent.lua"/>  
     
  7. Curtir
    gabrielzika deu reputação a Gengo em Player Info OTPokemon   
    [OTClient] Health Player Info OTPokemon
     
    Eae galerinha do TibiaKing, hoje venho trazer mais uma contribuição para a comunidade, um módulo indêntico ao do OtPokemon.
    Mesmo que seja simples a instalação, tem sempre aquele que não sabe onde deve colocar o módulo, peço então que tenha paciência quanto a esse simples tutorial, aos demais aqueles que já sabem, peço que ao menos leia a Observações do módulo.
     
         1º Faça o download do módulo.
     
        2º Extraia o módulo para a pasta do seu otClient em /modules ficando assim:
     
     
    Feito o passo 1 e 2 creio que já estará funcionando, isto se você fez tudo certinho.
     
    •Observações do módulo•
     
    Demonstrativo do módulo no jogo.

  8. Gostei
    gabrielzika recebeu reputação de Salazar Slytherin em Criação de Quest,Tile que mata o play se pisa nele   
    @louco3626
     
    local config = { actions = {10130, 10131}, -- Certo, Errado tiles = {407, 406}, -- tile normal, tile diferente } function onStepIn(cid) if isPlayer(cid) and not isPlayerGhost(cid) then -- Certo local pos = getCreaturePosition(cid) if getTileInfo(pos).actionid == config.actions[1] then if getTileItemById(pos, config.tiles[1]).uid ~= 0 then doTransformItem(getTileItemById(pos, config.tiles[1]).uid, config.tiles[2]) end end end if isPlayer(cid) and not isPlayerGhost(cid) then -- Errado local valor = getCreatureHealth(cid) local pos = getCreaturePosition(cid) if getTileInfo(pos).actionid == config.actions[2] then if getTileItemById(pos, config.tiles[1]).uid ~= 0 or getTileItemById(pos, config.tiles[2]).uid ~= 0 then doCreatureAddHealth(cid, -valor) end end end return true end  
    <movevent type="StepIn" actionid="10130;10131" event="script" value="tileEvent.lua"/>  
    Nos tiles que estão em azul ai na sua print, tu coloca a Action: 10130 e no Resto em volta tu poem 10131
  9. Obrigado
    gabrielzika recebeu reputação de Pifafa em (Resolvido)Script de Anuncio   
    @Pifafa
     
    Cria um arquivo chamado anuncio.lua em data/talkactions/scripts e cola isso dentro:
    local config = { storage = 19400, -- storage em que será salvo o tempo cor = "green", -- de acordo com o constant.lua da lib tempo = 60, -- em segundos itemid = 2159, --item que sera removido price = 1, -- quantidade de item que sera removido level = 1000 -- level necessario para poder utilizar o comando. } function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.") return true end if getPlayerLevel(cid) >= config.level then if getPlayerStorageValue(cid, config.storage) - os.time() <= 0 then if doPlayerRemoveItem(cid, config.itemid, config.price) then setPlayerStorageValue(cid, config.storage, os.time() + (config.tempo*1)) doBroadcastMessage(""..getCreatureName(cid).." [ANUNCIO]: "..param.."", config.cor) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Vc Falo Com Sucesso " ..config.tempo.. " second(s) espere.") else doPlayerSendCancel(cid, "Você precisa " ..config.price.. " Scarab Coins para falar novamente no Anuncio.") return true end else doPlayerSendCancel(cid, "Você Falo no Anuncio " ..(getPlayerStorageValue(cid, config.storage) - os.time()).. " seconds Espere.") return true end else doPlayerSendCancel(cid, "You have to be level " ..config.level.. " or more in order to use broadcast.") end end  
    Tag:
     
    <talkaction words="/anuncio" event="script" value="anuncio.lua"/>  
    Crédito pelo script: Kaleudd
  10. Curtir
    gabrielzika deu reputação a Snowsz em Creature Information Offset   
    Faz tempo que não posto nada, então deu vontade, tava brincando um pouco ai fiz esse sisteminha básico.
     
    • Gifs
     
    Nesse primeiro Gif, ao trocar a direção da Outfit, o nome e as barras de informações como Health, Mana, mudam de posição, isso é bom para ajustar as Outfits de acordo com o seu tamanho, como o Demon, ficar com as informações logo em cima da cabeça, ou Hydra, todos estão com o local padrão.

     
    Aqui era como as informações ficavam com essa Outfit originalmente, no padrão de sempre dos clients.

     
     
    Comparativo em imagem estática:
     
    Tibia Outfit antes e depois:

     
    Aqui estão algumas outfits que meu primo @Fae1z fez, apliquei o sistema de offset nelas, uma do Graves, uma do Ekko, ambos são personagens do game League of Legends, e uma baseada Uganda Knuckle:
     
    Ekko antes:

     
    Ekko depois:

     
    Graves antes e depois:

     
    Uganda Knuckle antes e depois:

     
    Aqui eu estava brincando de por as informações da Outfit de anão de modo drogado kkk.

     
     
    • Código
     
    Em Creature.h modifique nesta linha:
    void Creature::drawInformation(const Point& point, bool useGray, const Rect& parentRect, int drawFlags) Mude "const Point& point" para "Point& point".
    Ficando:
    void Creature::drawInformation(Point& point, bool useGray, const Rect& parentRect, int drawFlags)  
    Embaixo de:
     
    std::string getName() { return m_name; } Adicione:
     
    Point getInformationOffset() { return m_informationOffset; } void setInformationOffset(int x, int y) { m_informationOffset.x = x; m_informationOffset.y = y; }  
    Embaixo de:
    Position m_oldPosition; Adicione:
     
    Point m_informationOffset;  
     
    Agora, em Creature.cpp procure por:
    void Creature::drawInformation(const Point& point, bool useGray, const Rect& parentRect, int drawFlags) Mude "const Point& point" para "Point& point".
    Ficando:
    void Creature::drawInformation(Point& point, bool useGray, const Rect& parentRect, int drawFlags) Sim, isso está repetido, é assim mesmo, o processo é necessário em Creature.h e Creature.cpp, nessa função a variável point tem seu tipo alterado de Const para normal.
     
    Ainda em Creature.cpp procure por:
    if(!useGray) fillColor = m_informationColor; Pule duas linhas e adicione:
    point.x += m_informationOffset.x; point.y += m_informationOffset.y;  
    Agora, em Luafunctions.cpp procure por:
    g_lua.bindClassMemberFunction<Creature>("jump", &Creature::jump); Embaixo adicione:
    g_lua.bindClassMemberFunction<Creature>("setInformationOffset", &Creature::setInformationOffset); g_lua.bindClassMemberFunction<Creature>("getInformationOffset", &Creature::getInformationOffset);  
    A parte da source é só isso.
     
    Foi criada uma variável do tipo Point na classe Creature, que pode armazenar dois valores do tipo Int, sendo eles X & Y, assim detendo uma posição de offset, para ajustar a posição das informações(Health Bar, Mana Bar e Name) da criatura, essa variável é usada na função Creature::drawInformation, onde ocorre todo o desenho de informações das criaturas, lá o offset criado altera a posição de um Point usado como posição base das informações, alterando esse Point todo o resto segue aquela posição,  você pode setar o offset diretamente na criatura, as funções podem ser usadas tanto na source usando C++ quanto nos scripts usando Lua, em Lua o uso das funções é o seguinte:
     
    Essa função retorna uma tabela com X & Y, algo como "table = {x = 10, y = 20}", são as posições do offset.
    Creature:getInformationOffset() Exemplo de uso:
     
    local Offset = Creature:getInformationOffset() print(Offset.x) print(Offset.y) Isso vai printar no client_terminal do OTClient os valores de X & Y.
     
    Enquanto esta altera as posições usando os valores X & Y.
    Creature:setInformationOffset(x, y) Exemplo:
    Creature:setInformationOffset(10, -5)  
    Essa configuração de offset vai aumentar X em 10 Pixels e diminuir Y em 5 Pixels, no meu primeiro gif, na direção Sul do Char, eu usei X diminuindo 13 Pixels e Y diminuindo 8 Pixels, algo como isso:
    Creature:setInformationOffset(-13, -8)  
     
    Para tudo isso funcionar igual os gifs acima eu fiz um módulo especial, onde dependendo da Outfit e da direção que a criatura está olhando, ele vai alterar o offset de acordo.
     
    Para criar o módulo, siga estes passos:
     
    Na pasta do OTClient em modules/ crie uma pasta chamada game_creatureinformation, dentro crie um arquivo com o mesmo nome e a extensão .otmod, algo como "game_creatureinformation.otmod", o conteúdo do arquivo é este:
    Module name: game_creatureinformation description: Changes the position of the informations point to correctly draw names and creature bars. author: Snowsz website: tibiaking.com autoload: true reloadable: true sandboxed: true version: 1.0 scripts: [ game_creatureinformation ] @onLoad: init() @onUnload: terminate()  
    Crie um arquivo com o mesmo nome e a extensão .lua, algo como "game_creatureinformation.lua", o conteúdo do arquivo é este:
    --[[ Directions: North /\ East > South \/ West < Structure: [OutfitID] = { [Direction] = {x = OFFSETX, y = OFFSETY}, } ]] --Lista de offsets para cada Outfit. local OutfitOffsets = { [143] = { --Outfit do primeiro gif [North] = {x = -13, y = -8}, [East] = {x = -17, y = -8}, [South] = {x = -13, y = -8}, [West] = {x = -15, y = -8}, }, [160] = { --Outfit de anão com o nome full drogado. [North] = {x = 0, y = 0}, [East] = {x = 0, y = 0}, [South] = {x = -13, y = -80}, [West] = {x = 0, y = 0}, } } local function translateDir(dir) if dir == NorthEast or dir == SouthEast then return East elseif dir == NorthWest or dir == SouthWest then return West end return dir end local function getOutfitInformationOffset(outfit, dir) if OutfitOffsets[outfit] then return OutfitOffsets[outfit][translateDir(dir)] end return {x = 0, y = 0} end local function onCreatureAppear(creature) local Offset = getOutfitInformationOffset(creature:getOutfit().type, creature:getDirection()) creature:setInformationOffset(Offset.x, Offset.y) end local function onCreatureDirectionChange(creature, oldDirection, newDirection) local Offset = getOutfitInformationOffset(creature:getOutfit().type, newDirection) creature:setInformationOffset(Offset.x, Offset.y) end local function onCreatureOutfitChange(creature, newOutfit, oldOutfit) local Offset = getOutfitInformationOffset(newOutfit.type, creature:getDirection()) creature:setInformationOffset(Offset.x, Offset.y) end function init() connect(LocalPlayer, {onOutfitChange = onCreatureOutfitChange}) connect(Creature, { onAppear = onCreatureAppear, onDirectionChange = onCreatureDirectionChange, onOutfitChange = onCreatureOutfitChange }) end function terminate() disconnect(LocalPlayer, {onOutfitChange = onCreatureOutfitChange}) disconnect(Creature, { onAppear = onCreatureAppear, onDirectionChange = onCreatureDirectionChange, onOutfitChange = onCreatureOutfitChange }) end  
    A parte do módulo está finalizada, o que resta agora é configurar as Outfits na tabela com seus determinados Offsets, e não se preocupe, se a outfit não estiver configurada, ela vai seguir o padrão normal, o módulo só altera algo quando determinada Outfit está configurada.
     
    Para configurar o módulo é simples, basta seguir o padrão:
    [ID DA OUTFIT AQUI] = { [North] = {x = 0, y = 0}, [East] = {x = 0, y = 0}, [South] = {x = 0, y = 0}, [West] = {x = -0, y = 0}, }, Nos primeiros colchetes coloque o ID da sua Outfit para ter o offset modificado, os colchetes restantes são as direções, não é necessário mexer neles, dentro de cada índice da tabela tem os offsets X & Y, basta modificar o valor de acordo, sendo ele positivo ou negativo. NÃO SE ESQUEÇA DA VÍRGULA NO FINAL "},".
  11. Obrigado
    gabrielzika recebeu reputação de Theodorojose em isRiderOrFlyOrSurf In server   
    @Theodorojose exato.
  12. Gostei
    gabrielzika deu reputação a Kazuya9629 em Como Proteger Suas Sprite   
    Creditos Object Build Por Ter criado Programa
    ABRA PASTA Object Builder
     

    Abaixe Notepad++
    https://notepad-plus-plus.org/

    MODIFIQUE A Dat e Spr Por Um Numero gigante Para Que object Build Bug E Aparessa Signitude 0 ASSIM ELES NAO CONSEGUIRAO Abrir com object Buid So Voce Porque so voce tem o codigo

    Depois Que Salva O Arquivo Abra Object Build

    Vai Em Arquivo e COPILAR COMO

    PROCURE OQUE VOCE EDITOU

     
    FINALIZER  CONFIRMANDO PRONTO

     
  13. Curtir
    gabrielzika recebeu reputação de Altairjr em (Resolvido)Mudar Elemento dá Wand por Item   
    são realmente o mesmo id?
    <wand id="12655" level="8" mana="10" min="700" max="850" type="holy" event="function" value="default"> e
    <wand id="12665" range="8" lvl="8" mana="10" enabled="1" exhaustion="0" script="donatestaff.lua">  
    um tá 12655 e outro 12665 '-'
     
    comenta os ids de todas as wands certinho aqui pra mim colocar só para algumas especificas usarem o !wand
     
    e sobre cobrar, não está cobrando?? wtf kk tem o 
    doPlayerRemoveMoney(cid, config.price)  
  14. Curtir
    gabrielzika recebeu reputação de Altairjr em (Resolvido)Mudar Elemento dá Wand por Item   
    @Altairjr espero que seja isso(não testei plx)
     
    local combat_values = { ["none"] = -1, ["ice"] = 1, ["fire"] = 2, ["earth"] = 3, ["energy"] = 4, ["holy"] = 5, ["death"] = 6, } local config = { storage = 101010, time_storage = 101011, price = 1000000, delay = 0, wands = {12629, 12655, 12661, 12662, 12663, 12664, 12665}, msg = { help = "Use o comando exemplo: !wand holy Efeitos disponíveis: ice, fire, earth, energy, holy, death, e none para desabilitar. A troca para outro elemento custa 1kk.", invalid = "Por favor, digite um tipo valido.", changed = "O elemento da wand foi trocado para %s.", nomoney = "Você não possui dinheiro.", delayed = "Você precisa esperar para trocar o efeito.", } } -- /////////////////////Requerimentos///////////////////-- local req_text = "You cannot use this command." -- Mensagem caso nao possua o item --/////////////////////////////////////////////////////-- function onSay(cid, words, param) local param = param:lower() local value = combat_values[param] local wand_left = getPlayerSlotItem(cid, CONST_SLOT_LEFT) local wand_right = getPlayerSlotItem(cid, CONST_SLOT_RIGHT) if wand_left.uid > 0 or wand_right.uid > 0 then if isInArray(config.wands, wand_left.itemid) or isInArray(config.wands, wand_right.itemid) then if wand_left.uid > 0 and isInArray(config.wands, wand_left.itemid) and (param == "help" or param == "") then doShowTextDialog(cid, wand_left.itemid, string.format(config.msg.help, config.price)) return true elseif wand_right.uid > 0 and isInArray(config.wands, wand_right.itemid) and (param == "help" or param == "") then doShowTextDialog(cid, wand_right.itemid, string.format(config.msg.help, config.price)) return true end if not value then doPlayerSendCancel(cid, config.msg.invalid) return true end if getPlayerMoney(cid) < config.price then doPlayerSendCancel(cid, config.msg.nomoney) return true end if getPlayerMoney(cid) < config.price then doPlayerSendCancel(cid, config.msg.nomoney) return true end if getCreatureStorage(cid, config.time_storage) > os.time() then doPlayerSendCancel(cid, config.msg.delayed) return true end doCreatureSetStorage(cid, config.storage, value) doCreatureSetStorage(cid, config.time_storage, os.time() + config.delay) doPlayerRemoveMoney(cid, config.price) doPlayerSendCancel(cid, string.format(config.msg.changed, param)) else doPlayerSendCancel(cid, req_text) end else doPlayerSendCancel(cid, req_text) end return true end  
  15. Obrigado
    gabrielzika recebeu reputação de Altairjr em (Resolvido)Mudar Elemento dá Wand por Item   
    @Altairjr veja se funciona ai bro (não testei). Qualquer erro me manda aqui :d
     
    local combat_values = { ["none"] = -1, ["ice"] = 1, ["fire"] = 2, ["earth"] = 3, ["energy"] = 4, ["holy"] = 5, ["death"] = 6, } local config = { storage = 101010, time_storage = 101011, price = 1000000, delay = 0, msg = { help = "Use o comando exemplo: !wand holy Efeitos disponíveis: ice, fire, earth, energy, holy, death, e none para desabilitar. A troca para outro elemento custa 1kk.", invalid = "Por favor, digite um tipo valido.", changed = "O elemento da wand foi trocado para %s.", nomoney = "Você não possui dinheiro.", delayed = "Você precisa esperar para trocar o efeito.", } } -- /////////////////////Requerimentos///////////////////-- local req_text = "You cannot use this command." -- Mensagem caso nao possua o item --/////////////////////////////////////////////////////-- function onSay(cid, words, param) local param = param:lower() local value = combat_values[param] local wand_left = getPlayerSlotItem(cid, CONST_SLOT_LEFT) local wand_right = getPlayerSlotItem(cid, CONST_SLOT_RIGHT) if wand_left.uid > 0 or wand_right.uid > 0 then if wand_left.uid > 0 and (param == "help" or param == "") then doShowTextDialog(cid, wand_left.itemid, string.format(config.msg.help, config.price)) return true elseif wand_right.uid > 0 and (param == "help" or param == "") then doShowTextDialog(cid, wand_right.itemid, string.format(config.msg.help, config.price)) return true end if not value then doPlayerSendCancel(cid, config.msg.invalid) return true end if getPlayerMoney(cid) < config.price then doPlayerSendCancel(cid, config.msg.nomoney) return true end if getPlayerMoney(cid) < config.price then doPlayerSendCancel(cid, config.msg.nomoney) return true end if getCreatureStorage(cid, config.time_storage) + config.delay > os.time() then doPlayerSendCancel(cid, config.msg.delayed) return true end doCreatureSetStorage(cid, config.storage, value) doCreatureSetStorage(cid, config.time_storage, os.time()) doPlayerRemoveMoney(cid, config.price) doPlayerSendCancel(cid, string.format(config.msg.changed, param)) else doPlayerSendCancel(cid, req_text) end return true end  
  16. Curtir
    gabrielzika recebeu reputação de Altairjr em (Resolvido)Mudar Elemento dá Wand por Item   
    @Altairjr me explica direito que te ajudo sim bro
  17. Curtir
    gabrielzika recebeu reputação de thelifeofpbion em [Help Cliente OLD] Problema ao trocar Ip client 7.72   
    @joaopedrodepaiva agora é só baixar, abrir pelo notepad++ e substituir o
     
    11.111.111.11
     
    pelo seu IP
     
    obs: clique em substituir todos!
     
    tibia.exe
  18. Gostei
    gabrielzika recebeu reputação de KotZletY em Erro Script Evento Bag   
    @Pokemon X Ice
     
    Ve se é isso:
     
    local item_id = {2160, 2159, 2158} -- joga os id dos itens aqui local pos = {x = 1052, y = 1049, z = 7} -- position cp de saffron local chance = 50 -- chance de ganhar function onUse(cid, itemId, itemEx) if getGlobalStorageValue(cid, 12389) == 1 then else doTeleportThing(cid, pos) doPlayerSendCancel(cid, "[Evento Bag] esta fechado") return true end local valor = math.random(1, 100) if chance >= valor then local w = math.random (1,#item_id) doPlayerAddItem(cid, item_id[w]) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"[Win-Bag-Event]\nPremio: ["..getItemNameById(item_id[w]).."].") doTeleportThing(cid, pos) else doTeleportThing(cid, pos) doCreatureSay(cid, 'Falhou Meu Guerreiro', TALKTYPE_ORANGE_1) return true end end  
  19. Obrigado
    gabrielzika recebeu reputação de Thalles Vitor em Aparecer boost no nome do Pokémon   
    hideBoost = false não vai?
  20. Gostei
    gabrielzika recebeu reputação de Emooooo em colocar exausted aqui !   
    @Emooooo diz ai se é isso ?
    function onUse(cid, item, fromPos, itemEx, toPos) local rock1pos = {x=195, y=118, z=9, stackpos=1} -- Posição da Pedra local getrock1 = getThingfromPos(rock1pos) local UniID = 3331 -- UniqueID que vai ser adicionado na alavanca local rockID = 8740 -- ID da pedra local sec = 30 -- qnt em segundos para a pedra aparecer e a alavanca voltar if item.uid == UniID and item.itemid == 1945 and getrock1.itemid == rockID then doRemoveItem(getrock1.uid, 1) doTransformItem(item.uid, item.itemid+1) doSendMagicEffect(rock1pos, 2) addEvent( function() doCreateItem(rockID, 1, rock1pos) doTransformItem(item.uid, item.itemid-1) doSendMagicEffect(rock1pos, 13) end, sec * 1000) return true end return true end  
  21. Gostei
    gabrielzika recebeu reputação de Emooooo em colocar exausted aqui !   
    @Emooooo veja se funciona ai bro 
    function onUse(cid, item, toPosition) local rock1pos = {x=195, y=118, z=9, stackpos=1} -- Posição da Pedra local getrock1 = getThingfromPos(rock1pos) local UniID = 3331 -- UniqueID que vai ser adicionado na alavanca local rockID = 8740 -- ID da pedra local sto = 19270 -- storage do exhaust local time = 20 -- tempo em minutos if exhaustion.get(cid, sto) then seconds = math.floor(exhaustion.get(cid, sto)) return doPlayerSendCancel(cid, "Você tem que esperar "..seconds.." segundos para usar isso novamente.") end if item.uid == UniID and item.itemid == 1945 and getrock1.itemid == rockID then doRemoveItem(getrock1.uid, 1) doTransformItem(item.uid, item.itemid+1) doSendMagicEffect(rock1pos, 2) elseif item.uid == UniID and item.itemid == 1946 then doCreateItem(rockID, 1, rock1pos) doTransformItem(item.uid,item.itemid-1) doSendMagicEffect(rock1pos, 13) end exhaustion.set(cid, sto, 60 * time) return TRUE end  
  22. Obrigado
    gabrielzika recebeu reputação de igor lindo em (Resolvido)ERRO NA HORA DE COMPRAR ITEM NO SHOP!   
    @Wesley Alexandre2014 veja se o meu Shop funciona com Você!
     
    shop.lua
    function onThink(interval, lastExecution, thinkInterval)   local result = db.getResult("SELECT * FROM shop_history WHERE `processed` = 0;")   if(result:getID() ~= -1) then while(true) do cid = getCreatureByName(tostring(result:getDataString("player"))) product = tonumber(result:getDataInt("product")) itemr = db.getResult("SELECT * FROM shop_offer WHERE `id` = "..product..";") if isPlayer(cid) then local id = tonumber(itemr:getDataInt("item")) local tid = tonumber(result:getDataInt("id")) local count = tonumber(itemr:getDataInt("count")) local tipe = tonumber(itemr:getDataInt("type")) local productn = tostring(itemr:getDataString("name")) if isInArray({5,8},tipe) then if getPlayerFreeCap(cid) >= getItemWeightById(id, count) then if isContainer(getPlayerSlotItem(cid, 3).uid) then received = doAddContainerItem(getPlayerSlotItem(cid, 3).uid, id,count) if received then doPlayerSendTextMessage(cid,19, "You have received >> "..productn.." << from Shop.") db.executeQuery("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";") else doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough space on container to receive >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Sorry, you don't have a container to receive >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough capacity to receive >> "..productn.." << (You need: "..getItemWeightById(id, count).." Capacity)") end elseif isInArray({6,7},tipe) then if tipe == 6 then bcap = 8 bid = 1987 elseif tipe == 7 then bcap = 20 bid = 1988 end if isItemRune(id) then count = 1 end if getPlayerFreeCap(cid) >= (getItemWeightById(1987, 1) + getItemWeightById(id,count * bcap)) then local bag = doCreateItemEx(bid, 1) for i = 1,bcap do doAddContainerItem(bag, id, count) end received = doPlayerAddItemEx(getPlayerSlotItem(cid, 3).uid, bag) if received == RETURNVALUE_NOERROR then doPlayerSendTextMessage(cid,19, "You have received >> "..productn.." << from Shop.") db.executeQuery("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";") else doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough space to receive >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough capacity to receive >> "..productn.." << (You need: "..getItemWeightById(id, count).." Capacity)") end end end itemr:free() if not(result:next()) then break end end result:free() end return true end  
    xml
     
    <globalevent name="shop" interval="30" script="shop.lua"/>  
  23. Curtir
    gabrielzika recebeu reputação de Christinacsa em Por mensagem em Green   
    @Christinacsa
     
    doBroadcastMessage("[Castle Of Honor] Atenção! A guild "..getPlayerGuildName(cid).." está tentando dominar o castelo, preparem-se!", MESSAGE_INFO_DESCR)  
  24. Curtir
    gabrielzika recebeu reputação de DarkRed em (Resolvido)Fischer sem outfits   
    @DarkRed manda o seu script de fishing...
  25. Obrigado
    gabrielzika recebeu reputação de xWhiteWolf em (Resolvido)[Dúvida] Skills trocadas   
    @Brunds troca seu constant por este! obs é o seu com uma modificação , veja se funciona 
     
    NORTH = 0 EAST = 1 SOUTH = 2 WEST = 3 SOUTHWEST = 4 SOUTHEAST = 5 NORTHWEST = 6 NORTHEAST = 7   COMBAT_FORMULA_UNDEFINED = 0 COMBAT_FORMULA_LEVELMAGIC = 1 COMBAT_FORMULA_SKILL = 2 COMBAT_FORMULA_DAMAGE = 3 CONDITION_PARAM_OWNER = 1 CONDITION_PARAM_TICKS = 2 CONDITION_PARAM_OUTFIT = 3 CONDITION_PARAM_HEALTHGAIN = 4 CONDITION_PARAM_HEALTHTICKS = 5 CONDITION_PARAM_MANAGAIN = 6 CONDITION_PARAM_MANATICKS = 7 CONDITION_PARAM_DELAYED = 8 CONDITION_PARAM_SPEED = 9 CONDITION_PARAM_LIGHT_LEVEL = 10 CONDITION_PARAM_LIGHT_COLOR = 11 CONDITION_PARAM_SOULGAIN = 12 CONDITION_PARAM_SOULTICKS = 13 CONDITION_PARAM_MINVALUE = 14 CONDITION_PARAM_MAXVALUE = 15 CONDITION_PARAM_STARTVALUE = 16 CONDITION_PARAM_TICKINTERVAL = 17 CONDITION_PARAM_FORCEUPDATE = 18 CONDITION_PARAM_SKILL_MELEE = 19 CONDITION_PARAM_SKILL_FIST = 20 CONDITION_PARAM_SKILL_CLUB = 21 CONDITION_PARAM_SKILL_SWORD = 22 CONDITION_PARAM_SKILL_AXE = 23 CONDITION_PARAM_SKILL_DISTANCE = 24 CONDITION_PARAM_SKILL_SHIELD = 25 CONDITION_PARAM_SKILL_FISHING = 26 CONDITION_PARAM_STAT_MAXHEALTH = 27 CONDITION_PARAM_STAT_MAXMANA = 28 CONDITION_PARAM_STAT_SOUL = 29 CONDITION_PARAM_STAT_MAGICLEVEL = 30 CONDITION_PARAM_STAT_MAXHEALTHPERCENT = 31 CONDITION_PARAM_STAT_MAXMANAPERCENT = 32 CONDITION_PARAM_STAT_SOULPERCENT = 33 CONDITION_PARAM_STAT_MAGICLEVELPERCENT = 34 CONDITION_PARAM_SKILL_MELEEPERCENT = 35 CONDITION_PARAM_SKILL_FISTPERCENT = 36 CONDITION_PARAM_SKILL_CLUBPERCENT = 37 CONDITION_PARAM_SKILL_SWORDPERCENT = 38 CONDITION_PARAM_SKILL_AXEPERCENT = 39 CONDITION_PARAM_SKILL_DISTANCEPERCENT = 40 CONDITION_PARAM_SKILL_SHIELDPERCENT = 41 CONDITION_PARAM_SKILL_FISHINGPERCENT = 42 CONDITION_PARAM_PERIODICDAMAGE = 43 CONDITION_PARAM_BUFF = 44 CONDITION_PARAM_SUBID = 45   COMBAT_PARAM_TYPE = 1 COMBAT_PARAM_EFFECT = 2 COMBAT_PARAM_DISTANCEEFFECT = 3 COMBAT_PARAM_BLOCKSHIELD = 4 COMBAT_PARAM_BLOCKARMOR = 5 COMBAT_PARAM_TARGETCASTERORTOPMOST = 6 COMBAT_PARAM_CREATEITEM = 7 COMBAT_PARAM_AGGRESSIVE = 8 COMBAT_PARAM_DISPEL = 9 COMBAT_PARAM_USECHARGES = 10 COMBAT_PARAM_TARGETPLAYERSORSUMMONS = 11 COMBAT_PARAM_DIFFERENTAREADAMAGE = 12 COMBAT_PARAM_HITEFFECT = 13 COMBAT_PARAM_HITCOLOR = 14   CALLBACK_PARAM_LEVELMAGICVALUE = 1 CALLBACK_PARAM_SKILLVALUE = 2 CALLBACK_PARAM_TARGETTILE = 3 CALLBACK_PARAM_TARGETCREATURE = 4 COMBAT_NONE = 0 COMBAT_PHYSICALDAMAGE = 1 COMBAT_ENERGYDAMAGE = 2 COMBAT_EARTHDAMAGE = 4 COMBAT_FIREDAMAGE = 8 COMBAT_UNDEFINEDDAMAGE = 16 COMBAT_LIFEDRAIN = 32 COMBAT_MANADRAIN = 64 COMBAT_HEALING = 128 COMBAT_DROWNDAMAGE = 256 COMBAT_ICEDAMAGE = 512 COMBAT_HOLYDAMAGE = 1024 COMBAT_DEATHDAMAGE = 2048 COMBAT_WINDDAMAGE = 4096 COMBAT_CHAKREDDAMAGE = 8192 COMBAT_POISONDAMAGE = 16384   CONDITION_NONE = 0 CONDITION_POISON = 1 CONDITION_FIRE = 2 CONDITION_ENERGY = 4 CONDITION_PHYSICAL = 8 CONDITION_HASTE = 16 CONDITION_PARALYZE = 32 CONDITION_OUTFIT = 64 CONDITION_INVISIBLE = 128 CONDITION_LIGHT = 256 CONDITION_MANASHIELD = 512 CONDITION_INFIGHT = 1024 CONDITION_DRUNK = 2048 CONDITION_EXHAUST = 4096 CONDITION_FOOD = 8192 CONDITION_REGENERATION = 8192 CONDITION_SOUL = 16384 CONDITION_DROWN = 32768 CONDITION_MUTED = 65536 CONDITION_ATTRIBUTES = 131072 CONDITION_FREEZING = 262144 CONDITION_DAZZLED = 524288 CONDITION_CURSED = 1048576 CONDITION_PACIFIED = 2097152 CONDITION_GAMEMASTER = 4194304 CONDITION_HUNTING = 8388608 CONDITION_EARTH = 16777216 CONDITION_WINDING = 33554432 EXHAUST_OTHER = 0 EXHAUST_COMBAT = 1 EXHAUST_HEALING = 2 EXHAUST_WEAPON = 3   MUTED_BUFFER = 0 MUTED_YELL = 1 MUTED_TRADE = 2 MUTED_TRADE_ROOK = 3   GAMEMASTER_INVISIBLE = 0 GAMEMASTER_IGNORE = 1 GAMEMASTER_TELEPORT = 2   CONST_SLOT_FIRST = 1 CONST_SLOT_HEAD = CONST_SLOT_FIRST CONST_SLOT_NECKLACE = 2 CONST_SLOT_BACKPACK = 3 CONST_SLOT_ARMOR = 4 CONST_SLOT_RIGHT = 5 CONST_SLOT_LEFT = 6 CONST_SLOT_LEGS = 7 CONST_SLOT_FEET = 8 CONST_SLOT_RING = 9 CONST_SLOT_AMMO = 10 CONST_SLOT_LAST = CONST_SLOT_AMMO   CONST_ME_DRAWBLOOD = 0 CONST_ME_LOSEENERGY = 1 CONST_ME_POFF = 2 CONST_ME_BLOCKHIT = 3 CONST_ME_EXPLOSIONAREA = 4 CONST_ME_EXPLOSIONHIT = 5 CONST_ME_FIREAREA = 6 CONST_ME_YELLOW_RINGS = 7 CONST_ME_GREEN_RINGS = 8 CONST_ME_HITAREA = 9 CONST_ME_TELEPORT = 10 CONST_ME_ENERGYHIT = 11 CONST_ME_MAGIC_BLUE = 12 CONST_ME_MAGIC_RED = 13 CONST_ME_MAGIC_GREEN = 14 CONST_ME_HITBYFIRE = 15 CONST_ME_HITBYPOISON = 16 CONST_ME_MORTAREA = 17 CONST_ME_SOUND_GREEN = 18 CONST_ME_SOUND_RED = 19 CONST_ME_POISONAREA = 20 CONST_ME_SOUND_YELLOW = 21 CONST_ME_SOUND_PURPLE = 22 CONST_ME_SOUND_BLUE = 23 CONST_ME_SOUND_WHITE = 24 CONST_ME_BUBBLES = 25 CONST_ME_CRAPS = 26 CONST_ME_GIFT_WRAPS = 27 CONST_ME_FIREWORK_YELLOW = 28 CONST_ME_FIREWORK_RED = 29 CONST_ME_FIREWORK_BLUE = 30 CONST_ME_STUN = 31 CONST_ME_SLEEP = 32 CONST_ME_WATERCREATURE = 33 CONST_ME_GROUNDSHAKER = 34 CONST_ME_HEARTS = 35 CONST_ME_FIREATTACK = 36 CONST_ME_ENERGYAREA = 37 CONST_ME_SMALLCLOUDS = 38 CONST_ME_HOLYDAMAGE = 39 CONST_ME_BIGCLOUDS = 40 CONST_ME_ICEAREA = 41 CONST_ME_ICETORNADO = 42 CONST_ME_ICEATTACK = 43 CONST_ME_STONES = 44 CONST_ME_SMALLPLANTS = 45 CONST_ME_CARNIPHILA = 46 CONST_ME_PURPLEENERGY = 47 CONST_ME_YELLOWENERGY = 48 CONST_ME_HOLYAREA = 49 CONST_ME_BIGPLANTS = 50 CONST_ME_CAKE = 51 CONST_ME_GIANTICE = 52 CONST_ME_WATERSPLASH = 53 CONST_ME_PLANTATTACK = 54 CONST_ME_TUTORIALARROW = 55 CONST_ME_TUTORIALSQUARE = 56 CONST_ME_MIRRORHORIZONTAL = 57 CONST_ME_MIRRORVERTICAL = 58 CONST_ME_SKULLHORIZONTAL = 59 CONST_ME_SKULLVERTICAL = 60 CONST_ME_ASSASSIN = 61 CONST_ME_STEPSHORIZONTAL = 62 CONST_ME_BLOODYSTEPS = 63 CONST_ME_STEPSVERTICAL = 64 CONST_ME_YALAHARIGHOST = 65 CONST_ME_BATS = 66 CONST_ME_SMOKE = 67 CONST_ME_INSECTS = 68 CONST_ME_EFEITO69 = 69 CONST_ME_EFEITO70 = 70 CONST_ME_EFEITO71 = 71 CONST_ME_EFEITO72 = 72 CONST_ME_EFEITO73 = 73 CONST_ME_EFEITO74 = 74 CONST_ME_EFEITO75 = 75 CONST_ME_EFEITO76 = 76 CONST_ME_EFEITO77 = 77 CONST_ME_EFEITO78 = 78 CONST_ME_EFEITO79 = 79 CONST_ME_EFEITO80 = 80 CONST_ME_EFEITO81 = 81 CONST_ME_EFEITO82 = 82 CONST_ME_EFEITO83 = 83 CONST_ME_EFEITO84 = 84 CONST_ME_EFEITO85 = 85 CONST_ME_EFEITO86 = 86 CONST_ME_EFEITO87 = 87 CONST_ME_EFEITO88 = 88 CONST_ME_EFEITO89 = 89 CONST_ME_EFEITO90 = 90 CONST_ME_EFEITO91 = 91 CONST_ME_EFEITO92 = 92 CONST_ME_EFEITO93 = 93 CONST_ME_EFEITO94 = 94 CONST_ME_EFEITO95 = 95 CONST_ME_EFEITO96 = 96 CONST_ME_EFEITO97 = 97 CONST_ME_EFEITO98 = 98 CONST_ME_EFEITO99 = 99 CONST_ME_EFEITO100 = 100 CONST_ME_EFEITO101 = 101 CONST_ME_EFEITO102 = 102 CONST_ME_EFEITO103 = 103 CONST_ME_EFEITO104 = 104 CONST_ME_EFEITO105 = 105 CONST_ME_EFEITO106 = 106 CONST_ME_EFEITO107 = 107 CONST_ME_EFEITO108 = 108 CONST_ME_EFEITO109 = 109 CONST_ME_EFEITO110 = 110 CONST_ME_EFEITO111 = 111 CONST_ME_EFEITO112 = 112 CONST_ME_EFEITO113 = 113 CONST_ME_EFEITO114 = 114 CONST_ME_EFEITO115 = 115 CONST_ME_EFEITO116 = 116 CONST_ME_EFEITO117 = 117 CONST_ME_EFEITO118 = 118 CONST_ME_EFEITO119 = 119 CONST_ME_EFEITO120 = 120 CONST_ME_EFEITO121 = 121 CONST_ME_EFEITO122 = 122 CONST_ME_EFEITO123 = 123 CONST_ME_EFEITO124 = 124 CONST_ME_EFEITO125 = 125 CONST_ME_EFEITO126 = 126 CONST_ME_EFEITO127 = 127 CONST_ME_EFEITO128 = 128 CONST_ME_EFEITO129 = 129 CONST_ME_EFEITO130 = 130 CONST_ME_EFEITO131 = 131 CONST_ME_EFEITO132 = 132 CONST_ME_EFEITO133 = 133 CONST_ME_EFEITO134 = 134 CONST_ME_EFEITO135 = 135 CONST_ME_EFEITO136 = 136 CONST_ME_EFEITO137 = 137 CONST_ME_EFEITO138 = 138 CONST_ME_EFEITO139 = 139 CONST_ME_EFEITO140 = 140 CONST_ME_EFEITO141 = 141 CONST_ME_EFEITO142 = 142 CONST_ME_EFEITO143 = 143 CONST_ME_EFEITO144 = 144 CONST_ME_EFEITO145 = 145 CONST_ME_EFEITO146 = 146 CONST_ME_EFEITO147 = 147 CONST_ME_EFEITO148 = 148 CONST_ME_EFEITO149 = 149 CONST_ME_EFEITO150 = 150 CONST_ME_EFEITO151 = 151 CONST_ME_EFEITO152 = 152 CONST_ME_EFEITO153 = 153 CONST_ME_EFEITO154 = 154 CONST_ME_EFEITO155 = 155 CONST_ME_EFEITO156 = 156 CONST_ME_EFEITO157 = 157 CONST_ME_EFEITO158 = 158 CONST_ME_EFEITO159 = 159 CONST_ME_EFEITO160 = 160 CONST_ME_EFEITO161 = 161 CONST_ME_EFEITO162 = 162 CONST_ME_EFEITO163 = 163 CONST_ME_EFEITO164 = 164 CONST_ME_EFEITO165 = 165 CONST_ME_EFEITO166 = 166 CONST_ME_EFEITO167 = 167 CONST_ME_EFEITO168 = 168 CONST_ME_EFEITO169 = 169 CONST_ME_EFEITO170 = 170 CONST_ME_EFEITO171 = 171 CONST_ME_EFEITO172 = 172 CONST_ME_EFEITO173 = 173 CONST_ME_EFEITO174 = 174 CONST_ME_EFEITO175 = 175 CONST_ME_EFEITO176 = 176 CONST_ME_EFEITO177 = 177 CONST_ME_EFEITO178 = 178 CONST_ME_EFEITO179 = 179 CONST_ME_EFEITO180 = 180 CONST_ME_EFEITO181 = 181 CONST_ME_EFEITO182 = 182 CONST_ME_EFEITO183 = 183 CONST_ME_EFEITO184 = 184 CONST_ME_EFEITO185 = 185 CONST_ME_EFEITO186 = 186 CONST_ME_EFEITO187 = 187 CONST_ME_EFEITO188 = 188 CONST_ME_EFEITO189 = 189 CONST_ME_EFEITO190 = 190 CONST_ME_EFEITO191 = 191 CONST_ME_EFEITO192 = 192 CONST_ME_EFEITO193 = 193 CONST_ME_EFEITO194 = 194 CONST_ME_EFEITO195 = 195 CONST_ME_EFEITO196 = 196 CONST_ME_EFEITO197 = 197 CONST_ME_EFEITO198 = 198 CONST_ME_EFEITO199 = 199 CONST_ME_EFEITO200 = 200 CONST_ME_EFEITO201 = 201 CONST_ME_EFEITO202 = 202 CONST_ME_EFEITO203 = 203 CONST_ME_EFEITO204 = 204 CONST_ME_EFEITO205 = 205 CONST_ME_EFEITO206 = 206 CONST_ME_EFEITO207 = 207 CONST_ME_EFEITO208 = 208 CONST_ME_EFEITO209 = 209 CONST_ME_EFEITO210 = 210 CONST_ME_EFEITO211 = 211 CONST_ME_EFEITO212 = 212 CONST_ME_EFEITO213 = 213 CONST_ME_EFEITO214 = 214 CONST_ME_EFEITO215 = 215 CONST_ME_EFEITO216 = 216 CONST_ME_EFEITO217 = 217 CONST_ME_EFEITO218 = 218 CONST_ME_EFEITO219 = 219 CONST_ME_EFEITO220 = 220 CONST_ME_EFEITO221 = 221 CONST_ME_EFEITO222 = 222 CONST_ME_EFEITO223 = 223 CONST_ME_EFEITO224 = 224 CONST_ME_EFEITO225 = 225 CONST_ME_EFEITO226 = 226 CONST_ME_EFEITO227 = 227 CONST_ME_EFEITO228 = 228 CONST_ME_EFEITO229 = 229 CONST_ME_EFEITO230 = 230 CONST_ME_EFEITO231 = 231 CONST_ME_EFEITO232 = 232 CONST_ME_EFEITO233 = 233 CONST_ME_EFEITO234 = 234 CONST_ME_EFEITO235 = 235 CONST_ME_EFEITO236 = 236 CONST_ME_EFEITO237 = 237 CONST_ME_EFEITO238 = 238 CONST_ME_EFEITO239 = 239 CONST_ME_EFEITO240 = 240 CONST_ME_EFEITO241 = 241 CONST_ME_EFEITO242 = 242 CONST_ME_EFEITO243 = 243 CONST_ME_EFEITO244 = 244 CONST_ME_EFEITO245 = 245 CONST_ME_EFEITO246 = 246 CONST_ME_EFEITO247 = 247 CONST_ME_EFEITO248 = 248 CONST_ME_EFEITO249 = 249 CONST_ME_EFEITO250 = 250 CONST_ME_EFEITO251 = 251 CONST_ME_EFEITO252 = 252 CONST_ME_EFEITO253 = 253 CONST_ME_EFEITO254 = 254 CONST_ME_EFEITO255 = 255 CONST_ME_EFEITO256 = 256 CONST_ME_EFEITO257 = 257 CONST_ME_EFEITO258 = 258 CONST_ME_EFEITO259 = 259 CONST_ME_EFEITO260 = 260 CONST_ME_EFEITO261 = 261 CONST_ME_EFEITO262 = 262 CONST_ME_EFEITO263 = 263 CONST_ME_EFEITO264 = 264 CONST_ME_EFEITO265 = 265 CONST_ME_EFEITO266 = 266 CONST_ME_EFEITO267 = 267 CONST_ME_EFEITO268 = 268 CONST_ME_EFEITO269 = 269 CONST_ME_EFEITO270 = 270 CONST_ME_EFEITO271 = 271 CONST_ME_EFEITO272 = 272 CONST_ME_EFEITO273 = 273 CONST_ME_EFEITO274 = 274 CONST_ME_EFEITO275 = 275 CONST_ME_EFEITO276 = 276 CONST_ME_EFEITO277 = 277 CONST_ME_EFEITO278 = 278 CONST_ME_EFEITO279 = 279 CONST_ME_EFEITO280 = 280 CONST_ME_EFEITO281 = 281 CONST_ME_EFEITO282 = 282 CONST_ME_EFEITO283 = 283 CONST_ME_EFEITO284 = 284 CONST_ME_EFEITO285 = 285 CONST_ME_EFEITO286 = 286 CONST_ME_EFEITO287 = 287 CONST_ME_EFEITO288 = 288 CONST_ME_EFEITO289 = 289 CONST_ME_EFEITO290 = 290 CONST_ME_EFEITO291 = 291 CONST_ME_EFEITO292 = 292 CONST_ME_EFEITO293 = 293 CONST_ME_EFEITO294 = 294 CONST_ME_EFEITO295 = 295 CONST_ME_EFEITO296 = 296 CONST_ME_EFEITO297 = 297 CONST_ME_EFEITO298 = 298 CONST_ME_EFEITO299 = 299 CONST_ME_EFEITO300 = 300 CONST_ME_EFEITO301 = 301 CONST_ME_EFEITO302 = 302 CONST_ME_EFEITO303 = 303 CONST_ME_EFEITO304 = 304 CONST_ME_EFEITO305 = 305 CONST_ME_EFEITO306 = 306 CONST_ME_EFEITO307 = 307 CONST_ME_EFEITO308 = 308 CONST_ME_EFEITO309 = 309 CONST_ME_EFEITO310 = 310 CONST_ME_EFEITO311 = 311 CONST_ME_EFEITO312 = 312 CONST_ME_EFEITO313 = 313 CONST_ME_EFEITO314 = 314 CONST_ME_EFEITO315 = 315 CONST_ME_EFEITO316 = 316 CONST_ME_EFEITO317 = 317 CONST_ME_EFEITO318 = 318 CONST_ME_EFEITO319 = 319 CONST_ME_EFEITO320 = 320 CONST_ME_EFEITO321 = 321 CONST_ME_EFEITO322 = 322 CONST_ME_EFEITO323 = 323 CONST_ME_EFEITO324 = 324 CONST_ME_EFEITO325 = 325 CONST_ME_EFEITO326 = 326 CONST_ME_EFEITO327 = 327 CONST_ME_EFEITO328 = 328 CONST_ME_EFEITO329 = 329 CONST_ME_EFEITO330 = 330 CONST_ME_EFEITO331 = 331 CONST_ME_EFEITO332 = 332 CONST_ME_EFEITO333 = 333 CONST_ME_EFEITO334 = 334 CONST_ME_EFEITO335 = 335 CONST_ME_EFEITO336 = 336 CONST_ME_EFEITO337 = 337 CONST_ME_EFEITO338 = 338 CONST_ME_EFEITO339 = 339 CONST_ME_EFEITO340 = 340 CONST_ME_EFEITO341 = 341 CONST_ME_EFEITO342 = 342 CONST_ME_EFEITO343 = 343 CONST_ME_EFEITO344 = 344 CONST_ME_EFEITO345 = 345 CONST_ME_EFEITO346 = 346 CONST_ME_EFEITO347 = 347 CONST_ME_EFEITO348 = 348 CONST_ME_EFEITO349 = 349 CONST_ME_EFEITO350 = 350 CONST_ME_EFEITO351 = 351 CONST_ME_EFEITO352 = 352 CONST_ME_EFEITO353 = 353 CONST_ME_EFEITO354 = 354 CONST_ME_EFEITO355 = 355 CONST_ME_EFEITO356 = 356 CONST_ME_EFEITO357 = 357 CONST_ME_EFEITO358 = 358 CONST_ME_EFEITO359 = 359 CONST_ME_EFEITO360 = 360 CONST_ME_EFEITO361 = 361 CONST_ME_EFEITO362 = 362 CONST_ME_EFEITO363 = 363 CONST_ME_EFEITO364 = 364 CONST_ME_EFEITO365 = 365 CONST_ME_EFEITO366 = 366 CONST_ME_EFEITO367 = 367 CONST_ME_EFEITO368 = 368 CONST_ME_EFEITO369 = 369 CONST_ME_EFEITO370 = 370 CONST_ME_EFEITO371 = 371 CONST_ME_EFEITO372 = 372 CONST_ME_EFEITO373 = 373 CONST_ME_EFEITO374 = 374 CONST_ME_EFEITO375 = 375 CONST_ME_EFEITO376 = 376 CONST_ME_EFEITO377 = 377 CONST_ME_EFEITO378 = 378 CONST_ME_EFEITO379 = 379 CONST_ME_EFEITO380 = 380 CONST_ME_EFEITO381 = 381 CONST_ME_EFEITO382 = 382 CONST_ME_EFEITO383 = 383 CONST_ME_EFEITO384 = 384 CONST_ME_EFEITO385 = 385 CONST_ME_EFEITO386 = 386 CONST_ME_EFEITO387 = 387 CONST_ME_EFEITO388 = 388 CONST_ME_EFEITO389 = 389 CONST_ME_EFEITO390 = 390 CONST_ME_EFEITO391 = 391 CONST_ME_EFEITO392 = 392 CONST_ME_EFEITO393 = 393 CONST_ME_EFEITO394 = 394 CONST_ME_EFEITO395 = 395 CONST_ME_EFEITO396 = 396 CONST_ME_EFEITO397 = 397 CONST_ME_EFEITO398 = 398 CONST_ME_EFEITO399 = 399 CONST_ME_EFEITO400 = 400 CONST_ME_EFEITO401 = 401 CONST_ME_EFEITO402 = 402 CONST_ME_EFEITO403 = 403 CONST_ME_EFEITO404 = 404 CONST_ME_EFEITO405 = 405 CONST_ME_EFEITO406 = 406 CONST_ME_EFEITO407 = 407 CONST_ME_EFEITO408 = 408 CONST_ME_EFEITO409 = 409 CONST_ME_EFEITO410 = 410 CONST_ME_EFEITO411 = 411 CONST_ME_EFEITO412 = 412 CONST_ME_EFEITO413 = 413 CONST_ME_EFEITO415 = 415 CONST_ME_EFEITO416 = 416 CONST_ME_EFEITO417 = 417 CONST_ME_EFEITO418 = 418 CONST_ME_EFEITO419 = 419 CONST_ME_EFEITO420 = 420 CONST_ME_EFEITO421 = 421 CONST_ME_EFEITO422 = 422 CONST_ME_EFEITO423 = 423 CONST_ME_EFEITO424 = 424 CONST_ME_EFEITO425 = 425 CONST_ME_EFEITO426 = 426 CONST_ME_EFEITO427 = 427 CONST_ME_EFEITO428 = 428 CONST_ME_EFEITO429 = 429 CONST_ME_EFEITO430 = 430 CONST_ME_EFEITO431 = 431 CONST_ME_EFEITO432 = 432 CONST_ME_EFEITO433 = 433 CONST_ME_EFEITO434 = 434 CONST_ME_EFEITO435 = 435 CONST_ME_EFEITO436 = 436 CONST_ME_EFEITO437 = 437 CONST_ME_EFEITO438 = 438 CONST_ME_EFEITO439 = 439 CONST_ME_EFEITO440 = 440 CONST_ME_EFEITO441 = 441 CONST_ME_EFEITO442 = 442 CONST_ME_EFEITO443 = 443 CONST_ME_EFEITO444 = 444 CONST_ME_EFEITO445 = 445 CONST_ME_EFEITO446 = 446 CONST_ME_EFEITO447 = 447 CONST_ME_EFEITO448 = 448 CONST_ME_EFEITO449 = 449 CONST_ME_EFEITO450 = 450 CONST_ME_EFEITO451 = 451 CONST_ME_EFEITO452 = 452 CONST_ME_EFEITO453 = 453 CONST_ME_EFEITO454 = 454 CONST_ME_EFEITO455 = 455 CONST_ME_EFEITO456 = 456 CONST_ME_EFEITO457 = 457 CONST_ME_EFEITO458 = 458 CONST_ME_EFEITO459 = 459 CONST_ME_EFEITO460 = 460 CONST_ME_EFEITO461 = 461 CONST_ME_EFEITO462 = 462 CONST_ME_EFEITO463 = 463 CONST_ME_EFEITO464 = 464 CONST_ME_EFEITO465 = 465 CONST_ME_EFEITO466 = 466 CONST_ME_EFEITO467 = 467 CONST_ME_EFEITO468 = 468 CONST_ME_EFEITO469 = 469 CONST_ME_EFEITO470 = 470 CONST_ME_EFEITO471 = 471 CONST_ME_EFEITO472 = 472 CONST_ME_EFEITO473 = 473 CONST_ME_EFEITO474 = 474 CONST_ME_EFEITO475 = 475 CONST_ME_EFEITO476 = 476 CONST_ME_EFEITO477 = 477 CONST_ME_EFEITO478 = 478 CONST_ME_EFEITO479 = 479 CONST_ME_EFEITO480 = 480 CONST_ME_EFEITO481 = 481 CONST_ME_EFEITO482 = 482 CONST_ME_EFEITO483 = 483 CONST_ME_EFEITO484 = 484 CONST_ME_EFEITO485 = 485 CONST_ME_EFEITO486 = 486 CONST_ME_EFEITO487 = 487 CONST_ME_EFEITO488 = 488 CONST_ME_EFEITO489 = 489 CONST_ME_EFEITO490 = 490 CONST_ME_EFEITO491 = 491 CONST_ME_EFEITO492 = 492 CONST_ME_EFEITO493 = 493 CONST_ME_EFEITO494 = 494 CONST_ME_EFEITO495 = 495 CONST_ME_EFEITO496 = 496 CONST_ME_EFEITO497 = 497 CONST_ME_EFEITO498 = 498 CONST_ME_EFEITO499 = 499 CONST_ME_EFEITO500 = 500 CONST_ME_EFEITO501 = 501 CONST_ME_EFEITO502 = 502 CONST_ME_EFEITO503 = 503 CONST_ME_EFEITO504 = 504 CONST_ME_EFEITO505 = 505 CONST_ME_EFEITO506 = 506 CONST_ME_EFEITO507 = 507 CONST_ME_EFEITO508 = 508 CONST_ME_EFEITO509 = 509 CONST_ME_EFEITO510 = 510 CONST_ME_EFEITO511 = 511 CONST_ME_NONE = 1500 CONST_ME_LAST = CONST_ME_EFEITO511   CONST_ANI_SPEAR = 0 CONST_ANI_BOLT = 1 CONST_ANI_ARROW = 2 CONST_ANI_FIRE = 3 CONST_ANI_ENERGY = 4 CONST_ANI_POISONARROW = 5 CONST_ANI_BURSTARROW = 6 CONST_ANI_THROWINGSTAR = 7 CONST_ANI_THROWINGKNIFE = 8 CONST_ANI_SMALLSTONE = 9 CONST_ANI_DEATH = 10 CONST_ANI_LARGEROCK = 11 CONST_ANI_SNOWBALL = 12 CONST_ANI_POWERBOLT = 13 CONST_ANI_POISON = 14 CONST_ANI_INFERNALBOLT = 15 CONST_ANI_HUNTINGSPEAR = 16 CONST_ANI_ENCHANTEDSPEAR = 17 CONST_ANI_REDSTAR = 18 CONST_ANI_GREENSTAR = 19 CONST_ANI_ROYALSPEAR = 20 CONST_ANI_SNIPERARROW = 21 CONST_ANI_ONYXARROW = 22 CONST_ANI_PIERCINGBOLT = 23 CONST_ANI_WHIRLWINDSWORD = 24 CONST_ANI_WHIRLWINDAXE = 25 CONST_ANI_WHIRLWINDCLUB = 26 CONST_ANI_ETHEREALSPEAR = 27 CONST_ANI_ICE = 28 CONST_ANI_EARTH = 29 CONST_ANI_HOLY = 30 CONST_ANI_SUDDENDEATH = 31 CONST_ANI_FLASHARROW = 32 CONST_ANI_FLAMMINGARROW = 33 CONST_ANI_SHIVERARROW = 34 CONST_ANI_ENERGYBALL = 35 CONST_ANI_SMALLICE = 36 CONST_ANI_SMALLHOLY = 37 CONST_ANI_SMALLEARTH = 38 CONST_ANI_EARTHARROW = 39 CONST_ANI_EXPLOSION = 40 CONST_ANI_CAKE = 41 CONST_ANI_EFEITO42 = 42 CONST_ANI_EFEITO43 = 43 CONST_ANI_EFEITO44 = 44 CONST_ANI_EFEITO45 = 45 CONST_ANI_EFEITO46 = 46 CONST_ANI_EFEITO47 = 47 CONST_ANI_EFEITO48 = 48 CONST_ANI_EFEITO49 = 49 CONST_ANI_EFEITO50 = 50 CONST_ANI_EFEITO51 = 51 CONST_ANI_EFEITO52 = 52 CONST_ANI_EFEITO53 = 53 CONST_ANI_EFEITO54 = 54 CONST_ANI_EFEITO55 = 55 CONST_ANI_EFEITO56 = 56 CONST_ANI_EFEITO57 = 57 CONST_ANI_EFEITO58 = 58 CONST_ANI_EFEITO59 = 59 CONST_ANI_EFEITO60 = 60 CONST_ANI_EFEITO61 = 61 CONST_ANI_EFEITO62 = 62 CONST_ANI_EFEITO63 = 63 CONST_ANI_EFEITO64 = 64 CONST_ANI_EFEITO65 = 65 CONST_ANI_EFEITO66 = 66 CONST_ANI_EFEITO67 = 67 CONST_ANI_EFEITO68 = 68 CONST_ANI_EFEITO69 = 69 CONST_ANI_EFEITO70 = 70 CONST_ANI_EFEITO71 = 71 CONST_ANI_EFEITO72 = 72 CONST_ANI_EFEITO73 = 73 CONST_ANI_EFEITO74 = 74 CONST_ANI_EFEITO75 = 75 CONST_ANI_EFEITO76 = 76 CONST_ANI_EFEITO77 = 77 CONST_ANI_EFEITO78 = 78 CONST_ANI_EFEITO79 = 79 CONST_ANI_EFEITO80 = 80 CONST_ANI_EFEITO81 = 81 CONST_ANI_EFEITO82 = 82 CONST_ANI_EFEITO83 = 83 CONST_ANI_EFEITO84 = 84 CONST_ANI_EFEITO85 = 85 CONST_ANI_EFEITO86 = 86 CONST_ANI_EFEITO87 = 87 CONST_ANI_EFEITO88 = 88 CONST_ANI_EFEITO89 = 89 CONST_ANI_EFEITO90 = 90 CONST_ANI_EFEITO91 = 91 CONST_ANI_EFEITO92 = 92 CONST_ANI_EFEITO93 = 93 CONST_ANI_EFEITO94 = 94 CONST_ANI_EFEITO95 = 95 CONST_ANI_EFEITO96 = 96 CONST_ANI_EFEITO97 = 97 CONST_ANI_EFEITO98 = 98 CONST_ANI_EFEITO99 = 99 CONST_ANI_EFEITO100 = 100 CONST_ANI_EFEITO101 = 101 CONST_ANI_EFEITO102 = 102 CONST_ANI_EFEITO103 = 103 CONST_ANI_EFEITO104 = 104 CONST_ANI_EFEITO105 = 105 CONST_ANI_EFEITO106 = 106 CONST_ANI_EFEITO107 = 107 CONST_ANI_EFEITO108 = 108 CONST_ANI_EFEITO109 = 109 CONST_ANI_EFEITO110 = 110 CONST_ANI_EFEITO111 = 111 CONST_ANI_EFEITO112 = 112 CONST_ANI_EFEITO113 = 113 CONST_ANI_EFEITO114 = 114 CONST_ANI_EFEITO115 = 115 CONST_ANI_EFEITO116 = 116 CONST_ANI_EFEITO117 = 117 CONST_ANI_EFEITO118 = 118 CONST_ANI_EFEITO119 = 119 CONST_ANI_EFEITO120 = 120 CONST_ANI_EFEITO121 = 121 CONST_ANI_EFEITO122 = 122 CONST_ANI_EFEITO123 = 123 CONST_ANI_EFEITO124 = 124 CONST_ANI_EFEITO125 = 125 CONST_ANI_EFEITO126 = 126 CONST_ANI_EFEITO127 = 127 CONST_ANI_EFEITO128 = 128 CONST_ANI_EFEITO129 = 129 CONST_ANI_EFEITO130 = 130 CONST_ANI_EFEITO131 = 131 CONST_ANI_EFEITO132 = 132 CONST_ANI_EFEITO133 = 133 CONST_ANI_EFEITO134 = 134 CONST_ANI_EFEITO135 = 135 CONST_ANI_EFEITO136 = 136 CONST_ANI_EFEITO137 = 137 CONST_ANI_EFEITO138 = 138 CONST_ANI_EFEITO139 = 139 CONST_ANI_EFEITO140 = 140 CONST_ANI_EFEITO141 = 141 CONST_ANI_EFEITO142 = 142 CONST_ANI_EFEITO143 = 143 CONST_ANI_EFEITO144 = 144 CONST_ANI_EFEITO145 = 145 CONST_ANI_EFEITO146 = 146 CONST_ANI_EFEITO147 = 147 CONST_ANI_EFEITO148 = 148 CONST_ANI_EFEITO149 = 149 CONST_ANI_EFEITO150 = 150 CONST_ANI_EFEITO151 = 151 CONST_ANI_SEMFIM = 65534 CONST_ANI_WEAPONTYPE = 254 CONST_ANI_NONE = 65534 CONST_ANI_LAST = CONST_ANI_SEMFIM TALKTYPE_FIRST = 1 TALKTYPE_SAY = TALKTYPE_FIRST TALKTYPE_WHISPER = 2 TALKTYPE_YELL = 3 TALKTYPE_PRIVATE_PN = 4 TALKTYPE_PRIVATE_NP = 5 TALKTYPE_PRIVATE = 6 TALKTYPE_CHANNEL_Y = 7 TALKTYPE_CHANNEL_W = 8 TALKTYPE_RVR_CHANNEL = 9 TALKTYPE_RVR_ANSWER = 10 TALKTYPE_RVR_CONTINUE = 11 TALKTYPE_BROADCAST = 12 TALKTYPE_CHANNEL_RN = 13 TALKTYPE_PRIVATE_RED = 14 TALKTYPE_CHANNEL_O = 15 TALKTYPE_CHANNEL_RA = 17 TALKTYPE_MONSTER = 19 TALKTYPE_MONSTER_YELL = 20 TALKTYPE_LAST = TALKTYPE_MONSTER_YELL   TALKTYPE_TYPES = {     ["say"] = TALKTYPE_SAY,     ["whisper"] = TALKTYPE_WHISPER,     ["yell"] = TALKTYPE_YELL,     ["private-playernpc"] = TALKTYPE_PRIVATE_PN,     ["private-npcplayer"] = TALKTYPE_PRIVATE_NP,     ["private"] = TALKTYPE_PRIVATE,     ["channel-yellow"] = TALKTYPE_CHANNEL_Y,     ["channel-white"] = TALKTYPE_CHANNEL_W,     ["rvr-channel"] = TALKTYPE_RVR_CHANNEL,     ["rvr-answer"] = TALKTYPE_RVR_ANSWER,     ["rvr-continue"] = TALKTYPE_RVR_CONTINUE,     ["broadcast"] = TALKTYPE_BROADCAST,     ["channel-red"] = TALKTYPE_CHANNEL_RN,     ["channel-orange"] = TALKTYPE_CHANNEL_O,     ["channel-redanonymous"] = TALKTYPE_CHANNEL_RA,     ["monster"] = TALKTYPE_MONSTER,     ["monster-yell"] = TALKTYPE_MONSTER_YELL } MESSAGE_FIRST = 18 MESSAGE_STATUS_CONSOLE_RED = MESSAGE_FIRST MESSAGE_EVENT_ORANGE = 19 MESSAGE_STATUS_CONSOLE_ORANGE = 20 MESSAGE_STATUS_WARNING = 21 MESSAGE_EVENT_ADVANCE = 22 MESSAGE_EVENT_DEFAULT = 23 MESSAGE_STATUS_DEFAULT = 24 MESSAGE_INFO_DESCR = 25 MESSAGE_STATUS_SMALL = 26 MESSAGE_STATUS_CONSOLE_BLUE = 27 MESSAGE_LAST = MESSAGE_STATUS_CONSOLE_BLUE MESSAGE_TYPES = {     ["advance"] = MESSAGE_EVENT_ADVANCE,     ["event"] = MESSAGE_EVENT_DEFAULT,     ["white"] = MESSAGE_EVENT_DEFAULT,     ["orange"] = MESSAGE_STATUS_CONSOLE_ORANGE,     ["info"] = MESSAGE_INFO_DESCR,     ["green"] = MESSAGE_INFO_DESCR,     ["small"] = MESSAGE_STATUS_SMALL,     ["blue"] = MESSAGE_STATUS_CONSOLE_BLUE,     ["red"] = MESSAGE_STATUS_CONSOLE_RED,     ["warning"] = MESSAGE_STATUS_WARNING,     ["status"] = MESSAGE_STATUS_DEFAULT }   COLOR_BLACK = 0 COLOR_BLUE = 5 COLOR_GREEN = 18 COLOR_TEAL = 35 COLOR_LIGHTGREEN = 66 COLOR_DARKBROWN = 78 COLOR_LIGHTBLUE = 89 COLOR_DARKPURPLE = 112 COLOR_BROWN = 120 COLOR_GREY = 129 COLOR_DARKRED = 144 COLOR_DARKPINK = 152 COLOR_PURPLE = 154 COLOR_DARKORANGE = 156 COLOR_RED = 180 COLOR_PINK = 190 COLOR_ORANGE = 192 COLOR_DARKYELLOW = 205 COLOR_YELLOW = 210 COLOR_WHITE = 215 COLOR_NONE = 255 MAPMARK_TICK = 0 MAPMARK_QUESTION = 1 MAPMARK_EXCLAMATION = 2 MAPMARK_STAR = 3 MAPMARK_CROSS = 4 MAPMARK_TEMPLE = 5 MAPMARK_KISS = 6 MAPMARK_SHOVEL = 7 MAPMARK_SWORD = 8 MAPMARK_FLAG = 9 MAPMARK_LOCK = 10 MAPMARK_BAG = 11 MAPMARK_SKULL = 12 MAPMARK_DOLLAR = 13 MAPMARK_REDNORTH = 14 MAPMARK_REDSOUTH = 15 MAPMARK_REDEAST = 16 MAPMARK_REDWEST = 17 MAPMARK_GREENNORTH = 18 MAPMARK_GREENSOUTH = 19 ITEM_TYPE_DEPOT = 1 ITEM_TYPE_MAILBOX = 2 ITEM_TYPE_TRASHHOLDER = 3 ITEM_TYPE_CONTAINER = 4 ITEM_TYPE_DOOR = 5 ITEM_TYPE_MAGICFIELD = 6 ITEM_TYPE_TELEPORT = 7 ITEM_TYPE_BED = 8 ITEM_TYPE_LEVELDOOR = 9 CONST_PROP_BLOCKSOLID = 0 CONST_PROP_HASHEIGHT = 1 CONST_PROP_BLOCKPROJECTILE = 2 CONST_PROP_BLOCKPATHFIND = 3 CONST_PROP_ISVERTICAL = 4 CONST_PROP_ISHORIZONTAL = 5 CONST_PROP_MOVEABLE = 6 CONST_PROP_BLOCKINGANDNOTMOVEABLE = 7 CONST_PROP_SUPPORTHANGABLE = 8 MANAGER_NONE = 0 MANAGER_NEW = 1 MANAGER_ACCOUNT = 2 MANAGER_NAMELOCK = 3 PLAYERSEX_FEMALE = 0 PLAYERSEX_MALE = 1 PLAYERSEX_GAMEMASTER = 2 PLAYERLOSS_EXPERIENCE = 0 PLAYERLOSS_MANA = 1 PLAYERLOSS_SKILLS = 2 PLAYERLOSS_CONTAINERS = 3 PLAYERLOSS_ITEMS = 4 STATSCHANGE_HEALTHGAIN = 0 STATSCHANGE_HEALTHLOSS = 1 STATSCHANGE_MANAGAIN = 2 STATSCHANGE_MANALOSS = 3 SKILL_FIST = 0 SKILL_CLUB = 1 SKILL_SWORD = 2 SKILL_AXE = 3 SKILL_DISTANCE = 4 SKILL_SHIELD = 5 SKILL_FISHING = 6 SKILL__MAGLEVEL = 7 SKILL__LEVEL = 8 SKILL_NAMES = { [SKILL_FIST] = "fist fighting", [SKILL_CLUB] = "club fighting", [SKILL_SWORD] = "sword fighting", [SKILL_AXE] = "axe fighting", [SKILL_DISTANCE] = "distance fighting", [SKILL_SHIELD] = "shielding", [SKILL_FISHING] = "fishing", [SKILL__LEVEL] = "level", [SKILL__MAGLEVEL] = "magic" } SKILL_IDS = { ["fist"] = SKILL_FIST, ["club"] = SKILL_CLUB, ["sword"] = SKILL_SWORD, ["axe"] = SKILL_AXE, ["distance"] = SKILL_DISTANCE, ["dist"] = SKILL_DISTANCE, ["shielding"] = SKILL_SHIELD, ["shield"] = SKILL_SHIELD, ["fishing"] = SKILL_FISHING, ["fish"] = SKILL_FISHING, ["level"] = SKILL__LEVEL, ["magic"] = SKILL__MAGLEVEL }   GUILDLEVEL_MEMBER = 1 GUILDLEVEL_VICE = 2 GUILDLEVEL_LEADER = 3 SKULL_NONE = 0 SKULL_YELLOW = 1 SKULL_GREEN = 2 SKULL_WHITE = 3 SKULL_RED = 4 SKULL_BLACK = 5 SKULL_LAST = SKULL_BLACK SHIELD_NONE = 0 SHIELD_WHITEYELLOW = 1 SHIELD_WHITEBLUE = 2 SHIELD_BLUE = 3 SHIELD_YELLOW = 4 SHIELD_BLUE_SHAREDEXP = 5 SHIELD_YELLOW_SHAREDEXP = 6 SHIELD_BLUE_NOSHAREDEXP_BLINK = 7 SHIELD_YELLOW_NOSHAREDEXP_BLINK = 8 SHIELD_BLUE_NOSHAREDEXP = 9 SHIELD_YELLOW_NOSHAREDEXP = 10 SHIELD_LAST = SHIELD_YELLOW_NOSHAREDEXP   WORLDTYPE_NO_PVP = 1 WORLDTYPE_PVP = 2 WORLDTYPE_PVP_ENFORCED = 3 DATABASE_ENGINE_NONE = 0 DATABASE_ENGINE_MYSQL = 1 DATABASE_ENGINE_SQLITE = 2 DATABASE_ENGINE_POSTGRESQL = 3 DATABASE_ENGINE_ODBC = 4 GAMESTATE_STARTUP = 1 GAMESTATE_INIT = 2 GAMESTATE_NORMAL = 3 GAMESTATE_MAINTAIN = 4 GAMESTATE_CLOSED = 5 GAMESTATE_CLOSING = 6 GAMESTATE_SHUTDOWN = 7 RELOAD_ACTIONS = 1 RELOAD_CHAT = 2 RELOAD_CONFIG = 3 RELOAD_CREATUREEVENTS = 4 RELOAD_GAMESERVERS = 5 RELOAD_GLOBALEVENTS = 6 RELOAD_GROUPS = 7 RELOAD_HIGHSCORES = 8 RELOAD_HOUSEPRICES = 9 RELOAD_ITEMS = 10 RELOAD_MONSTERS = 11 RELOAD_MOVEEVENTS = 12 RELOAD_NPCS = 13 RELOAD_OUTFITS = 14 RELOAD_QUESTS = 15 RELOAD_RAIDS = 16 RELOAD_SPELLS = 17 RELOAD_STAGES = 18 RELOAD_TALKACTIONS = 19 RELOAD_VOCATIONS = 20 RELOAD_WEAPONS = 21 RELOAD_MODS = 22 RELOAD_ALL = 23 BAN_NONE = 0 BAN_IP = 1 BAN_PLAYER = 2 BAN_ACCOUNT = 3 BAN_NOTATION = 4 BAN_STATEMENT = 5 PLAYERBAN_NONE = 0 PLAYERBAN_REPORT = 1 PLAYERBAN_LOCK = 2 PLAYERBAN_BANISHMENT = 3 CHANNEL_GUILD = 0 CHANNEL_PARTY = 1 CHANNEL_RVR = 3 CHANNEL_HELP = 9 CHANNEL_DEFAULT = 0xFFFE CHANNEL_PRIVATE = 0xFFFF STACKPOS_GROUND = 0 STACKPOS_TOP_CREATURE = 253 STACKPOS_TOP_FIELD = 254 STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE = 255 WEAPON_NONE = 0 WEAPON_SWORD = 1 WEAPON_CLUB = 2 WEAPON_AXE = 3 WEAPON_SHIELD = 4 WEAPON_DIST = 5 WEAPON_WAND = 6 WEAPON_AMMO = 7 WEAPON_FIST = 8 ACTION_NOTATION = 0 ACTION_NAMEREPORT = 1 ACTION_BANISHMENT = 2 ACTION_BANREPORT = 3 ACTION_BANFINAL = 4 ACTION_BANREPORTFINAL = 5 ACTION_STATEMENT = 6 ACTION_DELETION = 7 ACTION_NAMELOCK = 8 ACTION_BANLOCK = 9 ACTION_BANLOCKFINAL = 10 ACTION_PLACEHOLDER = 11 ITEM_GOLD_COIN = 2148 ITEM_PLATINUM_COIN = 2152 ITEM_CRYSTAL_COIN = 2160 ITEM_FISH = 2667 ITEM_WORM = 3976 ITEM_MECHANICAL_FISH = 10224 ITEM_NAIL = 8309 ITEM_MECHANICAL_FISHING_ROD = 10223 ITEM_GREEN_PERCH = 7159 ITEM_RAINBOW_TROUT = 7158 ITEM_NORTHERN_PIKE = 2669 ITEM_PARCEL = 2595 ITEM_LABEL = 2599 ITEM_GLOWING_SWITCH = 11060 RETURNVALUE_DONTSHOWMESSAGE = 0 RETURNVALUE_NOERROR = 1 RETURNVALUE_NOTPOSSIBLE = 2 RETURNVALUE_NOTENOUGHROOM = 3 RETURNVALUE_PLAYERISPZLOCKED = 4 RETURNVALUE_PLAYERISNOTINVITED = 5 RETURNVALUE_CANNOTTHROW = 6 RETURNVALUE_THEREISNOWAY = 7 RETURNVALUE_DESTINATIONOUTOFREACH = 8 RETURNVALUE_CREATUREBLOCK = 9 RETURNVALUE_NOTMOVEABLE = 10 RETURNVALUE_DROPTWOHANDEDITEM = 11 RETURNVALUE_BOTHHANDSNEEDTOBEFREE = 12 RETURNVALUE_CANONLYUSEONEWEAPON = 13 RETURNVALUE_NEEDEXCHANGE = 14 RETURNVALUE_CANNOTBEDRESSED = 15 RETURNVALUE_PUTTHISOBJECTINYOURHAND = 16 RETURNVALUE_PUTTHISOBJECTINBOTHHANDS = 17 RETURNVALUE_TOOFARAWAY = 18 RETURNVALUE_FIRSTGODOWNSTAIRS = 19 RETURNVALUE_FIRSTGOUPSTAIRS = 20 RETURNVALUE_CONTAINERNOTENOUGHROOM = 21 RETURNVALUE_NOTENOUGHCAPACITY = 22 RETURNVALUE_CANNOTPICKUP = 23 RETURNVALUE_THISISIMPOSSIBLE = 24 RETURNVALUE_DEPOTISFULL = 25 RETURNVALUE_CREATUREDOESNOTEXIST = 26 RETURNVALUE_CANNOTUSETHISOBJECT = 27 RETURNVALUE_PLAYERWITHTHISNAMEISNOTONLINE = 28 RETURNVALUE_NOTREQUIREDLEVELTOUSERUNE = 29 RETURNVALUE_YOUAREALREADYTRADING = 30 RETURNVALUE_THISPLAYERISALREADYTRADING = 31 RETURNVALUE_YOUMAYNOTLOGOUTDURINGAFIGHT = 32 RETURNVALUE_DIRECTPLAYERSHOOT = 33 RETURNVALUE_NOTENOUGHLEVEL = 34 RETURNVALUE_NOTENOUGHMAGICLEVEL = 35 RETURNVALUE_NOTENOUGHMANA = 36 RETURNVALUE_NOTENOUGHSOUL = 37 RETURNVALUE_YOUAREEXHAUSTED = 38 RETURNVALUE_PLAYERISNOTREACHABLE = 39 RETURNVALUE_CANONLYUSETHISRUNEONCREATURES = 40 RETURNVALUE_ACTIONNOTPERMITTEDINPROTECTIONZONE = 41 RETURNVALUE_YOUMAYNOTATTACKTHISPLAYER = 42 RETURNVALUE_YOUMAYNOTATTACKAPERSONINPROTECTIONZONE = 43 RETURNVALUE_YOUMAYNOTATTACKAPERSONWHILEINPROTECTIONZONE = 44 RETURNVALUE_YOUMAYNOTATTACKTHISCREATURE = 45 RETURNVALUE_YOUCANONLYUSEITONCREATURES = 46 RETURNVALUE_CREATUREISNOTREACHABLE = 47 RETURNVALUE_TURNSECUREMODETOATTACKUNMARKEDPLAYERS = 48 RETURNVALUE_YOUNEEDPREMIUMACCOUNT = 49 RETURNVALUE_YOUNEEDTOLEARNTHISSPELL = 50 RETURNVALUE_YOURVOCATIONCANNOTUSETHISSPELL = 51 RETURNVALUE_YOUNEEDAWEAPONTOUSETHISSPELL = 52 RETURNVALUE_PLAYERISPZLOCKEDLEAVEPVPZONE = 53 RETURNVALUE_PLAYERISPZLOCKEDENTERPVPZONE = 54 RETURNVALUE_ACTIONNOTPERMITTEDINANOPVPZONE = 55 RETURNVALUE_YOUCANNOTLOGOUTHERE = 56 RETURNVALUE_YOUNEEDAMAGICITEMTOCASTSPELL = 57 RETURNVALUE_CANNOTCONJUREITEMHERE = 58 RETURNVALUE_YOUNEEDTOSPLITYOURSPEARS = 59 RETURNVALUE_NAMEISTOOAMBIGUOUS = 60 RETURNVALUE_CANONLYUSEONESHIELD = 61 RETURNVALUE_YOUARENOTTHEOWNER = 62 RETURNVALUE_YOUMAYNOTCASTAREAONBLACKSKULL = 63 RETURNVALUE_TILEISFULL = 64 CONTAINER_POSITION = 0xFFFF EMPTY_STORAGE = -1 EMPTY_RESULT = -1 ITEMCOUNT_MAX = 100 AUTOID_PLAYERS = 0x10000000 AUTOID_MONSTERS = 0x40000000 AUTOID_NPCS = 0x80000000 PLAYERFLAG_CANNOTUSECOMBAT = 0 PLAYERFLAG_CANNOTATTACKPLAYER = 1 PLAYERFLAG_CANNOTATTACKMONSTER = 2 PLAYERFLAG_CANNOTBEATTACKED = 3 PLAYERFLAG_CANCONVINCEALL = 4 PLAYERFLAG_CANSUMMONALL = 5 PLAYERFLAG_CANILLUSIONALL = 6 PLAYERFLAG_CANSENSEINVISIBILITY = 7 PLAYERFLAG_IGNOREDBYMONSTERS = 8 PLAYERFLAG_NOTGAININFIGHT = 9 PLAYERFLAG_HASINFINITEMANA = 10 PLAYERFLAG_HASINFINITESOUL = 11 PLAYERFLAG_HASNOEXHAUSTION = 12 PLAYERFLAG_CANNOTUSESPELLS = 13 PLAYERFLAG_CANNOTPICKUPITEM = 14 PLAYERFLAG_CANALWAYSLOGIN = 15 PLAYERFLAG_CANBROADCAST = 16 PLAYERFLAG_CANEDITHOUSES = 17 PLAYERFLAG_CANNOTBEBANNED = 18 PLAYERFLAG_CANNOTBEPUSHED = 19 PLAYERFLAG_HASINFINITECAPACITY = 20 PLAYERFLAG_CANPUSHALLCREATURES = 21 PLAYERFLAG_CANTALKREDPRIVATE = 22 PLAYERFLAG_CANTALKREDCHANNEL = 23 PLAYERFLAG_TALKORANGEHELPCHANNEL = 24 PLAYERFLAG_NOTGAINEXPERIENCE = 25 PLAYERFLAG_NOTGAINMANA = 26 PLAYERFLAG_NOTGAINHEALTH = 27 PLAYERFLAG_NOTGAINSKILL = 28 PLAYERFLAG_SETMAXSPEED = 29 PLAYERFLAG_SPECIALVIP = 30 PLAYERFLAG_NOTGENERATELOOT = 31 PLAYERFLAG_CANTALKREDCHANNELANONYMOUS = 32 PLAYERFLAG_IGNOREPROTECTIONZONE = 33 PLAYERFLAG_IGNORESPELLCHECK = 34 PLAYERFLAG_IGNOREWEAPONCHECK = 35 PLAYERFLAG_CANNOTBEMUTED = 36 PLAYERFLAG_ISALWAYSPREMIUM = 37 PLAYERFLAG_CANANSWERRULEVIOLATIONS = 38 PLAYERFLAG_39 = 39 -- ignore PLAYERFLAG_SHOWGROUPINSTEADOFVOCATION = 40 PLAYERFLAG_HASINFINITESTAMINA = 41 PLAYERFLAG_CANNOTMOVEITEMS = 42 PLAYERFLAG_CANNOTMOVECREATURES = 43 PLAYERFLAG_CANREPORTBUGS = 44 PLAYERFLAG_45 = 45 -- ignore PLAYERFLAG_CANNOTBESEEN = 46 PLAYERCUSTOMFLAG_ALLOWIDLE = 0 PLAYERCUSTOMFLAG_CANSEEPOSITION    = 1 PLAYERCUSTOMFLAG_CANSEEITEMDETAILS = 2 PLAYERCUSTOMFLAG_CANSEECREATUREDETAILS = 3 PLAYERCUSTOMFLAG_NOTSEARCHABLE = 4 PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES = 5 PLAYERCUSTOMFLAG_CANTHROWANYWHERE = 6 PLAYERCUSTOMFLAG_CANPUSHALLITEMS = 7 PLAYERCUSTOMFLAG_CANMOVEANYWHERE = 8 PLAYERCUSTOMFLAG_CANMOVEFROMFAR = 9 PLAYERCUSTOMFLAG_CANLOGINMULTIPLECHARACTERS = 10 PLAYERCUSTOMFLAG_HASFULLLIGHT = 11 PLAYERCUSTOMFLAG_CANLOGOUTANYTIME = 12 PLAYERCUSTOMFLAG_HIDELEVEL = 13 PLAYERCUSTOMFLAG_ISPROTECTED = 14 PLAYERCUSTOMFLAG_ISIMMUNE = 15 PLAYERCUSTOMFLAG_NOTGAINSKULL = 16 PLAYERCUSTOMFLAG_NOTGAINUNJUSTIFIED = 17 PLAYERCUSTOMFLAG_HIDELEVEL = 18 PLAYERCUSTOMFLAG_IGNOREPACIFICATION = 19 PLAYERCUSTOMFLAG_CANSTAIRHOP = 20 PLAYERCUSTOMFLAG_CANTURNHOP = 21 PLAYERCUSTOMFLAG_IGNOREHOUSERENT = 22 PLAYERCUSTOMFLAG_CANWEARALLADDONS = 23 maleOutfits = {128, 129, 130, 131, 132, 133, 134, 143, 144, 145, 146, 151, 152, 153, 154, 251, 268, 273, 278, 289, 325, 328, 335} femaleOutfits = {136, 137, 138, 139, 140, 141, 142, 147, 148, 149, 150, 155, 156, 157, 158, 252, 269, 270, 279, 288, 324, 329, 336} doors = {[1209] = 1211, [1210] = 1211, [1212] = 1214, [1213] = 1214, [1219] = 1220, [1221] = 1222, [1231] = 1233, [1232] = 1233, [1234] = 1236, [1235] = 1236, [1237] = 1238, [1239] = 1240, [1249] = 1251, [1250] = 1251, [1252] = 1254, [1253] = 1254, [1539] = 1540, [1541] = 1542, [3535] = 3537, [3536] = 3537, [3538] = 3539, [3544] = 3546, [3545] = 3546, [3547] = 3548, [4913] = 4915, [4914] = 4915, [4916] = 4918, [4917] = 4918, [5082] = 5083, [5084] = 5085, [5098] = 5100, [5099] = 5100, [5101] = 5102, [5107] = 5109, [5108] = 5109, [5110] = 5111, [5116] = 5118, [5117] = 5118, [5119] = 5120, [5125] = 5127, [5126] = 5127, [5128] = 5129, [5134] = 5136, [5135] = 5136, [5137] = 5139, [5138] = 5139, [5140] = 5142, [5141] = 5142, [5143] = 5145, [5144] = 5145, [5278] = 5280, [5279] = 5280, [5281] = 5283, [5282] = 5283, [5284] = 5285, [5286] = 5287, [5515] = 5516, [5517] = 5518, [5732] = 5734, [5733] = 5734, [5735] = 5737, [5736] = 5737, [6192] = 6194, [6193] = 6194, [6195] = 6197, [6196] = 6197, [6198] = 6199, [6200] = 6201, [6249] = 6251, [6250] = 6251, [6252] = 6254, [6253] = 6254, [6255] = 6256, [6257] = 6258, [6795] = 6796, [6797] = 6798, [6799] = 6800, [6801] = 6802, [6891] = 6893, [6892] = 6893, [6894] = 6895, [6900] = 6902, [6901] = 6902, [6903] = 6904, [7033] = 7035, [7034] = 7035, [7036] = 7037, [7042] = 7044, [7043] = 7044, [7045] = 7046, [7054] = 7055, [7056] = 7057, [8541] = 8543, [8542] = 8543, [8544] = 8546, [8545] = 8546, [8547] = 8548, [8549] = 8550, [9165] = 9167, [9166] = 9167, [9168] = 9170, [9169] = 9170, [9171] = 9172, [9173] = 9174, [9267] = 9269, [9268] = 9269, [9270] = 9272, [9271] = 9272, [9273] = 9274, [9275] = 9276, [10276] = 10277, [10274] = 10275, [10268] = 10270, [10269] = 10270, [10271] = 10273, [10272] = 10273, [10471] = 10472, [10480] = 10481, [10477] = 10479, [10478] = 10479, [10468] = 10470, [10469] = 10470, [10774] = 10776, [10775] = 10776, [10779] = 10780, [10781] = 10782, [10783] = 10785, [10784] = 10785, [10788] = 10789, [10790] = 10791} closingDoors = {1224, 1226, 1228, 1230, 1242, 1244, 1246, 1248, 1256, 1258, 1260, 1262, 3541, 3543, 3550, 3552, 5104, 5106, 5113, 5115, 5122, 5124, 5131, 5133, 5289, 5291, 5293, 5295, 6203, 6205, 6207, 6209, 6260, 6262, 6264, 6266, 6897, 6899, 6906, 6908, 7039, 7041, 7048, 7050, 8552, 8554, 8556, 8558, 9176, 9178, 9180, 9182, 9278, 9280, 9282, 9284, 10279, 10281, 10283, 10285, 10474, 10476, 10483, 10485, 10780, 10782, 10789, 10791} verticalOpenDoors = {1211, 1220, 1224, 1228, 1233, 1238, 1242, 1246, 1251, 1256, 1260, 1540, 3546, 3548, 3550, 3552, 4915, 5083, 5109, 5111, 5113, 5115, 5127, 5129, 5131, 5133, 5142, 5145, 5283, 5285, 5289, 5293, 5516, 5737, 5749, 6194, 6199, 6203, 6207, 6251, 6256, 6260, 6264, 6798, 6802, 6902, 6904, 6906, 6908, 7044, 7046, 7048, 7050, 7055, 8543, 8548, 8552, 8556, 9167, 9172, 9269, 9274, 9278, 9282, 10270, 10275, 10279, 10283, 10479, 10481, 10483, 10485, 10789, 10791} horizontalOpenDoors = {1214, 1222, 1226, 1230, 1236, 1240, 1244, 1248, 1254, 1258, 1262, 1542, 3537, 3539, 3541, 3543, 4918, 5085, 5100, 5102, 5104, 5106, 5118, 5120, 5122, 5124, 5136, 5139, 5280, 5287, 5291, 5295, 5518, 5734, 5746, 6197, 6201, 6205, 6209, 6254, 6258, 6262, 6266, 6796, 6800, 6893, 6895, 6897, 6899, 7035, 7037, 7039, 7041, 7057, 8546, 8550, 8554, 8558, 9170, 9174, 9272, 9276, 9280, 9284, 10273, 10277, 10281, 10285, 10470, 10472, 10474, 10476, 10780, 10782} specialDoors = {1223, 1225, 1241, 1243, 1255, 1257, 3542, 3551, 5105, 5114, 5123, 5132, 5288, 5290, 5745, 5748, 6202, 6204, 6259, 6261, 6898, 6907, 7040, 7049, 8551, 8553, 9175, 9177, 9277, 9279, 10278, 10280, 10475, 10484, 10781, 10790} keys = {2086, 2087, 2088, 2089, 2090, 2091, 2092, 10032, 10091} enchantableGems = {2147, 2146, 2149, 2150} enchantableItems = {2383, 7383, 7384, 7406, 7402, 2429, 2430, 7389, 7380, 2454, 2423, 2445, 7415, 7392, 2391, 2544, 8905} enchantingAltars = {     {7504, 7505, 7506, 7507},     {7508, 7509, 7510, 7511},     {7516, 7517, 7518, 7519},     {7512, 7513, 7514, 7515} } enchantedGems = {7760, 7759, 7761, 7762} enchantedItems = {     [2383] = {7744, 7763, 7854, 7869},     [7383] = {7745, 7764, 7855, 7870},     [7384] = {7746, 7765, 7856, 7871},     [7406] = {7747, 7766, 7857, 7872},     [7402] = {7748, 7767, 7858, 7873},     [2429] = {7749, 7768, 7859, 7874},     [2430] = {7750, 7769, 7860, 7875},     [7389] = {7751, 7770, 7861, 7876},     [7380] = {7752, 7771, 7862, 7877},     [2454] = {7753, 7772, 7863, 7878},     [2423] = {7754, 7773, 7864, 7879},     [2445] = {7755, 7774, 7865, 7880},     [7415] = {7756, 7775, 7866, 7881},     [7392] = {7757, 7776, 7867, 7882},     [2391] = {7758, 7777, 7868, 7883},     [2544] = {7840, 7839, 7850, 7838},     [8905] = {8906, 8907, 8909, 8908} }  

Informação Importante

Confirmação de Termo