Ir para conteúdo
  • Cadastre-se

Wakon

Héroi
  • Total de itens

    3181
  • Registro em

  • Última visita

  • Dias Ganhos

    26

Histórico de Curtidas

  1. Obrigado
    Wakon recebeu reputação de yamislayer em Retirando Bug Do Rme 8.60   
    @Dornellas, não lembro se baixei esse cliente no site do RME mas ele funciona perfeitamente aqui, testa ai:
    https://www.mediafire.com/?lvz8c12b8e0y09k
     
  2. Gostei
    Wakon recebeu reputação de King Laker em Checar mais de 1 Storage   
    @King Laker, sem problemas, acontece.
  3. Haha
    Wakon deu reputação a peterson18 em (Resolvido)function creatureSayCallback(cid, type, msg) [Dúvida]   
    Obrigado!
  4. Obrigado
    Wakon recebeu reputação de peterson18 em (Resolvido)function creatureSayCallback(cid, type, msg) [Dúvida]   
    @peterson18, utilize a função isInArray, exemplo:
    if isInArray({'familia', 'parentes'}, msg) then  
  5. Curtir
    Wakon deu reputação a DdJs em Giant Spiders Cave | Cave Hunt | 8.60   
    Cave hunt - Giant Spiders Cave.
     
    Download: Here
     
    Scan: Here

    Imagens:
     

     

     

     

     

  6. Curtir
    Wakon deu reputação a vyctor17 em [PXG based]Sistema de LockPick Ot-client   
    a um tempo atras criei um tópico sobre meu lockpick baseado na PXG no inicio do desenvolvimento, agora acho que esta pronto vou deixar aqui o resultado.
     
     
  7. Obrigado
    Wakon recebeu reputação de Deathstroke em [TFS 0.4/0.3.6] Aviso de bless ao sair da zona de proteção.   
    Fiz esse script a bastante tempo a pedido de um membro e resolvi postar para vocês .
     
    Versão testada: 8.60
    TFS: 0.4 / 0.3.6
    Função: Ao sair de uma zona de proteção, caso o player esteja sem bless, ele manda uma mensagem na tela avisando que está sem bless.
     
    Em "Data/creaturescripts/scripts", copie e cole um arquivo.LUA e renomeie para checkBless.lua, apague tudo e cole:
    function onThink(cid, lastExecution, thinkInterval) if(getTilePzInfo(getCreaturePosition(cid))) == false and getPlayerStorageValue(cid, 23333) <= 0 then for b = 1,5 do if getPlayerBlessing(cid, b) == false then setPlayerStorageValue(cid, 23333, 1) return doPlayerSendTextMessage(cid, 22, "Você não tem todas as bless, tome cuidado.") end end elseif (getTilePzInfo(getCreaturePosition(cid))) == true and getPlayerStorageValue(cid, 23333) == 1 then setPlayerStorageValue(cid, 23333, -1) end return true end Em "Data/creaturescripts", abra o creaturescripts.xml e adicione:
    <event type="think" name="checkBless" event="script" value="checkBless.lua"/> Novamente em "Data/creaturescripts/scripts", abra o arquivo login.lua e adicione:
    registerCreatureEvent(cid, "checkBless") Espero que gostem , caso dê algum erro, me avise!
      Créditos: Wakon - Script ScythePanthom -- Pela idéia.
  8. Curtir
    Wakon deu reputação a EddyHavoc em [OTClient] Remove Local Player Default Light   
    Resumo
    Recentemente estava observando que quando estou usando o OTClient ao descer para andares escuros do mapa o jogador fica com uma luz ao redor e quando usamos o Tibia Client esta mesma luz não aparece, ou seja, no OTClient a necessidade do jogador usar uma tocha ou uma magia para iluminar é muito menor que no Tibia Client pois utilizando o OTC o nível de luz não fica como deveria.
     
    Após estudar alguns arquivos da source do OTC consegui encontrar a solução, e é bem simples!
    Instalando
    Dentro do arquivo creatures.cpp nas sources do OTClient modificar: light.intensity = std::max<uint8>(light.intensity, 3); por
    light.intensity = std::max<uint8>(light.intensity, 0);  
    Pronto!
    Espero que gostem!
     
  9. Curtir
    Wakon deu reputação a DdJs em Dark Complex | Cave Hunt | 8.60   
    Cave hunt - Dark Complex.
     
    Download: Here
     
    Scan: Here

    Imagens:
     

     
     

     
     

     
     

     

     

     
     

     

     

     

  10. Curtir
    Wakon deu reputação a EddyHavoc em [TFS 1.2] Modal Window Helper Lib   
    Resumo
    A maneira atual para implementar Modal Window é um pouco complicada. Atualmente precisamos cria-la em algum lugar, registrar o evento, adicionar os botões em uma ordem específica, definir o ID da janela, dos botões e da escolha. Isso não é o ideal, então esta biblioteca foi criada pelo Non Sequitur para ajudar nisso. E eu estou trazendo para a OtServBrasil.

    Exemplo/ Tutorial Usando Modal Window
     
    Instalando
    Adicionar em data/lib/lib.lua dofile('data/lib/modalwindow.lua') Crie o arquivo modalwindow.lua com o seguinte conteúdo em data/lib if not modalWindows then modalWindows = { modalWindowConstructor = ModalWindow, nextFreeId = 500, windows = {} } end local MT = {} MT.__index = MT function ModalWindow(...) local args = {...} if type(args[1]) == 'table' then local self = setmetatable(args[1], MT) local id = modalWindows.nextFreeId self.id = id self.buttons = {} self.choices = {} self.players = {} self.created = false modalWindows.nextFreeId = id + 1 table.insert(modalWindows.windows, self) return self end return modalWindows.modalWindowConstructor(...) end function MT:setDefaultCallback(callback) self.defaultCallback = callback end function MT:addButton(text, callback) local button = {text = tostring(text), callback = callback} table.insert(self.buttons, button) return button end function MT:addButtons(...) for _, text in ipairs({...}) do table.insert(self.buttons, {text = tostring(text)}) end end function MT:addChoice(text) local choice = {text = tostring(text)} table.insert(self.choices, choice) return choice end function MT:addChoices(...) for _, text in ipairs({...}) do table.insert(self.choices, {text = tostring(text)}) end end function MT:setDefaultEnterButton(text) self.defaultEnterButton = text end function MT:setDefaultEscapeButton(text) self.defaultEscapeButton = text end function MT:setTitle(title) self.title = tostring(title) end function MT:setMessage(message) self.message = tostring(message) end local buttonOrder = { [4] = {3, 4, 2, 1}, [3] = {2, 3, 1}, [2] = {1, 2}, [1] = {1} } function MT:create() local modalWindow = modalWindows.modalWindowConstructor(self.id, self.title, self.message) local order = buttonOrder[math.min(#self.buttons, 4)] if order then for _, i in ipairs(order) do local button = self.buttons[i] modalWindow:addButton(i, button.text) button.id = i if button.text == self.defaultEnterButton then modalWindow:setDefaultEnterButton(i) elseif button.text == self.defaultEscapeButton then modalWindow:setDefaultEscapeButton(i) end end end for _, choice in ipairs(self.choices) do modalWindow:addChoice(_, choice.text) choice.id = _ end self.modalWindow = modalWindow end function MT:sendToPlayer(player) if not self.modalWindow then self:create() end player:registerEvent('ModalWindowHelper') self.players[player:getId()] = true return self.modalWindow:sendToPlayer(player) end Adicionar em data/creaturescripts/craturescripts.xml <event type="modalwindow" name="ModalWindowHelper" script="modalwindowhelper.lua" /> Crie o arquivo modalwindowhelper.lua com o seguinte conteúdo em data/creaturescripts/scripts/ function onModalWindow(player, modalWindowId, buttonId, choiceId) local modalWindow for _, window in ipairs(modalWindows.windows) do if window.id == modalWindowId then modalWindow = window break end end if not modalWindow then return true end local playerId = player:getId() if not modalWindow.players[playerId] then return true end modalWindow.players[playerId] = nil local choice = modalWindow.choices[choiceId] for _, button in ipairs(modalWindow.buttons) do if button.id == buttonId then local callback = button.callback or modalWindow.defaultCallback if callback then callback(button, choice) break end end end return true end  
    Pronto!
     
    Espero que gostem. Posteriormente irei postar um tutorial de como usar/ aplicar e alguns scripts utilizando a Biblioteca.
  11. Curtir
    Wakon deu reputação a DdJs em Forbidden Village | 8.60   
    Cave hunt - Forbidden Village.
     
    Download: Here
     
    Scan: Here

    Imagens:
     

     

     

     

     

     

     

     

     

     

     

     
     
  12. Curtir
    Wakon recebeu reputação de Black Fenix em Tile que sumona monstro   
    Em "Data/movements/scripts", nome_desejado.lua:
    local config = { gStorage = 34349, monster = "Demodras", time = 5, pos = {x = 158, y = 57, z = 7} } function onStepIn(cid, item, position, fromPosition) if not isPlayer(cid) then return true end if getGlobalStorageValue(config.gStorage) < os.time() then doCreateMonster(config.monster, config.pos) setGlobalStorageValue(config.gStorage, config.time * 60 + os.time()) doCreatureSay(cid, ''..config.monster ..' apareceu!', TALKTYPE_MONSTER) doSendMagicEffect(config.pos, CONST_ME_TELEPORT) doSendMagicEffect(position, 13) else doTeleportThing(cid, fromPosition) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Aguarde '.. math.ceil((getGlobalStorageValue(config.gStorage) - os.time())/60) ..' minutos para summonar o '.. config.monster ..' novamente.') end return true end Em "Data/movements", no arquivo movements.xml adicione:
    <movevent type="StepIn" actionid="XXX" event="script" value="nome_desejado.lua" /> Em XXX coloque a actionID desejada e depois coloque-a no RME.
    Se tiver errado ou der alguma problema, me avise.
  13. Gostei
    Wakon recebeu reputação de Infused em (Resolvido)Pedido de Script que teleporta para casa   
    Script casa:
    Vá em "Data/talkactions/scripts" copie e cole 1 arquivo .lua e renomeie para gohouse.lua, apague tudo e cole isso:



    Agora em "Data/talkactions" abra o arquivo talkactions.xml e adicione essa tag:
    <talkaction words="!gohouse;/gohouse" script="gohouse.lua"/> Agora o teleport para o templo:
    Vá em "Data/talkactions/scripts" copie e cole 1 arquivo .lua e renomeie para templo.lua, apague tudo e cole isso:



    Agora em "Data/talkactions" abra o arquivo talkactions.xml e adicione essa tag:
    <talkaction words="!templo;/templo" script="templo.lua"/>
  14. Obrigado
    Wakon recebeu reputação de blitzkhan em Retirando Bug Do Rme 8.60   
    @Dornellas, não lembro se baixei esse cliente no site do RME mas ele funciona perfeitamente aqui, testa ai:
    https://www.mediafire.com/?lvz8c12b8e0y09k
     
  15. Curtir
    Wakon recebeu reputação de zLockey9 em [TFS 0.4/0.3.6] Aviso de bless ao sair da zona de proteção.   
    Fiz esse script a bastante tempo a pedido de um membro e resolvi postar para vocês .
     
    Versão testada: 8.60
    TFS: 0.4 / 0.3.6
    Função: Ao sair de uma zona de proteção, caso o player esteja sem bless, ele manda uma mensagem na tela avisando que está sem bless.
     
    Em "Data/creaturescripts/scripts", copie e cole um arquivo.LUA e renomeie para checkBless.lua, apague tudo e cole:
    function onThink(cid, lastExecution, thinkInterval) if(getTilePzInfo(getCreaturePosition(cid))) == false and getPlayerStorageValue(cid, 23333) <= 0 then for b = 1,5 do if getPlayerBlessing(cid, b) == false then setPlayerStorageValue(cid, 23333, 1) return doPlayerSendTextMessage(cid, 22, "Você não tem todas as bless, tome cuidado.") end end elseif (getTilePzInfo(getCreaturePosition(cid))) == true and getPlayerStorageValue(cid, 23333) == 1 then setPlayerStorageValue(cid, 23333, -1) end return true end Em "Data/creaturescripts", abra o creaturescripts.xml e adicione:
    <event type="think" name="checkBless" event="script" value="checkBless.lua"/> Novamente em "Data/creaturescripts/scripts", abra o arquivo login.lua e adicione:
    registerCreatureEvent(cid, "checkBless") Espero que gostem , caso dê algum erro, me avise!
      Créditos: Wakon - Script ScythePanthom -- Pela idéia.
  16. Curtir
    Wakon deu reputação a GOD Vitor em SPR otPokémon 14.42 (04/03/18)   
    Eae galera, venho trazer para vocês em primeira mão a SPR mais recente do otPokémon que está na atualização 14.42 (04/03/2018). A SPR vai completa, com todas as sprites do otPokémon.  
    Screenshots    
    Informações Além das sprites exibidas nas screenshots acima, há novos addons, etc.   Download  
    Scan
      Créditos otPokémon - Pelas sprites; GOD Vitor - Por disponibilizá-las.
  17. Curtir
    Wakon deu reputação a Celulose em Atacar e usar runa ao mesmo tempo   
    Olá Reparei Que muitos Está Procurando essa alteração , em todo fórum só acha a versão 0.3.6. .
    e vim trazer 0.4 E OTX. 
     
    OTX 2.1
    procure por: Player.cpp
    if((!_weapon->hasExhaustion() || !hasCondition(CONDITION_EXHAUST)) && _weapon->useWeapon(this, weapon, attackedCreature)) Altere por:
    if(!_weapon->hasExhaustion() && _weapon->useWeapon(this, weapon, attackedCreature))  Usar runa enquanto corre.
    Em player.cpp, remova essa linha
    setNextAction(OTSYS_TIME() + getStepDuration(dir)); -
    TFS 0.4
    Procure por: Player.cpp
    if((!_weapon->hasExhaustion() || !hasCondition(CONDITION_EXHAUST, EXHAUST_COMBAT)) && _weapon->useWeapon(this, item, attackedCreature)) Altere por :
    if(!_weapon->hasExhaustion() && _weapon->useWeapon(this, item, attackedCreature))  Usar runa enquanto corre.
    Em player.cpp, remova essa linha
    setNextAction(OTSYS_TIME() + getStepDuration(dir));  
    Créditos
    Usar Runa Enquanto corre   - Xellath
    alterar para 0.4/otx 2.1 Eu !!
     
    As 2 Versão foi testado !!!
     
  18. Curtir
    Wakon deu reputação a wil em Sistema Dungeon TFS 1.2   
    Eae gente, venho disponibilizar o meu primeiro sistema DUNGEON, testei apenas no tfs 1.2
     
    O sistema é o seguinte o player precisa de gold para puxar a alavanca e o item que da acesso a entrada da dungeon. ele sera teleportado para o mapa da dungeon onde vai ter monstros e bosses da dungeon no caso este script contem o boss do horestis.
     
    Essa dungeon seria do horestis mas vocês podem editar!
     
    Para ficar 100% preciso da ajuda de vocês.
    Adicionar um sistema de tempo no script exemplo 30 minutos, o player que ficar la mais de 30 minutos seria teleportado para o templo.
    Adicionar um sistema onde de 1 ate 4 players possam ir, pois neste sistema é obrigatório ir 4 players.
     
     
    Seque abaixo o script do sistema
     
    PARTE 1
     
    Abra actions.xml e coloque isto o id 17367 seria a alavanca para puxar.
    Na pasta data/actions/scripts
    crie um arquivo horestishardcore.lua
    Essa parte é onde configura os monstros EXEMPLO
     
    PARTE 2
    Abra movements.xml e coloque isto o uniqueid 17362 seria o teleporte que ele passa para ter acesso a dungeon, isto ira tirar o item da entrada da dungeon do player
     
      
     
    Na pasta data/movements/scripts
    crie um arquivo entradahorestis.lua
     
    26382 = id do item da entrada.
     
    playerPositions = onde os players estão antes de puxar a alavanca
     
    newPositions = para onde os players irão após puxar a alavanca
     
    horestisPositions = Ultimo boss da dungeon
     
    horestisePositions = seria os mini boss (nesta dungeon fiz todos iguais)
     
    gravePositions = monstros da dungeon
     
    scarabPositions = monstros da dungeon
     
    skeletonPositions = monstros da dungeon
     
    ghoulPositions = monstros da dungeon
     
    mummyPositions = monstros da dungeon
     
    Todas as coordenadas são de onde os monstros vão nascer após puxar a alavanca, por isso não adianta eu postar o mapa aqui pois irão ter que mudar todas as coordenadas.
     
    Qualquer duvida é só perguntar!
    Espero que gostem!
  19. Gostei
    Wakon recebeu reputação de GM Kinagon em Ao clicar em item ele realiza uma talkaction   
    Basta retirar a função doPlayerSendTextMessage:
    function onUse(cid, item) doCreatureExecuteTalkAction(cid, "/pos") return true end
  20. Haha
    Wakon recebeu reputação de claudenymg em Sistema Akatsuki e Anbu   
    O tópico foi movido para a área correta, preste mais atenção da próxima vez!
    Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680

    Este tópico foi movido:
    De: "OTServ → Scripting → Tutoriais de Scripting"
    Para: "OTServ → Suporte OTServ → Suporte de Scripts"
  21. Obrigado
    Wakon recebeu reputação de lassdarck em Como adicionar bike no meu poketibia ?   
    No OTItem Editor tu marca Pickupable e Moveable!
  22. Gostei
    Wakon recebeu reputação de MitsukoHikaru em Pokemon Dash v10.1 (Revolution)   
    Parabéns, seu tópico de conteúdo foi aprovado!
    Muito obrigado pela sua contribuição, nós do Tibia King agradecemos.
    Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.
     
  23. Curtir
    Wakon recebeu reputação de wougoplex em [TFS 0.4/0.3.6] Aviso de bless ao sair da zona de proteção.   
    Fiz esse script a bastante tempo a pedido de um membro e resolvi postar para vocês .
     
    Versão testada: 8.60
    TFS: 0.4 / 0.3.6
    Função: Ao sair de uma zona de proteção, caso o player esteja sem bless, ele manda uma mensagem na tela avisando que está sem bless.
     
    Em "Data/creaturescripts/scripts", copie e cole um arquivo.LUA e renomeie para checkBless.lua, apague tudo e cole:
    function onThink(cid, lastExecution, thinkInterval) if(getTilePzInfo(getCreaturePosition(cid))) == false and getPlayerStorageValue(cid, 23333) <= 0 then for b = 1,5 do if getPlayerBlessing(cid, b) == false then setPlayerStorageValue(cid, 23333, 1) return doPlayerSendTextMessage(cid, 22, "Você não tem todas as bless, tome cuidado.") end end elseif (getTilePzInfo(getCreaturePosition(cid))) == true and getPlayerStorageValue(cid, 23333) == 1 then setPlayerStorageValue(cid, 23333, -1) end return true end Em "Data/creaturescripts", abra o creaturescripts.xml e adicione:
    <event type="think" name="checkBless" event="script" value="checkBless.lua"/> Novamente em "Data/creaturescripts/scripts", abra o arquivo login.lua e adicione:
    registerCreatureEvent(cid, "checkBless") Espero que gostem , caso dê algum erro, me avise!
      Créditos: Wakon - Script ScythePanthom -- Pela idéia.
  24. Curtir
    Wakon recebeu reputação de Medina em - TEMPLATE #01 - Fundo para client Pokemon   
    Parabéns, seu tópico de conteúdo foi aprovado!
    Muito obrigado pela sua contribuição, nós do Tibia King agradecemos.
    Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.
     
  25. Gostei
    Wakon recebeu reputação de Hoshi em Quero script de ao matar pokemon aparecer teleport   
    Em "Data/creaturescripts/scripts", copie e cole um arquivo.lua e renomeie para deathTP.lua, apague tudo e cole:
    local t = { tpId = 1387, -- ID do teleport. tpNew = {x = 1057, y = 1057, z = 7}, -- Local onde irá aparecer o teleport. tpPos = {x = 1059, y = 1059, z = 7}, -- Local para onde o teleport irá levar. monster = "rattata", -- Nome do monstro(pokémon/normal), coloque em letra minúscula. timeRemove = 5 -- Tempo para remover o teleport em segundos. } function onKill(cid, target) local function removeTeleport(position) position.stackpos = 1 if (getThingfromPos(position).itemid == t.tpId) then doRemoveItem(getThingfromPos(position).uid) doSendMagicEffect(t.tpNew, 13) end return true end if (isMonster(target) and string.lower(getCreatureName(target)) == t.monster) then doCreateTeleport(t.tpId, t.tpPos, t.tpNew) doCreatureSay(target, "Você tem ".. t.timeRemove .." segundos para entrar no teleport.", TALKTYPE_ORANGE_1, 0, 0, t.tpNew) addEvent(removeTeleport, t.timeRemove * 1000, t.tpNew) end return true end Em "Data/creaturescripts", abra o creaturescripts.xml e adicione:
    <event type="kill" name="deathTP" script="deathTP.lua"/> Novamente em "Data/creaturescripts/scripts", no arquivo login.lua, adicione:
    registerCreatureEvent(cid, "deathTP") Se der algum problema, me avise.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo