Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 08/16/16 em todas áreas

  1. Nome [VIP] Gesior

    Marcos FeaR e 2 outros reagiu a Kemmlly por uma resposta no tópico

    3 pontos
    Vi alguns tópicos antigos com a seguinte dúvida; "Quando um jogador fica vip e adicionar o nome [VIP] na frente, outros jogadores conseguem criar um cha com o mesmo nome que o dele, assim, quando acaba a VIP e o nome vai voltar ao normal da erro na distro, como corrigir isso?" e não achei solução, então, criei uma, para quem precisa está aqui: accountmanagement.php, procure por: $newchar_errors[] .= 'You have too many characters on your account <b>('.$number_of_players_on_account.'/'.$config['site']['max_players_per_account'].')</b>!'; Adicione embaixo: $check_name_in_database->find("[vip] $newchar_name"); if($check_name_in_database->isLoaded()) $newchar_errors[] .= 'Esse nome ja esta sendo usado, por favor, escolha outro!'; Em: ("[vip] $newchar_name") Se sua abreviação do vip for difetene como (vip) ou só VIP você altera.
  2. Verificar andar do player (z)

    Baned e um outro reagiu a Kemmlly por uma resposta no tópico

    2 pontos
    @Baned if getCreaturePosition(cid).z == 10 then
  3. [CreatureEvent] Efeito no Player

    CabralChoi reagiu a Kimoszin por uma resposta no tópico

    1 ponto
    Bom pessoal, criei esse script totalmente inutil e util para vocês, espero que gostem - Oque exatamente ele faz? Nada, ele só verifica se o player tem uma storage e se o player tiver, quando ele logar vai aparecer um efeito em um tempo configuravel, Por Exemplo, o player é VIP, ai o seu system vip tem uma storage, você adiciona essa storage no script e o player vai ficar com um efeito, ou ... Tem aquela super quest fodona em seu servidor, pq nao mostrar para os outros que aquele player conseguiu fazer? *-* - Nossa que legal, como posso ter isso no meu servidor? Simples amigo, basta você ir em \data\creaturescripts\scripts, depois adicionar um registro no login.lua e adicionar uma linha em creaturescripts.xml effect.lua local effect = 30 -- Efeito que vai usar local storage = 9994 -- Storage que o player precisa ter local tempo = 5 -- Tempo em segundos function onLogin(cid) if getPlayerStorageValue(cid, storage) == 1 then SendEffect(cid) end return TRUE end function SendEffect(cid) doSendMagicEffect(getCreaturePosition(cid), effect) addEvent(SendEffect, tempo*1000, cid) return TRUE end Agora adicione isso em login.lua registerCreatureEvent(cid, "Effect") Agora adicione esse code em creaturescripts.xml <event type="login" name="Effect" event="script" value="effect.lua"/> Uma Fotinho para ver, estou usando o efeito 30 Abraços...
  4. [LINK OFF ]Eorzea 9.86

    rodriguesdevil reagiu a Amom por uma resposta no tópico

    1 ponto
    Bom Dia/Tarde/Noite Encontrei esse ot server no meio de meus arquivos e decidi postalos para o pessoal Caracteristicas: Cliente 9.86. Mapa global full com areas Vips. Para Windows 64bits, não tenho certeza da funcionalidade dele em 32bits. Contendo o aplicativo com abertura em DOS e em GUI. Sistemas: Cast System 100% (+ integração com site) Trainer Offline 100% Protect Player System (em caso de queda do servidor, igual ao Tibia.com) Market System 100% Montarias Taming 100% Server Save Fast (Múltiplos Hds - 400% + rápido) Task System (50%) Archievements (50%) Questlog (80%) Rewards Level (Bônus level 20, 70, 100, 200, 300) Protection Level (Level 100) Aluguel de Mounts 80% Lottery System (+ integração com o site) Ticket System Eventos: Battlefield 100% Fire Event 100% Zombie Event 100% Enchanted Forest 100% Citywar 80% Raids 60+ 100% e muito mais.... Cidades (28+) Yalahar Carlin Ab'dendriel Kazordoon Thais Venore Darashia Ankrahmun Edron Port Hope Ethno (VIP) Liberty Bay Svargrond Cormaya Galaxy Farmine Pyre Gengia (VIP) Oken Aridia Narmonia Lupius Urenas Travian Gray Island Gnomebase Infernia (VIP) Quests: Pits of Inferno (POI) Spirit of Infernia (Custom Quest) Annihilator Demon Helmet Quest The Demon Oak In Service of Yalahar Banshee Quest Svargrond Arena Inquisition e muitas outras sendo elas as principais do Tibia.... Créditos: TFS Team. Eorzea Team ________________________________________________________________________ Download Servidor https://www.virustotal.com/pt/file/657e7bdbe88d3722bb74103bbbbfe61825b2f952a887c3e92ed69fe99ef77ece/analysis/ ________________________________________________________________________ Download MapEditor https://www.virustotal.com/pt/file/a52aa11541612dae6a69c254109a71e258a3b4970d68d690b584a44ed92d87cb/analysis/1456597677/ ________________________________________________________________________ Imagens
  5. DNWALKER 9.44

    juniorzeex2 reagiu a loukogames por uma resposta no tópico

    1 ponto
    Boa Noite este é um servidor no qual eu tenho armazenado no 4shared desde 2012. Mapa editado por mim algumas coisas, gostaria que alguém desse continuidade neste ot, infelizmente não pude por causa do tempo que está curto.. Download: http://www.4shared.com/rar/rblMmWLV/Dnwalcker_944_100.html? Scan: https://www.virustotal.com/pt/file/0d1c0d59fb4c0823a34562a1cac40ed7971b9c0d2f3e0e387517865c967c2bbf/analysis/1471370249/
  6. Death System 2016 versão frag consecutivo!

    Jeff Delay reagiu a Lyu por uma resposta no tópico

    1 ponto
    Fala rapaziada, quanto tempo sem publicar algo aqui! Bom, hoje eu venho trazer um sisteminha que é bem utilizado atualmente. Estou falando o Death System! Porém, com algumas coisinhas a mais. Testado em OTX Server 8.60.. Como funciona? O Death System em alguns servidores possui um channel chamado "Mortes" ou "Death Channel", mas há alguns servidores que preferem que seja anunciado no default mesmo e a função é informar quem matou quem, ou quem foi morto por certo monstro. O que há de novo? Bom, agora quem matar x jogadores(configurável) e essa quantia for uma consecutiva, será anunciado isso : E se algum jogador derrotá-lo dentro a consecutiva, será anunciado isso : Vamos ao sistema : em data/XML/channels.xml, adicione isso : <channel id="15" name="Death Channel"/> em data/creaturescripts/creaturescripts.xml : <event type="death" name="deathchannel" event="script" value="deathchannel.lua"/> em data/creaturescripts/login.lua, adicione isso antes do último return true : registerCreatureEvent(cid, "deathchannel") em data/creaturescripts/scripts, crie um arquivo deathchannel.lua e cole isso dentro : -- Coded by Zoom.. local info, win, lose = "%s [Level: %s] foi mort%s pelo %s %s%s", "%s obteve %s frags seguidos após derrotar %s.", "%s acabou de impedir que %s fizesse uma sequência de %s frags seguidos." local frags, storage = {10, 15, 20, 25, 30, 35, 40, 45, 50}, 30045 function onDeath(cid, corpse, deathList) if(not isPlayer(cid)) then return true end local target = deathList[1] doCreatureSetStorage(target, storage, getCreatureStorage(target, storage) + (getCreatureStorage(target, storage) == -1 and 2 or 1)) for _, pid in ipairs(getPlayersOnline()) do doPlayerSendChannelMessage(pid, '', info:format(getCreatureName(cid), getPlayerLevel(cid), getPlayerSex(cid) == 1 and "o" or "a", isPlayer(target) and "player" or "monstro", getCreatureName(target), isPlayer(target) and " [Level: "..getPlayerLevel(target).."]." or "."), TALKTYPE_CHANNEL_ORANGE, 0xF) for _, frag in ipairs(frags) do if(getCreatureStorage(target, storage) == frag) then doPlayerSendChannelMessage(pid, '', win:format(getCreatureName(target), frag, getCreatureName(cid)), TALKTYPE_CHANNEL_MANAGEMENT, 0xF) end if(getCreatureStorage(cid, storage) >= frag) then doPlayerSendChannelMessage(pid, '', lose:format(getCreatureName(target), getCreatureName(cid), getCreatureStorage(cid, storage)+1), TALKTYPE_GAMEMASTER_CHANNEL, 0xF) end end end doCreatureSetStorage(cid, storage, 0) return true end Há uma única configuração, que é as consecutivas : local frags = {10, 15, 20, 25, 30, 35, 40, 45, 50} completou 10 frags? anuncia! e assim sucessivamente.. Créditos : EU
  7. 1 ponto
    Primeiramente o evento foi testado num servidor 8.6, TFS 0.4, sem apresentar nenhum problema. Em data/creaturescripts/scripts crie o arquivo zombieevent.lua : local config = { playerCount = 2001, -- Storage dos players que entram e sai do evento goblet = 5805, -- Troféu que vai pro vencedor do evento rewards = {2195, 2152, 2160}, -- Recompensas. moneyReward = {2160, 10, 1}, -- {moneyId, quantidade, usar}1 pra usar 0 pra não usar} -- Area que o zumbi vai spawnar fromPosition = {x = 543, y = 578, z = 7}, -- top de fromPosition até toPosition = {x = 577, y = 600, z = 7} -- em baixo toPostion } function onStatsChange(cid, attacker, type, combat, value) if isPlayer(cid) and isMonster(attacker) then if isInArea(getPlayerPosition(cid), config.fromPosition, config.toPosition) then if getGlobalStorageValue(config.playerCount) >= 2 then doBroadcastMessage(getPlayerName(cid) .. " have been eated by Zombies!", MESSAGE_STATUS_CONSOLE_RED) local corpse = doCreateItem(3058, 1, getPlayerPosition(cid)) doItemSetAttribute(corpse, "description", "You recognize " .. getCreatureName(cid) .. ". He was killed by "..(isMonster(attacker) and "a "..string.lower(getCreatureName(attacker)) or isCreature(attacker) and getCreatureName(attacker) or "a field item")..".") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT) setGlobalStorageValue(config.playerCount, getGlobalStorageValue(config.playerCount)-1) elseif getGlobalStorageValue(config.playerCount) == 1 then if isInArea(getPlayerPosition(cid), config.fromPosition, config.toPosition) then doBroadcastMessage(getPlayerName(cid) .. " won the Zombie event! Congratulations!", MESSAGE_STATUS_WARNING) local goblet = doPlayerAddItem(cid, config.goblet, 1) doItemSetAttribute(goblet, "description", "Awarded to " .. getPlayerName(cid) .. " for winning the Zombie event.") local corpse = doCreateItem(3058, 1, getPlayerPosition(cid)) doItemSetAttribute(corpse, "description", "You recognize " .. getCreatureName(cid) .. ". He was killed by "..(isMonster(attacker) and "a "..string.lower(getCreatureName(attacker)) or isCreature(attacker) and getCreatureName(attacker) or "a field item")..".") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT) for _,items in ipairs(config.rewards) do doPlayerAddItem(cid, items, 1) end if config.moneyReward[3] == 1 then doPlayerAddItem(cid, config.moneyReward[1], config.moneyReward[2]) end end for x = config.fromPosition.x, config.toPosition.x do for y = config.fromPosition.y, config.toPosition.y do for z = config.fromPosition.z, config.toPosition.z do areapos = {x = x, y = y, z = z, stackpos = 253} getMonsters = getThingfromPos(areapos) if isMonster(getMonsters.uid) then doRemoveCreature(getMonsters.uid) end end end end end return false end end return true end Na mesma pasta em login.lua antes do ultimo return true adicione : registerCreatureEvent(cid, "zombieevent") Agora em data/creaturescripts adicione em creturescripts.XML : <!-- ZOMBIE EVENT --> <event type="statschange" name="zombieevent" event="script" value="zombieevent.lua"/> Agora vamos em data/monster crie uma pasta com o nome ZombieEvent e dentro dessa pasta crie o arquivo chamado event zombie.XML : <?xml version="1.0" encoding="UTF-8"?><monster name="Event Zombie" nameDescription="an event zombie" race="undead" experience="280" speed="100" manacost="0"> <health now="500" max="500"/> <look type="311" corpse="9875"/> <targetchange interval="5000" chance="50"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="0"/> <flag attackable="0"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="2000" min="-35000" max="-35000"/> </attacks> <defenses armor="15" defense="10"/> <immunities> <immunity paralyze="1"/> <immunity invisible="1"/> </immunities> <voices interval="5000" chance="10"> <voice sentence="You wont last long!"/> <voice sentence="Mmmmh.. braains!"/> </voices> <loot> <item id="2148" countmax="1" chance="100000"/><!-- gold coin --> </loot> </monster> voltando pra pasta data/monster abra o arquivo monsters.XML e adicione : <!-- ZombieEvent --> <monster name="event zombie" file="ZombieEvent/event zombie.xml"/> tudo ok até aqui ... então vamos pra pasta data/movements/scripts crie zombieevent.lua : local config = { playerCount = 2001, -- Storage do players do evento maxPlayers = 20, -- Maximo de players pra partiparem do evento minLevel = 17 -- Level minimo pra entrar no evento } function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if getPlayerLevel(cid) < config.minLevel then addEvent(tpBack, 1000, cid, fromPosition) doPlayerSendCancel(cid, "You need to be at least level " .. config.minLevel .. ".") return false end if getGlobalStorageValue(config.playerCount) < config.maxPlayers then setGlobalStorageValue(config.playerCount, getGlobalStorageValue(config.playerCount)+1) if getGlobalStorageValue(config.playerCount) == config.maxPlayers then doBroadcastMessage("The Zombie event is now full [" .. getGlobalStorageValue(config.playerCount) .. " players]! The event will soon start.") else doBroadcastMessage(getPlayerName(cid) .. " entered the Zombie event! Currently " .. getGlobalStorageValue(config.playerCount) .. " players have joined!", MESSAGE_STATUS_CONSOLE_RED) end else addEvent(tpBack, 1000, cid, fromPosition) doPlayerSendCancel(cid, "The event is full. There is already " .. config.maxPlayers .. " players participating in the quest.") return false end print(getStorage(config.playerCount) .. " Players in the zombie event.") return true end function tpBack(cid, fromPosition) doTeleportThing(cid, fromPosition, true) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT) end voltando pra data/movements abra o arquivo movements.XML e adicione : <!-- ZOMBIE event --> <movevent type="StepIn" actionid="2008" event="script" value="zombieevent.lua"/> agora vamos pra parte mais importante e que devemos mais prestar atenção... em data/globalevents/scripts crie zombieevent.lua : local config = { semana_mes = "semana", days = {1,2,3,4,5,6,7}, -- Dia das semanas que irá acontecer o evento goblet = 5805, -- Troféu que vai pro vencedor do evento rewards = {2195, 2152, 2160}, -- Recompensas. moneyReward = {2160, 10, 1},-- {moneyId, quantidade, usar}1 pra usar 0 pra não usar} playerCount = 2001, -- Storage dos players que entram e sai do evento zombieCount = 2002, -- Storage do zombie do event teleportActionId = 2008, -- Action ID do teleport teleportPosition = {x = 652, y = 1020, z = 7, stackpos = 1}, -- Onde o teleport é criado teleportToPosition = {x = 559, y = 589, z = 7}, -- Pra onde será teleportado teleportId = 1387, -- ID do teleporte timeToStartEvent = 2, -- Minutos que o portal irá ficar aberto até os player entrarem timeBetweenSpawns = 20, -- Segundos dps do evento ser startado começarem a aparecer os zombie zombieName = "event zombie", -- Nome do zombie sumonado playersNeededToStartEvent = 3, -- Players necessários pro evento ser iniciado -- Area que o zumbi vai spawnar fromPosition = {x = 543, y = 578, z = 7}, -- top de fromPosition até toPosition = {x = 577, y = 600, z = 7} -- -- em baixo toPostion } function onTime() local time = os.date("*t") if (config.semana_mes == "semana" and isInArray(config.days,time.wday)) or (config.semana_mes == "mes" and isInArray(config.days,time.day)) or config.semana_mes == "" then local tp = doCreateTeleport(config.teleportId, config.teleportToPosition, config.teleportPosition) doItemSetAttribute(tp, "aid", config.teleportActionId) doBroadcastMessage("Zombie event starting in " .. config.timeToStartEvent .. " minutes! The teleport will be closed when the event start!", MESSAGE_STATUS_WARNING) setGlobalStorageValue(config.playerCount, 0) setGlobalStorageValue(config.zombieCount, 0) addEvent(startEvent, config.timeToStartEvent * 1000 * 60) end return TRUE end function startEvent() local fromp, top = config.fromPosition, config.toPosition if getGlobalStorageValue(config.playerCount) >= config.playersNeededToStartEvent then addEvent(spawnZombie, config.timeBetweenSpawns * 1000) doBroadcastMessage("Good luck in the zombie event people! The teleport has closed!", MESSAGE_STATUS_WARNING) for x = fromp.x, top.x do for y = fromp.y, top.y do for z = fromp.z, top.z do areapos = {x = x, y = y, z = z, stackpos = 253} getPlayers = getThingfromPos(areapos) if isPlayer(getPlayers.uid) then doPlayerSendTextMessage(getPlayers.uid, MESSAGE_EVENT_ADVANCE, "The first zombie will spawn in " .. config.timeBetweenSpawns .. " seconds! Good luck!") pvgaylord() end end end end else doBroadcastMessage("The Zombie event could not start because of to few players participating.\n At least " .. config.playersNeededToStartEvent .. " players is needed!", MESSAGE_STATUS_WARNING) for x = fromp.x, top.x do for y = fromp.y, top.y do for z = fromp.z, top.z do areapos = {x = x, y = y, z = z, stackpos = 253} getPlayers = getThingfromPos(areapos) if isPlayer(getPlayers.uid) then doTeleportThing(getPlayers.uid, getTownTemplePosition(getPlayerTown(getPlayers.uid)), false) doSendMagicEffect(getPlayerPosition(getPlayers.uid), CONST_ME_TELEPORT) end end end end end end function spawnZombie() if getGlobalStorageValue(config.playerCount) >= 2 then pos = {x = math.random(config.fromPosition.x, config.toPosition.x), y = math.random(config.fromPosition.y, config.toPosition.y), z = math.random(config.fromPosition.z, config.toPosition.z)} doSummonCreature(config.zombieName, pos) doSendMagicEffect(pos, CONST_ME_MORTAREA) setGlobalStorageValue(config.zombieCount, getGlobalStorageValue(config.zombieCount)+1) doBroadcastMessage("A zombie has spawned! There is currently " .. getGlobalStorageValue(config.zombieCount) .. " zombies in the zombie event!", MESSAGE_STATUS_CONSOLE_RED) addEvent(spawnZombie, config.timeBetweenSpawns * 1000) else local fromp, top = config.fromPosition, config.toPosition for x = fromp.x, top.x do for y = fromp.y, top.y do for z = fromp.z, top.z do areapos = {x = x, y = y, z = z, stackpos = 253} cid = getThingfromPos(areapos).uid if isPlayer(cid) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false) doBroadcastMessage(getCreatureName(cid)..' has survived at zombie event!') for _,items in ipairs(config.rewards) do doPlayerAddItem(cid, items, 1) end if config.moneyReward[3] == 1 then doPlayerAddItem(cid, config.moneyReward[1], config.moneyReward[2]) end doBroadcastMessage(getPlayerName(cid) .. " won the Zombie event! Congratulations!", MESSAGE_STATUS_WARNING) local goblet = doPlayerAddItem(cid, config.goblet, 1) doItemSetAttribute(goblet, "description", "Awarded to " .. getPlayerName(cid) .. " for winning the Zombie event.") elseif isMonster(cid) then doRemoveCreature(cid) end end end end end end function pvgaylord() local fromp, top, p, m = config.fromPosition, config.toPosition, 0, 0 for x = fromp.x, top.x do for y = fromp.y, top.y do for z = fromp.z, top.z do local areapos = {x = x, y = y, z = z, stackpos = 253} local cid = getThingfromPos(areapos).uid if isPlayer(cid) then p = p+1 elseif isMonster(cid) then m = m+1 end end end end if p ~= getGlobalStorageValue(config.playerCount) then setGlobalStorageValue(config.playerCount, p) end if p < 2 then return true end addEvent(pvgaylord,100,nil) end na mesma pasta crie o arquivo fechazombie.lua : local teleportPos = {x = 652, y = 1020, z = 7, stackpos = 1} -- Posição em que se abre o teleport local teleportId = 1387 function onTimer() for i = 1, 255 do teleportPos.stackpos = i if getThingFromPos(teleportPos).itemid == teleportId then doRemoveItem(getThingFromPos(teleportPos).uid, 1) end end return true end agora em data/globalevents abra o arquivo globalevents.XML e adicione : <globalevent name="zombieevent" time="23:41" event="script" value="zombieevent.lua"/> <globalevent name="zombieventt" time="23:43" event="script" value="fechazombie.lua"/> Importante : time="Horário que irá acontecer o evento" e no fechazombie coloque 2 minutos a mais da hora que vc colocou pra iniciar, para assim fechar o teleport na hora em que o evento é startado (configuração padrão do script, se alterar lá terá que alterar aqui tb) Agora só abrir e desfrutar do seu novo sistema... Download de mapas : http://tibiaking.com...apa-modificado/ - tiago.bordin1988 http://tibiaking.com...mbie-event-v10/ - ricardo3 http://tibiaking.com...map-86-inovado/ - OhGod http://www.speedysha...ombieEvent.otbm Créditos... Fausto32 Sociopata Orochi Elf Phowned Smart Maxx
  8. [7.60] Avesta 063 - Global Map Oldschool

    rodo56 reagiu a dezon por uma resposta no tópico

    1 ponto
    Olá pessoal é com muita satisfação que eu venho apresentar-lhes o Avesta 063! Um OTServer oldschool desenvolvido por Exploit & Boman (OtLand) e liberado sobre a licença GNU com sua source code no google code, isso que é melhor, você poder ter acesso ao source code e modificar ao seu gosto! Source Code Google: https://code.google.com/p/avesta74/ Download Avesta 7.60 Global Map: https://www.mediafire.com/?3ook587w1t8sbwr Scan do download: https://www.virustotal.com/en/file/6c252790330b8747435dc54ee3a14f951a1d52b49299d5f3ed453e6841b77c0f/analysis/1398278014/ (Eu sei que tem bastante coisa no arquivo, a maioria eu pesquisei e são alertas falsos, estou rodando esse servidor no meu micro e jogando de boa, vai da sua conta e risco!!!) Download Tibia 7.60: http://clients.tibiaking.com/download/windows/760 IpChanger: http://static.otland.net/ipchanger.exe Os créditos são todos dos desenvolvedores, do Justikar e da OtLand e o único crédito meu é por configurar, remover alguns bugs e disponibilizar aqui para vocês! Espero que gostem pessoal! Obs.: Eu não desenvolvi, eu não compilei, eu somente fiz download e arrumei algumas coisas só, testei, rodei e brinquei e decidi postar aqui, qualquer dúvida, acesse ao site do projeto no google pois lá tem uma wiki sobre o projeto!!!
  9. TopLevel Effect

    JEAN JR reagiu a Bruno Minervino por uma resposta no tópico

    1 ponto
    Fala galera, Um membro fez um pedido, e achei que deveria compartilhar com vocês, algo simples porém útil. Principalmente em OT's do estilo Baiak. O que o script faz ? Ele simplesmente manda um efeito para o Top Level caso ele estiver online. Instalação: Em data/creaturescripts/creaturescripts.xml adicione: <event type="login" name="TopEffect" event="script" value="topeffect.lua"/> <event type="advance" name="CheckTop" event="script" value="topeffect.lua"/> Agora crie um arquivo em data/creaturescripts/scripts com o nome topeffect.lua e adicione: --[[ Script by Bruno Minervino para o Tibia King Caso for postar, colocar os créditos ]] local config = { tempo = 10, --tempo em segundos mensagem = { texto = "[TOP]", --não use mais de 9 caracteres efeito = TEXTCOLOR_LIGHTBLUE --efeito para a função doSendAnimatedText }, efeito = 30, --efeito da função doSendMagicEffect globalstr = 5687 -- uma global storage qualquer q esteje vazia } --[[ Não mexa em nada abaixo ]] local topPlayer = getGlobalStorageValue(config.globalstr) > 0 and getGlobalStorageValue(config.globalstr) or 0 function onLogin(cid) local query = db.getResult("SELECT `id`, `name`, `level` FROM `players` WHERE `group_id` < 2 ORDER BY `level` DESC LIMIT 1") if (query:getID() ~= -1) then local pid = query:getDataString("id") local name = query:getDataString("name") if getPlayerName(cid) == name then if topPlayer ~= getPlayerID(cid) then topPlayer = getPlayerID(cid) end setGlobalStorageValue(config.globalstr, pid) TopEffect(cid) end end registerCreatureEvent(cid, "CheckTop") return true end function onAdvance(cid, skill, oldlevel, newlevel) if skill == 8 then local query = db.getResult("SELECT `id`, `name`, `level` FROM `players` WHERE `group_id` < 2 ORDER BY `level` DESC LIMIT 1") if (query:getID() ~= -1) then local level = tonumber(query:getDataString("level")) if level < newlevel and topPlayer ~= getPlayerID(cid) then doBroadcastMessage("O jogador " .. getPlayerName(cid) .. " tornou-se o novo Top Level. Parabens!", 22) topPlayer = getPlayerID(cid) doSaveServer() setGlobalStorageValue(config.globalstr, getPlayerID(cid)) TopEffect(cid) end end end return true end function TopEffect(cid) if not isPlayer(cid) then return true end if topPlayer == getPlayerID(cid) then doSendAnimatedText(getCreaturePosition(cid), config.mensagem.texto, config.mensagem.efeito) doSendMagicEffect(getCreaturePosition(cid), config.efeito) addEvent(TopEffect, config.tempo * 1000, cid) end end function getPlayerNameById(id) local query = db.getResult("SELECT `name` FROM `players` WHERE `id` = " .. db.escapeString(id)) if query:getID() ~= -1 then return query:getDataString("name") end return 0 end function getPlayerIdByName(name) local query = db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(name)) if query:getID() ~= -1 then return tonumber(query:getDataString("id")) end return 0 end function getPlayerID(cid) return getPlayerIdByName(getPlayerName(cid)) end Espero ajudar!
  10. 1 ponto
    Olá TibiaKing! Nesse tópico pretendo atender a necessidade de todos com pedidos de Scripts. * Como funciona? - Simples, basta responder esse tópico com todos os detalhes do script que você está precisando, e assim que eu tiver tempo, colocarei o Link do Download nesse tópico. * Todo tipo de pedido é válido? - Dependendo se é possível e/ou se o Script não for de um nível de dificuldade elevado, posso sim fazer. (Não me peça que levam BASTANTE tempo pra fazer, peça por exemplo: Equip Ring) E é isso ai galera, quero levantar um pouco essa seção do Fórum. OBS: Não esqueça do seu REP+ isso incentiva bastante meu trabalho em ajudar vocês =) == [[ Pedidos ]] == usthiago: http://pastebin.com/YkSCbNWz Guilherme: https://www.dropbox.com/s/yotinqrwgxq7qyx/[Eternal-Scripts] Amazon Camp.rar == [[ Scans ]] == Guilherme: https://virustotal.com/pt/file/cfecb191f8bc5b776fdb2fda72342e3b4aa8fc1b01de307a240dd2854ba82369/analysis/1470835771/ ESSE TÓPICO SERVE APENAS PARA PEDIR SCRIPTS PARA XENOBOT, NÃO PEÇA SCRIPTS PARA OTSERV! - @Wakon
  11. PokeXLegend

    MarcosGattini reagiu a padreesss por uma resposta no tópico

    1 ponto
    Olá Pessoal Sou Novo Aki Vim Traser Meu 1° Post De Base Lendaria, Editei Essa Base Não Sei De Quem é a Base, Mais a Editei pra uma amigo mais ele não quis mais, dai eu resolvi pegar essa base so com megas de pokemons Bons vamos la. [Pokemons Adicionados] Arch Heatran. [100%] Hoopa Unbound. [100%] Shiny Hoopa Unbound. [100%] Genesect Star. [100%] Fallen Jirachi. [100%] Majestic Lugia. [100%] Black Kyogre. [100%] Black Groudon. [100%] Zygarde. [100%] Shiny Zygarde. [100%] Power Charizard. [100%] Shiny Power Charizard. [100%] Power Raichu. [100%] Shiny Power Raichu. [100%] Power Arcanine. [100%] Shiny Power Arcanine. [100%] Power Venusaur. [100%] Shiny Power Venusaur. [100%] Power Blastoise. [100%] Shiny Power Blastoise. [100%] Fotos: http://prntscr.com/bg3e47 [Boxs Adicionadas] Xerneas Box Level 6000. [100%] Yveatal Box Level 4000. [100%] [Sistemas Novos] Fotos: http://prntscr.com/bg3baw NPC [SHOP] Donate. [100%] Fotos: http://prntscr.com/bg3gzq NPC [SHOP] Stone. [100%] [Removidos Do Map] Megas De Boxs Trocados Por Power Pra Tirar um Pouco Do Lag. Retirado Lag [70%] [Removidos] Removidos Bugs [70%] Removido Bug Que Dava Erro Ao Logar No Account manager [100%] [Sprints De Todas Box Trocadas] Box1 a Box19. [Download] Servidor+Client: https://mega.nz/#!60EDlLiT!LnAvjmlPLZ_FDTHU3KG0pH0yVJ4md8BCM61s_ayIH4Y [Scan] Servidor+Client: https://www.virustotal.com/pt/file/5fc602ad54c6a668ca06daa96e24239c3c19b0c5e118e04af09abf9c31f16352/analysis/1466248383/ [Scan Avast] : Servidor+Client: http://prntscr.com/bhvydx [Contato] Facebook: https://www.facebook.com/everton.jesus.54
  12. Ao matar corpo nao apareçe

    ZoR reagiu a matsantos por uma resposta no tópico

    1 ponto
    tenta adiciona ai cria um arquivo .LUA com o nome niwdeath coloca isso dentro: creaturescripts.xml: login.lua onde tem [1] [2] é o numero da vocação e depois o id do corpse. faz o seguinte , usa em apenas uma vocation pra ver se pega, para não dar muito trabalho em vão
  13. Poketibia Sprites de Mega Evoluções

    icarogames reagiu a Vortexboy por uma resposta no tópico

    1 ponto
    Hey hey pessoal desta vez eu vim disponibilizar para vocês, um dat e spr com varias mega evoluções PxG com portrait (nem todos eu consegui a portrait desculpem) enfim a gente acha varias sprites nos mais diversos clients por ai só que eu resolvi trazer um compilado para os poupar da procura vale lembrar, que todas as sprites funcionam e são compatíveis com old client por terem sido removidas dos próprios. DOWNLOAD Download: http://www.mediafire.com/download/g03rae9nsyih5a0/Sprites_Mega.zip Scan : https://virustotal.com/pt/file/0afa2fb33eccf425350350e21b79951ad17dc0554e52d645c1fd078ba2c169e5/analysis/1470975384/ Créditos: PxG pelas outfits e maioria dos portraits ??? As outras portraits que não da pxg e não desconheço a autoria "Da um REP pro pai que o dedo não cai."
  14. só dia 28 mas depois do dia 22 acho q fico mais tranquilo e faço, me lembra!!
  15. [BUG] Auto save derrubando o servidor

    Pricila reagiu a Kemmlly por uma resposta no tópico

    1 ponto
    @ivs6556740 Tenta esse: local config = { broadcast = {120, 30}, shallow = "no", delay = 120, events = 30 } config.shallow = getBooleanFromString(config.shallow) local function executeSave(seconds) if(seconds > 0) then addEvent(executeSave, config.events * 1000, seconds - config.events) else doSaveServer(config.shallow) end end function onThink(interval) if(table.maxn(config.broadcast) == 0) then doSaveServer(config.shallow) else executeSave(config.delay) end return true end
  16. Lembre-se de colocar a quantidade de cada item no config. qnt1 se refere ao t1 e a qnt2 se refere ao t2. local config = { ["Magic Plate Armor"] = {t1 = 2476, t2 = 2464, t3 = 2472, qnt1 = 10, qnt2 = 15}, -- t1 = ID do ITEM 1 |---| t2 = ID do ITEM 2 |---| t3 = ID do ITEM a ser FORJADO -- ["Dragon Scale Mail"] = {t1 = 2489, t2 = 2487, t3 = 2492, qnt1 = 20, qnt2 = 5}, } function onUse(cid, item, item2, frompos, topos, pos) local r1 = {x = 222, y = 217, z = 7, stackpos= 2} -- Posição 1 ( NÃO MEXA NO stackpos= 2 ) local r2 = {x = 224, y = 217, z = 7, stackpos= 2} -- Posição 2 ( NÃO MEXA NO stackpos= 2 ) local r3 = {x = 223, y = 217, z = 7} -- Posição do Item a Ser Criado local q1 = getThingfromPos(r1) local q2 = getThingfromPos(r2) for i, x in pairs(config) do if q1.itemid == x.t1 and q2.itemid == x.t2 then if q1.type >= x.qnt1 and q1.type >= x.qnt2 then doRemoveItem(q1.uid, x.qnt1) doRemoveItem(q2.uid, x.qnt2) addEvent(doCreateItem, 1000, x.t3, 1, r3) doSendMagicEffect(r3, 47) addEvent(doSendMagicEffect, 900, r3, 39) doPlayerSendTextMessage(cid, 22, "Parabéns, Você Forjou Um " .. i .. ".") break end elseif q1.itemid == x.t2 and q2.itemid == x.t1 then if q1.type >= x.qnt2 and q1.type >= x.qnt1 then doRemoveItem(q1.uid, x.qnt1) doRemoveItem(q2.uid, x.qnt2) addEvent(doCreateItem, 1000, x.t3, 1, r3) doSendMagicEffect(r3, 47) addEvent(doSendMagicEffect, 900, r3, 39) doPlayerSendTextMessage(cid, 22, "Parabéns, Você Forjou Um " .. i .. ".") break end end end return TRUE end
  17. 1 ponto
    no caso do no ip não vai porque ja tentei aqui também e não foi. mais se querer que eu veja só passa a sala do hamachi e o link do site q eu testo se vai.
  18. Erro meu, usando aspas quando o correto é ascento grave, corrigido: ALTER TABLE `accounts` ADD COLUMN `secrets` char(16) DEFAULT NULL
  19. 1 ponto
    E Simples. Vá em. C:\xampp\apache\conf Procure por. httpd.conf E abra com noteped++ ou bloco de notas. E procure por essa linha. Listen 80 E altere para. Listen 8090 Depois procure por. ServerName localhost:80 E altere para. ServerName localhost:8090 Depois vá em. C:\xampp\apache\conf\extra Depois procure por. httpd-vhosts.conf E abra com noteped++ ou bloco de notas. E procure por essa linha. ##NameVirtualHost *:80 E altere para. ##NameVirtualHost *:8090 Depois vá em. C:\xampp\apache\conf\extra Depois procure por. httpd-ssl.conf E abra com noteped++ ou bloco de notas. E procure por essa linha. Listen 443 E altere para. Listen 4499 Pronto reinicie o xampp e so alegria. Ai pra alguem entrar tem que ser .. Seuip:8090 E pra voce entrar no phpmyadmin voce vai ter que usar assim. localhost:8090/phpmyadmin/ Se ajudei REP+ :d Creditos a um lek aqui do TK so nao lembro mais o nome dele.
  20. O erro com seus monstros é bem facil arrumar. por algum motivo sua pasta de monstros do servidor está diferente da que é do servidor post aqui. Da para arrumar manualmente. Entre na pasta "/data/monster/bosses" e vá um por um dos XML dos bosses que está dando erro e verifique entre as TAGs <flag></flag>. Ele está dizendo que esses XMLs tem uma tag chamada "rewardchest" que na realidade não existe. Como exemplo mostro as flags do meu "Tarbaz.xml" <flags> <flag rewardboss="1" /> <flag summonable="0" /> <flag attackable="1" /> <flag hostile="1" /> <flag illusionable="0" /> <flag convinceable="0" /> <flag pushable="0" /> <flag canpushitems="1" /> <flag canpushcreatures="1" /> <flag targetdistance="1" /> <flag staticattack="90" /> <flag runonhealth="2500" /> </flags> Sobre os outros erros, estão relacionados ao seu Banco de Dados. Basicamente seu DB está desatualizado. Você também pode baixar o desse servidor e recriar todas as tabelas utilizando o "global.sql" presente aqui. Entretanto existe um jeito mais fácil, mas que não garante que você não terá erros posteriores (pode até se livrar desses de inicialização, mas outros relacionados à versão 10.96 podem surgir). Abra seu PhpMyAdmin, logue com a conta Root dele. Abra o Db do seu servidor (não sei o nome que voce criou, mas abra-o). Clique na aba SQL e insira o seguinte código: ALTER TABLE 'accounts' ADD COLUMN 'secrets' char(16) DEFAULT NULL; Novamente, recomendo baixar tudo certinho do post inicial, onde tudo deve estar funcionando devidamente. Se é uma atualização de servidor, tenha certeza de que mais coisas não precisem ser atualizadas também. Boa sorte ae rapaz. Abrax!
  21. Mining System

    Zalton Returns reagiu a Pedro. por uma resposta no tópico

    1 ponto
    here bro. <img id="ContentBoxHeadline" class="Title" src="layouts/tibiacom/images/header/headline-highscores.gif" alt="Contentbox headline"> <?php if(!defined('INITIALIZED')) exit; $list = 'experience'; if(isset($_REQUEST['list'])) $list = $_REQUEST['list']; $page = 0; if(isset($_REQUEST['page'])) $page = min(50, $_REQUEST['page']); $vocation = ''; if(isset($_REQUEST['vocation'])) $vocation = $_REQUEST['vocation']; switch($list) { case "fist": $id=Highscores::SKILL_FIST; $list_name='Fist Fighting'; break; case "club": $id=Highscores::SKILL_CLUB; $list_name='Club Fighting'; break; case "sword": $id=Highscores::SKILL_SWORD; $list_name='Sword Fighting'; break; case "axe": $id=Highscores::SKILL_AXE; $list_name='Axe Fighting'; break; case "distance": $id=Highscores::SKILL_DISTANCE; $list_name='Distance Fighting'; break; case "shield": $id=Highscores::SKILL_SHIELD; $list_name='Shielding'; break; case "fishing": $id=Highscores::SKILL_FISHING; $list_name='Fishing'; break; case "magic": $id=Highscores::SKILL__MAGLEVEL; $list_name='Magic'; break; default: $id=Highscores::SKILL__LEVEL; $list_name='Experience'; break; $id=Highscores::SKILL__RESET; $list_name='Reset'; break; } $world_name = $config['server']['serverName']; $offset = $page * 100; $skills = new Highscores($id, 100, $page, $vocation); $main_content .= '<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%><TR><TD><IMG SRC="'.$layout_name.'/images/blank.gif" WIDTH=10 HEIGHT=1 BORDER=0></TD><TD><CENTER><H2>Ranking for '.htmlspecialchars($list_name).' on '.htmlspecialchars($world_name).'</H2></CENTER><BR>'; $main_content .= '<TABLE BORDER=0 CELLPADDING=4 CELLSPACING=1 WIDTH=100%><TR BGCOLOR="'.$config['site']['vdarkborder'].'"><TD WIDTH=10% CLASS=whites><B>Rank</B></TD><TD WIDTH=75% CLASS=whites><B>Name</B></TD><TD WIDTH=15% CLASS=whites><b><center>Level</center></B></TD>'; if($list == "experience") { $main_content .= '<TD CLASS=whites><b><center>Resets</center></B></TD>'; } $main_content .= '</TR><TR>'; $number_of_rows = 0; foreach($skills as $skill) { if($list == "magic") $value = $skill->getMagLevel(); if($list == "reset") $value = $skill->getResets(); elseif($list == "experience") $value = $skill->getLevel(); else $value = $skill->getScore(); $bgcolor = (($number_of_rows++ % 2 == 1) ? $config['site']['darkborder'] : $config['site']['lightborder']); $main_content .= '<tr bgcolor="'.$bgcolor.'"><td style="text-align:right">'.($offset + $number_of_rows).'.</td><td><a href="?subtopic=characters&name='.urlencode($skill->getName()).'">'.($skill->getOnline()>0 ? "<font color=\"green\">".htmlspecialchars($skill->getName())."</font>" : "<font color=\"red\">".htmlspecialchars($skill->getName())."</font>").'</a><br><small>'.$skill->getLevel().' '.htmlspecialchars(Website::getVocationName($skill->getVocation())).'</small></td><td><center>'.$value.'</center></td>'; if($list == "experience") $main_content .= '<td><center>'.$skill->getResets().'</center></td>'; $main_content .= '</tr>'; } $main_content .= '</TABLE><TABLE BORDER=0 CELLPADDING=4 CELLSPACING=1 WIDTH=100%>'; if($page > 0) $main_content .= '<TR><TD WIDTH=100% ALIGN=right VALIGN=bottom><A HREF="?subtopic=highscores&list='.urlencode($list).'&page='.($page - 1).'&vocation=' . urlencode($vocation) . '" CLASS="size_xxs">Previous Page</A></TD></TR>'; if($page < 50) $main_content .= '<TR><TD WIDTH=100% ALIGN=right VALIGN=bottom><A HREF="?subtopic=highscores&list='.urlencode($list).'&page='.($page + 1).'&vocation=' . urlencode($vocation) . '" CLASS="size_xxs">Next Page</A></TD></TR>'; $main_content .= '</TABLE></TD><TD WIDTH=5%><IMG SRC="'.$layout_name.'/images/blank.gif" WIDTH=1 HEIGHT=1 BORDER=0></TD><TD WIDTH=15% VALIGN=top ALIGN=right><TABLE BORDER=0 CELLPADDING=4 CELLSPACING=1><TR BGCOLOR="'.$config['site']['vdarkborder'].'"><TD CLASS=whites><B>Choose a skill</B></TD></TR><TR BGCOLOR="'.$config['site']['lightborder'].'"><TD><A HREF="?subtopic=highscores&list=experience" CLASS="size_xs">Experience</A><BR><A HREF="?subtopic=highscores&list=magic" CLASS="size_xs">Magic</A><BR><A HREF="?subtopic=highscores&list=shield" CLASS="size_xs">Shielding</A><BR><A HREF="?subtopic=highscores&list=distance" CLASS="size_xs">Distance</A><BR><A HREF="?subtopic=highscores&list=club" CLASS="size_xs">Club</A><BR><A HREF="index.php?subtopic=highscores&list=reset" CLASS="size_xs">Reset</A><BR><A HREF="?subtopic=highscores&list=sword" CLASS="size_xs">Sword</A><BR><A HREF="?subtopic=highscores&list=axe" CLASS="size_xs">Axe</A><BR><A HREF="?subtopic=highscores&list=fist" CLASS="size_xs">Fist</A><BR><A HREF="?subtopic=highscores&list=fishing" CLASS="size_xs">Fishing</A><BR></TD></TR></TABLE></TD><TD><IMG SRC="'.$layout_name.'/images/blank.gif" WIDTH=10 HEIGHT=1 BORDER=0></TD></TR></TABLE>';
  22. [QUEST]

    Tulacala reagiu a wougoplex por uma resposta no tópico

    1 ponto
    Vai em Action Script crie um novo e bote esse script Scirpt : local cfg = { positions = { {{x=2392, y=73, z=7}, {x=2519, y=78, z=7}}, ------ AOND O PLAYER VAI DA TP {{x=2396, y=73, z=7}, {x=2519, y=78, z=7}}, ------ AONDE PLAYER VAI TA {{x=2400, y=73, z=7}, {x=2519, y=78, z=7}}, ------ AONDE PLAYER VAI TA {{x=2396, y=77, z=7}, {x=2519, y=78, z=7}}, ------ AONDE PLAYER VAI TA {{x=2392, y=80, z=7}, {x=2519, y=78, z=7}}, ------ AONDE PLAYER VAI TA {{x=2395, y=80, z=7}, {x=2519, y=78, z=7}}, ------ AONDE PLAYER VAI TA {{x=2400, y=80, z=7}, {x=2519, y=78, z=7}}, ------ AONDE PLAYER VAI TA {{x=2397, y=80, z=7}, {x=2519, y=78, z=7}}, ------ AONDE PLAYER VAI TA }, not_enough_players = xxx, --Efeito que aparecerá quando não tiver jogadores o suficiente. tp_effect = xxx, --Efeito que vai aparecer nos jogadores ao serem teleportados. } function onUse(cid, item, fromPosition, item2, toPosition) for i = 1, #cfg.positions do if not isPlayer(getTopCreature(cfg.positions[1]).uid) then return doPlayerSendCancel(cid, "Not enough players.") and doSendMagicEffect(getThingPos(cid), cfg.not_enough_players) end end for i = 1, #cfg.positions do local creature = getTopCreature(cfg.positions[1]).uid doTeleportThing(creature, cfg.positions[2]) doPlayerSendTextMessage(creature, 27, "You started the quest.") doSendMagicEffect(getThingPos(creature), cfg.tp_effect) end return true end Depois Vai em actions.xml e adicione essa tag <action actionid="10000" event="script" value="Tiles.lua"/> Depois So Adicionar o action na alavanca Pelo Remeres Map Editor Se Ajudei Rep +
  23. 1 ponto
    @guiozeika O Cavebot que postarei agora (Amazon Camp) você poderá pegar o código dele e testar pra resolver seu problema =) @Babilonia Seção errada amigo, aqui é Scripts para XenoBot! E use o campo de pesquisar lá em cima que você encontrará =) @Guilherme Editarei o tópico agora, teste o Cavebot por favor =) (Caso queira utilizar HUD de loot, deixei um script adicional na pasta Scripts). OBSERVAÇÃO: Extraia a pasta Settings e Scripts para o diretório "Documentos/Xenobot" ==[[ Outro ]]== Estou devendo ainda um Asura Palace pra RP pelo seguinte motivo: não achei meu RP no Global. Então farei no Aurera-Global OT, peço por favor que teste @bielzerah
  24. Fast ATK

    Barinsky reagiu a thiagomotta por uma resposta no tópico

    1 ponto
    Quando você edita suas sources e compila, ela compila só as partes que você alterou ou compila por inteiro?? Os arquivos .o são criados após um compilamento pela 1vez para que quando você edite poucas coisas e recompila pela 2vez o processo é mais rápido.
  25. Fast ATK

    Barinsky reagiu a thiagomotta por uma resposta no tópico

    1 ponto
    Eu estou criando um dbo derivado com attack speed no fist, procura os arquivos .o e deleta todas vez que se edita um .h nas sources e preciso recompilar por completo e para isso e preciso deletar os .o
  26. Fast ATK

    Barinsky reagiu a thiagomotta por uma resposta no tópico

    1 ponto
    Obg pelo Rep+ mesmo eu nao o merecendo ainda kk. Seguinte eu estava fazendo uns testes com oque conseguia traduzir dos site PL o liguinha do kpeta e para piorar não tenho net fixa por morar no meio do mato :\ <-ignora kk (desabafo) ai o celular quebra o galho, bom consegui tirar o fast atk do elf e dos movimentos! source -> dev-cpp-> obj-> deleta todos os .o Ai vai em creature.h #define EVENT_CREATURECOUNT 1 #define EVENT_CREATURE_THINK_INTERVAL 50 Compile Pros: Acaba com os bugs de fast attack Contras: O server começa a processar mais rápido os hits podendo gerar lag no servidor se o vps for muito fraco, Vps de 50R$ aguenta até uns 50 jogadores numa boa a partir de 50 jogadores pode gerar um pouco de lag por conta do processamento dos hits. Para baiaks e yurots e servidores derivados, global já e pesadenho vps barato explode. Bom e isso veja se resolve aqui deu certo!
  27. Fast ATK

    Barinsky reagiu a thiagomotta por uma resposta no tópico

    1 ponto
    Estou procurando desde ontem em vários sites e nada, e pelo que ví ao atacar e movimentar o char sem estar com a HK do elf ativado bate fast também :\ @UP
  28. Fast ATK

    Barinsky reagiu a thiagomotta por uma resposta no tópico

    1 ponto
    Achei isso em um site polonês Abra suas sources em creature.h Add #define EVENT_CREATURE_THINK_INTERVAL 500 Compile e veja se da certo.
  29. [Tutorial] Como trocar o ip do OT CLIENT

    baraonareba reagiu a Waldragon por uma resposta no tópico

    1 ponto
    Fala ae galerinha na paz? Espero que sim .. Vejo que muitas pessoas tem duvidas De como trocar o ip do OT CLIENT , então estou trazendo esse tutorial para vocês.. Passo a passo... 1° Primeiramente abra a pasta do seu servidor e click em Config.lua . 2° Depois aperte ctrl+F e localize a palavra ip . 3° Aperte Enter umas 5 vezes, em seguida vai localizar ip = "aqui vai esta algum IP" Ai e só substitui o IP que estava em " " pelo seu IP... Agora a parte do OT CLIENT 1° Abra a pasta do seu Ot Client , vá em modules/client_entergame. 2° Agora abra o arquivo entergame.lua . Em seguida aperte ctrl+F e escreva em localizar 7171 . 3° Agora aperte duas vezes Enter que vai localizar essa frase... EnterGame.setUniqueServer('Aqui vai esta algum IP', 7171, 854, 270, 210) Ai e só você trocar esse IP que estava ali pelo IP que você colocou no config.lua.. Espero ter ajudado ....
  30. Hiraishin Do Minato 8.54

    Matheus Reis reagiu a Senpai por uma resposta no tópico

    1 ponto
    Em data\actions\actions.xml adicione isso: <action itemid="7382" event="script" value="hiraishin.lua" allowfaruse="1"/> Logo depois crie um arquivo ".LUA" com o nome "hiraishin" na pasta data\actions\scripts. Dentro do hiraishin.lua delete tudo que estiver lá e cole isto: function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = fromPosition local aqui = getPlayerPosition(cid) local vocs = {154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 193, 194, 195, 196, 197, 198, 199} local agua = {4610, 4612, 4611, 4664, 4613, 4666, 4646, 4654, 4609, 4665, 4608, 4625, 4665, 4666, 4645} local parede = {1030, 1029, 1025, 1026, 1027, 1259, 1028, 1032, 1034, 1033, 1536, 1533, 873, 919, 874, 1037, 2700, 2708, 4472, 4475, 4471, 3388, 3373, 3363, 3398, 3408, 3417, 3420, 3407, 3368, 2701, 5130, 6170, 6166, 1596, 3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3369, 3370, 3371, 3372, 3373, 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3382, 3383, 3384, 3385, 3386, 3387, 3388, 3389, 3390, 3391, 3392, 3393, 3394, 3395, 3396, 3397, 3398, 3399, 3400, 3401, 3402, 3403, 3404, 3405, 3406, 3407, 3408, 3409, 3410, 3411, 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3419, 3420, 3421, 3422} local pedra = {874, 919, 873, 2707, 2784, 2778, 3330, 4471, 4475, 4473, 4472, 4474, 4468, 4478, 4469, 4470, 4479, 2703, 2704, 1534, 2739, 3867, 5324, 5316, 5315, 5317, 1600, 1597, 1601} if getDistanceBetween(aqui, toPosition) >= 8 then return doPlayerSendTextMessage(cid, 27, "Está muito longe.") elseif(not(isSightClear(aqui, toPosition, 1))) then return doPlayerSendTextMessage(cid, 27, "Isso é impossivel.") elseif(getTilePzInfo(aqui)) then return doPlayerSendCancel(cid, "Não pode usar a tecnica Deus Dragão em casas ou areas protegidas.") elseif(getTilePzInfo(toPosition)) then return doPlayerSendCancel(cid, "Não pode usar a tecnica Deus Dragão em casas ou areas protegidas.") elseif(isInArray(agua, itemEx.itemid)) then return doPlayerSendTextMessage(cid, 27, "voce nao pode usar em agua") elseif(isInArray(parede, itemEx.itemid)) then return doPlayerSendTextMessage(cid, 27, "voce nao pode usar em paredes") elseif(isInArray(pedra, itemEx.itemid)) then return doPlayerSendTextMessage(cid, 27, "voce nao pode usar em pedras") elseif(not(isInArray(vocs, getPlayerVocation(cid)))) then return doPlayerSendTextMessage(cid, 27, "Desculpe, Apenas Minato e Tobirama pode usar a tecnica Deus Dragão.") end if(doTeleportThing(cid, toPosition, false)) then doSendMagicEffect(pos, 13) doSendMagicEffect(toPosition, 13) doCreatureSay(cid, "Sunshin", 19) return doSendDistanceShoot(pos, toPosition, 390) end return doPlayerSendCancel(cid, "Desculpe nao foi possivel.") end BONUS Script de transformar uma kunai normal em uma "hiraishin kunai" (OBS: Normalmente o ID da kunai é 7382, caso não for, mude). Em data\actions\actions.xml adicione isso : <action itemid="2379" event="script" value="hiraishinkunai.lua"/> Agora crie um arquivo ".LUA" chamado "hiraishinkunai" na pasta data\actions\script . Após isso delete tudo que estiver no arquivo hiraishinkunai.lua e cole isto: function onUse(cid, item, fromPosition, itemEx, toPosition) local vocs = {154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 193, 194, 195, 196, 197, 198, 199} if doPlayerRemoveItem(cid, 2379, 1) then doPlayerAddItem(cid, 7382, 1) doSendAnimatedText(fromPosition, "1", TEXTCOLOR_LIGHTBLUE) end return true end Pronto e isso encerra nosso hiraishin no jutsu do Minato, se ajudei da REP+, os script eu peguei do TibiaKing e adaptei, já existe um script da kunai, achei péssimo da sua parte pedir antes de pesquisar.
  31. 1 ponto
    Eu tbm queria saber como cria magia.
  32. Erro ao Abrir Servidor

    gcmcorrea reagiu a Qwizer por uma resposta no tópico

    1 ponto
    fácil renomeie a Pasta xml para XML que resolve o problema. TFS 0.3 10.1? qual mapa ta usando?
  33. Opa e ai beleza? Andei pesquisando umas sprites para te ajudar, algumas mesmo para servir de base em cores, sombreamento, etc. para quem sabe você ou um spriter começar o trabalho Algumas sprites, não encontrei nada sobre direitos autoriais ou questões de livre uso, então irei postá-las já que não encontrei nada a respeito. Algumas de Tibia, ou com padrões de dimensões parecidas: Créditos: Vodksiri de outro fórum. Outras 2 http://desmond.image...png&res=landing http://desmond.image...png&res=landing Qualquer coisa, ao autor das sprites, me mande PM que eu removo. Espero ter ajudado Abraços.
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo