Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''action''.



Mais opções de pesquisa

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • xTibia - Notícias e Suporte
    • Regras
    • Noticias
    • Soluções
    • Projetos Patrocinados
    • Tutoriais para Iniciantes
    • Imprensa
  • OTServ
    • Notícias e Debates
    • OTServlist
    • Recursos
    • Suporte
    • Pedidos
    • Downloads
  • OFF-Topic
    • Barzinho do Éks
    • Design
    • Informática

Categorias

  • Apresente Seu Projeto!

Encontrar resultados em...

Encontrar resultados que contenham...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Sou

Encontrado 1.426 registros

  1. kttallan

    action Simples Pet Sistema

    Ola galera venho aqui postar um simples pet sistema que eu fiz pra participar do OMS. Introdução: O Pet sistema funciona assim você pode ganhar/comprar um item que ao clicar ele sumonarar seu pet com uma certa quantidade de sangue, porem só poderar usar o summon alguns vezes no dia (configuravel). Crie um arquivo chamado Petsystem.lua em data/actions/scripter e coloque. function onUse(cid, item, frompos, item2, topos) local monster ={ [12597] = {"Troll", 1, 50, vida = 500, vezes = 5, go = 00, gack = 00}, [12598] = {"Amazon", 50, 100, vida = 1000, vezes = 10, go = 00, back = 00}, [12599] = {"Demon", 100, 150, vida = 1500, vezes = 15, go = 00, back = 00} } local summom = getCreatureSummons(cid) local mst = monster[item.actionid] local hea = monster.vida function backMonster(cid, monsters) if #getCreatureSummons(cid) >= 1 then monsters = getCreatureSummons(cid)[1] doRemoveCreature(monsters) doPlayerSendTextMessage(cid, 13, "Não precio de sua ajuda"..mst[1].."por enquanto") doSendMagicEffect(getThingPos(monsters), mst.back) end end if getPlayerStorageValue(cid, 18800) >= mst.vezes then return doPlayerSendCancel(cid, "Seu Summon estar cansado só poderar usar amanhan") end if getPlayerLevel(cid) > mst[2] and mst[3] < getPlayerLevel(cid) then doSummonCreature(mst[1], getThingPos(cid)) doPlayerSendTextMessage(cid, 14, "Venha me ajudar"..mst[1].."nessa batalha") setCreatureMaxHealth(summom[1], hea) doPlayerSetStorageValue(cid, 18800, mst.vezes) doSendMagicEffect(getThingPos(monster), mst.go) else backMonster(cid, mst[1]) return true end end Agr va em actions.xml e coloque a seguinte Tag : <action actionid="12597;12598;12599" event="script" value="petsystem.lua"/> Agr va em globalevents/scripter e crie um arquivo chamado Pet.lua e coloque function onTimer() local storage = {5, 10, 15} setPlayerStorageValue(cid, 18800, storage[1]) setPlayerStorageValue(cid, 18800, storage[2]) setPlayerStorageValue(cid, 18800, storage[3]) end agr em globalevents.xml coloque o tag <globalevent name="PetSystem" time="00:00" event="script" value="pet.lua"/> Explicação [12597] = {"Troll", 1, 50, vida = 500, vezes = 5, go = 00, gack = 00}, [12598] = {"Amazon", 50, 100, vida = 1000, vezes = 10, go = 00, back = 00}, [12599] = {"Demon", 100, 150, vida = 1500, vezes = 15, go = 00, back = 00} Verde : Oque estar em verde serar o nome do pet(summon) que você vai ter. Negrito : 1, 50 quer dizer que você pode usar o summon troll so do lvl 1 ao 50. Vida: É a vida do seu pet sugiro que seja entre 500 a 5000. Vezes : e quantas vezes você pode usar ele no dia. Go : e o effeito de invocação do summon caso não deseje deixe e 0. Back : mesma coisa o efeito de remover o monstro, deixe em 0 caso n queira. Pronto eu acho que é somente isso se tiver bug vocês avisam aqui em baixo pois meu nivel de scripter não e tão auto e caso o pessoal mais experiente quizer da uma editada nele, estar de boa . Creditos Escolinha de scripter do roksas (Ensinar o que eu sei) Kttallan (Eu mesmo por ser o criador)
  2. HenrikDiamond

    action [DOWNLOAD] Server PokeZot

    Galerinha do Xtibia... Hoje vim postar o Servidor "PokeZot" - Com base do PDA by Bolz e Edições feitas por mim!! Lista Completa de Pokemon Adicionados!! Sistemas Quests Alterações Prints Creditos---- A equipe que criou o PDA Bolz --> Pela maravilhosa Editada no Server A Mim--> Pelo Trabalho de Adicionar os pokemon e fazer mudanças sozinho!! Downloads!! Isso Ai Galerinha!! Foi isso Até a próxima. Talvez saia uma proxima atualização do Zot! Lembrando Conta do God : luh/123 Flw! Até Mais... Gostou do Serv? Da Rep + entao que me ajuda!! kk
  3. Killua

    action Dice Arena

    Dice Arena Esse evento foi postado para o Script de Terça, para ver os outros scripts de terça, clique aqui. Como o evento funciona? Um número configurado de jogadores deve permanecer em posições configuradas (Igual na annihilator). Quando todas as posições tiverem ocupadas, o primeiro jogador puxa a alavanca, levando todos para dentro da Arena. Dentro da arena, tem um dado que, quando usado, sorteia um monstro. Quando os jogadores matam o monstro, um loot cai no chão (Quanto menor o número do dado, mais forte será o monstro e melhor será o item que dropa). - Se já tiver gente dentro da arena, outro time não poderá entrar. - Uma vez dentro da arena, cada jogador só pode rodar o dado uma vez. - Cada jogador só pode entrar na arena uma vez por dia (tempo configurável). - Os monstros e loots são configuráveis. Vídeo do evento (obrigado ao por me ajudar a gravar) Instalação Lib Actions Creaturescripts Movements Globalevents Configuração A configuração é feita inteiramente na lib, nesta tabela: dice_cfg = { positions_ = {{x = 164, y = 17, z = 7}, {x = 164, y = 18, z = 7}}, arena_pos = {x = 501, y = 141, z = 7}, wait_ = 60*60*24, max_time = 1800, numbers = { [1] = {"Orshabaal", "Morgaroth", "Ferumbras"}, [2] = {"Demodras", "Juggernaut"}, [3] = {"Demon", "Behemoth"}, [4] = {"Dragon Lord", "Hydra"}, [5] = {"Dragon", "Cyclops"}, [6] = {"Rotworm", "Rat"} }, noob_item = {2158, 10}, pro_item = {2160, 5}, arena_frompos = {x = 491, y = 125, z = 7}, arena_topos = {x = 512, y = 144, z = 7} } Em positions_, coloque as posições que os jogadores devem ficar para poder puxar a alavanca (Pode por quantas quiser). Em arena_pos, coloque a posição da arena (Pra onde os jogadores vão quando puxarem a alavanca). Em wait_, coloque o tempo que o jogador deve esperar para entrar na arena novamente (em segundos). 60*60*24 = 1 dia, aconselho deixar assim. Em max_time, coloque o tempo máximo que os jogadores podem permanecer na arena (em segundos (após esse tempo, eles serão teleportados para o templo)). Em numbers, coloque o nome dos monstros que podem vir dependendo do número sorteado pelo dado (quanto menor o número, mais forte devem ser os monstros). Em noob_item, coloque o {id, quantidade} do item que dropa dos monstros mais fracos/médios Em pro_item, coloque o {id, quantidade} do item que pode dropar dos monstros mais fortes/médios Em arena_frompos, coloque a posição do canto superior esquerdo da arena. Em arena_topos, coloque a posição do canto inferior direito da arena. Coloque NO-LOGOUT TOOL na arena inteira. Siga as imagens para facilitar a configuração: Se alguém se dispuser a fazer um mapa pro evento para eu disponibilizar para download, eu agradeceria. Espero que gostem do evento. Download do evento: Dice Arena Event por Killua.rar
  4. Soulviling

    action Pokebar para PDA

    Colocando pokebar (a barrinha que troca de pokemon) no seu pda sem level. Se quiser que eu faça com pda com level comentem ai. PDA SEM LEVEL 1. Vá na pasta data\actions\scripts\goback.lua e embaixo da parte: function onUse(cid, item, frompos, item2, topos)coloque: sendAllPokemonsBarPoke(cid)2. Vá na pasta data\lib\catch system.luaProcure por: setPlayerStorageValue(cid, 854788, 'done') ende embaixo coloque: sendAllPokemonsBarPoke(cid)3. Vá na pasta data\lib\cooldown bar.lua Procure por: endreturn retende embaixo coloque: 4. Vá na pasta data\lib\some functions.lua Troque por esse: 5. Vá na pasta data\talkactions\talkactions.xml Coloque essa tag: <talkaction words="/poke" case-sensitive="no" event="script" value="poke.lua"/>depois crie um data\talkactions\scripts\poke.lua Coloque o game_barpoke dentro da pasta modules. Download: www.mediafire.com/download/8bavucwof24bkxv/game_barpoke.rar Créditos: Soulviling Caotic
  5. Bruno

    action [TFS 1.x] Critical System

    Introdução Este script consiste em aumentar uma porcentagem dos ataques de acordo com o critical level. Exemplo: Suponhamos que o player tenha Critical Skill 100 e a porcentagem de ataque esteja configurado para aumentar 50%, o player terá 30% de chance de au 50% dos ataques. Instalação O conteúdo da lib serve para o Critical e Dodge System, se você já fez este procedimento no outro script simplesmente ignore e vá para o próximo passo. Em data/lib/core/core.lua adicione o seguinte conteúdo em qualquer parte: dofile('data/lib/core/dclib.lua')Ainda em data/lib/core/core crie um arquivo chamado dclib.lua com o seguinte conteúdo: Agora em data/actions/actions.xml adicione a seguinte tag: <action itemid="18415" script="other/critical.lua"/>Depois em data/actions/scripts/other crie um arquivo chamado critical.lua com o seguinte conteúdo: Pronto, já configuramos o item para atribuir o Critical Skill, vamos configurar a parte dos ataques. Vá em data/creaturescripts/creaturescripts.xml e adicione a seguinte tag: <event type="healthchange" name="CriticalSystem" script="criticalSystem.lua"/>Agora em data/creaturescripts/scripts crie um arquivo chamado criticalSystem.lua com o seguinte conteúdo: Ainda em data/creaturescripts/scripts abra o arquivo login.lua e Antes de: return trueAdicione: player:registerEvent("CriticalSystem") -- Critical System if player:getCriticalLevel() == -1 then player:setCriticalLevel(0) endO sistema está finalizado, agora vamos criar as talkactions para que os players acompanhem seu skill. Em data/talkactions/talkactions.xml adicione a tag: <talkaction words="!critical" script="critical.lua"/>E para finalizar, em data/talkactions/scripts crie um arquivo chamado critical.lua com o seguinte conteúdo: Bom é isso ai! Créditos:
  6. Vodkart

    action BattleField TFS 1.1+

    Informações: Repassei esse sistema: http://www.xtibia.com/forum/topic/192920-battlefield-event/page-1 para a nova versão Versão: TFS 1.1 ou SUPERIOR(NÃO FUNCIONA NO TFS 1.0) OBS: Favor ter noções básicas de como instalar o sistema no seu server. Instalando o Sistema: data\creaturescripts\scripts battlefield.lua function onLogin(player) player:registerEvent("battledeath") if Game.getStorageValue(_Lib_Battle_Info.TeamOne.storage) == -1 then Game.setStorageValue(_Lib_Battle_Info.TeamOne.storage, 0) Game.setStorageValue(_Lib_Battle_Info.TeamTwo.storage, 0) Game.setStorageValue(_Lib_Battle_Info.storage_count, 0) end if player:getStorageValue(_Lib_Battle_Info.TeamOne.storage) >= 1 or player:getStorageValue(_Lib_Battle_Info.TeamTwo.storage) >= 1 then player:setStorageValue(_Lib_Battle_Info.TeamOne.storage, -1) player:setStorageValue(_Lib_Battle_Info.TeamTwo.storage, -1) player:teleportTo(player:getTown():getTemplePosition()) end return true end function onPrepareDeath(creature, lastHitKiller, mostDamageKiller) if creature:isPlayer() and creature:getStorageValue(_Lib_Battle_Info.TeamOne.storage) >= 1 or creature:getStorageValue(_Lib_Battle_Info.TeamTwo.storage) >= 1 then local MyTeam = creature:getStorageValue(_Lib_Battle_Info.TeamOne.storage) >= 1 and _Lib_Battle_Info.TeamOne.storage or _Lib_Battle_Info.TeamTwo.storage local EnemyTeam = creature:getStorageValue(_Lib_Battle_Info.TeamOne.storage) >= 1 and _Lib_Battle_Info.TeamTwo.storage or _Lib_Battle_Info.TeamOne.storage Game.setStorageValue(MyTeam, (Game.getStorageValue(MyTeam)-1)) creature:sendTextMessage(MESSAGE_INFO_DESCR, "[Battle Field] You Are Dead!") creature:setStorageValue(MyTeam, -1) creature:removeCondition(CONDITION_OUTFIT) if Game.getStorageValue(MyTeam) == 0 then getWinnersBattle(EnemyTeam) else doBroadCastBattle(23,"[BattleField Information] ".._Lib_Battle_Info.TeamOne.name.." "..Game.getStorageValue(_Lib_Battle_Info.TeamOne.storage).." VS "..Game.getStorageValue(_Lib_Battle_Info.TeamTwo.storage).." " .._Lib_Battle_Info.TeamTwo.name) end end return true end creaturescript.xml <event type="login" name="battleflogin" script="battlefield.lua"/> <event type="preparedeath" name="battledeath" script="battlefield.lua"/> -------------------------------------------//------------------------------------------------- data\events\scripts abra o arquivo creature.lua e troque: function Creature:onTargetCombat(target) return true end por function Creature:onTargetCombat(target) if not self then return true end if self:isPlayer() and target:isPlayer() then if self:getStorageValue(_Lib_Battle_Info.TeamOne.storage) >= 1 and target:getStorageValue(_Lib_Battle_Info.TeamOne.storage) >= 1 or self:getStorageValue(_Lib_Battle_Info.TeamTwo.storage) >= 1 and target:getStorageValue(_Lib_Battle_Info.TeamTwo.storage) >= 1 then return RETURNVALUE_YOUMAYNOTATTACKTHISPLAYER end end return true end events.xml Troque: <event class="Creature" method="onTargetCombat" enabled="0" /> por <event class="Creature" method="onTargetCombat" enabled="1" /> -------------------------------------------//------------------------------------------------- data\globalevents\scripts battlefieldstart.lua function onStartup() Game.setStorageValue(_Lib_Battle_Info.TeamOne.storage, 0) Game.setStorageValue(_Lib_Battle_Info.TeamTwo.storage, 0) Game.setStorageValue(_Lib_Battle_Info.storage_count, 0) return true end battlefieldthink.lua _Lib_Battle_Days = { ["Tuesday"] = { ["16:00"] = {players = 30}, ["15:32"] = {players = 2} }, ["Wednesday"] = { ["23:06"] = {players = 2} }, ["Thursday"] = { ["11:26"] = {players = 4}, ["20:30"] = {players = 10} } } function onThink(interval) if _Lib_Battle_Days[os.date("%A")] then hours = tostring(os.date("%X")):sub(1, 5) tb = _Lib_Battle_Days[os.date("%A")][hours] if tb and (tb.players % 2 == 0) then local tp = Game.createItem(1387, 1, _Lib_Battle_Info.tpPos) tp:setActionId(45000) CheckEvent(_Lib_Battle_Info.limit_Time) Game.setStorageValue(_Lib_Battle_Info.storage_count, tb.players) broadcastMessage("The event BattleField was opened and We are waiting "..tb.players.." Players! Team divided into "..((tb.players)/2).." VS "..((tb.players)/2)) end end return true end globalevents.xml <globalevent type="startup" name="NoBugBattle" script="battlefieldstart.lua"/> <globalevent interval="60000" name="BattleField" script="battlefieldthink.lua"/> -------------------------------------------//------------------------------------------------- data\lib\core battlefield.lua _Lib_Battle_Info = { Reward = { exp = {true, 100}, items = {true, 2160, 10}, premium_days = {false, 1} }, TeamOne = {name = "Black Assassins", storage = 140120, pos = {x=95,y=113,z=7}}, TeamTwo = {name = "Red Barbarians",storage = 140121,pos = {x=100,y=116,z=7}}, storage_count = 180400, tpPos = {x=92, y=116, z=7}, limit_Time = 2 -- em minutos } function resetBattle() Game.setStorageValue(_Lib_Battle_Info.TeamOne.storage, 0) Game.setStorageValue(_Lib_Battle_Info.TeamTwo.storage, 0) end function doBroadCastBattle(type, msg) for _, cid in pairs(Game.getPlayers()) do if Player(cid):getStorageValue(_Lib_Battle_Info.TeamOne.storage) == 1 or Player(cid):getStorageValue(_Lib_Battle_Info.TeamTwo.storage) == 1 then Player(cid):sendTextMessage(type, msg) end end end function getWinnersBattle(storage) local str, c = "" , 0 for _, cid in pairs(Game.getPlayers()) do local player = Player(cid) if player:getStorageValue(storage) >= 1 then if _Lib_Battle_Info.Reward.exp[1] == true then player:addExperience(_Lib_Battle_Info.Reward.exp[2]) end if _Lib_Battle_Info.Reward.items[1] == true then player:addItem(_Lib_Battle_Info.Reward.items[2], _Lib_Battle_Info.Reward.items[3]) end if _Lib_Battle_Info.Reward.premium_days[1] == true then player:addPremiumDays(_Lib_Battle_Info.Reward.premium_days[2]) end player:teleportTo(player:getTown():getTemplePosition()) player:setStorageValue(storage, -1) player:removeCondition(CONDITION_OUTFIT) c = c+1 end end str = str .. ""..c.." Player"..(c > 1 and "s" or "").." from team "..(Game.getStorageValue(_Lib_Battle_Info.TeamOne.storage) == 0 and _Lib_Battle_Info.TeamTwo.name or _Lib_Battle_Info.TeamOne.name).." won the event battlefield!" resetBattle() OpenWallBattle() return broadcastMessage(str) end function OpenWallBattle() local B = { {1543,{x=96, y=124, z=7, stackpos = 1}}, {1543,{x=95, y=124, z=7, stackpos = 1}} } for i = 1, #B do if getTileItemById(B[i][2], B[i][1]).uid == 0 then doCreateItem(B[i][1], 1, B[i][2]) else doRemoveItem(getThingfromPos(B[i][2]).uid,1) end end end function removeBattleTp() local t = getTileItemById(_Lib_Battle_Info.tpPos, 1387).uid return t > 0 and doRemoveItem(t) and doSendMagicEffect(_Lib_Battle_Info.tpPos, CONST_ME_POFF) end function CheckEvent(delay) if delay > 0 and Game.getStorageValue(_Lib_Battle_Info.storage_count) > 0 then broadcastMessage("[BattleField Event] We are waiting "..Game.getStorageValue(_Lib_Battle_Info.storage_count).." players to Battlefield starts") elseif delay == 0 and Game.getStorageValue(_Lib_Battle_Info.storage_count) > 0 then for _, cid in pairs(Game.getPlayers()) do local player = Player(cid) if player:getStorageValue(_Lib_Battle_Info.TeamOne.storage) == 1 or player:getStorageValue(_Lib_Battle_Info.TeamTwo.storage) == 1 then player:teleportTo(player:getTown():getTemplePosition()) player:setStorageValue(_Lib_Battle_Info.TeamOne.storage, -1) player:setStorageValue(_Lib_Battle_Info.TeamTwo.storage, -1) player:removeCondition(CONDITION_OUTFIT) end end broadcastMessage("The event cannot be started because not had enough players.") Game.setStorageValue(_Lib_Battle_Info.storage_count, 0) resetBattle() removeBattleTp() end addEvent(CheckEvent, 60000, delay-1) end Na mesma pasta procure por data\lib\core.lua e adc essa linha: dofile('data/lib/core/battlefield.lua') -------------------------------------------//------------------------------------------------- data\movements\scripts battlefield.lua local conditionRed = Condition(CONDITION_OUTFIT) conditionRed:setTicks(120 * 60 * 1000) conditionRed:setOutfit({lookType = 143, lookHead = 94, lookBody = 94, lookLegs = 94, lookFeet = 94}) local conditionBlack = Condition(CONDITION_OUTFIT) conditionBlack:setTicks(120 * 60 * 1000) conditionBlack:setOutfit({lookType = 134, lookHead = 114, lookBody = 114, lookLegs = 114, lookFeet = 114}) function onStepIn(creature, item, position, fromPosition) local player = creature:getPlayer() if player == nil then return false end if player:getGroup():getId() >= 3 then return player:teleportTo(_Lib_Battle_Info.TeamOne.pos) end if Game.getStorageValue(_Lib_Battle_Info.storage_count) > 0 then local getMyTeam = Game.getStorageValue(_Lib_Battle_Info.TeamOne.storage) < Game.getStorageValue(_Lib_Battle_Info.TeamTwo.storage) and {_Lib_Battle_Info.TeamOne.storage,_Lib_Battle_Info.TeamOne.pos,_Lib_Battle_Info.TeamOne.name,conditionBlack} or {_Lib_Battle_Info.TeamTwo.storage,_Lib_Battle_Info.TeamTwo.pos, _Lib_Battle_Info.TeamTwo.name, conditionRed} player:addCondition(getMyTeam[4]) player:setStorageValue(getMyTeam[1], 1) Game.setStorageValue(getMyTeam[1], Game.getStorageValue(getMyTeam[1])+1) player:teleportTo(getMyTeam[2]) player:sendTextMessage(MESSAGE_INFO_DESCR, "You will join the team " .. getMyTeam[3] .. "!") Game.setStorageValue(_Lib_Battle_Info.storage_count, Game.getStorageValue(_Lib_Battle_Info.storage_count)-1) end if Game.getStorageValue(_Lib_Battle_Info.storage_count) == 0 then removeBattleTp() broadcastMessage("Battlefield will start in 2 minutes, please create your strategy!") addEvent(broadcastMessage, 2*60*1000-500, "BattleField will begin now!") addEvent(OpenWallBattle, 2*60*1000) end return true end movements.xml <movevent event="StepIn" actionid="45000" script="battlefield.lua"/> -------------------------------------------//------------------------------------------------- Configurações do TIME: em data\lib\core\battlefield.lua tem essas linhas: _Lib_Battle_Info = { Reward = { exp = {true, 100}, items = {true, 2160, 10}, premium_days = {false, 1} }, TeamOne = {name = "Black Assassins", storage = 140120, pos = {x=95,y=113,z=7}}, TeamTwo = {name = "Red Barbarians",storage = 140121,pos = {x=100,y=116,z=7}}, storage_count = 180400, tpPos = {x=92, y=116, z=7}, limit_Time = 10 -- em minutos } exp = {true,100} -- se vai receber exp ao ganhar evento? true ou false e quantidade items = {true, 2160, 10} -- se vai receber items ao ganhar o evento, true ou false e id, quantidade do item premium_days = {false, 1} -- se vai receber premium days ao ganhar o evento, true ou false e quantidade TeamOne = {name = "Black Assassins", storage = 140120, pos = {x=95,y=113,z=7}}, TeamTwo = {name = "Red Barbarians",storage = 140121,pos = {x=100,y=116,z=7}}, Name = nome do time Storage = Não mexa Pos = Onde cada time vai nascer storage_count = 180400 -- NÃO MEXAR tpPos = {x=92, y=116, z=7} -- Onde o teleporte irá aparecer ao iniciar o evento limit_Time = 10 -- É o tempo limite para os jogadores entrarem no teleport.(em minutos) Configurar Datas dos Eventos: Em data\globalevents\scripts\battlefieldthink.lua vai ter essa tabela: _Lib_Battle_Days = { ["Tuesday"] = { ["16:00"] = {players = 30}, ["15:32"] = {players = 2} }, ["Wednesday"] = { ["23:06"] = {players = 2} }, ["Thursday"] = { ["11:26"] = {players = 4}, ["20:30"] = {players = 10} } } ["DIA DA SEMANA"] = { ["HORARIO"] = {players = QUANTOS JOGADORES IRÃO PARTICIPAR} Regra: Sempre coloque números pares para os jogadores, do contrário o evento não irá iniciar.
  7. Bem bem bem bem.. venho trazer aqui um sistema/script seja la como quiser chamar que me chamou bema a tenção por ser bem interessante.. Feito pelo Karain (qual pedi autorização para repostar).. inicialmente havia sido feito para 0.4, inspirado num mini game para mc mas com a tendência de mudança e pedidos da comunidade o mesmo foi atualizado.. Não me peçam 0.4 pois ele não disponibilizou.. e bem.. atualizem-se né... eu não suporto 0.4 (para quem não entende, não suporto de não apóio) .~> Sobre o sistema - Como funciona <~. Primeiramente, se o jogador decidir se juntar a lista de espera do evento ele irá utilizar o comando !join hunger games e pronto.. estará na lista de espera. Depois de um tempo e quantidade de players para o evento (ambos configuráveis), assim que o evento começar eles serão teleportados para um local; terão todos seus items removidos de forma segura para um depot (configurável) Em cada mapa haverá chests que tem uma chance (random) de conter alguns items, o player precisa encontrar e coletar com intenção de sobreviver e ser o último player vivo. Premio configurável .~> Mapa<~. o mapa não foi feito pelo Karain, caso você seja dono do mapa e tenha como provar, por favor informe para que seu nome seja colocado nos créditos Download Do Mapa Aqui P.s.: não sei colocar scan nem como faz, se for preciso scan alguém faz por favor que eu edito o post Bug conhecido (mas acho que para server que não fique reiniciando isso não venha a ser um problema..) não testei essa parte para ver o que realmente ocorre.. // [edit]Código para correção do bug (não oficial) após o hunger.lua do global events[/edit] - alguns items podem não retornar ao player após o evento, mesmo que tenha sido carregado no mapa e nos scripts, no entanto, irá funcionar se o player tiver visitado o depot ao menos uma vez, em que o server ficou online Changelog 1.0.0 23 de julho 2015 : Liberado 1.0.1 29 de julho 2015 : Arrumado a atualziaçãod e items no chest após um player o abrir. 1.0.2 30 de julho 2015 : -Corrigido um erro fatal que acontecia quando um player morria ou dava logout enquanto no evento. -Adicionado o comando !ragequit que faz o jogador se matar enquanto no evento. 1.0.3 8 de agosto 2015: Corrigido bug que fazia o evento death ser executado em qualquer situação pvp, arquivos alterados: - creaturescripts/scripts/hunger.lua 1.0.4 9 de agosto 2015: Corrigido um debug no client por conta de broadcasts, obrigado ao silveralol, arquivos alterados: -globalevents/scripts/hunger.lua -creaturescripts/scripts/hunger.lua -creaturescripts/scripts/eventlogout.lua 1.0.5 30 de agosto 2015 (não oficial): Adicionado uma alteração para o problema de recuperação de items -globalevents/scripts/hunger.lua .~> Códigos <~. Em globalevents/globalevents.xml <globalevent type="startup" name="hunger" script="hunger.lua"/> Crie um arquivo chamado hunger.lua em globalevents/scripts e cole isso Em 30/08 o usuário Mokerhamer apareceu com uma solução para o problema que fazia com que alguns players não conseguissem recuperar os items após o evento, adicionando uma função clone, então funciona abrindo ou não o dp antes do evento.. estou sem pc novamente então não pude testar e o Karain até o momento não se pronunciou, de qualquer maneira parece promissor então vou colocar aparte. alterem por conta e risco. Altere a função player:getbackitems do código acima por este Em creaturescripts/creaturescripts.xml <event type="logout" name="eventlogout" script="eventlogout.lua"/> <event type="death" name="hunger" script="hunger.lua"/> Em creaturescripts/scripts/login.lua antes do return true player:registerEvent("hunger") Em creaturescripts/scripts/eventlogout.lua Em creaturescripts/scripts/hunger.lua Em talkactions/talkactions.xml <talkaction words="!join" separator=" " script="join.lua"/> <talkaction words="!ragequit" separator=" " script="leave.lua"/> Em talkactions/scripts/join.lua Em talkactions/scripts/leave.lua Em actions/actions.xml <!-- Hunger Games Chests --> <action fromaid="60101" toaid="60499" script="games/hunger.lua"/> <action fromaid="61101" toaid="61499" script="games/hunger.lua"/> <action fromaid="62101" toaid="62499" script="games/hunger.lua"/> Em actions/scripts/hunger.lua Curtiu da um rep ae né.. não arranca pedaço da mão e incentiva a trazer mais.. se você for sovina e n gostar de dar rep, ao menos um obrigado ja ta bom.. pelo menos mostra que esta valendo a pena ficar procurando sistemas maneiros para trazer, pedir autorização e traduzir as informações... [edit] para evitar problemas façam testes antes, fui informado por pm que as vezes mesmo indo ao dp antes alguns items ainda não retornam.. eu fiz um teste básico no sistema e não tive esse problema.. mas é melhor prevenir, por isso antes de colocar o sistema on no seu server façam stress test .Certamente o Karain esta tentando resolver mas mesmo assim eu fiz um post no seu tópico perguntando sobre informações mais detalhadas sobre e se esta sendo feito algo [edit 08/08] Alteração no script - vide Changelog [edit 09/08] Alteração no script - vide Changelog [edit 30/08] Alteração para o script - vide Changelog
  8. Drazyn

    action Sistema de Addon

    Eai pessoal blz? eu estava lendo um tópico do nosso amigo Alexxxx... ai o Top...(o Bolz, esqueci o nick dele aq ¬¬) ai eu vi que ele falou que a forma que ele conseguio de adicionar addon no OT dele foi dando um Ctrol+F: Addon, na pasta do PokémonXRain! ai eu baixei ele e tentei, ai adicionei tudo nescessário nele no meu ot, ai quando usei, funcionou perfeitamente! mas claro q não é sem 100% pq quando da fly, ride, surf e etc ele volta pra outfit normal, ai precisa dar Go/back no pokémon para voltar com o addon! mas fora isto esta funcionando perfeitamente! Então Vamos Parar de Blábláblá e começar! Em Data/actions e Actions.xml adiciona isto: <action itemid="IdAddon;IdAddon" event="script" value="Addon.lua"/> Em IdAddon Coloca os ids dos items dos addons! ai para adicionar mais ids é só colocar o ";" Ou seja aquele negocio verde, e depois colocar o ID Ficando: IdAddon;IdAddon;IdAddon e por ai vai Ai Em Data/actions/scripts cria um arquivo lua Chamado "Addon" e Dentro Dele Adiciona Isto: function onUse(cid, item, fromPosition, itemEx, toPosition) local addons = { [12593] = {pokemon= "Electabuzz" , looktype = 1482}, --xxxx = id do item do addon --- "Scyther" = nome do pokemon --- looktype = 1 é o looktype do pokemon com addon [12925] = {pokemon= "Alakazam" , looktype = 1471}, --xxxx = id do item do addon --- "Scyther" = nome do pokemon --- looktype = 1 é o looktype do pokemon com addon } if #getCreatureSummons(cid) > 0 then doPlayerSendCancel(cid, "Please back your pokemon.") return false end local numero = addons[item.itemid].looktype local pb = getPlayerSlotItem(cid, 8).uid local pk = addons[item.itemid].pokemon if getItemAttribute(pb,"poke") ~= pk then doPlayerSendCancel(cid, "Sorry, you can't use this addon on this poke.") return false end if getItemAttribute(pb,"addon") < 1 then doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid, 27, "Congratulations! Now your pokemon will use the addon.") doSetItemAttribute(pb,"addon",numero) return true end return true end Ai para adicionar um Novo Addon é só Adicionar esta tag: [ItemID] = {pokemon= "NomeDoPoke" , looktype = IdDaOutfit}, EM ItemID, troca pelo id do addon em pokemon troca NomeDoPoke, pelo Nome Do Pokémon que vai ser adicionado o Addon Em looktype, troca IdDaOutfit, pelo looktype do pokémon com addon! Em Goback.lua Procure Por: else doPlayerSendCancel(cid, "This pokemon is fainted.") end E Adiciona Emcima de Else Isto: local pk = getCreatureSummons(cid)[1] local pb = getPlayerSlotItem(cid, 8).uid local look = getItemAttribute(pb,"addon") if not look then doSetItemAttribute(pb,"addon",0) return false end if look > 0 then doSetCreatureOutfit(pk, {lookType = look}, -1) return true end Em Catch system.lua Procura Por: doItemSetAttribute(item, "description", description) Adiciona Isto embaixo: doItemSetAttribute(item, "addon", 0) Em Some Functions.lua Procure Por: unLock(item.uid) Da Enter Duas Vezes e Adiciona isto: local pk = getCreatureSummons(cid)[1] local pb = getPlayerSlotItem(cid, 8).uid local look = getItemAttribute(pb,"addon") if not look then doSetItemAttribute(pb,"addon",0) return false end if look > 0 then doSetCreatureOutfit(pk, {lookType = look}, -1) return true end Pronto! Sistema de Addon Funcionando Perfeitamente Caso Coloque Tudo Certinho! Caso Queira uma Addon Box... Faz isto Em Actions.xml Adiciona Isto: <action itemid="12595" event="script" value="addonbox.lua"/> E Em Data/Actions/Scripts Cria um Arquivo Lua Chamado "addonbox" e Adiciona Isto Dentro Dele: function onUse(cid, item, frompos, item2, topos, pos) local addons = {12593,12889} local randomChance = math.random(1, 49) if item2.itemid == 12595 then doSendMagicEffect(getCreaturePosition(cid), 28) doRemoveItem(item2.uid, 1) doPlayerAddItem(cid, addons[randomChance], 1) doPlayerSendTextMessage(cid, 27, "Você ganhou um Addon!") return true end end Pronto Addon Box Adicionada! Créditos Pokémon X Rain Pelo Sistema de Addon Summer Slyer (Zet0N0Murmurou) Por Trazer ao Xtibia, e Por Fazer o Tutorial!
  9. Bem procurei aqui na comunidade um VIP System mais informativo e nada, além de ter tido problema com os que estão aqui e acabei achando em outro lugar um que funcionou perfeitamente para mim. Usando tfs 1.2 disponibilizado por Bruno Minervino Só estou trazendo o conteúdo e por não conhecer bem não posso dar suporte mas do jeito que está é só 'instalar' e vai funcionar. Creditos.: Summ por fazer e a mim por uma ou duas alterações que estavam fazendo as portas funcionarem de forma estranha.. Sistema Vip Talkaction !checkvip para todos os players Talkaction /vip para membros da staff - /vip adddays, NomedoPlayer, 5 --> Adiciona 5 dias vip para o Player. - /vip removedays, NomedoPlayer, 5 --> Remove 5 dias vip do Player. - /vip remove, PlayerName --> Remove todos os dias vip do Player. - /vip check, NomedoPlayer --> Checa quantos dias vip o Player tem. - /vip addinfinite, NomedoPlayer --> Adiciona tempo vip infinito para o Player. Tiles VIP Portas VIP / Actions Items que adicionam dias VIP ItemId 10135 adiciona 10 dias vip. ItemId 10134 adiciona 30 dias vip. ItemId 10133 adiciona 90 dias vip. Imagens Comando !checkvip mas sem ter vip Comando /vip adddays, dracoknight, 5 Comando !checkvip após adicionar 5 dias Comando /vip addinfinite, dracoknight Comando !checkvip após usar infinite Comando /vip remove, dracoknight
  10. Bruno

    action [TFS 1.x] Dodge System

    Introdução Este script consiste em defender uma porcentagem dos ataques recebidos de acordo com o dodge level. Exemplo: Suponhamos que o player tenha Dodge Skill 100 e a porcentagem de defesa esteja configurado para defender 50%, o player terá 30% de chance de defender 50% dos ataques recebidos. Instalação O conteúdo da lib serve para o Dodge e Critical System, se você já fez este procedimento no outro script simplesmente ignore e vá para o próximo passo. Em data/lib/core/core.lua adicione o seguinte conteúdo em qualquer parte: dofile('data/lib/core/dclib.lua')Ainda em data/lib/core/core crie um arquivo chamado dclib.lua com o seguinte conteúdo: Agora em data/actions/actions.xml adicione a seguinte tag: <action itemid="18413" script="other/dodge.lua"/>Depois em data/actions/scripts/other crie um arquivo chamado dodge.lua com o seguinte conteúdo: Pronto, já configuramos o item para atribuir o Dodge Skill, vamos configurar a parte dos ataques recebidos. Vá em data/creaturescripts/creaturescripts.xml e adicione a seguinte tag: <event type="healthchange" name="DodgeSystem" script="dodgeSystem.lua"/>Agora em data/creaturescripts/scripts crie um arquivo chamado dodgeSystem.lua com o seguinte conteúdo: Ainda em data/creaturescripts/scripts abra o arquivo login.lua e Antes de: return trueAdicione: player:registerEvent("DodgeSystem") -- Dodge System if player:getDodgeLevel() == -1 then player:setDodgeLevel(0) endO sistema está finalizado, agora vamos criar as talkactions para que os players acompanhem seu skill. Em data/talkactions/talkactions.xml adicione a tag: <talkaction words="!dodge" script="dodge.lua"/>E para finalizar, em data/talkactions/scripts crie um arquivo chamado dodge.lua com o seguinte conteúdo: Bom é isso ai! Créditos:
  11. Iaewww! Galerinha Ekz!! Eu estava com preguiça de fazer algo grande, então resolvi criar esse code, eu olhei nos outros e vi que eram muito mal feitos, então recriei pra postar pra vocês. Como funciona? Você diz !afk on e começa a sair mensagens em cima do player dizendo "Off-line", "Afk!", "Ausente!", etc (configurável) e fica imóvel (para players não moverem o player) Para sair do modo ausente, ande com o personagem ou diga "!afk off" NEW: Agora player não pode usar comando em área pvp e nem se tiver infight! Player quando está com evento ativo não pode ser atacado! Agora player não pode ser empurrado! Code testado e funcionando 100% Como instalar? Vá em creaturescripts/scripts/login.lua abra ele e coloque isso: registerCreatureEvent(cid, "AwayFromKeyboard1") registerCreatureEvent(cid, "AwayFromKeyboard2") setPlayerStorageValue(cid, 3123, -1) Agora, em creaturescripts/scripts/ crie um arquivo chamado AwayFromKeyboard.lua e adicione isso: function onPush(cid, target) if cid ~= target then if getPlayerStorageValue(target, 3123) ~= -1 then doPlayerSendCancel(cid, "Você não pode empurrar esse player!") return false end end return true end function onCombat(cid, target) if isPlayer(target) or isPlayer(cid) then if getPlayerStorageValue(target, 3123) ~= -1 or getPlayerStorageValue(cid, 3123) ~= -1 then return false end end return true end Agora em creaturescripts.xml adicione isso: <event type="push" name="AwayFromKeyboard1" event="script" value="AwayFromKeyboard.lua"/> <event type="combat" name="AwayFromKeyboard2" event="script" value="AwayFromKeyboard.lua"/> Vá em talkactions/scripts e crie um arquivo chamado AwayFromKeyboard.lua e adicione isso: local msgss = {"AFK!", "OFF!", "Off-Line!", "Ausente!"} local msgsss = {"On!", "Voltei!", "Online!", "On-Line!"} function sendAfkMsg(cid, oldpos) if isCreature(cid) then oldpos1 = getCreaturePosition(cid) if getPlayerStorageValue(cid, 3123) >= 1 and doComparePositions(oldpos, oldpos1) then doSendAnimatedText(getCreaturePosition(cid), msgss[math.random(1, #msgss)], math.random(0, 256)) addEvent(sendAfkMsg, 1500, cid, oldpos1) else setPlayerStorageValue(cid, 3123, -1) doSendAnimatedText(getCreaturePosition(cid), msgsss[math.random(1, #msgss)], math.random(0, 256)) end end end function onSay(cid, words, param) if param == "on" then if getPlayerStorageValue(cid, 3123) >= 1 then doPlayerSendTextMessage(cid, 27, "Você já está no modo afk!") else if getCreatureCondition(cid, CONDITION_INFIGHT) or getTileInfo(getThingPos(cid)).hardcore then doPlayerSendTextMessage(cid, 27, "Você não pode usar esse comando enquanto estiver em fight ou em área PVP!") return true end setPlayerStorageValue(cid, 3123, 1) doPlayerSendTextMessage(cid, 27, "Você acaba de entrar no modo afk! Para sair diga ".. words .." off") sendAfkMsg(cid, getCreaturePosition(cid)) end elseif param == "off" then if getPlayerStorageValue(cid, 3123) >= 1 then setPlayerStorageValue(cid, 3123, -1) doPlayerSendTextMessage(cid, 27, "Você acaba de sair do modo afk!") doSendAnimatedText(getCreaturePosition(cid), msgsss[math.random(1, #msgss)], math.random(0, 256)) else doPlayerSendTextMessage(cid, 27, "Você não está no modo afk para usar este comando!") end else doPlayerSendTextMessage(cid, 27, "Você precisa declarar algum parâmetro (on/off)!") end return true end Pronto, para finalizar vá em talkactions.xml e adicione isso: <talkaction hide="yes" words="!afk" event="script" value="AwayFromKeyboard.lua"/> Espero que gostem do code Créditos: BielLucena1291 (Drazyn1291 - Eu) - Por fazer o script inteiro! Os seguintes foram por dá ideias de melhorias! @Poccnn @samlecter @Danihcv
  12. gabrielbsales

    action Smeargle System[PXG]

    Bom, como um individuo(Vudi) não sabe cumprir o que fala, vou postar o sistema aqui.(não cabe ao post explicar aqui) Bom, aqui está o smeargle system, igual o da PxG. Vamos lá. 1 - Vá na pasta Lib, substitua seu cooldown bar.lua por isso: 2 - Ainda no Lib, no fim(depois do ultimo end) do Some Functions.lua, adicione isso: 3 - Agora no order.lua, do Actions, em baixo de: Adicione: 4 - Se seu servidor ja tiver os spells, sketch 1, sketch 2... Substitua por esses(data/lib/pokemon moves.lua): Se não, use os mesmos acima, não esqueça de adicionar no spells.xml. 5 - Agora, vá em talkactions/scripst, abra o move1.lua e substitua: Por Depois: Por: Pronto, se tiver feito tudo certo, funcionará. Como ficará: Como usar: Créditos: Eu(Todo o script)
  13. Spencer

    action [NTO] Base Naruto Seal War

    Antes de baixarem eu gostaria de enfatizar alguns pontos: - Incluem-se neste download: servidor e cliente . - Inclui alguns virus da base usada no servidor ( Naruto White). - Existem Alguns Bugs no servidor e no mapa, mais nada dificil de resolver - Caso encontre alguma vocação sem spell, e que não tive muito tempo para criar. Ajudei?? REP++ Trade System {100%} Party System {100%} Transformações {100%} +100 monstros {100%} Novos Monstros {100%} Novas sprites {100%} Novas quests {100%} Novas talkactions {100%} Premium Acess {100%} Double exp para premium {100%} Bonus drop {100%} Bonus spells {100%} Vocations: Downloads: a barrinha vermelha e dos virus da base que vem do servidor naruto white mais nada que prejudique o computador pois os virus são inofencivos Não é preciso scans, pois o proprio 4shared faz, e caso peça pra esperar 1000 segundos para iniciar o Download, basta desativar a Extensão Ad-block.. Creditos Apenas Eu.
  14. Opa, galerinha do XTibia, resolvi trazer a solução de uns problemas que vejo que ocorrem com uma certa frequência: Os erros da data base. Neste tutorial vou ensinar a resolver os erros do tipo No such table, Insert into, No such column, ... has no column named... etc. 1°) NO SUCH TABLE Bom, para o erro No such table, basta vc visualizar qual table está faltando. Para isso basta ler o erro na distro: No caso da imagem, está faltando a table: player_statements Para resolver este e qualquer outro problema deste tipo, caso sua data base seja sqlite, basta abrir sua data base pelo Sqlite Studio(download: http://sqlitestudio.pl/?act=download) e clicar em Open SQL query editor: Mas caso sua data base seja Mysql abra pelo phpMyadmin, ou por outro editor de sua preferencia. 1.1°) EXECUTANDO OS COMANDOS PARA RESOLVER O PROBLEMA Bom, dependendo da table que estiver faltando, vc irá colocar seu respectivo comando, segue abaixo TODOS os comandos básicos necessários para que sua data base fique Ok! : (VC VAI PEGAR O COMANDO REFERENTE À TABLE QUE VC QUER!!!) account_viplist accounts bans environment_killers global_storage guild_invites guild_kills guild_ranks guild_wars guilds house_auctions house_data house_lists houses killers market_history market_offers player_deaths player_depotitems player_inboxitems player_items player_killers player_namelocks player_skills player_spells player_statements player_storage player_viplist players server_config server_motd server_record server_reports tile_items tile_store tiles announcements pagsegurotransacoes player_advances reports thanks z_bug_logs z_featured_article z_forum z_helpdesk z_monsters z_network_box z_news_tickers z_ots_comunication z_polls z_polls_answers z_poll_votes z_shop_history_item z_shop_history_pacc z_shop_offer z_spells z_news_big 2°) No such column / "NOME DA TABLE" has no column named "NOME DA COLUMN QUE FALTA" / Insert into Bom, para resolver esse problema vc deve identificar em qual TABLE está essa coluna que falta. Para isso, basta ler o erro como na imagem: No caso da imagem, está faltando a column WORLD_ID dentro da table MARKET_OFFERS. Para resolver, vc deve executar excluir a sua table MARKET_OFFERS existante em sua data base, e em seguida, executar o domando da da market_offers, encontrado acima, logicamente isso só se aplica ao caso da imagem, depende do seu caso, vc deve excutar o comando da table que estiver sendo referida no erro. Mas antes de executá-lo vc deve excluir a sua table EXISTENTE, para então executar o comando. ESTA FORMA DE RESOLUÇÃO SE APLICA AOS TRÊS CASOS: NO SUCH COLUMN, ...HAS NO COLUMN NAMED... e INSERT INTO. Bom galera, é isso. SE ENCONTRAREM, OU SE DEPARAREM COM ALGUM ERRO, BASTA ME PEDIR AJUDA QUE EU DAREI TOTAL SUPORTE PARA VOCÊS! SE ESTIVER FALTANDO MAIS ALGUMA TABLE QUE EU NÃO COLOQUEI AQUI, PF ME INFORMEM E EU ATUALIZAREI O TÓPICO!!! Lembrem-se, se eu te ajudei, por favor, deem REP++ pois foi meio trabalhoso fazer este tutorial todo... ^^ ESTOU A DISPOSIÇÃO DE TODOS! Espero ter ajudado!! E isso é tudo, pessoal! ^^ Créditos Eu (@Danihcv) Abraços.
  15. Fala galera, estava desde ontem tentando criar o Otserver 10.90 global... Finalmente consegui, porém as talkactions para GOD não funcionam, mesmo estando de god. Eu coloco minha group id 3 na database, porém os comandos de god não funcionam, apenas os de GM. é como se eu não tivesse acesso a eles. se alguem puder ajudar agradeço TalkActions: <?xml version="1.0" encoding="UTF-8"?><talkactions> <!-- Gods --> <talkaction words="/addskill" separator=" " script="add_skill.lua" /> <talkaction words="/chameleon" separator=" " script="chameleon.lua" /> <talkaction words="/clean" script="clean.lua" /> <talkaction words="/closeserver" separator=" " script="closeserver.lua" /> <talkaction words="/i" separator=" " script="create_item.lua" /> <talkaction words="/ghost" script="ghost.lua" /> <talkaction words="/hide" script="hide.lua" /> <talkaction words="/mccheck" script="mccheck.lua" /> <talkaction words="/openserver" script="openserver.lua" /> <talkaction words="/owner" separator=" " script="owner.lua" /> <talkaction words="/m" separator=" " script="place_monster.lua" /> <talkaction words="/s" separator=" " script="place_npc.lua" /> <talkaction words="/summon" separator=" " script="place_summon.lua" /> <talkaction words="/save" script="save.lua" /> <talkaction words="/ban" separator=" " script="ban.lua" /> <talkaction words="/ipban" separator=" " script="ipban.lua" /> <talkaction words="/unban" separator=" " script="unban.lua" /> <!-- Achievements Commands --> <talkaction words="/addach" separator=" " script="achievements.lua" /> <talkaction words="/removeach" separator=" " script="achievements.lua" /> <!-- Gamemasters --> <talkaction words="/up" script="up.lua" /> <talkaction words="/down" script="down.lua" /> <talkaction words="/c" separator=" " script="teleport_creature_here.lua" /> <talkaction words="/goto" separator=" " script="teleport_to_creature.lua" /> <talkaction words="/gotopos" separator=" " script="teleport_to_pos.lua" /> <talkaction words="/t" script="teleport_home.lua" /> <talkaction words="/town" separator=" " script="teleport_to_town.lua" /> <talkaction words="/a" separator=" " script="teleport_ntiles.lua" /> <talkaction words="/pos" separator=" " script="position.lua" /> <talkaction words="/info" separator=" " script="info.lua" /> <talkaction words="/r" separator=" " script="removething.lua" /> <talkaction words="/kick" separator=" " script="kick.lua" /> <talkaction words="/B" separator=" " script="broadcast.lua" /> <talkaction words="/looktype" separator=" " script="looktype.lua" /> <talkaction words="/mounts" separator=" " script="allmounts.lua" /> <talkaction words="/addons" separator=" " script="alladdons.lua" /> <!-- Senior Tutors --> <talkaction words="/addtutor" separator=" " script="add_tutor.lua" /> <talkaction words="/removetutor" separator=" " script="remove_tutor.lua" /> <!-- player talkactions --> <talkaction words="!buypremium" script="buyprem.lua" /> <talkaction words="!buyhouse" script="buyhouse.lua" /> <talkaction words="!leavehouse" script="leavehouse.lua" /> <talkaction words="!aol" script="aol.lua" /> <talkaction words="!bless" script="bless.lua" /> <talkaction words="!changesex" script="changesex.lua" /> <talkaction words="!uptime" script="uptime.lua" /> <talkaction words="!deathlist" script="deathlist.lua" /> <talkaction words="!kills" script="kills.lua" /> <talkaction words="!online" script="online.lua" /> <talkaction words="!serverinfo" script="serverinfo.lua" /> <talkaction words="!addon" script="addon.lua" /> <talkaction words="!cast" separator=" " script="start_cast.lua" /> <talkaction words="!cast off" separator=" " script="stop_cast.lua" /> <talkaction words="!stopcast" script="stop_cast.lua" /> <!-- test talkactions --> <talkaction words="!z" separator=" " script="magiceffect.lua" /> <talkaction words="!x" separator=" " script="animationeffect.lua" /></talkactions> Groups: <?xml version="1.0" encoding="UTF-8"?><groups> <group id="1" name="Player" flags="0" access="0" maxdepotitems="0" maxvipentries="0" /> <group id="2" name="Gamemaster" flags="137438953471" access="1" maxdepotitems="0" maxvipentries="200" /> <group id="3" name="Administrator" flags="272730398714" access="1" maxdepotitems="0" maxvipentries="200" /></groups>
  16. Olá, estou tentando fazer que o valor de um storage apareça na minha janela de skills do otclient, mas não estou conseguindo,ja tentei atravez de talkaction e extendedopcode mas não sei fazer o otclient receber e adaptar não achei nada muito detalhado ensinando, eu quero fazer o numero do storage 16900 aparecer do lado do Kanto Caughts: EDIT: Ja consegui resolver, podem fechar o topico.
  17. Então galera a um tempo resetei meu servidor que é MYSQL, desde então meu exiva tem mostrado que o player exivado está offline, não funciona de jeito nenhum, tem como alguem me ajudar ? se não souber a solução desse problema peço uma talkaction ou spell que tenha a mesma função pois já estou perdendo players por causa disso desde já agradeço muito qualquer ajuda !
  18. Shandon

    action [Encerrado] [ERRO] TFS 0.4

    Bom, eu acabei de editar meu Otserver, e eu editei ele em cima desse [TFS 0.4] Porém estou com um problema ao abrir o meu servidor, quando eu inicio e ele fica online instantaneamente ele para de funcionar como mostra a imagem abaixo. Acontece isso usando essas configurações do config. lua. *Eu percebi esse erro quando eu coloco pra rodar com o ip "chaosstyller.servegame.com", pois quando eu coloco o IPV4 no lugar do "chaosstyller.servegame.com" ele roda normalmente,eu consigo entrar normalmente porém os players não conseguem, aparecendo só o account manager para eles, que ao apertarem enter fica só carregando. * Tenho todas as portas liberadas corretamente tanto do modem quanto do firewall, e devidamente testadas, pois, baixei um ot com TFS 0.3.5 coloquei o ip "chaosstyler...." e funcionou sem problemas, os players entraram normalmente. * Tibia versão 8.60 *[TFS 0.4] *SQL * Account Manager - Se alguém souber como arruma, serei eternamente grato, faz tempo que estou editando o server e estou quase colocando-o online.
  19. Adriez

    action [Encerrado] Erro itens mysql

    blz galera, passei meu ot pra mysql e todos os baus actions parou de funfa e todos itens atras deles tbm não estão dando o efeito q dava, vou ter q refazer um por um ou da pra arrumar de uma vez só, segue o erro
  20. Estou com um problema baixei um servidor aqui : http://www.xtibia.com/forum/topic/233906-erondino-patch-v171-source/ Esse server veio com ditto system tudo certo, ele copia o ditto vem as skills na move bar porem ele não solta as skills sai somente a frase "m1" "m2" e quando ele volta pra ball vem como ditto novamente. O Erro no console é esse: [Error - TalkAction Interface] data/talkactions/scripts/move1.lua:onSay Description: data/talkactions/scripts/move1.lua:242: attempt to index field '?' (a nil value) stack traceback: data/talkactions/scripts/move1.lua:242: in function <data/talkactions/scripts/move1.lua:201> Linhas 201 até 250: function onSay(cid, words, param) local sumomdonego = getCreatureSummons(cid)[1] if not sumomdonego then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need a pokemos to moves.") return 0 end local pokemon = cp[getCreatureName(sumomdonego)][words] if isInArray({"Ditto","Smeargle"}, getCreatureName(sumomdonego)) then if isInArray({"28"}, getCreatureOutfit(sumomdonego).lookType) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need a transform to use moves.") return 0 end if exhaustion.get(cid, 548798) then dittocold = math.floor(((exhaustion.get(cid, 548798)) )) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "ths pokemon needs "..dittocold.." seconds to learn the moves") return 0 end local ditto = getPlayerSlotItem(cid, 8) local ropax = getItemAttribute(ditto.uid, "nomepoke") if words == "!cd" then pokemon = cp[ropax][words] if not pokemon then if getPlayerStorageValue(sumomdonego, 1236) <= 0 then return true end end pokemon.pokenome = "Ditto" if ropax == "Smeargle" then pokemon.pokenome = "Smeargle" end else pokemon = cp[ropax][words] -- linha 242 if not pokemon then if getPlayerStorageValue(sumomdonego, 1236) <= 0 then return true end end end Ja tentei olhar outros scripts de ditto aqui no servidor mas são todos para PDA não sei adaptar para as funções do erondino. Se alguem der uma ajuda agradeço..
  21. Beseerker

    action [Encerrado] Problemas com Portas

    Galera, vamos lá. Estou a mais ou menos um mês pra colocar um otserver no ar. Quero algo mais profissional, algo mais pensado e criado com carinho para os tibianos de plantão como eu. Como tudo começou: Bom, vamos pra parte importante: Finalmente Agora eu posso! Primeiros passos: Comecei a fazer as mudanças: O site funcionou com a database! Ah, o ERRO! PORÉM!! E mais: Conclusão: PESSOAL, ANTES QUE ALGUÉM DIGA SOBRE O IP FIXO, MINHA INTENÇÃO AQUI NÃO É DIVULGÁ-LO ENTÃO TIREI TODOS OS REFERENCIAIS DOS PRINTS SOBRE O IP, MAS TODOS OS LUGARES QUE O IP TEM QUE ESTAR, ELE ESTÁ! Espero que não tenha faltado nada que vocês possam precisar. Tentei fazer o mais detalhado possível, tudo o que eu fiz. Se algum de vocês já conseguiram solucionar esse problema, ou acham que sabem como tirar esse bug, me deem um HELP Importante para os admins do Fórum Abraços! Espero respostas!
  22. Bom dia galera, Eu estou trabalhando com o windows 10 e estou criando um server de tibia Baixei o Alissow OTS 5.0 Antes de eu criar o site com a configuração sql no config.lua funciona normal Depois quando vou configurar o site e preciso mudar para mysql no config.lua da problema o site é o geisor acc maker O site consegui configurar está tudo funcionando o meu único problema é o ot que não roda. Ele chega até ligar mas quando tento entrar com as acc que criei no site ou até mesmo o account mangager 1/1 da invalid account ou password Galera alguem me ajuda já fiz de tudo. Abaixo vou colocar algumas fotos para voces entenderem melhor. meu config.lua accountManager = true namelockManager = true newPlayerChooseVoc = true newPlayerSpawnPosX = 100 newPlayerSpawnPosY = 40 newPlayerSpawnPosZ = 6 newPlayerTownId = 1 newPlayerLevel = 10 newPlayerMagicLevel = 0 generateAccountNumber = false generateAccountSalt = false useRookSystem = false rookTownId = 1 rookLevelToGetRooked = 5 rookLevelToLeaveRook = 8 useFragHandler = true redSkullLength = 30 * 24 * 60 * 60 blackSkullLength = 45 * 24 * 60 * 60 fragsLimit = 24 * 60 * 60 fragsSecondLimit = 7 * 24 * 60 * 60 fragsThirdLimit = 30 * 24 * 60 * 60 fragsToRedSkull = 3 fragsSecondToRedSkull = 5 fragsThirdToRedSkull = 10 fragsToBlackSkull = fragsToRedSkull fragsSecondToBlackSkull = fragsSecondToRedSkull fragsThirdToBlackSkull = fragsThirdToRedSkull fragsToBanishment = fragsToRedSkull fragsSecondToBanishment = fragsSecondToRedSkull fragsThirdToBanishment = fragsThirdToRedSkull blackSkulledDeathHealth = 40 blackSkulledDeathMana = 0 useBlackSkull = true advancedFragList = false notationsToBan = 3 warningsToFinalBan = 4 warningsToDeletion = 5 banLength = 7 * 24 * 60 * 60 killsBanLength = 7 * 24 * 60 * 60 finalBanLength = 30 * 24 * 60 * 60 ipBanLength = 1 * 24 * 60 * 60 allowedMaxSizePackets = 20 worldType = "open" protectionLevel = 50 pvpTileIgnoreLevelAndVocationProtection = true pzLocked = 60 * 1000 huntingDuration = 60 * 1000 criticalHitChance = 7 criticalHitMultiplier = 1 displayCriticalHitNotify = false removeWeaponAmmunition = false removeWeaponCharges = false removeRuneCharges = false whiteSkullTime = 15 * 60 * 1000 noDamageToSameLookfeet = false showHealthChange = false showManaChange = false showHealthChangeForMonsters = false showManaChangeForMonsters = false fieldOwnershipDuration = 5 * 1000 stopAttackingAtExit = false loginProtectionPeriod = 10 * 1000 deathLostPercent = 10 stairhopDelay = 2 * 1000 pushCreatureDelay = 2 * 1000 deathContainerId = 1987 gainExperienceColor = 215 addManaSpentInPvPZone = true recoverManaAfterDeathInPvPZone = false squareColor = 0 allowFightback = true fistBaseAttack = 7 useFairfightReduction = true optionalWarAttackableAlly = false worldId = 0 ip = "127.0.0.1" bindOnlyGlobalAddress = false loginPort = 7171 gamePort = "7172" loginTries = 3 retryTimeout = 5 * 1000 loginTimeout = 60 * 1000 maxPlayers = 1000 spoofPlayers = 0 motd = "Welcome to the Gorpolandia Server!" displayOnOrOffAtCharlist = false onePlayerOnlinePerAccount = true allowClones = 0 serverName = "Gorpolandia Server" serverPreview = true loginMessage = "Welcome to the Gorpolandia Server!" statusTimeout = 5 * 60 * 1000 replaceKickOnLogin = true forceSlowConnectionsToDisconnect = false loginOnlyWithLoginServer = false premiumPlayerSkipWaitList = false packetsPerSecond = 50 rsaPrime1 = "14299623962416399520070177382898895550795403345466153217470516082934737582776038882967213386204600674145392845853859217990626450972452084065728686565928113" rsaPrime2 = "7630979195970404721891201847792002125535401292779123937207447574596692788513647179235335529307251350570728407373705564708871762033017096809910315212884101" rsaPublic = "65537" rsaModulus = "109120132967399429278860960508995541528237502902798129123468757937266291492576446330739696001110603907230888610072655818825358503429057592827629436413108566029093628212635953836686562675849720620786279431090218017681061521755056710823876476444260558147179707119674283982419152118103759076030616683978566631413" rsaPrivate = "46730330223584118622160180015036832148732986808519344675210555262940258739805766860224610646919605860206328024326703361630109888417839241959507572247284807035235569619173792292786907845791904955103601652822519121908367187885509270025388641700821735345222087940578381210879116823013776808975766851829020659073" sqlType = "mysql" sqlHost = "127.0.0.1" sqlPort = 3306 sqlUser = "root" sqlPass = "123" sqlDatabase = "database" sqlFile = "alissowserver.s3db" sqlKeepAlive = 0 mysqlReadTimeout = 10 mysqlWriteTimeout = 10 mysqlReconnectionAttempts = 3 encryptionType = "sha1" deathListEnabled = true deathListRequiredTime = 1 * 60 * 1000 deathAssistCount = 19 maxDeathRecords = 5 multipleNames = false ingameGuildManagement = true levelToFormGuild = 75 premiumDaysToFormGuild = 0 guildNameMinLength = 4 guildNameMaxLength = 20 buyableAndSellableHouses = true houseNeedPremium = true bedsRequirePremium = true levelToBuyHouse = 50 housesPerAccount = 0 houseRentAsPrice = false housePriceAsRent = false housePriceEachSquare = 1000 houseSkipInitialRent = true houseRentPeriod = "never" houseCleanOld = 0 guildHalls = true houseProtection = true levelToOfflineInBed = 200 timeBetweenActions = 200 timeBetweenExActions = 1000 timeBetweenCustomActions = 500 hotkeyAimbotEnabled = true tibiaClassicSlots = false canOnlyRopePlayers = true mapName = "Xedegux.otbm" mapAuthor = "Alissow & Xedegux" randomizeTiles = true storeTrash = true cleanProtectedZones = true mailboxDisabledTowns = "" mailMaxAttempts = 20 mailBlockPeriod = 60 * 60 * 1000 mailAttemptsFadeTime = 10 * 60 * 1000 marketEnabled = true marketOfferDuration = 30 * 24 * 60 * 60 premiumToCreateMarketOffer = true checkExpiredMarketOffersEachMinutes = 60 maxMarketOffersAtATimePerPlayer = 100 daemonize = false defaultPriority = "high" niceLevel = 5 serviceThreads = 1 coresUsed = "-1" startupDatabaseOptimization = true updatePremiumStateAtStartup = true confirmOutdatedVersion = false skipItemsVersionCheck = true formulaLevel = 5.0 formulaMagic = 1.0 bufferMutedOnSpellFailure = false spellNameInsteadOfWords = false emoteSpells = false unifiedSpells = true enableCooldowns = true allowChangeOutfit = true allowChangeColors = true allowChangeAddons = true disableOutfitsForPrivilegedPlayers = false addonsOnlyPremium = true dataDirectory = "data/" logsDirectory = "data/logs/" bankSystem = true promptExceptionTracerErrorBox = true maximumDoorLevel = 500 maxMessageBuffer = 4 logPlayersStatements = false tradeLimit = 100 useCapacity = true playerFollowExhaust = 2000 defaultDepotSizePremium = 2000 defaultDepotSize = 1000 useMounts = true unmountPlayerInPz = true separateVipListPerCharacter = false vipListDefaultLimit = 20 vipListDefaultPremiumLimit = 100 houseDataStorage = "binary" saveGlobalStorage = true storePlayerDirection = false savePlayerData = true checkCorpseOwner = true monsterLootMessage = 3 monsterLootMessageType = 29 ghostModeInvisibleEffect = false ghostModeSpellEffects = true idleWarningTime = 14 * 60 * 1000 idleKickTime = 15 * 60 * 1000 reportsExpirationAfterReads = 1 playerQueryDeepness = -1 tileLimit = 0 protectionTileLimit = 0 houseTileLimit = 0 freePremium = false premiumForPromotion = true blessings = true blessingOnlyPremium = true blessingReductionBase = 30 blessingReductionDecrement = 5 eachBlessReduction = 8 pvpBlessingThreshold = 40 fairFightTimeRange = 60 experienceStages = false rateExperience = 400.0 rateExperienceFromPlayers = 10.0 rateSkill = 75.0 rateMagic = 75.0 rateLoot = 0.6 rateSpawnMin = 1 rateSpawnMax = 1 rateMonsterHealth = 1.0 rateMonsterMana = 1.0 rateMonsterAttack = 1.0 rateMonsterDefense = 1.0 minLevelThresholdForKilledPlayer = 0.9 maxLevelThresholdForKilledPlayer = 1.1 rateStaminaLoss = 1 rateStaminaGain = 3 rateStaminaThresholdGain = 12 staminaRatingLimitTop = 40 * 60 staminaRatingLimitBottom = 14 * 60 staminaLootLimit = 14 * 60 rateStaminaAboveNormal = 1.5 rateStaminaUnderNormal = 0.5 staminaThresholdOnlyPremium = true experienceShareRadiusX = 30 experienceShareRadiusY = 30 experienceShareRadiusZ = 1 experienceShareLevelDifference = 2 / 3 extraPartyExperienceLimit = 20 extraPartyExperiencePercent = 5 experienceShareActivity = 2 * 60 * 1000 globalSaveEnabled = false globalSaveHour = 8 globalSaveMinute = 0 shutdownAtGlobalSave = true cleanMapAtGlobalSave = false closeInstanceOnShutdown = true deSpawnRange = 2 deSpawnRadius = 50 monsterSpawnWalkback = true allowBlockSpawn = true maxPlayerSummons = 2 teleportAllSummons = false teleportPlayerSummons = false statusPort = 7171 ownerName = "Staff Alissow Server" ownerEmail = "[email protected]" url = "http://sotserv.blogspot.com.br/" location = "Brazil" displayGamemastersWithOnlineCommand = false disableLuaErrors = false displayPlayersLogging = true prefixChannelLogs = "" runFile = "" outputLog = "" truncateLogOnStartup = false managerPort = 7171 managerLogs = true managerPassword = "" managerLocalhostOnly = true managerConnectionsLimit = 1 adminPort = 7171 adminLogs = true adminPassword = "" adminLocalhostOnly = true adminConnectionsLimit = 1 adminRequireLogin = true adminEncryption = "" adminEncryptionData = ""
  23. o sistema que implementei no meu servidor é esse : http://www.xtibia.com/forum/topic/235005-mega-evolution-system-pxg/ So que há um problema quando uso a mega evolução acontece o seguinte no console: [22/01/2016 14:29:57] [Error - TalkAction Interface] [22/01/2016 14:29:57] data/talkactions/scripts/move1.lua:onSay [22/01/2016 14:29:57] Description: [22/01/2016 14:29:57] data/talkactions/scripts/move1.lua:87: attempt to index local 'moveTable' (a boolean value) [22/01/2016 14:29:57] stack traceback: [22/01/2016 14:29:57] data/talkactions/scripts/move1.lua:87: in function <data/talkactions/scripts/move1.lua:21> e o player simplesmente fala m11 , e não evolui o que poderia ser? o criador do tópico não deu nenhum suporte, estou desesperado, agradeço.
  24. Quando Eu Capturo Um Pokemon Não Da Para Dar Look Nem Usar o Pokemon . Obs : Servidor Com Level System . Obs²: Não Da Erro Na Hora Que da o Catch . Obs³: Da Para Usar Os Pokemons Criados no ( /cb ) . Erro No Look : Look.lua : Erro No Goback : Goback.lua : Level System :
  25. DriGuiins

    action [Encerrado] ERROS NO DISTRO

    Ola, tenho um mapa que gostei da abse dele e gostaria de edita-lo mas o distro esta anunciando muito erros, teria como da uma olhanda e ver quais deles podem ser solucionados ? - Apaguei alguns que sei, que são inofensivos ou que eu sei retirar.
×