Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 05/12/15 em todas áreas

  1. Krono

    [Movements] Tp com Limite de Players

    Tp com Limite de Players é um script que determina quantos players podem acessar cada area por vez. Com esse script dá para deixar as hunts mais distribuidas. Veja como funciona com Imagen. Instalando o script: Em data/movements/scripts crie um arquivo com o nome Limitetp.lua e cole este script dentro: local c = { limit = 5, -- Limite de jogadores msgCancel = 'Tp bloqueado. Maximo de jogadores atingido', -- Mensagem quando o limite de jogadores estiver atingido area = { From = {x = 1069, y = 1027, z = 6}, -- Coordenada maxima superior esquerda To = {x = 1071, y = 1030, z = 7}, -- Coordenada minima inferior direita }, pos = {x = 1070, y = 1030, z = 7}, -- Coordenada onde será teletransportado local function getPlayersInArea(fromPos, toPos) local t = {} for _, cid in ipairs(getPlayersOnline()) do if isInRange(getThingPos(cid), fromPos, toPos) then table.insert(t, cid) end end return t end function onStepIn(cid, item, fromPos, toPos) if isPlayer(cid) then if table.getn(getPlayersInArea(c.area.From, c.area.To)) < c.limit then doSendMagicEffect(fromPos, CONST_ME_TELEPORT) doTeleportThing(cid, c.pos) doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT) else doPlayerSendCancel(cid, c.msgCancel) doTeleportThing(cid, toPos, false) end end return true end Em movements.xml adicione a tag: <movevent type="StepIn" uniqueid="9478" event="script" value="Limitetp.lua"/> Veja a imagem da configuração: Espero que gostem e usem!! Credito: Belerofonte
    4 pontos
  2. Os icons do cooldown são aquelas imagens que carregam ao usar uma magia (adicionado na versão 8.70). É possível modificar essas imagens por outras, basta seguir os passos abaixo: Você precisará de: PicEditor | Scan Icon(s) no tamanho 20x20 1. Instale o PicEditor 2. Abra o Pic Editor 3. Vá em file -> open, selecione um client superior a 8.70 (?) e abra o tibia.pic que está dentro da pasta 4. Encontre a imagem abaixo: 5. Agora, com essa imagem, vá, no Pic Editor, em file - export e salve a imagem em algum lugar 6. Abra a imagem utilizando o paint, os icons são todos 20x20, para substituílos basta colar os novos por cima 7. Salve o arquivo, volte ao pic editor, selecione a imagem que você exportou, vá em file - import e selecione a imagem editada 8. File - compile, ele vai exportar um arquivo NOME.pic, você deve jogar esse no client, substituindo o antigo Tibia.pic Foi um tutorial rápido, espero que ajude.
    3 pontos
  3. ZiKaNiGhTh

    [Encerrado] Nto ;c

    Gente, alguém pode disponibilizar download de algum server de narutibia ? Para eu usar como base, se possível sem bugs e com algumas vocations a mais. Ficarei eternamente grato quem me ajudar. ):
    2 pontos
  4. Furabio

    [Movements] Tp com Limite de Players

    Tenta assim : local c = { limit = 5, -- Limite de jogadores msgCancel = 'Tp bloqueado. Maximo de jogadores atingido', -- Mensagem quando o limite de jogadores estiver atingido area = { From = {x = 1069, y = 1027, z = 6}, -- Coordenada maxima superior esquerda To = {x = 1071, y = 1030, z = 7}, -- Coordenada minima inferior direita }, pos = {x = 1070, y = 1030, z = 7}, -- Coordenada onde será teletransportado } local function getPlayersInArea(fromPos, toPos) local t = {} for _, cid in ipairs(getPlayersOnline()) do if isInRange(getThingPos(cid), fromPos, toPos) then table.insert(t, cid) end end return t end function onStepIn(cid, item, fromPos, toPos) if isPlayer(cid) then if table.getn(getPlayersInArea(c.area.From, c.area.To)) < c.limit then doSendMagicEffect(fromPos, CONST_ME_TELEPORT) doTeleportThing(cid, c.pos) doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT) else doPlayerSendCancel(cid, c.msgCancel) doTeleportThing(cid, toPos, false) end end return true end faltava um "}" pra fechar a tabela.
    2 pontos
  5. Bruno

    Compilando TFS 1.3 com vídeo-aula

    Compilando TFS 1.3 no Windows 1. Baixe os softwares requeridos Para compilar o The Forgotten Server no Windows, você vai precisar: Visual Studio 2015 (Compilador) TFS SDK v3.2 (libs) Libs do Boost C++ (32-bits, 64-bits) 2. Instale os softwares requeridos Após ter baixado os softwares listados na etapa acima, comece instalando o Visual Studio e Boost C++. Extraia o TFS SDK v3.2 em qualquer pasta do seu computador e execute o arquivo "register_tfssdk_env.bat" para setar a variável de ambiente do local onde está o TFS SDK, assim nosso compilador irá encontrar as libs quando começar a compilar. Mova o arquivo "register_boost_env.bat" da pasta do TFS SDK para a pasta onde você instalou as libs do Boost C++ e execute-o (se você seguiu os passos do instalador, está esta na pasta chamada boost_1_62_0). 3. Baixe as sources Se você possuir o Git Client instalado, você poderá clonar a última cópia com este comando: > git clone https://github.com/otland/forgottenserver.git Se você não possuir o Git Client instalado, você poderá baixar a última cópia do The Forgotten Server através do link: https://github.com/otland/forgottenserver/archive/master.zip 4. Compilando Procure o diretório vc14 na pasta do The Forgotten Server que você baixou, e abra o arquivo "theforgottenserver.sln". Isso deverá iniciar o Visual Studio 2015 e você estará pronto para continuar. Para configurar a compilação, navegue para Build -> Configuration Manager no menu superior. Um popup deverá aparecer onde você poderá escolher entre "Release" ou "Debug" para compilar, escolha também para qual Platadorma você irá compilar: 32-bits (Win32) ou 64-bits (x64). Para iniciar a compilação, abra o menu Build novamente e clique em Build Solution (Ctrl + Shift + B). 5. Vídeo-aula 6. Créditos Mark - Autor do tutorial e do projeto The Forgotten Server Bruno Minervino - Tradução e gravação do vídeo
    1 ponto
  6. Lordbaxx

    Pokemon Imperium - OPEN SOURCE

    RETIRADO!
    1 ponto
  7. Avronex

    [Encerrado]PokeBlink - Recruta

    Bom pessoal, eu estou com um projeto ja a um bom tempo sendo construído sozinho, ja fiz basicamente tudo e a partir de agora que busco inovar o servidor. Não posso mais ficar cuidando de tudo sozinho, chegamos a reta final e é um momento importante. Estou precisando de uma equipe que possa estar atuando comigo nessa reta final. Não será composta de muitos membros, resumidamente eu e um Mapper. Entao quem estiver a fim de participar da equipe entra em contato pela página do projeto no Facebook, estarei deichando logo abaixo para quem quiser ver mais do projeto também.
    1 ponto
  8. bladeplays

    FusionPoke Open Beta Test!

    eu mexi um poko nele e pus ele pronto pra ficar online sem da crash !
    1 ponto
  9. function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) local from,to = {x = 154, y = 68, z = 7},{x = 160, y = 70, z = 7} if isPlayer(cid) and isMonster(lastHitKiller[1]) and isInRange(getCreaturePosition(cid), from, to) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doCreatureAddHealth(cid, getCreatureMaxHealth(cid), 65535, 256, true) doCreatureAddMana(cid, getCreatureMaxMana(cid)) doRemoveConditions(cid, false) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce saiu da arena.") return false end return true end
    1 ponto
  10. zetto

    Bug no war sytem

    Entendi, não é bug no War system, é bug na talkaction de frags. Troque tudo que tem no arquivo da pasta talkactions/scripts/frags por esse. function onSay(cid, words, param, channel) if(not getBooleanFromString(getConfigValue('useFragHandler'))) then return false end local time = os.time() local times = {today = (time - 86400), week = (time - (7 * 86400))} local contents, result = {day = {}, week = {}, month = {}}, db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. getPlayerGUID(cid) .. " AND `k`.`unjustified` = 1 AND `k`.`war` = 0 AND `pd`.`date` >= " .. (time - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC") if(result:getID() ~= -1) then repeat local content = { name = result:getDataString("name"), level = result:getDataInt("level"), date = result:getDataInt("date") } if(content.date > times.today) then table.insert(contents.day, content) elseif(content.date > times.week) then table.insert(contents.week, content) else table.insert(contents.month, content) end until not result:next() result:free() end local size = { day = table.maxn(contents.day), week = table.maxn(contents.week), month = table.maxn(contents.month) } if(getBooleanFromString(getConfigValue('advancedFragList'))) then local result = "Frags gained today: " .. size.day .. "." if(size.day > 0) then for _, content in ipairs(contents.day) do result = result .. "\n* " .. os.date("%d %B %Y %X at ", content.date) .. content.name .. " on level " .. content.level end result = result .. "\n" end result = result .. "\nFrags gained this week: " .. (size.day + size.week) .. "." if(size.week > 0) then for _, content in ipairs(contents.week) do result = result .. "\n* " .. os.date("%d %B %Y %X at ", content.date) .. content.name .. " on level " .. content.level end result = result .. "\n" end result = result .. "\nFrags gained this month: " .. (size.day + size.week + size.month) .. "." if(size.month > 0) then for _, content in ipairs(contents.month) do result = result .. "\n* " .. os.date("%d %B %Y %X at ", content.date) .. content.name .. " on level " .. content.level end result = result .. "\n" end local skullEnd = getPlayerSkullEnd(cid) if(skullEnd > 0) then result = result .. "\nYour " .. (getCreatureSkullType(cid) == SKULL_RED and "red" or "black") .. " skull will expire at " .. os.date("%d %B %Y %X", skullEnd) end doPlayerPopupFYI(cid, result) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You currently have " .. size.day .. " frags today, " .. (size.day + size.week) .. " this week and " .. (size.day + size.week + size.month) .. " this month.") if(size.day > 0) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Last frag at " .. os.date("%d %B %Y %X", contents.day[1].date) .. " on level " .. contents.day[1].level .. " (" .. contents.day[1].name .. ").") end local skullEnd = getPlayerSkullEnd(cid) if(skullEnd > 0) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your " .. (getCreatureSkullType(cid) == SKULL_RED and "red" or "black") .. " skull will expire at " .. os.date("%d %B %Y %X", skullEnd)) end end return true end
    1 ponto
  11. essas coordenadas aqui: {from = {x = 1001, y = 1057, z = 13}, to = {x = 1012, y = 1066, z = 13}, name = 'Party'}, tem que está nesse formato
    1 ponto
  12. Wend ll

    [Erro] Rme

    passou os arquivos items.xml e items.otb do seu servidor pra pasta Remere's Map Editor\data\854 do RME? e está abrindo o RME com o client das novas sprites adicionadas?
    1 ponto
  13. Wend ll

    [Encerrado] Poketibia

    Sem dúvidas eu usaria esse servidor que vem sendo atualizado pelo @Lordbaxx e é uma ótima base para projeto sério pois contém as source: http://www.xtibia.com/forum/topic/233665-pokemon-imperium-open-source/ resolvido? se sim clique em melhor resposta para que a tag seja adicionada automaticamente ^^
    1 ponto
  14. notle2012

    Mudanças e novidades!

    muito boa essa inovação estimular mais competições entre os membros eu tenho que agradecer todos vocês da equipe que fez de tudo pra trazer de volta o grande Xtibia obg *-*
    1 ponto
  15. zipter98

    Sistema de Aura

    ^ como os códigos são interpretados na ordem que estão, haverá erro caso o jogador deslogue. local tab = { [6] = {effect = 70}, [7] = {effect = 70}, [8] = {effect = 70}, [9] = {effect = 70}, [10] = {effect = 70}, [11] = {effect = 70},-- [vocationID] = {effect = Number} [12] = {effect = 70} } local delay = 2 -- tempo do efeito da aura em segundos function ariseAura(cid) if isPlayer(cid) then doSendMagicEffect(getThingPos(cid), tab[getPlayerVocation(cid)].effect) addEvent(ariseAura, delay * 1000, cid) end end function onLogin(cid) if tab[getPlayerVocation(cid)] then ariseAura(cid) end return true end
    1 ponto
  16. Wend ll

    FusionPoke Open Beta Test!

    Tenho ele mais não, formatei o HD
    1 ponto
  17. Wend ll

    FusionPoke Open Beta Test!

    Pode mim falar oque editou nesse servidor? pelas informações não vejo nada mudado, porq todas essas edições foram feitas por mim vejo que o cp (centro pokemon) ainda continua o mesmo que eu editei creio que só tiraram o piso com o nome PokéxMostyer! nas prints que você mostrou não vi nada de novo; os megas pokemons, npc vendendo de stone, npc de viajem, npc que vende lendarios, npc que vende outfits , bike e tv system, medalha vip e várias outras coisas foram criadas por mim. fora isso está bom, boa sorte com o OT Edit: não estou mais editando esse servidor porque parei de mexer com PDA, ai doei para um cara e vendi uma copia pra outros
    1 ponto
  18. Wend ll

    [Encerrado] Poketibia

    Esse (PDA): http://www.xtibia.com/forum/topic/230940-pda-by-bolz-versao-god-anna/ Distro limpinha ^^ se for para projeto sério eu recomendo um servidor com source, e os erros você vai corrigindo de pouco em pouco
    1 ponto
  19. Ótimo MOD, tenho certeza que vários membros iram usar rep+
    1 ponto
  20. function onSay(cid, words, param, channel) local param = string.explode(param, ",") local bantypes = { ["ip"] = function() doAddIpBanishment(getIpByName(param[2]) ) return true end,--, mask[, length[, reason[, comment[, admin[, statement]]]]]]), ["name"] = function() doAddPlayerBanishment(param[2]) return true end,--}, type[, length[, reason[, action[, comment[, admin[, statement]]]]]]]), ["account"] = function() doAddAccountBanishment(getAccountIdByName(param[2]) ) return true end,--, playerId[, length[, reason[, action[, comment[, admin[, statement]]]]]]]), } --[[ doRemoveIpBanishment(ip[, mask]) doRemovePlayerBanishment(name/guid, type) doRemoveAccountBanishment(accountId[, playerId]) ]] if words == "/ban" then for i, j in pairs(bantypes) do if (string.lower(param[1]) == i) then doRemoveCreature(getCreatureByName(param[2]), true) return j() and doBroadcastMessage(" [BAN ADVISE]--> O Staff: ["..getCreatureName(cid).."] Baniu o player ["..param[2].."] por "..i..".", MESSAGE_STATUS_WARNING) end end end return true end <talkaction log="yes" access="5" words="/ban" event="script" value="ban.lua"/>
    1 ponto
  21. zipter98

    Quest Simples

    Action: local config = { time = 10, --Tempo para fazer a quest, em minutos. toPosition = {x = x, y = y, z = z}, --Para onde os jogadores serão teleportados. positions = { {x = x, y = y, z = z}, --Posições que os jogadores devem ficar. {x = x, y = y, z = z}, {x = x, y = y, z = z}, {x = x, y = y, z = z}, }, level = 100, --Level mínimo para fazer a quest. storages = {8605, 8606}, } function onUse(cid) local pid = {} if getPlayerStorageValue(cid, config.storages[2]) > -1 then return doPlayerSendCancel(cid, "You already completed that quest.") end for _, online in pairs(getPlayersOnline()) do if getPlayerStorageValue(online, config.storages[1]) > -1 then return doPlayerSendCancel(cid, "Someone is at the quest right now.") end end for i, position in pairs(config.positions) do local p = getTopCreature(position).uid if p < 1 or not isPlayer(p) then return doPlayerSendCancel(cid, "Not enough players to start the quest.") elseif getPlayerLevel(p) < config.level then return doPlayerSendCancel(cid, "Some player is at a level below "..config.level..".") end pid[#pid + 1] = p end for _, player in pairs(pid) do doPlayerSendTextMessage(player, MESSAGE_STATUS_CONSOLE_ORANGE, "Good luck at the quest!\nTime: "..config.time.." minutes.") doTeleportThing(player, getClosestFreeTile(player, config.toPosition)) setPlayerStorageValue(player, config.storages[1], 1) end addEvent(function() for _, player in pairs(pid) do if isPlayer(player) and getPlayerStorageValue(player, config.storages[1]) > -1 then doPlayerSendTextMessage(player, 27, "Oh, timeout. Sorry. :/") setPlayerStorageValue(player, config.storages[1], -1) doTeleportThing(player, getTownTemplePosition(getPlayerTown(player))) end end end, config.time * 60 * 1000) return true end Tag: <action actionid="xxx" event="script" value="nome_do_arquivo.lua"/> Troque xxx pelo actionid. Creaturescript: function onLogout(cid) if getPlayerStorageValue(cid, 8605) > -1 then return doPlayerSendCancel(cid, "You can't logout on the quest.") and false end return true end function onLogin(cid) if getPlayerStorageValue(cid, 8605) > -1 then setPlayerStorageValue(cid, 8605, -1) end return true end Tags: <event type="logout" name="questLogout" event="script" value="nome_do_arquivo.lua"/> <event type="login" name="questLogin" event="script" value="nome_do_arquivo.lua"/> Em data/creaturescripts/scripts, abra o arquivo exp2.0.lua. Acima de: if getPlayerStorageValue(cid, 6598754) >= 1 or getPlayerStorageValue(cid, 6598755) >= 1 then Coloque: if getPlayerStorageValue(cid, 8605) > -1 then for _, pid in pairs(getPlayersOnline()) do if getPlayerStorageValue(pid, 8605) > -1 then doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid))) doPlayerSendTextMessage(pid, 27, "Someone died and you lost the quest. Better luck on the next time!") setPlayerStorageValue(pid, 8605, -1) end end doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) return false end No código de premiação da quest, coloque as seguintes linhas: setPlayerStorageValue(cid, 8605, -1) setPlayerStorageValue(cid, 8606, 1)
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...