Jump to content

Search the Community

Showing results for tags 'mod'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

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

Categories

There are no results to display.


Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Sou

Found 22 results

  1. A pedido do vinnevinne, fiz esse mod, daí achei bem legal e resolvi postar fora do tópico Peça Aqui o Seu Sistema/Evento. Informações O jogador irá puxar uma alavanca, caso não tenha usado em um certo tempo (configurável) e não haja ninguém já dentro da arena, ele será teleportado e a arena irá iniciar em 10 segundos A arena deve ser quadrada de 10 x 10 a 12 x 12 para garantir que ocorra como planejado! Na arena, a primeira wave de monstros (configurável) será invocada após os 10 segundos. Quando o jogador matar o último monstro, ele receberá uma mensagem que a próxima wave começará em 5 segundos Caso ele chegue na última wave, ao matar o último monstro ele será teletransportado de volta ao seu templo, com uma medalha personalizada e seus prêmios (configuráveis) Caso ele morra em alguma wave, ele será teleportado para o templo, não morrerá e poderá ganhar prêmios configuráveis Todas as waves são configuráveis (prêmios, quantos e quais monstros) O máximo de monstros por wave é 55, mas não recomendo deixar acima de 30 Testado em 8.6 Código Arquivo Ultimate Survival.xml na pasta mods Screenshots Configuração Primeiramente, crie uma arena quadrada 12 x 12 no seu mapa. Evite muitas construções como pilares ou estruturas que impeçam o respawn Em seguida, pegue a posição do CANTO SUPERIOR ESQUERDO dessa arena e coloque as coordenadas aqui: posi = {x=x, y=y, z=z} Pegue a posição do CANTO INFERIOR DIREITO dessa arena e coloque as coordenadas aqui: posf = {x=x, y=y, z=z} Configurando as waves: waves = { [1] = {monsters = {'dragon', 'dragon lord'}, count = 30, reward = {exp = 0, item = 2148, amount = 1, money = 100}}, Você deve inserir os nomes dos monstros que serão invocados entre aspas (aleatoriamente), quantos serão invocados (count) e as recompensas que o jogador irá ganhar se morrer nessa wave (deixe tudo como false se não quiser que ele ganhe recompensas ao morrer nessa wave) A posição de entrada do jogador na arena deverá ser editada aqui: posc = {x=109, y=215, z=7} exhaust é o tempo que ele deverá esperar para entrar novamente na arena final_reward são as recompensas que ele ganhará ao terminar a arena Finalmente, a alavanca no mapa deverá ter action id 4599
  2. Abra a pasta Mods do seu servidor e crie um arquivo chamados : Zombie.xml TFS 0.4 TFS 0.3.6 o monstro você instala em data/monsters zombie event.xml tag no monsters.xml <monster name="Zombie Event" file="zombie event.xml"/> Configurando: Sistema zombie_config = { storages = {172100, 172101}, -- não edite players = {min = 2, max = 30}, -- número minimo e máximo para jogadores no evento rewards = {items ={{2160,10},{2494,1}}, trophy = 5805}, -- premiações do jogador timeToStartEvent = 30, -- segundos para começar o evento após dar start CheckTime = 5, -- tempo que o TP fica aberto para os jogadores adrentarem o evento teleport = {{x=145, y=50, z=7}, {x=176 , y=54, z=5}}, -- posiçãodo tp onde aparece, posição para onde o jogador vai ao entrar no tp arena = {{x=173,y=52,z=5},{x=179,y=56,z=6}}, -- posição começo e final da area do evento monster_name = "Zombie Event", -- nome do monstro que será sumonado timeBetweenSpawns = 20, -- a cada quantos segundos é dado o respaw time do zombie no evento min_Level = 20 -- level minimo para participar do evento } Dia e Horário zombie_days = { ["Monday"] = {"13:00","18:00","20:00","22:00"}, ["Tuesday"] = {"13:00","18:00","20:00","22:00"}, ["Wednesday"] = {"13:00","18:00","20:00","22:00"}, ["Thursday"] = {"13:00","18:00","20:00","22:00"}, ["Friday"] = {"13:00","18:00","20:00","22:00"}, ["Saturday"] = {"13:00","18:00","20:00","22:00"}, ["Sunday"] = {"13:00","18:00","20:00","22:00"} } Créditos: Vodkart;
  3. O que é o módulo loot_stats? Este módulo é criado para apresentar itens descartados / monstro morto: contar, acaso, etc. Além disso, o módulo pode mostrar o próprio saque descartado em uma forma gráfica. Todas as operações estão no lado do cliente, então eles precisam de arquivos adicionais (veja Como adicionar?), Eles verificam as notificações de pilhagem e as salvam. Como adicionar? Adicione a pasta [loot_stats] à pasta "mods" ou "modules" (pasta "mods" recomendada) na sua pasta principal do OTClient. Para a pasta items_versions, adicione a pasta com o nome da versão (8.60 -> 860). Dentro da pasta criada, adicione os arquivos items.otb * e items.xml *. * Estes arquivos você pode encontrar em editores de mapas / servidores etc. Como parece Características Informações sobre monstros mortos. Saqueie de todos os monstros. Saqueie de um tipo de monstro. Informações de saque gráfico no canto superior esquerdo. limitações Módulo precisa trabalhar notificações de pilhagem. Este módulo funciona apenas com notificações de saque "clássicas". Você precisa ter items.otb e items.xml para trabalhar neste módulo. Problemas com o carregamento mais longo do OTClient. Download Loot_stats Bugs / Problemas enviados para o projeto no github. Feauters / Ideias etc. adicione aqui.Este módulo funciona apenas com notificações de pilhagem "clássicas" (como rl tibia)! Você precisa adicionar arquivos items.otb e items.xml! Creditos MagicWal ( Criador do Mod ) Walox ( Tradução )
  4. Explicação: Vocês sabem que os comandos que o GOD usa ficam salvos em um arquivo.txt certo? Esse sistema é parecido, só que quando o jogador for trocar items pelo trade vão ficar salvo os IDS dos items que foram trocados e os nomes dos players. 1° Versão é feita pelo Banco de dados: 2° Versão é salvo em um arquivo.txt em data/logs
  5. Nome: Evento for fun Infos: quem é atingido pelo fogo morre, o último a sobreviver ganha. O evento é automático, mas também possui um comando para dar inicio ao evento, só usar /firestart minutos exemplo: /firestart 1 Fire_Storm_Event.xml <?xml version="1.0" encoding="ISO-8859-1"?><mod name="Fire Storm Event" version="8.6" author="Vodkart" contact="" enabled="yes"><config name="fire_config"><![CDATA[Fire = { storages = {172354, 172355}, -- storage Count players = {min = 2, max = 50}, -- min, max players no evento minLevel = 20, -- level minimo para entrar no event rewards = {{2160,10},{2494,1}}, -- premios que vai receber timeToStartEvent = 30, -- segundos para começar o evento CheckTime = 5, -- time to check event teleport = {{x=158, y=53, z=7}, {x=189 , y=58, z=7}}, -- posição do teleport, posição para onde o jogador vai arena = {{x=186,y=54,z=7},{x=193,y=60,z=7}} -- posição começo e final da area}Fire_Days = { ["Monday"] = {"13:00","18:00","20:00","22:00"}, ["Tuesday"] = {"13:00","18:00","20:00","22:00"}, ["Wednesday"] = {"13:00","18:00","20:00","22:00"}, ["Thursday"] = {"13:00","18:00","20:00","22:00"}, ["Friday"] = {"13:00","18:00","20:00","22:00"}, ["Saturday"] = {"13:00","18:00","20:00","22:00"}, ["Sunday"] = {"13:00","18:00","20:00","22:00"}}function removeFireTp() local t = getTileItemById(Fire.teleport[1], 1387).uid return t > 0 and doRemoveItem(t) and doSendMagicEffect(Fire.teleport[1], CONST_ME_POFF)endfunction ZerarStorFire() setGlobalStorageValue(Fire.storages[1], 0) setGlobalStorageValue(Fire.storages[2], 0)endfunction getPlayersInFireEvent() local t = {} for _, pid in pairs(getPlayersOnline()) do if isInRange(getPlayerPosition(pid), Fire.arena[1], Fire.arena[2]) then t[#t+1] = pid end end return tendfunction getFireRewards(cid, items) local backpack = doPlayerAddItem(cid, 1999, 1) -- backpackID for _, i_i in ipairs(items) do local item, amount = i_i[1],i_i[2] if isItemStackable(item) or amount == 1 then doAddContainerItem(backpack, item, amount) else for i = 1, amount do doAddContainerItem(backpack, item, 1) end end endendfunction doFireInArea(n) if #getPlayersInFireEvent() > 1 then for i = 1, n do local pos = {x=math.random(Fire.arena[1].x, Fire.arena[2].x), y=math.random(Fire.arena[1].y,Fire.arena[2].y), z=Fire.arena[1].z} local m = getTopCreature(pos).uid doSendDistanceShoot({x = pos.x - math.random(4, 6), y = pos.y - 5, z = pos.z}, pos, CONST_ANI_FIRE) addEvent(doSendMagicEffect, 150, pos, CONST_ME_HITBYFIRE) addEvent(doSendMagicEffect, 150, pos, CONST_ME_FIREAREA) if m ~= 0 and isPlayer(m) then doSendMagicEffect(getCreaturePosition(m), CONST_ME_FIREAREA) doCreatureSay(m, "Ooh Burn Burn", TALKTYPE_ORANGE_1) local corpse = doCreateItem(3058, 1, getPlayerPosition(m)) doItemSetAttribute(corpse, "description", "You recognize " .. getCreatureName(m) .. ". He was killed by Fire Field.") doSendMagicEffect(getPlayerPosition(m), CONST_ME_POFF) doTeleportThing(m, getTownTemplePosition(getPlayerTown(m))) doPlayerSendTextMessage(m, MESSAGE_EVENT_ADVANCE, "[Fire Storm Event] You died burned out.") end end local x = 2700-(200*n) addEvent(doFireInArea, x <= 0 and 500 or x, n+1) elseif #getPlayersInFireEvent() == 1 then local cid = getPlayersInFireEvent()[1] doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) getFireRewards(cid, Fire.rewards) doBroadcastMessage("Fire Storm Event have finished. The winner is ".. getCreatureName(cid).. ". Congratulations.", MESSAGE_EVENT_ADVANCE) ZerarStorFire() else doBroadcastMessage("No one Won the Fire Storm Event.", MESSAGE_EVENT_ADVANCE) ZerarStorFire() endendfunction CheckFireEvent(delay) if getGlobalStorageValue(Fire.storages[1]) ~= (Fire.players.max+1) then if delay > 0 and getGlobalStorageValue(Fire.storages[1]) < Fire.players.max then doBroadcastMessage("[Fire Stortm Event] Starting in " .. delay .. " minutes! The teleport will be closed when the event start!", MESSAGE_STATUS_WARNING) elseif delay == 0 and getGlobalStorageValue(Fire.storages[1]) < Fire.players.min then for _, cid in pairs(getPlayersInFireEvent()) do doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) end removeFireTp() doBroadcastMessage("The Fire Storm event could not start because of to few players participating.\n At least " .. Fire.players.min .. " players is needed!", MESSAGE_STATUS_WARNING) ZerarStorFire() elseif delay == 0 and getGlobalStorageValue(Fire.storages[1]) >= Fire.players.min then removeFireTp() doBroadcastMessage("Good Lucky! The event will start on "..Fire.timeToStartEvent.." seconds. get ready!") addEvent(doFireInArea, Fire.timeToStartEvent*1000, 1) end addEvent(CheckFireEvent, 60000, delay-1) endend]]></config><globalevent name="Storm_Fire_Start" interval="60" event="script"><![CDATA[domodlib('fire_config')function onThink(interval, lastExecution) if Fire_Days[os.date("%A")] then local hrs = tostring(os.date("%X")):sub(1, 5) if isInArray(Fire_Days[os.date("%A")], hrs) and getGlobalStorageValue(Fire.storages[2]) <= 0 then local tp = doCreateItem(1387, 1, Fire.teleport[1]) doItemSetAttribute(tp, "aid", 45111) CheckFireEvent(Fire.CheckTime) setGlobalStorageValue(Fire.storages[1], 0) end end return trueend]]></globalevent><event type="login" name="Storm_Fire_Login" event="script"><![CDATA[domodlib('fire_config')function onLogin(cid) registerCreatureEvent(cid, "FireStormBatle") if isInRange(getPlayerPosition(cid), Fire.arena[1], Fire.arena[2]) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) end return trueend]]></event><event type="combat" name="FireStormBatle" event="script"><![CDATA[domodlib('fire_config')if isPlayer(cid) and isPlayer(target) and isInRange(getPlayerPosition(cid), Fire.arena[1], Fire.arena[2]) then doPlayerSendCancel(cid, "You may not attack this player.") return falseendreturn true]]></event><movevent type="StepIn" actionid ="45111" event="script"><![CDATA[domodlib('fire_config')function onStepIn(cid, item, position, fromPosition) if not isPlayer(cid) then return true end if getPlayerAccess(cid) > 3 then return doTeleportThing(cid, Fire.teleport[2]) end if getPlayerLevel(cid) < Fire.minLevel then doTeleportThing(cid, fromPosition, true) doPlayerSendCancel(cid, "You need to be at least level " .. Fire.minLevel .. ".") doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return true end if getGlobalStorageValue(Fire.storages[1]) <= Fire.players.max then doTeleportThing(cid, Fire.teleport[2]) setGlobalStorageValue(Fire.storages[1], getGlobalStorageValue(Fire.storages[1])+1) doBroadcastMessage(getPlayerName(cid) .. " entered the fire stortm event! Currently " .. getGlobalStorageValue(Fire.storages[1]) .. " players have joined!", MESSAGE_STATUS_CONSOLE_RED) if getGlobalStorageValue(Fire.storages[1]) == Fire.players.max then setGlobalStorageValue(Fire.storages[1], getGlobalStorageValue(Fire.storages[1])+1) removeFireTp() doBroadcastMessage("The event will start on "..Fire.timeToStartEvent.." seconds. get ready!") addEvent(doFireInArea, Fire.timeToStartEvent*1000, 1) end end return trueend]]></movevent><talkaction words="/firestart;!firestart" access="5" event="buffer"><![CDATA[domodlib('fire_config')if getGlobalStorageValue(Fire.storages[2]) > 0 then doPlayerSendCancel(cid, "The event is already starting.") return trueelseif not param or not tonumber(param) then doPlayerSendCancel(cid, "Use only numbers.") return true endlocal param = tonumber(param) <= 0 and 1 or tonumber(param)local tp = doCreateItem(1387, 1, Fire.teleport[1])doItemSetAttribute(tp, "aid", 45111)CheckFireEvent(tonumber(param))setGlobalStorageValue(Fire.storages[1], 0)setGlobalStorageValue(Fire.storages[2], 1)]]></talkaction><globalevent name="FireDebug-Start" type="start" event="buffer"><![CDATA[domodlib('fire_config')ZerarStorFire()return true]]></globalevent></mod> Baixa esse arquivo e adicione no seu servidor no respectivo lugar.! fire lua.rar fire lua.rar
  6. Créditos: EddyHavoc e Slawkens. Objetivo Esse script mostra quem deu look em você. Ao player dar look em você, aparecerá uma mensagem avisando. Tutorial Acesse a pasta MODS e crie um arquivo chamado lookingatyou.xml, coloque isso dentro do arquivo: <?xml version="1.0" encoding="UTF-8"?> <mod name="peeper" version="1.0" author="" contact="" enabled="yes"> <config name="peeper-config"><![CDATA[ -- anonymously or display peeper name? anonymous = "no" -- ignore players with access (will not show message when they look on someone) hiddenAccess = 3 -- message color (type) messageType = MESSAGE_STATUS_DEFAULT ]]></config> <event type="look" name="peeper-event" event="script"><![CDATA[ domodlib('peeper-config') local config = { anonymous = getBooleanFromString(anonymous), hiddenAccess = hiddenAccess, messageType = messageType } function onLook(cid, thing, position, lookDistance) if(isPlayer(thing.uid) and getPlayerAccess(cid) < config.hiddenAccess) then doPlayerSendTextMessage(thing.uid, config.messageType, (config.anonymous and "Someone" or getPlayerName(cid)) .. " is looking at you.") end return true end ]]></event> <event type="login" name="peeper-login" event="buffer"><![CDATA[ registerCreatureEvent(cid, "peeper-event") _result = true ]]></event> </mod>
  7. Greetings, hello people, my first post help wanted, that if there was a chance you edit for example, a Military Rank but instead of frags is level, someone pass me the mod Military Rank but level, explained to me: for example; [8] Private [8] << instead of frags it level Thank you for your attention and thrives help.
  8. lá galera o/ sou noob nesses negócios, mais aprendo mt bem tbm... ou quase bom... como podem ver estou desenvolvendo um ot de SAO (sword art online) e queria fazer um sistema de patente... o inventario como podem ver eu ja fiz. Ja o resto é tudo photoshop a barra de life, e o resto... mais queria saber se tem como fazer, e se tem como posso fazer? é tipo um sistema de patente, aonde em certo level o player ganharar ou por (level ou por quest, ou por evento) uma 'insignia' que dependendo pode dar, mais life, força, defesa, ganhar mais dinheiro, doublexp... podendo escolher até 3. level 5 ele usa 1 level 15 ele usa 2 level 40 ele usa os 3 desde já obrigaduuu! s2
  9. Eae Galera Tudo na Paz?[+] Hoje Vou Postar um Script de Catch Por Skill Configurado No "Sword Fighting" do Seu Old Client Intao vamos La:-Resumo: Quanto Maior o Skill "Catching" Maior a chance de Captura do Pokemon![+] OBS: Eu nao Vou Postar o Script Completo Pois de Cada (PDA) ou (PDA - COM PokeLevel) é Diferente um do Outro, Eu So vou Ensinar a Voces a como Adicionar o Sistema em Seus Servidores![+] Servidor Testado:- Pokemon Dash Advanced [+] Primeiro Vai em Data/Lib/catchsystem.lua e Procure por essa Funçao: function doCapturePokemon(cid, poke, ballid, status, typeee) [+] Na Parte aonde manda a MSG de que Voce "capturou um Pokemon" e "Capturou um Pokemon e Foi para o CP" add Isso Abaixo dessas Msg: doPlayerAddSkillTry(cid,2,10) - Resumo: doPlayerAddSkillTry(cid,2,10) --- Quando Capturar um Pokemon vai Ganhar 10% de Skill "2".- Obs: No meu Client o Skill Catching Esta no Skill "Sword Fighting" [+] Bom Logo Apos Voce vai em data/actions/catch.lua e no Começo do Script add isso: local skill20 = 10 -- Mude aqui a chance de capiturar local skill30 = 15 -- Mude aqui a chance de capiturar local skill40 = 20 -- Mude aqui a chance de capiturar local skill50 = 25 -- Mude aqui a chance de capiturar local skill60 = 30-- Mude aqui a chance de capiturar local skill70 = 35 -- Mude aqui a chance de capiturar local skill80 = 40-- Mude aqui a chance de capiturar local skill90 = 45-- Mude aqui a chance de capiturar local skill100 = 50-- Mude aqui a chance de capiturar local skill150 = 75 -- Mude aqui a chance de capiturar [+] Agora Procure essa Funçao: local catchinfo = {} local catchinfo = {} if getPlayerSkillLevel(cid, 2) <= 20 then ---- Skill Cathing 0 a 25 catchinfo.rate = ballcatch[item.itemid].cr + skill20 doPlayerSendTextMessage(cid, 19, "Catch Rate: [ballName: "..ballcatch[item.itemid].typeee.."] [ballRate: "..ballcatch[item.itemid].cr.."x + BonusRate: "..skill20.."x]") else if getPlayerSkillLevel(cid, 2) >= 30 then ---- Skill Cathing 0 a 25 catchinfo.rate = ballcatch[item.itemid].cr + skill30 doPlayerSendTextMessage(cid, 19, "Catch Rate: [ballName: "..ballcatch[item.itemid].typeee.."] [ballRate: "..ballcatch[item.itemid].cr.."x + BonusRate: "..skill30.."x]") else if getPlayerSkillLevel(cid, 2) >= 40 then ---- Skill Cathing 0 a 25 catchinfo.rate = ballcatch[item.itemid].cr + skill40 doPlayerSendTextMessage(cid, 19, "Catch Rate: [ballName: "..ballcatch[item.itemid].typeee.."] [ballRate: "..ballcatch[item.itemid].cr.."x + BonusRate: "..skill40.."x]") else if getPlayerSkillLevel(cid, 2) >= 50 then ---- Skill Cathing 0 a 25 catchinfo.rate = ballcatch[item.itemid].cr + skill50 doPlayerSendTextMessage(cid, 19, "Catch Rate: [ballName: "..ballcatch[item.itemid].typeee.."] [ballRate: "..ballcatch[item.itemid].cr.."x + BonusRate:"..skill50.."x]") else if getPlayerSkillLevel(cid, 2) >= 60 then ---- Skill Cathing 0 a 25 catchinfo.rate = ballcatch[item.itemid].cr + skill60 doPlayerSendTextMessage(cid, 19, "Catch Rate: [ballName: "..ballcatch[item.itemid].typeee.."] [ballRate: "..ballcatch[item.itemid].cr.."x + BonusRate:"..skill60.."x]") else if getPlayerSkillLevel(cid, 2) >= 70 then ---- Skill Cathing 0 a 25 catchinfo.rate = ballcatch[item.itemid].cr + skill70 doPlayerSendTextMessage(cid, 19, "Catch Rate: [ballName: "..ballcatch[item.itemid].typeee.."] [ballRate: "..ballcatch[item.itemid].cr.."x + BonusRate:"..skill70.."x]") else if getPlayerSkillLevel(cid, 2) >= 80 then ---- Skill Cathing 0 a 25 catchinfo.rate = ballcatch[item.itemid].cr + skill80 doPlayerSendTextMessage(cid, 19, "Catch Rate: [ballName: "..ballcatch[item.itemid].typeee.."] [ballRate: "..ballcatch[item.itemid].cr.."x + BonusRate:"..skill80.."x]") else if getPlayerSkillLevel(cid, 2) >= 90 then ---- Skill Cathing 26 a 50 catchinfo.rate = ballcatch[item.itemid].cr + skill90 doPlayerSendTextMessage(cid, 19, "Catch Rate: [ballName: "..ballcatch[item.itemid].typeee.."] [ballRate: "..ballcatch[item.itemid].cr.."x + BonusRate:"..skill90.."x]") else if getPlayerSkillLevel(cid, 2) >= 100 then ---- Skill Cathing 51 a 75 catchinfo.rate = ballcatch[item.itemid].cr + skill100 doPlayerSendTextMessage(cid, 19, "Catch Rate: [ballName: "..ballcatch[item.itemid].typeee.."] [ballRate: "..ballcatch[item.itemid].cr.."x + BonusRate:"..skill100.."x]") else if getPlayerSkillLevel(cid, 2) >= 150 then ---- Skill Cathing 76 a 100...... catchinfo.rate = ballcatch[item.itemid].cr + skill150 doPlayerSendTextMessage(cid, 19, "Catch Rate: [ballName: "..ballcatch[item.itemid].typeee.."] [ballRate: "..ballcatch[item.itemid].cr.."x + BonusRate:"..skill150.."x]") else catchinfo.rate = ballcatch[item.itemid].cr end end end end end end end end end end catchinfo.catch = ballcatch[item.itemid].on catchinfo.fail = ballcatch[item.itemid].off catchinfo.newid = newidd catchinfo.name = doCorrectPokemonName(name) catchinfo.topos = topos catchinfo.chance = x.chance doSendDistanceShoot(getThingPos(cid), topos, ballcatch[item.itemid].send) doRemoveItem(item.uid, 1) local d = getDistanceBetween(getThingPos(cid), topos) addEvent(doSendPokeBall, d * 70 + 100 - (d * 14) , cid, catchinfo, false, false, typeee) addEvent(doSendMagicEffect, (d * 70 + 100 - (d * 14)) - 100, topos, 3) return true end -OBS: O Script é Bem Basico. Dar Para adicionar varios Coisas Como (Ganhar EXP Dependendo do Skill/Almentar Chance de Catch para Premium Account e etc...) [+] OBS: So vai ganhar Skill se Voce Capturar o Pokemon e Recomendo voces Deixar o Catch BAIXO! Por que o Script faz a Soma de Rate um Exemplo:Pokeball Rate: 50Skill Cathing Rate (com 25 de Skill Cathing) : 100Somar: 50+100 = 150 de Rate o Jogador vai ter . [+] Creditos: NextBR "um sitezinho qualquer"
  10. galera alguma alma bondosa pode me ajuda com esse sistema
  11. Bom pessoal enfim eu consegui lançar o script arrumado para TFS 0.3.6 e 0.4 Mais dessa vez eu fiz ele de uma maneira muito mais facil de usar e 100% funcional você apenas vai colocar os arquivos na pasta MODS de sua TFS para que ele funcione ele se instala sozinho em sua Database Vip Sistem TFS 0.3.6.rar Vip Sistem TFS 0.4.rar O script possibilita você ver quantos dias de vip restam nas contas quando elas são atualizadas em tempo real aparece no console a quantidade de dias que restam nas contas vip quando são atualizadas alem de que o player mesmo pode ver quantos dias restante ele tem de vip aparece para o player logo que ele entra em seu character a quantidade de dias vip Bom para saber como usar é simples para adicionar a vip la vai um explo de adicionar 30 dias no player Luke sky walker /addvip Luke sky walker, 30 Esse script tem um sistema para aqueles que usam ROOKGUARD no servidor é facil configurar caso você usar o sistema de rookguard é so você configurar no vip_sys.xml é facil logo abaixo tera uma explicação <config name="Rook_Config"><![CDATA[RookSistem = "yes"RookTempleID = 1MainTempleID = 2]]></config> Aqui o sistema de rook está ativado mais caso você queira desativar!!! você coloca RookSistem = "no" e as configs logo abaixo de RookSistem são apenas os ID dos templo o RookTempleID você coloca o ID do templo de rook e MainTempleID você coloca o ID preferencial de uma cidade de Main O tile que você quiser que so VIP passe coloque a ActionID 7777 Caso você ache bugs postem aqui mais creio que não tenha nenhum bug pois testei tudo. OBS: Ele foi projetado para TFS ORIGINAL caso você esteja usando uma versão ja editada por outras pessoas não garanto o FUNCIONAMENTO Por favor não tirem os creditos deste script! Gostou??? Não esqueça de deixar um comentario e nao esqueça do REP++ Obrigado. Vip Sistem TFS 0.3.6.rar Vip Sistem TFS 0.4.rar
  12. Procurei procurei e procurei e nada encontrei, preciso de um sistema de autoloot pro meu server, até achei vários sistemas diferentes mas por alguma razão nenhum funcionou no ot, a versão é 9.60, alguém consegue implementar um que funcione? ou me recomendar algum sei lá, desde já agradeço. Encontrei esse sistema aqui, que QUASE funcionou mas não deu certo tb, o erro que deu nele é na hora de add o item, simplesmente diz que o item não existe. o link do tópico que quase funcionou é esse se quiserem olhar -> http://www.xtibia.com/forum/topic/234430-sistema-autoloot/
  13. WakiV Otclient Updater O que faz? Esse auto-updater, conta com as funções de: Checar se existe novos updates na inicialização do 'OTC', baixa os updates em diretórios especificados pelo administrador, baixa e extrai arquivos '.ZIP', reinicia o' OTC' apos terminar o download do patch, múltiplos patchs. Instalação: 1 - Crie no diretório raiz de seu site um arquivo '.txt' chamado de 'Update.txt', preencha o arquivo como o arquivo a seguir: http://pastebin.com/cdwnD6qg Obs: nesse pastebin já tem as instruções de como adicionar novos updates. 2 - Baixe o 'Updater Patcher.rar' extraia na pasta raiz do seu otclient. 3 - Depois de ter baixado o 'Updater Mod.rar', extraia e coloque a pasta do mod na pasta 'mods' do seu otclient configure o caminho para o executavel do 'updater patcher' no arquivo .lua. 4 - Agora você precisa ir na pasta raiz do seu 'otclient 'e configurar o arquivo 'Config.ini' com os seguites dados: [Geral] WebSite=http://dragonhertsserver.pusku.com/ - o seu website vai aqui é o site onde fica o 'update.txt' Client=otclient - nome do executavel do seu otclient SiteFile=Update.txt - o nome do arquivo que fica no site marcando os updates 5 - Depois de tudo configurado é só abrir o 'otclient' normalmente que o 'patcher' vai executar junto. use sempre link de download direto para adicionar um novo update. Download: Updater Mod: http://www.mediafire...Updater Mod.rar Updater Patcher: http://www.mediafire...ate patcher.rar Vídeo que mostra como o mod funciona: Imagem: Obs: Se você tem um servidor é quer usar o updater, crie um instalador definindo já o diretório do seu client para o player não precisar configurar o arquivos '.lua' Obs²: Em arquivos compactados use sempre a extenção '.ZIP' Obs³: É preciso o NET framework para rodar. Créditos: vyctor17
  14. Eaae galera, estou com uma duvida, encontrei pelo fórum um MOD de Jogos Vorazes esse aqui: Porém o mesmo é apenas para TFS 1.2 e eu uso o TFS 0.4 , existe alguma possibilidade de eu colocar esse event no meu servidor mesmo sendo TFS 0.4? Eu até tenho o TFS 1.2 para 8.6 , mas nao está compilado e eu teria de mudar mt sistemas do meu server coisa que eu não manjo auhuahua É isso, gostei mt do mod e queria usa-lo em meu server, tem alguma maneira ?
  15. Bom pessoal, eu encontrei um mod de evento CTF, eu configurei tudo certinho e nenhum erro aparece no meu TFS 0,4, mas quando eu ligo o server, o evento começa dizendo que "em um minuto, CTF vai começar ! ". Eu configurei para cancelar o evento, se um jogador ou menos entrar no CTF, ok, mas, entro com 2 jogadores, e depois de passar o 1 minuto, o evento é cancelado, mesmo se eu ter entrado com dois jogadores. Eu vim aqui para pedir para alguém que pode editar o mod, para começar o evento em algum tempo, que eu escolher, e se é possível, para criar uma talkaction para abrir o CTF, e outra talkaction para fechar o CTF se ele estiver aberto. O talkaction que eu quero é: O meu ctf.xml(mod) é: POR FAVOR, ME AJUDEM! NINGUÉM AJUDOU ATÉ AGORA! PRECISO MUITO DESSE EVENTO, PORÉM ELE ABRE JÁ AO INICIAR O SERVER, E NÃO TEM COMO FECHAR ELE, E NÃO INICIA NEM COM 2 PLAYERS!
  16. Créditos: Larissa Azhaurn Tutorial items.xml, CTRL+F e coloque amulet of loss. E altere como quiser: <item id="2173" article="an" name="amulet of loss"> ------ Caso queira, pode alterar p/ nome do seu servidor <attribute key="weight" value="PESO DO AMULET" /> ------ EX: 200 <attribute key="slotType" value="necklace" /> <attribute key="charges" value="QUANTIDADE QUE VOCÊ QUER" /> ---- Se quiser infinita, coloque 9999999 </item> OBS. Não achei área específica para esse conteúdo.
  17. Créditos: luanluciano93 HEAL - Se o life dele chega a 50k, ele solta um aviso, e depois de 5 segundos heala 300k. Crie um arquivo em creaturescripts/scripts/ com o nome heal_gaz.lua e coloque esse código: -- <event type="healthchange" name="HealGaz" script="heal_gaz.lua"/> local config = { life_ative = 50000, life_add = 300000, seconds_ative = 5, gStorage = 90702, } local function Uheal(cid) local gaz = Monster(cid) gaz:addHealth(config.life_add) gaz:say("Gaz'haragoth HEALS himself!", TALKTYPE_MONSTER_SAY) gaz:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED) Game.setStorageValue(config.gStorage, 0) end function onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin) if attacker then if creature:getHealth() < config.life_ative and Game.getStorageValue(config.gStorage) < 1 then creature:say("Gaz'haragoth beginns to draw on the nightmares to HEAL himself!", TALKTYPE_MONSTER_SAY) addEvent(Uheal, 1000 * config.seconds_ative, creature.uid) Game.setStorageValue(config.gStorage, 1) end end return primaryDamage, primaryType, secondaryDamage, secondaryType end A tag que deve add ao creaturescript.xml esta como comentário no script, é só adicionar. Depois para funcionar no Gaz, vá até o xml dele em monster e coloque em seu código: <script> <event name="HealGaz" /> </script> TELEPORT - Quem passa em cima do corpo dos summons do boss é teleportado para perto dele. Crie um arquivo em movements/scripts/ com o nome tp_gaz.lua e coloque esse código: -- <movevent event="StepIn" itemid="22455" script="teleport_gaz.lua"/> function onStepIn(creature, item, position, fromPosition) local player = creature:getPlayer() if player == nil then return false end local monster = Creature("Gaz'Haragoth") if monster then player:teleportTo(monster:getPosition()) else player:teleportTo(fromPosition) end return true end A tag que deve add ao movements.xml esta como comentário no script, é só adicionar.
  18. Instalação Primeiramente abra a pasta de seu ot, e procure pelo arquivo config.lua e procure por essas 2 linhas : experienceStages = false rateExperience = 50 se o experienceStages tiver ativado mude para false, pois o Stages é configurado no próprio script, e é muito importante o rateExperience tiver como 0, exemplo: experienceStages = false rateExperience = 0 agora entre na pasta creaturescripts/scripts e crie um arquivo lua, chamado exphit.lua e cole o seguinte código: para versões mais antigas como 8.54, 8.6 use : para versões mais novas como 9.8 : na mesma pasta procure pelo arquivo login.lua, e em cima de return true, adc a seguinte linha: registerCreatureEvent(cid, "ExpHit") volte na pasta anterior creaturescripts, e procure pelo arquivo creaturescritps.xml e cole as 2 tags: <event type="statschange" name="ExpGain" event="script" value="exphit.lua"/> <event type="combat" name="ExpHit" event="script" value="exphit.lua"/> para configurar a exp, que era configurada no config.lua está no começo do arquivo exphit.lua , e as configurações da party tbem, dos anéis, e até pode ser usado stages agora, segue abaixo o exemplo: -- CONFIGURAÇÕES DE EXPERIENCIA -- useStages = false -- Usar sistema de Stages , true/false premiumMultipliqueExp = 2 -- Players Premiums terão exp multiplicada, caso não querer deixe 1. rateExp = 50 -- Exp caso não for usar stages. local stages = { -- ["DELEVEL-ATELEVEL"] = EXP, (OBS: NUNCA REPETIR O MSM NUMERO, SEMPRE COLOCAR UM A MAIS.) ["1-50"] = 50, ["51-100"] = 45, ["101-150"] = 40, ["151-200"] = 35, ["201-250"] = 30, ["251-300"] = 25, ["351-400"] = 20, } ultimateExp = 15 -- exp que vai usar caso o level do player não tiver mais na tabela . -- CONFIGURAÇÕES DA PARTY partyPorcent = 40 -- Quantos Porcento da exp vai para os membros da party levelBlockParty = 1000 -- Diferença Maxima de Level permitida para membro da party ganhar exp. expShareRadiusX = 30 -- Distancia maxima permitida no eixo X para membro da party ganhar exp. expShareRadiusY = 30 -- Distancia maxima permitida no eixo Y para membro da party ganhar exp. expShareRadiusZ = 1 -- Distancia maxima permitida no eixo Z para membro da party ganhar exp. -- CONFIGURAÇÕES DE RINGS -- local rings = { -- [ID DO ANEL] = EXP MULTIPLICADA POR X EXP. [3048] = 2, [3049] = 4, [3050] = 6, } -- FIM DAS CONFIGURAÇÕES ---- Log V2.0 : Log V3.0 ( 03/02/2013 ) : Log V4.0 ( 12/11/2013 ) :
  19. Automatic Raids.xml <?xml version="1.0" encoding="UTF-8"?> <mod name="Automatic Raids" version="1.0" author="Vodkart And xotservx" contact="xtibia.com" enabled="yes"> <config name="raids_func"><![CDATA[ days = { ["Monday"] = { ["21:30"] = {nome = "Orshabaal", pos = {fromPosition = {x=184, y=55, z=7},toPosition = {x=188, y=58, z=7}},m = {"5 Fire Devil", "2 Orshabaal"}, Time = 15}, ["21:33"] = {nome = "Dragon", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}},m = {"100 Dragon"}, Time = 20} }, ["Sunday"] = { ["10:08"] = {nome = "Demon", pos = {fromPosition = {x=202, y=11, z=7},toPosition = {x=204, y=12, z=7}}, m = {"1 Demon"}, Time = 15}, ["10:46"] = {nome = "Hydra", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}}, m = {"7 Hydra", "4 Cyclops"}, Time = 20} } } ]]></config> <globalevent name="AutomaticRaids" interval="60" event="script"><![CDATA[ domodlib('raids_func') function onThink(interval, lastExecution) if days[os.date("%A")] then hours = tostring(os.date("%X")):sub(1, 5) tb = days[os.date("%A")][hours] if tb then function removeCreature(tb) for x = ((tb.pos.fromPosition.x)-10), ((tb.pos.toPosition.x)+10) do for y = ((tb.pos.fromPosition.y)-10), ((tb.pos.toPosition.y)+10) do local m = getTopCreature({x=x, y=y, z= tb.pos.fromPosition.z}).uid if m ~= 0 and isMonster(m) then doRemoveCreature(m) end end end end doBroadcastMessage("The invasion of " .. tb.nome .. " started") for _,x in pairs(tb.m) do for s = 1, tonumber(x:match("%d+")) do pos = {x = math.random(tb.pos.fromPosition.x, tb.pos.toPosition.x), y = math.random(tb.pos.fromPosition.y, tb.pos.toPosition.y), z = tb.pos.fromPosition.z} doSummonCreature(x:match("%s(.+)"), pos) end end addEvent(removeCreature, tb.Time*60*1000, tb) end end return true end ]]></globalevent> </mod> Configuração: days = { ["Monday"] = { ["21:30"] = {nome = "Orshabaal", pos = {fromPosition = {x=184, y=55, z=7},toPosition = {x=188, y=58, z=7}},m = {"5 Fire Devil", "2 Orshabaal"}, Time = 1}, ["21:33"] = {nome = "Dragon", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}},m = {"100 Dragon"}, Time = 2} }, ["Tuesday"] = { ["10:44"] = {nome = "Demon", pos = {fromPosition = {x=184, y=55, z=7},toPosition = {x=188, y=58, z=7}}, m = {"5 Demon", "8 Fire Devil"}, Time = 1}, ["10:46"] = {nome = "Hydra", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}}, m = {"7 Hydra", "4 Cyclops"}, Time = 2} } } ["DIA"] = { ["HORA DA INVASÃO"] = {nome = "NOME DA INVASÃO", pos = {começo e final da área}, monster = {"MONSTROS"}, Time = para remover os monstro} } O dia da invasão é colocada entre " " e somente dia em inglês e a primeira letra maiúscula, exemplo: "Saturday" Depois são as hora da invasão, que é colocada entre " " e somente a hora e minuto, segundos não precisa exemplo: "15:00" As Posições estão entre { } adicionando as posições x, y e z, é o começo e final da área exemplo: pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}} fromPosition -- começo da área onde vai acontecer a raid toPosition -- final da área onde vai acontecer a raid Os monters tem um modo especial de configurar, vc coloca entre { }, e cada monstro entre " ", e entre as " " vc adiciona "QUANTIDADE MONSTRO", e para adicionar mais tipos de monstro se separa por virgulas, exemplo: {"40 Water Elemental", "5 Cyclops"} Time é uma função extra, é para caso ninguém participe do evento os monstros não fiquem pelo mapa, e é em minutos, exemplo: Time = 15
  20. Ae galera fmz? bom, estou meio com preça pois aqui ja é umas 4 da manha... mas tudo bem... Hoje vim postar downloads de programas que facilitam a vida de tibianos, bom, como dizem eles "quebram um galho". (Downloads no final do tópico). Primeiro aqui o "sprite editor": Ele serve para "editar" itens... clique em "load items" e so modificar seu item Agora por segundo o "spell maker": Esse serve para criar "spells" ou melhor "magias" so colocar o tipo dela e tal... Por terceiro o "npc maker v3.0": Serve para criar npcs de todos os tipos!, só selecione qual que você quer criar e seguir o que diz E finalmente quarto e ultimo "quest maker v0.3": Você usa para fazer script de baus de quest... Downloads: Sprite Editor: http://www.4shared.c...te_Editor.html? Spells Maker: http://www.4shared.c...lls_Maker.html? Npc Maker: http://www.4shared.c...Maker_v30.html? Quest Maker: http://www.4shared.c...eta_Test_.html? Scan [Vilden] -> https://www.virustotal.com/file/ac0b2a146094e94bc4d32069bc05b6869c66ee67a33a8ea7564045c099d857ee/analysis/1339134345/ Bom é so isso! esperam que tenham gostado, especialmente quem estava procurando um desses programas e encontrou aqui! Se gostou REP+
  21. godjean

    Bug Script

    Ola pessoal do Xtibia então vou explica a minha situação. Estou com um problema com uns script (tem nada haver com o script e sim com uma tag no Item.Xml) O script ta de boa e tal porem quando ponho por exemplo essa tag no item.xml "<attributekey="preventLoss"value="1"/>" E ao mesmo tempo poem o script pra funciona ele buga o servidor e fixa o exe do servidor :S E o Script é o seguinte Quando o jogador morre e ele tiver com X item no slot 2 esse X item vira item Y Ae o script -- Adaptado para Mod por @Vodkart Partes Criadas Por @caotic e @Jhon992 <?xml version="1.0" encoding="UTF-8"?> <mod name="TransAmulet" version="1.0" author="Jhon" contact="xtibia.com" enabled="yes"> <config name="trans_func"><![CDATA[[/size][/font][/color] [color=#282828][font=helvetica, arial, sans-serif][size=3]itemTransf = { -- id do item que tem que ter, id do item que vai transformar [2173] = 2130, [2130] = 2135, [2135] = 2173 } ]]></config> <event type="login" name="TransformRegister" event="script"><![CDATA[ function onLogin(cid) registerCreatureEvent(cid, "TransDeath") return true end]]></event> <event type="death" name="TransDeath" event="script"><![CDATA[ domodlib('trans_func') function onDeath(cid, corpse, deathList) if isPlayer(cid) and itemTransf[getPlayerSlotItem(cid, 2).itemid] then doTransformItem(getPlayerSlotItem(cid, 2).uid, itemTransf[getPlayerSlotItem(cid, 2).itemid]) end return true end ]]></event> </mod> E o item que eu queria para muda ficaria assim <item id="11964" name="magic elemental amulet"> <attribute key="weight" value="4200"/> <attribute key="slotType" value="necklace"/> <attribute key="absorbPercentAll" value="30"/> <attribute key="increaseMagicPercent" value="30"/> <attribute key="healthGain" value="3"/> <attribute key="healthTicks" value="1"/> <attribute key="manaGain" value="3"/> <attribute key="manaTicks" value="1"/> <attribute key="preventLoss" value="1"/> <attribute key="armor" value="6"/> <attribute key="description" value="It's a item maked by Isolta, medium Elemental essenses, a mixture of all amulets. [Abs.All 30%, Inc.Magic 30%, Regen.Life 3/1, Regen.Mana 3/1, Pre.Loss]"/> </item> Porem não pode ter esse "preventloss" Então teria como por o item para não cair os item ao morre sem ter essa tag?Fazer isso tudo por um script? Agradeço desde ja Jean
  22. Bem vim aqui trazer um MOD que eu acho que é muito util, um sistema que os proprios players podem executar o save em seu char, assim evitando rollback caso o servidor cair. http://pastebin.com/ALjm2whp créditos: Beeki por trazer ao XT Slawkens por criar. PS: tive que postar o script no Pastebin, até
×
×
  • Create New...