Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 02/14/19 em todas áreas

  1. Eae galera do xtibia beleza? hoje venho trazer o Death System um sisteminha que um amigo meu fez, é bem utilizado atualmente. Antes de tudo gostaria de deixar bem claro que não fui eu que fiz. Créditos no final do tópico. Testado em OTX Server 8.60 e TheForgottenServer 0.4 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 : TFS: OTX: 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: Zoom
    1 ponto
  2. Em talkactions crie um arquivo chamado doubleexp.lua, cole isto: function onSay(cid, words, param, channel) local config = { storage = 102590, } if(param == 'cancel') or (param == 'cancelar') then if getGlobalStorageValue(config.storage) > 0 then setGlobalStorageValue(config.storage, -1) doBroadcastMessage("Double Exp cancelado") end return true end param = tonumber(param) if(not param or param < 0) then doPlayerSendCancel(cid, "Digite por quantas horas o evento ira durar") return true end if getGlobalStorageValue(config.storage) - os.time() <= 0 then setGlobalStorageValue(config.storage, os.time()+param*60*60) doBroadcastMessage("Exp bonus ativado + 20% de EXP por "..param.." hora(s)! Aproveite.") end return true end TAG: <talkaction words="/doubleexp" access="5" event="script" value="doubleexp.lua"/> Depois em creaturescript crie um arquivo chamado doubleexp.lua, cole isto: function onKill(cid, target) if isPlayer(cid) and isMonster(target) then if getGlobalStorageValue(102590) - os.time() >= 1 then local exp = getExperienceStage(getPlayerLevel(cid), getVocationInfo(getPlayerVocation(cid)).experienceMultiplier) local count = ((getMonsterInfo(string.lower(getCreatureName(target))).experience*1.2*exp)/2) doPlayerAddExperience(cid, count) addEvent(doSendAnimatedText, 500, getCreaturePosition(cid), '+'..count, math.random(50,60)) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "[DOUBLE XP] Você ganhou 20% a mais de exp.") end else return true end return true end TAG: <event type="kill" name="ExpBonus" event="script" value="doubleexp.lua"/> em login.lua coloque isso: registerCreatureEvent(cid, "ExpBonus") A modificação da porcentagem é na script do creaturescript. 1.2 = 20% de double. Edite da meneira que desejar.
    1 ponto
  3. Em talkactions/scripts crie um arquivo chamado novas.lua, cole isso dentro: function onSay(cid, words) local msg = [[ NOVIDADES ------ FIIM. ------ ]] doPlayerPopupFYI(cid, msg) return true end TAG: <talkaction words="!novidades" event="script" value="novas.lua"/> Só por as novidades entre [[ e ]].
    1 ponto
  4. com tempo function onUse(cid, item) custo = 1000000 level = 100 monster = "dragon" posmonster = {x=79, y=335, z=7} switchUniqueID = 1912 local cd = { cdtime = 10, --//-- quanto tempo fica sem usar o item str = 69888, } if getPlayerLevel(cid) >= level and getPlayerMoney(cid) >= custo and item.uid == switchUniqueID and getPlayerStorageValue(cid, cd.str) < os.time() then setPlayerStorageValue(cid, cd.str, os.time() + cd.cdtime) doPlayerRemoveMoney(cid, custo) doCreateMonster(monster, posmonster) doSendMagicEffect(getThingPos(cid), 12) doPlayerBroadcastMessage(cid, "Raid Started") elseif getPlayerStorageValue(cid, cd.str) >= os.time() then doPlayerSendCancel(cid, "espere para usar novamente") else doPlayerSendCancel(cid, "voce nao tem level necessario para ativar essa task, ou seu dinheiro nao e suficiente !") doSendMagicEffect(getThingPos(cid), 2) end end
    1 ponto
  5. Roksas

    Torneio PVP!

    Iaaae galera suave braaits ? Hoje venho trazer para vocês um sistema de Torneio, mas, como funciona? Vários players entram numa sala, falando com o NPC (tem horário configurável para poder falar), e para poder participar deve pagar uma quantia, ao pagar você é teleportado á Arena aonde começa a batalha. O último que sobreviver vence Vamos á instalação? ~~ Vá em data/npc, copie algum arquivo .XML da pasta e cole, renomeie para Tournament, cole isso dentro: Ok, agora vá em data/npc/scripts, copie algum arquivo dessa pasta e cole, renomeie para tournament, cole isso: Configurando: local cfg = { price = 100, -- Money to sign in tournament startPos = {x = 1016, y = 1025, z = 7}, -- Posição central da sala de torneio hour = "18:00:00", -- Hour to start maxhour = "18:15:00" -- Max to start } Price é o preço que paga para entrar no Torneio, startPos é as coordenadas do meio da sala de Torneio, e Hour é a hora do dia que começa, o Torneio no caso é diário, mude o horário de "18:00:00" para o horário desejado, entre aspas e no formato 00:00:00! Já o maxhour determina até quando o NPC vende inscrições, no caso coloquei por 15 minutos. ​ Agora vamos configurar a alavanca e o baú do vencedor! Vá em data/lib, abra o arquivo 050-function.lua ou function.lua, vá até a última linha de todas, pule 2 linhas e cole isso: Essa é a lib que usaremos no nosso Torneio, muito bem, agora vá em data/actions/scripts, copie algum arquivo desta pasta e cole, renomeie para tournament e cole isso dentro: Configurando: local cfg = { salaAward = {x = 1016, y = 1014 , z = 7}, -- Coordenates of the award place } salaAward, coloque as coordenadas da sala de prêmio do vencedor do Torneio! local area = {fromx = 1008, fromy = 1018, fromz = 7, tox = 1025, toy = 1033, toz = 7} fromx - fromy - fromz, coloque as coordenadas (X,Y e Z) do canto superior esquerdo da sala de Torneio, e tox - toy - toz, coloque as coordenadas (X, Y e Z) do canto inferior direito da sala de Torneio. local maxhour = "18:15:00", coloque igual ao script do NPC! Na mesma pasta crie outro arquivo, mas agora com o nome de tournamentchest e adicione isso dentro: ​Configurando: local cfg = { awardId = 2148, -- Item ID of winner prize awardAmount = 100, -- Amount of item ID } awardId coloque o ID do item que vai receber ao ganhar o Torneio, e awardAmount a quantidade! Em actions.xml adicione essas tags: <action actionid="13549" event="script" value="tournament.lua"/> <action uniqueid="5531" event="script" value="tournamentchest.lua"/> Muito bem, dirija-se á data/creaturescripts/scripts, copie algum arquivo da pasta e cole, renomeie para tournamentdeath, e adicione isso dentro: ​Configurando: ​ local cfg = { leftPos = {x = 1008, y = 1018, z = 7}, rightPos = {x = 1025, y = 1033, z = 7}, } leftPos coloque as coordenadas do canto superior esquerdo da Sala de Torneio, e rightPos coloque o canto inferior direito da sala Agora em creaturescripts.xml adicione essa tag: <event type="preparedeath" name="TournamentDeath" event="script" value="tournamentdeath.lua"/> Prontinho galera, agora apenas adicione ACTION ID 13549 na alavanca e UNIQUE ID 5531 no baú do campeão Download Mapa Tournament (Tibia) - 4shared
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...