Jump to content
×
×
  • Create New...

Roksas

Herói
  • Content Count

    3611
  • Joined

  • Last visited

  • Days Won

    58

Reputation Activity

  1. Upvote
    Roksas got a reaction from R e d in Piso que Teleporta 1 paso a frente   
    Vá em data/movements/scripts, crie um arquivo chamado tileup.lua e adicione isso dentro:
     
     
     
     
    Agora vá em data/movements, abra o arquivo movements.xml com o bloco de notas e adicione essa tag em qualquer lugar:
    OBS: (SE EXISTIR APENAS UM UNICO PISO NO MAPA, QUE TELEPORTE 1 PASSO A FRENTE USE ESSE:
     

    <movevent type="StepIn" uniqueid="9979" event="script" value="tileup.lua"/>
     
    AGORA, EXEMPLO, SE TODOS PISOS COM ID 108, FIZESSE O TELEPORT 1 PASSO A FRENTE, USASSE ESSE
     

    <movevent type="StepIn" itemid="108" event="script" value="trap.lua"/>
     
    Aonde está 108 coloque o ID do Piso ) boa sorte
  2. Upvote
    Roksas got a reaction from MaycozCientesda in Consertando Erro while saving player   
    Muito bom, pode sanar a dúvida do pessoal hehe. Obrigado por compartilhar conosco, aprovado.
  3. Upvote
    Roksas got a reaction from narutomaniacos in [Tutorial] Conhecendo o math.random   
    Iaaae galera tudo bom? Hoje irei dar umas informações, ensinar mais a respeito do "math.random"!
    Introdução Modos de usá-lo Finalização


    math.random


    Bom galera, o math.random é uma função da linguagem Lua, que pertence á biblioteca MATH. Essa função é utilizada para gerar "valores" aleatórios, numa linguagem mais fácil de compreender: ele sorteia os valores!


    Como utilizar?

    A função math.random, por narutreza é composta desta forma:

    math.random(inicial, final)

    Aonde o "inicial" corresponde ao primeiro valor, e o "final" ao último valor. Exemplo:


    math.random (1, 20)

    Aqui sorteamos qualquer valor entre 1 e 20. (Valor inicial/final).

    Um outro exemplo de uso:

    doSendAnimatedText(position,"Hail Eks", math.random(1, 255))

    Aqui iremos mandar aquelas mensagens coloridas, as cores vão variar de 1 a 255 (Valor inicial/final). Entenderam?

    Ok, até aqui utilizamos valores "OBRIGATÓRIOS". Mas porque? Dei alguns exemplos acima, como:


    math.random(1, 20)

    Iremos sortear qualquer valor entre 1 e 20. MAS, e se eu não quiser passar pelo valor 15? Como fazemos?

    Simples, criamos uma variável com os valores desejados, e outra randomizando, exemplo:


    local quero_esses = {2,5,10}random = quero_esses[math.random(1, #quero_esses)]

    Vamos entender essa lógica? Na variável "random", especifiquei que quero randomizar entre 2, 5 e 10. que utilizei acima, coloquei o "VALOR INICIAL", que é o primeiro valor, não importa qual, da minha variável/table/array... e usando o símbolo #, verifico o "tamanho da tabela", ou seja, pego todos os valores da mesma. Que no caso estão na variável (quero_esses).

    Sorteando qualquer valor entre os da minha variável, pode ser 2, 5 ou 10!

    Podemos também utilizar essa lógica do sorteamento DESEJADO, para quests de sorte. Exemplo de uso:


    local possibilidades = {2148, 2450, 2555} -- Possíveis items a ganhar!local randomizar = possibilidades[math.random(1,#possibilidades)]function onUse(cid, item, frompos, item2, topos)if getPlayerStorageValue(cid,2033) == -1 thendoPlayerAddItem(cid,randomizar,1)doPlayerSendTextMessage(cid,27,"Parabéns, o seu prêmio da quest foi sorteado!")setPlayerStorageValue(cid,2033,1)endreturn trueend

    Viram? Depois de criar as duas variáveis, uma randomizando e a outra com os valores, basta usar o nome da variável que randomiza, para escolher os valores entre "2148,2450 e 2555" no caso!

    É isso galera, espero que façam bom uso do math.random, como por exemplo: Sistema de chance de dropar, ou acontecer X coisa


    Beijo grande.
  4. Upvote
    Roksas got a reaction from 1579091 in [RPG] Forge System   
    Forje System
     
    Como vai galerinha, tive uma ideia bem legal com a ajuda do vital900, é para dar um pouco mais de RPG ao seu servidor.

    No caso é um sistema de Forja, no qual um NPC te leva para uma ilha, nela você deve levar junto um minério (Iron Ore) e um Hammer, você vai aquecer o Iron Ore jogando-o no coal basin e clicando no assoprador, em seguida se obter chance vai criar um metal derretido, e aí você deve bater nele, novamente se obter chance poderá ser transformado num item, este item faz com que seus equipamentos subam + 1 de Ataque, Defesa e Armor.








    Instalação
     
    Vá em data/actions/scripts, copie algum arquivo da pasta e cole, ou crie, renomeie para forge_system.lua em seguida adicione isso dentro dele, usando algum editor de texto:




    Volte para a pasta (data/actions), abra com o bloco de notas o arquivo actions.xml, e dentro dele adicione essa tag:

    <action actionid="17000" itemid="4846;8299" event="script" value="forje.lua" /> Agora siga para a pasta data/npc, copie algum arquivo da pasta e cole, renomeie para Forger e adicione dentro usando o bloco de notas:


    <?xml version="1.0" encoding="UTF-8"?> <npc name="Forger" script="forge_npc.lua" walkinterval="0" floorchange="0"> <health now="150" max="150"/> <look type="71" head="114" body="119" legs="114" feet="114" corpse="2212"/> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|. If you want forge say {forge}, need HAMMER and IRON ORE!"/> </parameters> </npc>
    Abra a pasta scripts dentro de data/npc, copie algum arquivo da pasta e cole, renomeie para forge_npc e adicione dentro usando algum editor de texto:









    Configuração
     
    No código de actions forge_system.lua, procure por este trecho e edite conforme citado abaixo:


    local cfg = { pos = {x = 1021, y = 1032, z = 7, stackpos = 255}, minerioTo = 5880, meltedTo = 5892, burnTo = 12404, hammerId = 4846, refinerId = 8299, secsInterval = 10, } pos = Coordenadas do coal basin do mapa postado para download minerioTo = O itemid do minério que vai ser derretido, (iron ore) meltedTo = ItemId do minério derretido burnTo = itemId do minério queimado hammerId = Item ID do martelo que vai bater na bigorna refinerId = O ID do item final, oque vai refinar os equips secsInterval = A cada quantos segundos pode fazer uma tentativa de forge. Na tag do actions.xml você encontra isso:


    <action actionid="17000" itemid="4846;8299" event="script" value="forje.lua" /> Mude apenas aonde está itemid, coloque na ordem: (O ItemID do Hammer e do Refiner derretido).

    No código de NPC, no caso o arquivo forge_npc.lua, você encontra esse trecho:


    local cfg = { area = {fromx = 1015, fromy = 1028, z = 7, tox = 1028, y = 1019, z = 7}, forgePosition = {x = 1018, y = 1034, z = 7}, templePosition = {x = 999, y = 1018, z = 7}, hammerId = 4846, minerioTo = 5880, needMoney = 1000, maxTime = 1, maxForge = 24, } area = Coloque as coordenadas do canto superior esquerdo da área de forja e do canto inferior direito forgePosition = coloque as coordenadas da sala de forja templePosition = pra aonde vai ser teleportado após acabar o tempo, no caso um Templo hammerId = O mesmo do forge_system.lua, coloque o Item ID do hammer (martelo) minerioTo = Coloque o Item ID do iron ore needMoney = Quanto de dinheiro precisa pra ir pra sala de forja maxTime = Quantos minutos no máximo pode ficar na sala de forja maxForge = A cada quantas horas pode entrar na sala de forja, coloquei 24, ou seja, 1x ao dia.



    Demonstração
     

    Créditos GIF: curruwilliam


    Finalizações
     
    Muito obrigado pela atenção galera e um forte abraço ao vital900 que me ajudou com o mapa e as ideias. Qualquer dúvida e/ou crítica estou aqui para atendê-los. Espero que façam um bom uso do mesmo


    Download Forge Mapa - Scan Forge Mapa
    Download Forge System - Scan Forge System
  5. Upvote
    Roksas got a reaction from gabriel28 in 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
  6. Upvote
    Roksas got a reaction from kauan13 in Porta de Reset   
    Vá em data/actions/scripts, crie uma arquivo chamado resetdoor.lua e adicione isso:
     
     
     
     
    O número 2 em vermelho, é o MÍNIMO de resets necessários para passar, mude para o valor desejado!
     
    <action actionid="31219" script="resetdoor.lua" />
     

    Agora no seu RME Map editor. Pegue alguma DOOR por Level, pode ser de quest, normalmente o ID é 1224,1223. Coloque essa DOOR no seu Map, clique 2x nela e adicione a ActionID 31219
     
    Agora vá em data/movements/scripts, crie um arquivo chamado resetclose.lua e adicione:
     
     
     
     
    Agora em movements.xml adicione essa tag:
     

    <movevent event="StepOut" actionid="31219" script="resetclose.lua" />
  7. Upvote
    Roksas got a reaction from gacjogos in [Encerrado] Erro doSendMagicEffect!   
    Não havia declarado a variável "pos", tente assim:
     
     
     
  8. Upvote
    Roksas got a reaction from Affzesquecioresto in 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
  9. Upvote
    Roksas got a reaction from pvpwar in Recompense Kill   
    Recompense Kill


     
     



     
    Saudações meus anjos, estive um tempo sem postar absolutamente nada, voltei já com algumas ideias e vim trazer para vocês! Este é um sistema, no qual ao matar um PK (White Skull), você recebe uma recompensa, (25 gold coins por level do PK) - Configurável.
     
    Exemplo, ele tem level 200 (200x25) = 5k para você disfrutar
     
     
     

    Instalação


     
     
     
     



     
    Vá em data/creaturescripts/scripts, copie algum arquivo da pasta e cole, renomeie para recompense.lua e coloque isto dentro:
     
     
     
     
    Abra com o bloco de notas o arquivo creaturescripts.xml e adicione estas tags:
     

    <event type="login" name="LoginRgst" event="script" value="recompense.lua"/> <event type="kill" name="Recompense" event="script" value="recompense.lua"/>
     
     

    Configuração


     
     



     
    Na primeira linha de todas do código, no caso esta:
     

    local moneyPerLevel = 25
     
    Você configura quantos gold coins recebe por level do PK. Assim formando uma conta como explicado na Introdução.
     
    Esta conta irá multiplicar o level do PK pela quantidade de gold coins recebe por level, assim dando uma leve recompensa ao killer.
     
     

    Demonstração


     
     



     



  10. Upvote
    Roksas got a reaction from adague in [Resolvido] book infinito de bless?   
    Vá em data/actions/scripts, crie um arquivo chamado book_bless.lua e adicione dentro:
     
     
    function onUse(cid, item) for a = 1, 8 do doPlayerAddBlessing(cid, i) end for b = 1, 5 do doPlayerSetLossPercent(cid, b, 0) end doPlayerSetLossSkill(cid, 0) doSendMagicEffect(getThingPos(cid), 29) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Congratulations, you are able to bless all.") return true end  
    Em actions.xml adicione a seguinte tag:
     
     
    <action itemid="9002" event="script" value="book_bless.lua"/>  
    @offtopic
     
    Olá, markindoot. Você se esqueceu de que ele não quer que remova o livro, aqui está um tutorial meu para a Escolinha de Scripting, sobre looping, aprendendo isso você poderia reduzir bastante o seu código ^^
    http://www.xtibia.com/forum/topic/222183-aula-9-loopings/
    ~~
     
    #GoodLuck.
  11. Upvote
    Roksas got a reaction from Shadow Phantom in [ALL VERSIONS] Mudando IP com HexEitor   
    http://www.xtibia.com/forum/topic/213351-peca-o-seu-cliente-proprio/
  12. Upvote
    Roksas got a reaction from Shadow Phantom in [ALL VERSIONS] Mudando IP com HexEitor   
    Reduz 4 letras que fica xuxu
  13. Upvote
    Roksas got a reaction from Shadow Phantom in [ALL VERSIONS] Mudando IP com HexEitor   
    Não não, aí a solução seria diminuir este IP. o máximo seria 19 caractéres.
  14. Upvote
    Roksas got a reaction from Shadow Phantom in [ALL VERSIONS] Mudando IP com HexEitor   
    Obrigado galerinha, qualquer coisa estou ae
  15. Upvote
    Roksas got a reaction from Shadow Phantom in [ALL VERSIONS] Mudando IP com HexEitor   
    Iaae galera, sussa? Hoje irei ensiná-los a mudar o IP de qualquer cliente usando o HexEditor, mais especificadamente o Cygnus. Vamos lá!
     

    Mudando IP com HexEditor


     
    Bom galera, primeiramente vocês deverão abrir o cliente desejado com o HexEditor (link para download no final do tópico).
     
    Vá em File > Open e abra o cliente. Em seguida verão todo o código fonte do cliente, todas traduções etc.
     
     
     
     
     



     
    Ok, agora para editar o IP dele, vamos procurar pelo IP que já está nele, você deve saber qual é, caso contrário vá até o fim do tópico e verá dicas para descubrir.
     
    Se for cliente de Tibia comum, o IP será o da CipSoft, agora vamos procurá-lo.
    Abra algum Editor de Texto (bloco de notas/MS Word) e digite o IP do cliente atual, vamos digitar isso:
     

    cipsoft
     
    Agora você seleciona, e copia. Mas por que isso?
    No CTRL+F do Cygnus HexEditor não é possível digitar corretamente, então copie de um Editor de Texto e cole lá no CTRL+F.
     
    Muito bem, após colar, aperte Enter para procurar, procure até encontrar uma sequência de IPS quase iguais e juntos, no caso da CipSoft vamos encontrar:





     
    Para mudar, não pode apagar nadinha, você clica entre o ponto (.) e a letra t, e digita o seu IP e perceberá que vai substituindo letra por letra. Os pontos separam cada IP, são 10 IPS para colocar, você não pode errar se não nem funciona!
     

    1º IP: tibia05.cipsoft.com 2º IP: tibia04.cipsoft.com 3º IP: tibia03.cipsoft.com 4º IP: tibia02.cipsoft.com 5º IP: tibia01.cipsoft.com 6º IP: login05.tibia.com 7º IP: login04.tibia.com 8º IP: login03.tibia.com 9º IP: login02.tibia.com 10º IP: login01.tibia.com
     
    Vai substituindo um por um com o seu IP, um exemplo preenchido:
     



     
    Caso sobrem letras do IP que você substituiu, você as substitui com pontos (....)
     
    Entre cada IP deve ter pelo menos 1 ponto (.), caso contrário o IP é muito grande e você deve trocá-lo para um menor, o máximo é de 19 caractéres por IP!
     
    Agora que já mudou o seu IP, aperte CTRL+F e procure:
     

    124710459426827943004376449897985582167801707960697037164044904862948569380850421396904597686953877022394604239428185498284169068581802277612081027966724336319448537811441719076484340922854929273517308661370727105382899118999403808045846444647284499123164879035103627004668521005328367415259939915284902061793
     
    Substitua por:
     

    109120132967399429278860960508995541528237502902798129123468757937266291492576446330739696001110603907230888610072655818825358503429057592827629436413108566029093628212635953836686562675849720620786279431090218017681061521755056710823876476444260558147179707119674283982419152118103759076030616683978566631413
     
    Após isso, vá em File > Save e prontinho, só abrir e se divertir
    Não encontrei o IP do cliente no HexEditor, oque eu faço?


    Caso for o cliente do PDA Slicer, abra-o com o Cygnus, aperte CTRL+G e cole [b]"1c62f0"[/b], sem as aspas, assim você irá encontrar a sequência de IPS para substituir! Se for Pokemon Nibe é igual do PDA Slicer Se for Tibia normal, é só dar CTRL+F e digitar "cipsoft" sem as aspas.
     
    Download Cygnus HexEditor
    Scan Cygnus HexEditor
  16. Upvote
    Roksas got a reaction from Developer Berg in [Tutorial] Adicionando Transforms Naruto   
    Bom galera, ultimamente bastante membros perguntando como adicionar transformações de Naruto e tals. Decidi criar um Tutorial pra que seja mais fácil e bem explicado a todos!
     
    Irei ensinar completamente, desde adicionando Sprites no client, até adicionando nos Scripts do servidor. Bora )
     
    • Colocando sprites no client!
     
     
     
    • Adicionando as sprites em seu Otserv
     
     
     
     
     
    • Criando as transformações
     
     
     
    Prontinho galera, agora basta entrar em seu Otserv e testar. Boa sorte, espero que tenham gostado e entendido, dúvidas só perguntar. Disponha ^^
     
    OBS: IMAGENS UPADAS POR DynkzDosOts
     
     
    DynkzDosOts
  17. Upvote
    Roksas got a reaction from Shyrriro in Tournament PVP V2.0   
    Sistema de Torneio V2.0


     



    Saudações galera, tudo de bão e do mió?
    Recebi alguns pedidos e vim trazer hoje para vocês o V2.0 do meu sistema de Torneio.
     
    Changelog:
     

    V2.0: Arrumado alguns BUGS. V2.0: Agora temos sala de espera. V2.0: Funciona também em Naruto, Pokemon & seus derivados!
     

    Instalação:


     



    Siga para data/lib, nessa mesma pasta crie um arquivo chamado tournament.lua e adicione dentro:
     
     
     
     
    Em data/npc/ crie um arquivo chamado Tournament.xml e adicione dentro:
     
     
     
     
    Entre na pasta scripts dentro de data/npc/ e crie um arquivo chamado tournament.lua e adicione dentro:
     
     
     
     
    Agora vá para a pasta data/globalevents/scripts, dentro dela crie um arquivo chamado tournament.lua e adicione dentro:
     
     
     
     
    Em globalevents.xml adicione essa tag:
     

    <globalevent name="TournamentStart" time="17:47" event="script" value="tournament.lua"/>
     
    Em data/actions/scripts, crie um arquivo chamado tournament.lua e adicione dentro:
     
     
     
     
    Abra com o bloco de notas o arquivo actions.xml e adicione a seguinte tag:
     

    <action uniqueid="18279" event="script" value="tournament.lua"/>
     
     
     
     
     
     
     
     
     

    Configuração:


     



    O arquivo que instalamos na pasta data/lib (tournament.lua), abra-o com o bloco de notas e vamos configurar esta parte:
     
    torneio = { awardTournament = 2148, awardAmount = 2, playerTemple = {x = 1008, y = 1018, z = 7}, tournamentFight = {x = 1017, y = 1026, z = 7}, area = {fromx = 1008, fromy = 1018, fromz = 7, tox = 1024, toy = 1033, toz= 7}, area2 = {x = 1008, y = 1018, z = 7}, {x = 1024, y = 1033, z = 7}, waitPlace = {x = 1017, y = 1044, z = 7}, waitArea = {fromx = 1010, fromy = 1040, fromz = 7, tox = 1024, toy = 1050, toz= 7}, startHour = "17:40:00", endHour = "17:50:00", price = 10000, revivePoke = 2494, }
    awardTournament colocamos o ItemID da recompensa do vencedor do torneio, awardAmount a quantidade.

    playerTemple colocamos as coordenadas do templo de alguma cidade, é para lá que ele vai ser teleportado ao vencer. tournamentFight colocamos as coordenadas do CENTRO da Arena de Torneios.

    Em area colocamos: (fromx, fromy e fromz) as coordenadas do canto superior esquerdo da Arena, (tox, toy e toz) colocamos as coordenadas do canto inferior direito da Arena.

    Em waitPlace colocamos as coordenadas do CENTRO, da Sala de Espera para começar o Torneio! Já o waitArea é a mesma coisa do "area" só que nesse é os cantos superior esquerdo e inferior direito da Sala de Espera.

    startHour colocamos a hora em que o NPC começa a vender entradas para o Torneio, é a hora do dia, com hora/minutos/e segundos, no formato "00:00:00", lá tem que ficar entre aspas! Já o endHour é a hora que ele para de vender as entradas e que começa o Torneio pra valer!

    Galera, o revivePoke, se seu OTServer for de Tibia, não MEXAM! Agora, se for Pokétibia, você muda o valor do revivePoke para o Item ID dos revives, isso serve para o player não levar revives pro Torneio.

    Em globalevents.xml na tag:

    <globalevent name="TournamentStart" time="17:47" event="script" value="tournament.lua"/> Aqui time="17:47" coloque o horário TERMINA as inscrições para o Torneio, é o mesmo do que endHour do lib. Mas aqui você só pode por em formato horas:minutos (00:00)

    Prontinho, agora é só ir no RME Map Editor e colocar UNIQUE ID 18279 em uma alavanca ou item dentro da Arena, isso serve para o player que ganhar ir embora com seu prêmio
     
     
     
     
     
     
     

    Finalizações:


     




     

    Bom galera, é isso por hoje, espero que façam um bom e ótimo uso. Estou disposto a aceitar DICAS/SUGESTÕES/CRÍTICAS & BUGS! Muito obrigado pela atenção!


     
     
     
     




     



     
     


    Download Tournament MAP (8.54)



    Download Sistema de Torneio V2.0

  18. Upvote
    Roksas got a reaction from Ryukiimaru in [Tutorial] Conhecendo o math.random   
    Iaaae galera tudo bom? Hoje irei dar umas informações, ensinar mais a respeito do "math.random"!
    Introdução Modos de usá-lo Finalização


    math.random


    Bom galera, o math.random é uma função da linguagem Lua, que pertence á biblioteca MATH. Essa função é utilizada para gerar "valores" aleatórios, numa linguagem mais fácil de compreender: ele sorteia os valores!


    Como utilizar?

    A função math.random, por narutreza é composta desta forma:

    math.random(inicial, final)

    Aonde o "inicial" corresponde ao primeiro valor, e o "final" ao último valor. Exemplo:


    math.random (1, 20)

    Aqui sorteamos qualquer valor entre 1 e 20. (Valor inicial/final).

    Um outro exemplo de uso:

    doSendAnimatedText(position,"Hail Eks", math.random(1, 255))

    Aqui iremos mandar aquelas mensagens coloridas, as cores vão variar de 1 a 255 (Valor inicial/final). Entenderam?

    Ok, até aqui utilizamos valores "OBRIGATÓRIOS". Mas porque? Dei alguns exemplos acima, como:


    math.random(1, 20)

    Iremos sortear qualquer valor entre 1 e 20. MAS, e se eu não quiser passar pelo valor 15? Como fazemos?

    Simples, criamos uma variável com os valores desejados, e outra randomizando, exemplo:


    local quero_esses = {2,5,10}random = quero_esses[math.random(1, #quero_esses)]

    Vamos entender essa lógica? Na variável "random", especifiquei que quero randomizar entre 2, 5 e 10. que utilizei acima, coloquei o "VALOR INICIAL", que é o primeiro valor, não importa qual, da minha variável/table/array... e usando o símbolo #, verifico o "tamanho da tabela", ou seja, pego todos os valores da mesma. Que no caso estão na variável (quero_esses).

    Sorteando qualquer valor entre os da minha variável, pode ser 2, 5 ou 10!

    Podemos também utilizar essa lógica do sorteamento DESEJADO, para quests de sorte. Exemplo de uso:


    local possibilidades = {2148, 2450, 2555} -- Possíveis items a ganhar!local randomizar = possibilidades[math.random(1,#possibilidades)]function onUse(cid, item, frompos, item2, topos)if getPlayerStorageValue(cid,2033) == -1 thendoPlayerAddItem(cid,randomizar,1)doPlayerSendTextMessage(cid,27,"Parabéns, o seu prêmio da quest foi sorteado!")setPlayerStorageValue(cid,2033,1)endreturn trueend

    Viram? Depois de criar as duas variáveis, uma randomizando e a outra com os valores, basta usar o nome da variável que randomiza, para escolher os valores entre "2148,2450 e 2555" no caso!

    É isso galera, espero que façam bom uso do math.random, como por exemplo: Sistema de chance de dropar, ou acontecer X coisa


    Beijo grande.
  19. Upvote
    Roksas got a reaction from curruwilliam in [ALL VERSIONS] Mudando IP com HexEitor   
    Iaae galera, sussa? Hoje irei ensiná-los a mudar o IP de qualquer cliente usando o HexEditor, mais especificadamente o Cygnus. Vamos lá!
     

    Mudando IP com HexEditor


     
    Bom galera, primeiramente vocês deverão abrir o cliente desejado com o HexEditor (link para download no final do tópico).
     
    Vá em File > Open e abra o cliente. Em seguida verão todo o código fonte do cliente, todas traduções etc.
     
     
     
     
     



     
    Ok, agora para editar o IP dele, vamos procurar pelo IP que já está nele, você deve saber qual é, caso contrário vá até o fim do tópico e verá dicas para descubrir.
     
    Se for cliente de Tibia comum, o IP será o da CipSoft, agora vamos procurá-lo.
    Abra algum Editor de Texto (bloco de notas/MS Word) e digite o IP do cliente atual, vamos digitar isso:
     

    cipsoft
     
    Agora você seleciona, e copia. Mas por que isso?
    No CTRL+F do Cygnus HexEditor não é possível digitar corretamente, então copie de um Editor de Texto e cole lá no CTRL+F.
     
    Muito bem, após colar, aperte Enter para procurar, procure até encontrar uma sequência de IPS quase iguais e juntos, no caso da CipSoft vamos encontrar:





     
    Para mudar, não pode apagar nadinha, você clica entre o ponto (.) e a letra t, e digita o seu IP e perceberá que vai substituindo letra por letra. Os pontos separam cada IP, são 10 IPS para colocar, você não pode errar se não nem funciona!
     

    1º IP: tibia05.cipsoft.com 2º IP: tibia04.cipsoft.com 3º IP: tibia03.cipsoft.com 4º IP: tibia02.cipsoft.com 5º IP: tibia01.cipsoft.com 6º IP: login05.tibia.com 7º IP: login04.tibia.com 8º IP: login03.tibia.com 9º IP: login02.tibia.com 10º IP: login01.tibia.com
     
    Vai substituindo um por um com o seu IP, um exemplo preenchido:
     



     
    Caso sobrem letras do IP que você substituiu, você as substitui com pontos (....)
     
    Entre cada IP deve ter pelo menos 1 ponto (.), caso contrário o IP é muito grande e você deve trocá-lo para um menor, o máximo é de 19 caractéres por IP!
     
    Agora que já mudou o seu IP, aperte CTRL+F e procure:
     

    124710459426827943004376449897985582167801707960697037164044904862948569380850421396904597686953877022394604239428185498284169068581802277612081027966724336319448537811441719076484340922854929273517308661370727105382899118999403808045846444647284499123164879035103627004668521005328367415259939915284902061793
     
    Substitua por:
     

    109120132967399429278860960508995541528237502902798129123468757937266291492576446330739696001110603907230888610072655818825358503429057592827629436413108566029093628212635953836686562675849720620786279431090218017681061521755056710823876476444260558147179707119674283982419152118103759076030616683978566631413
     
    Após isso, vá em File > Save e prontinho, só abrir e se divertir
    Não encontrei o IP do cliente no HexEditor, oque eu faço?


    Caso for o cliente do PDA Slicer, abra-o com o Cygnus, aperte CTRL+G e cole [b]"1c62f0"[/b], sem as aspas, assim você irá encontrar a sequência de IPS para substituir! Se for Pokemon Nibe é igual do PDA Slicer Se for Tibia normal, é só dar CTRL+F e digitar "cipsoft" sem as aspas.
     
    Download Cygnus HexEditor
    Scan Cygnus HexEditor
  20. Upvote
    Roksas got a reaction from Slyton in Comando de pula de clan   
    Tem sim, já estava no código desde o começo rs, mas eu retiro para você. Ficando assim:
     
     
     
     
    Flw!
  21. Upvote
    Roksas got a reaction from HenrikDiamond in Tournament PVP V2.0   
    Sistema de Torneio V2.0


     



    Saudações galera, tudo de bão e do mió?
    Recebi alguns pedidos e vim trazer hoje para vocês o V2.0 do meu sistema de Torneio.
     
    Changelog:
     

    V2.0: Arrumado alguns BUGS. V2.0: Agora temos sala de espera. V2.0: Funciona também em Naruto, Pokemon & seus derivados!
     

    Instalação:


     



    Siga para data/lib, nessa mesma pasta crie um arquivo chamado tournament.lua e adicione dentro:
     
     
     
     
    Em data/npc/ crie um arquivo chamado Tournament.xml e adicione dentro:
     
     
     
     
    Entre na pasta scripts dentro de data/npc/ e crie um arquivo chamado tournament.lua e adicione dentro:
     
     
     
     
    Agora vá para a pasta data/globalevents/scripts, dentro dela crie um arquivo chamado tournament.lua e adicione dentro:
     
     
     
     
    Em globalevents.xml adicione essa tag:
     

    <globalevent name="TournamentStart" time="17:47" event="script" value="tournament.lua"/>
     
    Em data/actions/scripts, crie um arquivo chamado tournament.lua e adicione dentro:
     
     
     
     
    Abra com o bloco de notas o arquivo actions.xml e adicione a seguinte tag:
     

    <action uniqueid="18279" event="script" value="tournament.lua"/>
     
     
     
     
     
     
     
     
     

    Configuração:


     



    O arquivo que instalamos na pasta data/lib (tournament.lua), abra-o com o bloco de notas e vamos configurar esta parte:
     
    torneio = { awardTournament = 2148, awardAmount = 2, playerTemple = {x = 1008, y = 1018, z = 7}, tournamentFight = {x = 1017, y = 1026, z = 7}, area = {fromx = 1008, fromy = 1018, fromz = 7, tox = 1024, toy = 1033, toz= 7}, area2 = {x = 1008, y = 1018, z = 7}, {x = 1024, y = 1033, z = 7}, waitPlace = {x = 1017, y = 1044, z = 7}, waitArea = {fromx = 1010, fromy = 1040, fromz = 7, tox = 1024, toy = 1050, toz= 7}, startHour = "17:40:00", endHour = "17:50:00", price = 10000, revivePoke = 2494, }
    awardTournament colocamos o ItemID da recompensa do vencedor do torneio, awardAmount a quantidade.

    playerTemple colocamos as coordenadas do templo de alguma cidade, é para lá que ele vai ser teleportado ao vencer. tournamentFight colocamos as coordenadas do CENTRO da Arena de Torneios.

    Em area colocamos: (fromx, fromy e fromz) as coordenadas do canto superior esquerdo da Arena, (tox, toy e toz) colocamos as coordenadas do canto inferior direito da Arena.

    Em waitPlace colocamos as coordenadas do CENTRO, da Sala de Espera para começar o Torneio! Já o waitArea é a mesma coisa do "area" só que nesse é os cantos superior esquerdo e inferior direito da Sala de Espera.

    startHour colocamos a hora em que o NPC começa a vender entradas para o Torneio, é a hora do dia, com hora/minutos/e segundos, no formato "00:00:00", lá tem que ficar entre aspas! Já o endHour é a hora que ele para de vender as entradas e que começa o Torneio pra valer!

    Galera, o revivePoke, se seu OTServer for de Tibia, não MEXAM! Agora, se for Pokétibia, você muda o valor do revivePoke para o Item ID dos revives, isso serve para o player não levar revives pro Torneio.

    Em globalevents.xml na tag:

    <globalevent name="TournamentStart" time="17:47" event="script" value="tournament.lua"/> Aqui time="17:47" coloque o horário TERMINA as inscrições para o Torneio, é o mesmo do que endHour do lib. Mas aqui você só pode por em formato horas:minutos (00:00)

    Prontinho, agora é só ir no RME Map Editor e colocar UNIQUE ID 18279 em uma alavanca ou item dentro da Arena, isso serve para o player que ganhar ir embora com seu prêmio
     
     
     
     
     
     
     

    Finalizações:


     




     

    Bom galera, é isso por hoje, espero que façam um bom e ótimo uso. Estou disposto a aceitar DICAS/SUGESTÕES/CRÍTICAS & BUGS! Muito obrigado pela atenção!


     
     
     
     




     



     
     


    Download Tournament MAP (8.54)



    Download Sistema de Torneio V2.0

  22. Upvote
    Roksas got a reaction from alanmtd in [Evento] Siege of Danger 1.0   
    Siege of Danger 1.0 [sOD]





     
    Opa opa galerinha zuera, estive dois dias fazendo um evento super legal para vocês, o SIEGE OF DANGER. Nesse evento, dois times são divididos e partem para a guerra sem dó nem piedade, o time que sobreviver ganhará um prêmio muito legal.
     


    Como instalar?
     
     
     
     
     
     

    ScreenShoots:
     
     
     


     
    Scan [sOD] 1.0
    Download [sOD] 1.0
     
    Trabalhei bastante nisso galera, espero que tenham gostado, obrigado por vizualizar s2
     
    OBS: Obrigado Celino (ScythePanthom) pelo mapa e pela logo!
  23. Upvote
    Roksas got a reaction from JonatasLucasf in Invasão Específica!   
    Iaae galera como vão? Hoje venho trazer para vocês um sistema de Invasão criado por mim.
     
    Ele funciona da seguinte maneira:
     

    /invasao Monster, Amount, Position
     
    Exemplo:
     

    /invasao Dragon, 3, 1000, 1000, 7
     
    O nome do monstro e depois da vírgula a quantidade, legal né?
    Vamos instalar?
     
    Entre na pasta data/talkactions/scripts, crie um arquivo chamado newraid.lua e adicione dentro:
     
     
     
     
    Nesta parte:
    Muito bem, agora siga para o arquivo talkactions.xml e adicione a tag:
     

    <talkaction log="yes" words="/invasao" event="script" value="newraid.lua"/>
     



     
    Façam um bom proveito e uso
     
     
     
  24. Upvote
    Roksas got a reaction from rayzinhoxd in Classic Premium v2   
    » CLASSIC PREMIUM V2 ! «


     
     
     
    Versão Testada: TFS 0.3.6: 8.60
     
    Opa galera, esse é mais um tópico meu, agora de Estagiário :))
    Neste tópico irei apresentar-lhes o Classic Premium v2, que usei algumas coisas de base do Perfect System (by Vodkart), agora contém:
     

    • GOD pode checar quantos Premium Days o player tem, pelo comando /checkdays NOMEDOPLAYER • GOD também pode adicionar Premium Days, pelo comando /addpremium NOME, QUANTIDADE • Temos também o comando /removedays NOME, QUANTIDADE que o GOD poderá fazer. • Além disso, temos mais duas novidades, os comandos: !changender e !removeskull, ambos removem 5 Premium Days do player!
     

     
    » Comandos de GOD
     
    Vamos lá, primeiramente vá na pasta data/talkactions, crie um arquivo chamadopremiumtalk.lua e adicione isso dentro:
     

    function onSay(cid, words, param) local player = getPlayerByName(param) local t = string.explode(param, ",") if words == "/checkdays" then if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") return true end if not isPlayer(player) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.") return true end return doPlayerPopupFYI(cid, "Player checked have "..getPlayerPremiumDays(player).." days of Premium Account!") end if words == "/addpremium" then local t = string.explode(param, ",") local player = getPlayerByNameWildcard(t[1]) if not tonumber(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true end if(not player)then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.") return true end doPlayerAddPremiumDays(player, tonumber(t[2])) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You has been added "..tonumber(t[2]).." days of Premium Account to the player! ") doRemoveCreature(player) end if words == "/removedays" then local t = string.explode(param, ",") local player = getPlayerByNameWildcard(t[1]) if not tonumber(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true end if(not player)then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.") return true end doPlayerRemovePremiumDays(player, tonumber(t[2])) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You has been removed "..tonumber(t[2]).." Premium Account Days of the player!") end return true end
     
    E no arquivo talkactions.xml adicione a tag que vêm a seguir:

    <talkaction words="/addpremium;/removedays;/checkdays" access="4" event="script" value="premiumtalk.lua"/>
     
    » Premium Door e Premium Scroll
     
    Muito bem, agora na pasta data/actions/scripts, crie um arquivo chamado scroll.lua e adicione isso dentro:
     

    local days_gain = 30 -- Dias que ganham function onUse (cid,item,frompos,item2,topos) if not doRemoveItem(item.uid) then return true end doPlayerAddPremiumDays(cid, days_gain) doSendMagicEffect(getCreaturePosition(cid), 14) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você acaba de ganhar 30 dias de Premium Account, terá áreas exclusivas e 35% a mais de EXP como benefício!") return true end
     
    Crie outro arquivo, mas agora com o nome de premiumdoor.lua e ponha isso dentro:
     

    function onUse(cid, item, frompos, item2, topos) if not isPremium(cid) then doPlayerSendTextMessage(cid,22,"Você precisa ter Premium Account para passar!") return false end doTransformItem(item.uid, item.itemid + 1) doTeleportThing(cid, frompos, true) return true end
     
    Abra o arquivo actions.xml e adicione essas tags:
     

    <action itemid="9004" event="script" value="scroll.lua"/> <action actionid="7779" script="premiumdoor.lua"/>
     
    OBS: Para fazer com que a porta seja para Premiums, no seu Map Editor, adicione a seguinte ACTIONID nela: 7779!
     
    » Classic Premium Tile
     
    Em data/movements/scripts, crie um arquivo chamado premiumtile.lua e adicione isso dentro:
     
    function onStepIn(cid, item, position, fromPosition) if not isPremium(cid) then doTeleportThing(cid, fromPosition, true) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Você não tem acesso Premium Account!") doSendMagicEffect(getCreaturePosition(cid), 2) return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Bem Vindo á Área Premium!") return true end  
    Ea tag no arquivo movements.xml coloque:
     
    <movevent type="StepIn" actionid="19456" event="script" value="premiumtile.lua"/>
     
    Para fazer com que apenas Premiums passe pelo piso, adicione a ACTIONID 19456 pelo seu Map Editor no piso!
     
    » Classic Mods
     
    Na pasta do seu OT, vá na pasta mods, crie um arquivo chamado classic_changender.xml e coloque isso dentro:
     

    <?xml version="1.0" encoding="UTF-8"?> <mod name="ChangeSex Classic" version="1.0" author="Roksas" enabled="yes"> <config name="changender_config"><![CDATA[ config = { costPremiumDays = 5 } ]]></config> <talkaction words="!changender" event="buffer"><![CDATA[ domodlib('changender_config') if(getPlayerSex(cid) >= 2) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce nao tem sexo para mudar!") return end if(getPlayerPremiumDays(cid) < config.costPremiumDays) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Desculpe, voce nao tem " .. config.costPremiumDays .. " Premium Days necessarios!") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return end if(getPlayerPremiumDays(cid) < 65535) then doPlayerAddPremiumDays(cid, -config.costPremiumDays) end doPlayerSetSex(cid, getPlayerSex(cid) == PLAYERSEX_FEMALE and PLAYERSEX_MALE or PLAYERSEX_FEMALE) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce mudou seu sexo e isso lhe custou " .. config.costPremiumDays .. " days de Premium Account! Relogue para que faca efeito.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_RED) ]]></talkaction> </mod>
     
    E crie outro arquivo, mas com o nome de classic_removeskull.xml e adicione isso:
     

    <?xml version="1.0" encoding="UTF-8"?> <mod name="Classic Remover" version="1.0" author="Roksas" enabled="yes"> <talkaction words="!removeskull" event="script"><![CDATA[ local noRemove = {SKULL_YELLOW} local playerSkull = getPlayerSkullType(cid) if isInArray(noRemove, playerSkull) then doPlayerSendCancel(cid, "Voce nao pode remover esse tipo de skull.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) return true elseif playerSkull == SKULL_NONE or getPlayerPremiumDays(cid) < 5 then doPlayerSendCancel(cid, "Voce nao tem skull ou 5 days de Premium Account!") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) return true else db.executeQuery("UPDATE `killers` SET `unjustified` = 0 WHERE `id` IN (SELECT `kill_id` FROM `player_killers` WHERE `player_id` = " .. getPlayerGUID(cid) .. ")") doPlayerSendTextMessage(cid, 27, "Seus frags,skull e 5 days de Premium Account foram removidos!") doPlayerRemovePremiumDays (cid,5) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_RED) doSendAnimatedText(getPlayerPosition(cid), "POFF!", 180) doCreatureSetSkullType(cid,0) doPlayerSetSkullEnd(cid, 0, playerSkull) end return true ]]></talkaction> </mod>
     
    » Classic Premium Rates
     
    Abra a pasta do seu OT, vá em data/creaturescripts/scripts, adicione um arquivo lá chamado premiumrate.lua e coloque isso dentro dele:
     
    function onLogin(cid) local rate = 1.35 local days = getPlayerPremiumDays(cid) if isPremium(cid) then doPlayerSetExperienceRate(cid, rate) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você tem "..((rate - 1)*100).."% de EXP em vantagem, Ainda lhe restam "..days.." dias de Premium!") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Tornesse Premium e tenha "..((rate - 1)*100).."% a mais de EXP!") end return true end
     
     
    Agora abra o arquivo login.lua na mesma pasta, procure por um trecho mais ou menos assim:
     

    registerCreatureEvent(cid, "kill") registerCreatureEvent(cid, "onPrepareDeath") registerCreatureEvent(cid, "PlayerLogout") registerCreatureEvent(cid, "onPrepareDeath")
     
    Ao encontrar, adicione isso no fim ou no começo ou no meio deles:
     

    registerCreatureEvent(cid, "ExpVip")
     
    Muito bem, agora no arquivo creaturescripts.xml adicione essa tag:
     

    <event type="login" name="ExpVip" script="premiumrate.lua"/>
     
    Explicando: Para configurar as rates procure por esse trecho no script:
     

    local rate = 1.35
     
    O número 35, significa a porcentagem. Ou seja, 35% de Exp Rate em vantagem, ajuste como quiser: 20, 50, 60...
     

    Bom galera, isso foi tudo. Espero que tenham gostado da versão v2 do Classic Premium! Aguardo respostas, sugestões e críticas a respeito! Agradeço Vodkart por algumas funções e bases. Encerrarei com algumas ScreenShoots do meu Sistema! Obrigado e BENÇA )
     
    » SCREENSHOOTS
     

     

     

     


  25. Upvote
    Roksas got a reaction from Pigot in Retirando Bug Do Rme 8.60   
    Dúvida: Retirando Bug do RME 8.60


     

    • Introdução: Bom, depois de alguns meses voltei ao XTibia, de acordo estava "aposentado" rs.

    Eu sei que há muitos tutoriais deste, de como retirar o bug, mas nenhum funcionou comigo e sempre vi pessoas dizendo que não conseguiram, então resolvi criar este porque comgo o processo foi sucedido!

     

    Chega de conversa, vamos ao que interessa (rimou). =D

       

     

    Primeiramente, abra seu Remeres MapEditor 8.60. Siga estes passos:

     

    File>Preferences>Client Version> Desmarque a caixa "Check file signatures"> Marque Apply e depois>Ok.

     

    Muito bem, agora iremos enteder um pouco este erro: Ele diz que não consegue encontrar os arquivos necessários e quando você clica para encontrar, dá o mesmo erro. Vejamos, então devemos instalar o Client Tibia pelo site do Remeres!

     

    Então, faremos isso. Segue o link de download do Client:

    http://www.remeresma...le=tibia860.exe

     

    Muito bem, após baixar, instalar. Crie uma pasta em seu Desktop chamada "Mapeditor"> Agora vá na pasta do seu Tibia (normalmente se localiza em: Disco Local>Arquivos de Programas>Tibia), agora copie os arquivos "tibia.dat", "tibia.spr" e "tibia.pic". Vá na pasta "Mapeditor" no Desktop e cole-os lá mesmo. Agora abra seu MapEditor RME 8.6! Pronto, use á vontade. (Para quem não deu certo, aperte "Ok" no erro e aparecerá uma caixa para procurar os arquivos, selecione Desktop>E em seguida a pasta Mapeditor. Irá carregá-los e pronto!)

     

     

    Muito obrigado pessoal, espero que dê certo. Fiz com muita dedicação e espero ajudar. Muito obrigado a todos, leiam com atenção e GoGo criar mapas *-*

     

    Créditos> Bom, eu vi este Tutorial em algum lugar, mas esqueci. Mas deu certo. Então infelizmente por não lembrar-me, 100% á quem criou o tutorial inexistente.