Ir para conteúdo

Líderes

Conteúdo Popular

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

  1. [Talkaction] Premiação

    Raphael Darkath e 3 outros reagiu a Vampira por uma resposta no tópico

    4 pontos
    *Sistema de premiação ~ By: Vampira* Com este comando você podera dar determinado item a um ou todos os players on no server! Copie e cole esta linha na sua talkactions.xml <talkaction words="!premiar" event="script" value="premiar.lua"/> Agora crie um arquivo chamado primiar.lua na pasta data/talkactions/ e copie e cole este codigo dentro dele: -- Sistema de premiação 1.0 -- script criado por Vampira. -- suporte técnico: [email protected]. local function premiarItem(cid, itemid, amount) local item = 0 if(isItemStackable(itemid)) then item = doCreateItemEx(itemid, amount) if(doPlayerAddItemEx(cid, item, true) ~= RETURNVALUE_NOERROR) then return false end else for i = 1, amount do item = doCreateItemEx(itemid) if(doPlayerAddItemEx(cid, item, true) ~= RETURNVALUE_NOERROR) then return false end end end return true end function onSay(cid, words, param, channel) if(param == "") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Diga um nome, Item, quantidade(opcional) exemplo: !premiar Player, Demon Helmet, 1") return TRUE end local player = string.explode(param, ",") local quantidade = 1 local premiar = player[2] if (player[3]) then quantidade = player[3] end local id = tonumber(premiar) if(not id) then id = getItemIdByName(premiar, false) if(not id) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Nome digitado incorretamente ou item não existe.") return true else premiar = id end end if(isItemMovable(premiar) == false) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Item não pode ser premiado") return TRUE else if(player[1] == "todos") then if getPlayerGroupId(cid) > 4 then local monos = getPlayersOnline() local ley = {} for i, lol in ipairs(monos) do ley[i] = lol local vampira_tk = ley[#ley] premiarItem(vampira_tk, premiar, quantidade) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Premiação entregue") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player não encontrado") end return TRUE end if (getPlayerByName(player[1])) then if getPlayerGroupId(cid) > 4 then premiarItem(getPlayerByNameWildcard(player[1]), regalar, quantidade) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Premiação entregue") else if getPlayerItemCount(cid,premiar) >= quantidade then doPlayerRemoveItem(cid, regalar, quantidade) premiarItem(getPlayerByNameWildcard(player[1]), regalar, quantidade) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Premiação entregue") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não tem este item") end end return TRUE else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player não encontrado") end end return TRUE end Como usar o comando: * Marrom = nome do player, escreva todos para mandar para todos os players. * Azul = ID ou nome do item * Verde = Quantidade do item OBS: player só poderá enviar item se ele estiver o determinado item na bp, já o GOD pode enviar o item mesmo sem ter ele na bp. Creditos: 100% meu u.u
  2. PagSeguro, Duvida!

    Foxy e 2 outros reagiu a Vampira por uma resposta no tópico

    3 pontos
    Na hora do cadastro você pode colocar que tem 18 anos... Pronto conta criada, agora basta você ir juntando dinheiro no seu server, espere até você enterar 18 anos que no caso é ano que vem, ao inteirar 18 anos modifique as alterações na sua conta de forma correta e realize o saque do dinheiro...
  3. Player Online Spoof

    lucasfk e um outro reagiu a luuuck por uma resposta no tópico

    2 pontos
    Eai galera do TibiaKing! Primeiro antes da apresentação, eu acho errado usar este sistema, uma vez que ele causa banimento também da OTServList... Apresentação do Spoofing: O que acontece, é que poucos sabem, porem existe uma forma de você burlar a quantidade de players online em seu otserver, desse modo seu OTServ pode atingir rapidamente a ponta de qualquer lista e ganhar fama em pouquíssimo tempo a ponta do OTServList... Esse Spoofing é o mesmo que a ChaitoSoft e a OTMaker vende, e vou estar disponibilizando para vocês aqui para Download, e explicando um pouco do sistema... O Spoofing: Entao, com essas sources você irá transformar em teu executável, se eu não me engano já está configurado alguns spoofing nela. Se você adicionar 300 Spoofing e teu server estiver com 100 online na OTServList irá aparecer 400 online, levando assim você para o topo da lista, porem o sistema tem suas falhas e é muito fácil de se achar o que em 1 ou 2 dias você pode ser banido da lista, vou mostrar como: Na imagem abaixo você percebe que no contador principal que se mostra em todas as paginas do site está 700 Players Online, porem se você ir até Who Is Online do site, mostra o numero real de players que é 200, sendo assim esse servidor usa 500 players de spoofing... O codigo foi desenvolvido para a versão TheForgottenServer compatível com Gesior Account feito pela OTMaker para a versão 9.60, porem pode ser facilmente adaptado para qualquer outra versão. Qual o meu objetivo em divulgar isso? Simplesmente para vocês terem acesso ao Players Spoofing vendido em sites de OTServer por 10 reais... LEMBRANDO QUE EU NÃO ACONSELHO O USO DO MESMO. Download: http://uploaded.net/file/7060o5vg Créditos: OTMaker e ChaitoSoft pelo conteúdo. Luuuck pela postagem.
  4. [Aula 10] O Comando for

    Tribits e um outro reagiu a MaXwEllDeN por uma resposta no tópico

    2 pontos
    << Aula 9 - Tabelas Essa aula foi escrita por uma raposa levada Skyen Hasus, todos os créditos pertencem a ele. O Comando for Aula 10 Você nunca viu o comando for? Ou já abriu um Script e não entendeu nada por causa dele? Eis aqui uma explicação de como funciona o comando e alguns exemplos de utilização, assim como alguns exercícios. Antes de mais nada, o que faz o for? R: O for causa um "loop", mas não é como o while e o repeat. Por que? Porque ele atribui à uma variavel todos os valores entre o valor inicial e o valor final. Editado: O For não é um comando Condicional! Estrutura do For: for variavel = valor inicial, valor final[, incremento] do bloco end Não entendeu? Então vamos à breves explicações, começando com um exemplo abstrato: local i = 1 local j = 10 local inc = 1 for var = i, j, inc do print(var) end "Oh! Que bicho é este?" R: Isto é um exemplo ridículo do uso do for. Se você nunca viu isso antes, obviamente não entendeu, mas não é nenhum monstro de três cabeças. Quando eu explicar o que foi feito, você vai ver que é muito simples. Nas três primeiras linhas eu defini três variaveis locais, para "limpar" o script e facilitar o entendimento de quem ainda não conhece o for: local i = 1: Aqui eu usei "i" como inicial e ela é usada na linha 5. Seu valor é 1. local j = 10: Aqui eu usei "j" como final e ela é usada na linha 5. Seu valor é 10. local inc = 1: Esté é o incremento do for e seu valor é 1. Vai ser explicada mais pra frente, então não se preocupe com ela agora. var: É a variável à qual será atribuida os valores. "Perai, agora estou com dúvida. Você não declarou a variavel var!" R: Isto é porque ela não precisa ser declarada! Ela só vai servir como variavel dentro do laço(for). Se eu tentasse usar ela em um bloco fora do for bloco do sem ter declarado ela antes, vai resultar num simples nil(Nulo)! print(): Só vai escrever no console. Explicada as variáveis, vamos entender o funcionamento do código: O for vai atribuir à var todos os valores entre o "i"(valor inicial) e o "j"(valor final), incluindo os dois! Não vamos nos preocupar com o incremento agora, pois você pode escrever o código sem ele. No caso, o valor padrão do incremento é 1. Vamos à mais um exemplo: print("-- Início --") for var = 1, 5 do print("Valor de var: "..var) end print("-- Fim --") As saídas geradas por esse Script serão: -- Início -- Valor de var: 1 Valor de var: 2 Valor de var: 3 Valor de var: 4 Valor de var: 5 -- Fim -- Entendeu agora? Na primeira vez o for atribuiu à var o valor 1, executou o bloco, depois ele fez um loop, voltando para o começo e re-atribuiu à var o valor inicial + 1 que é 2, executando o bloco de novo usando o novo valor de var. Depois valor inicial + 1 + 1 e assim vai até chegar no valor final que é 5, e é aonde ele para. "Tá, mas não vejo a utilidade do for." Então você, com todo o respeito, é cego! O que eu fiz em três linhas poderia ser feito assim: i = 1 j = 5 switch = TRUE while switch == TRUE do if i == j then print("Valor de i: "..i) switch = FALSE else print("Valor de i: "..i) i = i + 1 end end Ou, dando um desconto, para encurtar, no máximo poderia ser feito assim: i = 1 j = 5 while i <= j do print("Valor de i: "..i) i = i + 1 end Além de que você não pode usar variaveis locais dentro de whiles. Você entendeu tudo o que foi feito até aqui? R: Não! Então volte até a parte onde você "se perdeu" e não leia, estude, até entender. R: Sim! Então vamos complicar um pouco mais e aplicar o for em tabelas! (Atenção, você não precisa conhecer tabelas para continuar!) Aplicando o For em Tabelas! "Qual a utilidade de aplicar o For em tabelas?" R: Não sei se você percebeu, mas não podemos aplicar, do jeito que eu exemplifiquei acima, strings no for, mas há como fazer isso, sim! Usando tabelas(tables, arrays) "Como fazemos então?" Você precisa, antes de mais nada, declarar a tabela! Para quem não conhece, as tabelas são declaradas igual a variáveis, e podem ser locais ou globais. Você pode dar-lhes o nome que quiser, desde que não contenha caracteres especiais: !@#$%¨&*()-+=-*/,.ESPAÇO<>:;?|\"'`´[]{}°ºª¹²³£¢¬§. Underlines (_) são permitidos. Você pode utilizá-los como espaços. O valor das Tabelas ficam sempre entre chaves({}) e são separados por vírgulas! As strings seguem o padrão de estarem sempre entre aspas("")! local Tabela = {} "Pronto! E agora?" R: Está esperando o que? Adicione os valores! Vou inserir na minha tabela o meu nick e o nick de mais 3 amigos: <Falta de Imaginação > local Tabela = {"Skyen Hasus", "Hwoarang", "MotoBoy", "Luketez"} Agora entra o for, mas omo fazemos para pegar os valores da tabela? Simples! Qual é a posição do primeiro valor da tabela? É 1, então como valor inicial do for nós colocamos 1! E como valor final? Este valor varia, já que uma tabela pode conter vários e vários valores. Resposta: Nós usamos o #nome_da_tabela! O # retorna o número de valores que a tabela tem! Um outro jeito de fazer isso seria usando o table.getn(tabela), mas é mais fácil e curto com o #! "Ah! Então é só construir a estrutura do for e no bloco colocar print(var)!" Errado, meu amigo, embora a culpa seja minha. O for atribui à variável somente o valor NUMÉRICO, ou seja, ele vai atribuir a posição do valor na tabela. "Então como eu tenho que fazer?" Se você já conhece tabelas, pense um pouco, não é tão difícil! Pensou? Não conseguiu? Fácil! Como eu disse, a variável vai ter o valor da posição na tabela, então só temos que "achar" este valor, seguindo sua posição! Este não conhece tabelas-> "Mas como fazemos isso?" Usando o nome_da_tabela[posição] sendo a [posição] o valor da variável, já que ela tem o valor da posição! Veja como vai ficar: local Tabela = {"Skyen Hasus", "Hwoarang", "MotoBoy", "Luketez"} for var = 1, #Tabela do print("Valor "..var..": "..Tabela[var]) end E este script vai retornar: Valor 1: Skyen Hasus Valor 2: Hwoarang Valor 3: MotoBoy Valor 4: Luketez Acho que aqui vocês já entenderam guande parte e já podem sair fazendo suas "experiências". Caso queiram continuar, tem só mais um conteúdo: incrementos, e para outros, no final tem uns exercícios. Uso de Incrementos no For! Agora que você já aprendeu a usar o for, vai ser moleza aprender os Incrementos. "Mas o que eles fazem?" Eles continuam atribuindo os valores às variáveis, mas o incremento faz eles pularem alguns valores! Exemplo: for var = 1, 16, 3 do print(var) end Saídas geradas por este Script: 1 4 7 10 13 16 Ou seja: Os números 2, 3, 5, 6, 8, 9, 11, 12, 14 e 15 são pulados pelo for! "Mas como eu uso?" Simples! Verifique no começo do tutorial a estrutura do for. Aonde está escrito incremento você "substitói" pelo número de valores que vai pular! À pedido do Mock! - Os comandos: in pairs() e in ipairs()! Antes de mais nada, saiba que ambos funcionam somente em tabelas! A diferença entre pairs() e ipairs() é que o pairs() vai incluir os índices no for, e o ipairs() não. Mas os dois fazer quase a mesma coisa: Além de definir um valor para uma variável "x", ele vai definir para a variável "y" a posição ou, no caso do pairs(), o índice. Exemplo do ipairs: local tabela = {2, 3, 4, 5, seis=6} for i, v in ipairs(tabela) do print(i, v) end Que retornará Posição(i), Valor(v): 1, 2 2, 3 3, 4 4, 5 Observe que o ipairs() não retornou o "seis=6" Exemplo do pairs: local tabela = {2, 3, 4, 5, seis=6} for i, v in pairs(tabela) do print(i, v) end Que retornará Posição(i), Valor(v): 1, 2 2, 3 3, 4 4, 5 seis, 6 E agora sim, o pairs() retornou o índice "seis=6" Acho que isso é tudo o que precisam saber sobre o ipairs() e pairs(). O resto depende da criatividade e necessidade de cada um. Exemplos de Uso do For! function onSay(cid, words, param) local Online = getPlayersOnline() -- Retorna uma Tabela for pid = 1, #Online do doPlayerSendTextMessage(Online[pid], MESSAGE_INFO_DESCR, "Server will be Restarted in "..param.." Minute(s)!") -- Arrumado por MotoBoy! end end local creatures = {"deer", "rabbit", "minotaur", "ghoul", "orc"} for crat = 1, #creatures do table.remove(creatures, crat) end function pularDois(i, j) local naoPulados = {} for index = i, j, 2 do table.insert(naoPulados, index) end return table.concat(naoPulados, ", ") end for a = 664, 668 do if a == 666 then print("O número da vez é "..a.."! O número amaldiçoado!") else print("O número da vez é "..a.."!") end end Exercícios! Atenção! Faça os exercícios com sinceridade! Não os copie no Debugger do LUA nem olhe as respostas antes de ter certeza de que sua resposta está correta, mesmo que esteja errada, pois a resposta é só para conferir. Exercício 1 - O que há de errado na seguinte função? function exemplo(i, j, inc) for valor = i, j, inc then print(valor) end end Exercício 2 - O que há de errado na seguinte função? function exemplo(i, j, inc) for a = i, j, inc do print(b) end end Exercício 3 - O Script: local tabela = {"Teste 1", "Teste 2", "Teste 3", "Teste 4", "Teste 5", "Teste 6"} for valor = 1, 3 do print(tabela[valor*2]) end Vai retornar? A) 1, 2, 3 B) "Teste 1", "Teste 2", "Teste 3" C) nil, nil, nil D) 2, 4, 6 E) "Teste 2", "Teste 4", "Teste 6" Exercício 4 - Quantos valores o script abaixo retornará? for valor = 1, 20 do if valor <= (20/4)*3 then print(valor) end end Exercício 5 - Qual deve ser o valor do incremento do script abaixo para que sejam retornados 7 valores? local incremento = ??? for valor = 1, 50, incremento do print(valor) end Respostas: Essa aula foi escrita por uma raposa levada Skyen Hasus, todos os créditos pertencem a ele.
  5. [Tutorial] Retirar e Colocar Item automático

    nandooo e um outro reagiu a IagoNp por uma resposta no tópico

    2 pontos
    Bom galera vi o Tópico que o PaulinhoAraujo criou pedindo ajuda sobre "[PEDIDO] Script que tira e coloca proteção no Portal". Resolvi fazer um Tutorial para ensinar a fazer esse Script. O script é automático, sendo assim é ótimo para que alguns eventos seja automáticos dependendo da criatividade do criador do evento! PARA REMOVER 1 CERCA. Vai na pasta do seu servidor data\globalevents\scripts copie algum arquivo lua e renomei para eventoinicio. Agora coloque isso aqui no script: Em day você coloca o dia da semana que vai acontecer o evento, em inglês é claro rsrsrs. Em tp você coloca as coordenadas da cerca. Em doBroadcastMessage você coloca o que você quizer que apareça quando começar o evento, é só para avisar os jogadores mesmo! Agora vamos para o Script que vai colocar a cerca novamente. Na mesma pasta data\globalevents\scripts copie novamente outro arquivo lua e renomei para eventofim. Em day coloque o mesmo que colocou no script acima. Em tp coloque as coordenadas onde vai aparecer a cerca. Em doCreateitem coloque o Id da cerca ou de qualquer outro item que vá aparecer para bloquear a passagem. Em BroadcastMessage o que vai aparecer quando o evento terminar! Agora vai em data\globalevents no arquivo globalevents.xml. Adicione isso: <globalevent name="eventoinicio" time="06:41" event="script" value="eventoinicio.lua"/> <globalevent name="eventofim" time="21:05" event="script" value="eventofim.lua"/> OBS: O nome do evento você muda ai conforme você quizer, questão de organização hehee! E a questão do teleporte você ja coloca a coordenada nele para onde o evento vai ser, e colocar a cerca que ninguem vai entrar. Veja na imagem: OBS: Esse script serve para remover ou adicionar qualquer item, então se for fazer de um jeito diferente sintase a vontade só colocar o id do item que vai criar. Caso o evento seja o inverso, ao invés de retirar o item primeiro você queira colocar um, como uma escada para subir e quando terminar o evento a escada desaparecer, é só alterar o tempo no globalevents.xml mudando o Time e colocando o id da escada no doCreateitem. Créditos: 90% Kimoszin por criar o script. 10% Eu por fazer o tutorial e editar uma parte do script. É isso ai, espero que ajude!
  6. Prestem Atenção - Leitura Obrigatória!

    alfbru e um outro reagiu a Augusto por uma resposta no tópico

    2 pontos
    Venho por meio deste tópico deixar algumas coisas bem claras aqui no TK. A primeira, não irei mais tolerar tópicos infantis onde se ve apenas a frustração de seu criador. Estou cansado de ver pessoas se comparando - "a, fulano não sabe isso nem aquilo" (essa é pra vc Skyforever, e imaginar que pensei em botar vc na equipe ¬¬) - acontece que pra mim isso não faz a menor diferença, a unica coisa que importa é o membro ser bom em algo, e ter vontade de ajudar, se ele tiver isso, é meio passo pra equipe. A outra metade é ele não ser infantil, como por exemplo vc thiago, só saiu da equipe pq se acha o dono da verdade, e todo mundo esta errado no seu ponto de vista. Se vc não gosta da equipe, peço que procure seu lugar no mundo em outro fórum, pois aqui você não tem mais espaço, nem para falar! Todo o tópico que for criado com este intuito de baderna/crítica sem fundamentos/xingamentos será fechado e o membro será banido, sem direito a reivindicar nada. A segunda, estou farto de ver membros se xingando no fórum...caramba, isso é uma comunidade, ta certo que no playground as regras são mais "relaxadas", mais vamos procurar ser um pouco mais educado, isso evita muita merda. Vejo muitos falando - "precisa melhorar a equipe, isso e aquilo, fulano não entra, mimimi" - meu, vão cuidar das suas vida, quem geri a equipe aqui é a própria equipe, temos problemas como qualquer ser humano, temos vida fora do fórum, e não ganhamos nada pra ajudar, portanto, não irei tolerar mais estes tipos de comentários. Você que ver a diferença, seja ela, não fique apontando dedos esperando que algo caia do céu! Temos problemas e carências na equipe sim, mais vc ficar apontando dedos e falando mal e afins, não irá ajudar em nada, então nem começe. Vamos crescer um pouco né! Cansei de lidar com crianças! E vou deixar claro, o tópico ficará em aberto, não quero ver ninguém se justificando aqui, nem mesmo os que eu citei no tópico, e se eu ver alguém "zoando" aqui no tópico, o membro será suspenso/banido! Estão avisados!
  7. [Talkaction] Premiação

    Skyligh e um outro reagiu a Vampira por uma resposta no tópico

    2 pontos
    Muito obrigada, se você reputar eu fico feliz!
  8. OVINI no brasil

    Skyligh e um outro reagiu a Vampira por uma resposta no tópico

    2 pontos
    kkkk Porque o planeta terra é o único planeta capaz de sustentar vida...
  9. PANDABOT

    Skyligh e um outro reagiu a Mozark por uma resposta no tópico

    2 pontos
    Parece ser legal,mas vou testar qnd tiver novas coisas,como cave -bot e talz.E tenta fazer pra 8.54 tambem ;x
  10. [GFS] Guild Frag System

    Magalhaes92 reagiu a Vodkart por uma resposta no tópico

    1 ponto
    Antes de mais nada execute essas querys no seu banco de dados ALTER TABLE `guilds` ADD `frags` INT(11) NOT NULL DEFAULT 0; ALTER TABLE `guilds` ADD `acesstime` INT(15) NOT NULL DEFAULT 0; Sistema Configuração Actions function onUse(cid, item, frompos, item2, topos) local MyGuild = getPlayerGuildName(cid) if not HaveGuild(cid) then return doPlayerSendTextMessage(cid,22,"Sorry, you're not in a guild.") elseif not HaveAcess(MyGuild) then return doPlayerSendTextMessage(cid,22,"Your guild no has access to this area.") end doTransformItem(item.uid, item.itemid + 1) doTeleportThing(cid, topos, TRUE) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Welcome,The access of your guild in this area ends in "..getAcessDate(getGuildWinnerName())) return true end Tag: <action actionid="84005" script="FragSystemDoor.lua"/> Creaturescript function onKill(cid, target, lastHit) local config = {MaxDifLevel = 50, MyGuild = getPlayerGuildName(cid)} if isPlayer(cid) and isPlayer(target) and HaveGuild(cid) and HaveGuild(target) and getPlayerGuildId(cid) ~= getPlayerGuildId(target) and getPlayerIp(target) ~= getPlayerIp(cid) and math.abs(getPlayerLevel(cid) - getPlayerLevel(target)) <= config.MaxDifLevel and getGlobalStorageValue(frag_guild.start_frags) <= 0 then addFragsByGuild(config.MyGuild,frag_guild.FragsPerKill) doBroadCastGuild(config.MyGuild,20,'[Guild Frag System] Your guild received '..frag_guild.FragsPerKill..' frag because have killed a player another guild, now your guild have '..getFragsByGuild(config.MyGuild)..' frags') if getFragsByGuild(config.MyGuild) >= frag_guild.FragsToWinAcess then addAcess(config.MyGuild, frag_guild.AcessTimeDays) addHonorPoints(config.MyGuild, frag_guild.Honor_Point) doBroadcastMessage("[Guild Frag System]\nThe guild ["..config.MyGuild.."] is dominant for having achieved "..frag_guild.FragsToWinAcess.." Frags!\nYour domain ends in "..getAcessDate(config.MyGuild)) cleanGuildFrags() setGlobalStorageValue(frag_guild.start_frags, 1) if frag_guild.MoreExpToGuild == true then local players = {} for _, cid in pairs(getPlayersOnline()) do if getPlayerGuildName(cid) == config.MyGuild then table.insert(players, cid) end end for i = 1, #players do doPlayerSetExperienceRate(players[i], frag_guild.Exp_Rate) end end end end return TRUE end GuildFragsLogin.lua function onLogin(cid) registerCreatureEvent(cid, "FragsGuildLogin") registerCreatureEvent(cid, "FragsGuildKill") if getPlayerStorageValue(cid,frag_guild.Honor_Storage) == -1 then setPlayerStorageValue(cid, frag_guild.Honor_Storage, 0) end local MyGuild,StorCheck = getPlayerGuildName(cid),17595 if HaveGuild(cid) then if HaveAcess(MyGuild) then setPlayerStorageValue(cid, StorCheck, 1) if frag_guild.MoreExpToGuild == true then doPlayerSetExperienceRate(cid, frag_guild.Exp_Rate) end elseif getPlayerStorageValue(cid, StorCheck) == 1 and not HaveAcess(MyGuild) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doPlayerPopupFYI(cid, "[Guild Frag System]\nThe domain of your guild is over and you've been teleported to the temple.") setPlayerStorageValue(cid, StorCheck, -1) if getGlobalStorageValue(frag_guild.start_frags) >= 1 then setGlobalStorageValue(frag_guild.start_frags, 0) end end end return TRUE end Tag <event type="login" name="FragsGuildLogin" script="GuildFragsLogin.lua"/> <event type="kill" name="FragsGuildKill" script="GuildFragsKill.lua"/> globalevent function onThink(interval, lastExecution) if getGuildWinnerName() == "" and getGlobalStorageValue(frag_guild.start_frags) >= 1 then setGlobalStorageValue(frag_guild.start_frags, 0) end return doBroadcastMessage("".. (getGuildWinnerName() == "" and "[Guild Frag System]\nThe first guild to reach "..frag_guild.FragsToWinAcess.." frags will gain "..frag_guild.AcessTimeDays.." days of access to exclusive areas, for more information enter !guildfrags" or "[Guild Frag System]\nCurrently guild dominant is ["..getGuildWinnerName().."] and your domain ends in "..getAcessDate(getGuildWinnerName()).."") .."", 22) end Tag <globalevent name="GuildFrags" interval="1800" event="script" value="GuildFragsInfo.lua"/> talkactions function onSay(cid, words, param) if words == "!myhonor" or words == "/myhonor" then return doPlayerPopupFYI(cid,"Honor Points can be exchanged for special items in npc\nAnd each domain, every guild players receive "..frag_guild.Honor_Point.." Honor Points!\n\n\nMy Honor Points: "..getHonorPoints(cid)) elseif words == "!guildfrags" or words == "/guildfrags" then if param == "rank" then local max_guild,str = 10,"" str = "--[ Rank Guild Frags ]--\n\n" query = db.getResult("SELECT `name`, `frags` FROM `guilds` WHERE `frags` ORDER BY `frags` DESC, `name` ASC;") if (query:getID() ~= -1) then k = 1 while true do str = str .. "\n " .. k .. ". " .. query:getDataString("name") .. " - [" .. query:getDataInt("frags") .. "]" k = k + 1 if not(query:next()) or k > max_guild then break end end query:free()end if str ~= "" then doPlayerPopupFYI(cid, str) end return true end doPlayerPopupFYI(cid,"".. (getGuildWinnerName() == "" and "The server does not have any dominant guild\n\nTo show the rank of frags enter !guildfrags rank" or "Currently guild dominant is ["..getGuildWinnerName().."]\n\nYour domain ends in "..getAcessDate(getGuildWinnerName()).."") .."") end return true end Tag <talkaction words="!guildfrags;/guildfrags;!myhonor;/myhonor" event="script" value="GuildFragsRank.lua"/> Por Mod Npc (obs: o NPC funciona caso você use MOD tbm) <?xml version="1.0"?> <npc name="Major Ancient" script="data/npc/scripts/trade_honor.lua" walkinterval="50000" floorchange="0"> <health now="100" max="100"/> <look type="287" head="78" body="88" legs="0" feet="88" addons="3"/> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|. I {trade} items for honor points!"/> </parameters> </npc> trade_honor.lua local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local Honor_Storage = 215548 function getHonorPoints(cid) local Honor = getPlayerStorageValue(cid, Honor_Storage) return Honor < 0 and 0 or Honor end local shopWindow = {} local t = { [2195] = {price = 5}, -- [id do item] e em price qnto honor points vai custar [2493] = {price = 25}, [2361] = {price = 30}, [8851] = {price = 20}, [8925] = {price = 30}, [2640] = {price = 50}, [2494] = {price = 100}, [9932] = {price = 50}, [2472] = {price = 70}, [8931] = {price = 100} } local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks) if t[item] and getHonorPoints(cid) < t[item].price then selfSay("you do not have "..t[item].price.." Honor Points", cid) else doPlayerAddItem(cid, item) setPlayerStorageValue(cid, Honor_Storage, getPlayerStorageValue(cid, Honor_Storage) - t[item].price) selfSay("Here you item", cid) end return true end if (msgcontains(msg, 'trade') or msgcontains(msg, 'TRADE'))then for var, ret in pairs(t) do table.insert(shopWindow, {id = var, subType = 0, buy = ret.price, sell = 0, name = getItemNameById(var)}) end openShopWindow(cid, shopWindow, onBuy, onSell) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  11. New Baiak 8.6 Editado. V2.0

    luizsommer reagiu a paulo thush por uma resposta no tópico

    1 ponto
    AGORA NA VERSÃO 2.0 Ola amigo Tibiaking vim trazer uma novidade a vocês... sei que existem varios Baiaks por ai.. todos diferentes alguns são até iguais mais com funções inovadoras.. A um tempo atras resolvi criar um Baiakão pra mim rsrs. E pior que deu certo, em 5 dias online consegui conquistar mais de 100 players fixos online. mais acabei ficando sem tempo de resolver tudo sozinho e resolvi fechar. o server ficou parado aqui.. muitos no msn me pedirão e eu nunca tive coragem de entregar ele assim de mão beijada né guardei por um bom tempo.. Mais.... hoje resolvi dar uma olhada nele e enquanto eu via o mapa .. funções.. e outras coisas mais , acabei achando interessante eu liberar ele aqui pra vocês ... Então chega de papo e vamos ao que Importa.... Baiak 8.60 Usando Crystal server All features, actions, funções 100% Addons 100% Spells 100% Vocações balanceadas. Estabilidade garantida. Serve save sem lag Clean 100% Talkactions GOD, CM, GM 100% MAPA Baiak Yourots Editado por mim. INQ. Quest 100% POI 100% Anihi 100% Areá VIP com Hunts e teleports 100% Sala de teleports Arenas e muito mais... LAST UPDATE VIP 1 - 100% VIP 2 - 100% Adicionado Comando !buyvip por 3kk Adicionado Novos Outfits "Elf e Vampire" Mapa com novo visual npcs concertados e melhorados Novas quests novas hunts novas arenas PRINTS... É isso ai galera .. já que viram um pouco do mapa.. irei postar abaixo beleza xD acho que sera util para alguem que esteja a proucura de um baiak estavel.. Se a galera curtir estarei disponibilizando ele na versão 9.44 do Crystal server... ACC GOD = god/god CREDITOS: Tryller - desenvolvedor crystal server. Erimyth - Edição, melhorias e adaptações de novas actions. Equipe Baiak Yourots. DOWNLOAD: LINK ON - >>> Mediafire <<< SCAN: CLICK AQUI - VIRUSTOTAL <- Scan atualizado com a versão 2.0
  12. Centurion V4

    TogaX reagiu a Hona por uma resposta no tópico

    1 ponto
    com os pokes da 3 geração full. Os bugs que Cacaiu arrumo foram esses : ScreenShots V4: Centurion V3 Centurion V3.1 Centurion V3.2- [Recomendado] Centurion V3.3 Centurion V4 Executável Sem Bug de Catch sé ajudei Rep+ pra mim !!!
  13. OT Host Manager v1.0

    hiram loreto reagiu a WarW0lf por uma resposta no tópico

    1 ponto
    OT Host Manager é um programa que verifica as portas necessárias para rodar um OTserver. Ele vai te mostrar se as portas 7171, 7172 e 80 estão Abertas ou Fexadas. Caso estejam fexadas, voce deve abri-las. Se estiverem abertas, voce está pronto para Hostear um OTserver. Configuração Voce deve primeiramente colocar o IP do OTserver que está configurado no config.lua no campo de texto "Your ip adress". Após isso deixe configurado como na imagem acima as portas e clica em Check e depois em "Can I Host"" Se estiverem todas Open como a porta 80 na imagem acima, você está pronto para rodar um OTserver. Se estiverem como Closed, você deve abri-las no Painel de Controle > Firewall do Windows. ____________________________________________________________ Download: http://www.mirrorcreator.com/files/0WFSWVZ2/Admin_Control.exe_links Espero que gostem. Se for útil REP+ Créditos: Aldruh
  14. Ganhar 1 item ao passar pelo piso

    Luquinha reagiu a Skyligh por uma resposta no tópico

    1 ponto
    Iae galerinha do tk to aki de volta so que com mais 1 script só que bem simples mesmo criei por causa de um pedido e por isso decidi postar para vocês por que e bem legalzin . Nome Do Autor Skyligh Versão Testada 860 Explicação Não tenho muito que explicar nesse script pois ele ira fazer o seguinte quando o player passa por 1 piso ele ira receber um item e depois quando ele passar de novo ele não ira receber . Créditos Skyligh 90 % - Por criar SkyDark 10 % - Pelo pedido Em Data / Movements / Scripts / Renome Algum Arquivo Para Itemtille.lua E Adicione <movevent type="StepIn" uniqueid="15130" event="script" value="itemtille.lua"/> E Fim ! . Em Movements.xml
  15. Como funcionam os Scripts?

    Rugalo reagiu a MaXwEllDeN por uma resposta no tópico

    1 ponto
    Como funcionam os Scripts? Você já deve ter se perguntado como os scripts funcionam ou não. Por exemplo: Como o servidor sabe que quando eu apertar com o botão direito em um Health Potion ele terá que healar o player alvo? Em primeiro lugar devemos entender o que são callbacks. Do modo mais simples callback é algo que acontece devido a uma reação, é como a Terceira Lei de Newton que diz que toda ação gera uma reação, esse callback é a nossa reção, é uma função que vai ser executada assim que algo acontecer, no caso do Health Potion assim que ele for usado. Quando um item é usado ele provoca a chamada de um callback dessa função: function onUse(cid, item, fromPosition, itemEx, toPosition) end – Max, que parâmetros são esses? – É simples. O Script do Health Potion ficaria +/- assim: local config = { min_heal = 100, -- Minimo que vai healar max_heal = 200, -- Máximo que vai healar empty = 7636, -- Id do Potion vazio } function onUse(cid, item, fromPosition, itemEx, toPosition) if isCreature(itemEx.uid) then doCreatureSay(cid, "Aaaah...", 19) doSendMagicEffect(toPosition, 12) doCreatureAddHealth(itemEx.uid, math.random(config.min_heal, config.max_heal)) doTransformItem(item.uid, config.empty) else doPlayerSendCancel(cid, "You cannot use this object.") end return true end doSendMagicEffect(pos, id) - Manda um efeito de ID, id, na posição pos. Lista dos ids de efeito: CONST_ME_DRAWBLOOD = 0 CONST_ME_LOSEENERGY = 1 CONST_ME_POFF = 2 CONST_ME_BLOCKHIT = 3 CONST_ME_EXPLOSIONAREA = 4 CONST_ME_EXPLOSIONHIT = 5 CONST_ME_FIREAREA = 6 CONST_ME_YELLOW_RINGS = 7 CONST_ME_GREEN_RINGS = 8 CONST_ME_HITAREA = 9 CONST_ME_TELEPORT = 10 CONST_ME_ENERGYHIT = 11 CONST_ME_MAGIC_BLUE = 12 CONST_ME_MAGIC_RED = 13 CONST_ME_MAGIC_GREEN = 14 CONST_ME_HITBYFIRE = 15 CONST_ME_HITBYPOISON = 16 CONST_ME_MORTAREA = 17 CONST_ME_SOUND_GREEN = 18 CONST_ME_SOUND_RED = 19 CONST_ME_POISONAREA = 20 CONST_ME_SOUND_YELLOW = 21 CONST_ME_SOUND_PURPLE = 22 CONST_ME_SOUND_BLUE = 23 CONST_ME_SOUND_WHITE = 24 CONST_ME_BUBBLES = 25 CONST_ME_CRAPS = 26 CONST_ME_GIFT_WRAPS = 27 CONST_ME_FIREWORK_YELLOW = 28 CONST_ME_FIREWORK_RED = 29 CONST_ME_FIREWORK_BLUE = 30 CONST_ME_STUN = 31 CONST_ME_SLEEP = 32 CONST_ME_WATERCREATURE = 33 CONST_ME_GROUNDSHAKER = 34 CONST_ME_HEARTS = 35 CONST_ME_FIREATTACK = 36 CONST_ME_ENERGYAREA = 37 CONST_ME_SMALLCLOUDS = 38 CONST_ME_HOLYDAMAGE = 39 CONST_ME_BIGCLOUDS = 40 CONST_ME_ICEAREA = 41 CONST_ME_ICETORNADO = 42 CONST_ME_ICEATTACK = 43 CONST_ME_STONES = 44 CONST_ME_SMALLPLANTS = 45 CONST_ME_CARNIPHILA = 46 CONST_ME_PURPLEENERGY = 47 CONST_ME_YELLOWENERGY = 48 CONST_ME_HOLYAREA = 49 CONST_ME_BIGPLANTS = 50 CONST_ME_CAKE = 51 CONST_ME_GIANTICE = 52 CONST_ME_WATERSPLASH = 53 CONST_ME_PLANTATTACK = 54 CONST_ME_TUTORIALARROW = 55 CONST_ME_TUTORIALSQUARE = 56 CONST_ME_MIRRORHORIZONTAL = 57 CONST_ME_MIRRORVERTICAL = 58 CONST_ME_SKULLHORIZONTAL = 59 CONST_ME_SKULLVERTICAL = 60 CONST_ME_ASSASSIN = 61 CONST_ME_STEPSHORIZONTAL = 62 CONST_ME_BLOODYSTEPS = 63 CONST_ME_STEPSVERTICAL = 64 CONST_ME_YALAHARIGHOST = 65 CONST_ME_BATS = 66 CONST_ME_SMOKE = 67 CONST_ME_INSECTS = 68 CONST_ME_DRAGONHEAD = 69 CONST_ME_NONE = 255 CONST_ME_LAST = CONST_ME_DRAGONHEAD doCreatureAddHealth(uid, amount) - Adiciona amount de health à criatura uid. math.random(interval1, interval2) - Pega um número aleatório entre interval1 e interval2. doTransformItem(uid, newid) - Muda o id do item uid, para newid. Bem, esse aí é o script, agora só é você salvar, colocar na sua pasta actions/scripts e pronto! – Max, se existem vários scripts na pasta actions/scripts, como meu OT sabe qual usar? – Por causa das chamadas TAGs. – TAGs? – Sim, é uma linha que é colocada no .xml para dizer ao seu servido que o Callback para um item x será a função daquele script. As Tags das actions seguem esse modelo: <action itemid = "7618" event = "script" value = "HealthPotion.lua" /> Exercício: Crie uma Action que quando eu usar uma Warlord Sword em alguém essa pessoa diga "Aí, isso doi". Poste a TAG também! Resposta SÓ ABRA DEPOIS DE RESOLVER: É isso aí pessoal, essa foi a primeira aula de Scriptwriting que eu escreví, espero que gostem :3
  16. Burl RadBr

    ferlations reagiu a Kimoszin por uma resposta no tópico

    1 ponto
    Olá pessoal, resolvi voltar atualizar o Bural RadBr. Ele está funcionando na versão 9.6 agora, mudei a linguagem dele, agora ele está mais rapido, mais leve, e melhorado. - Oque ele faz? Pra quem não conhece, eu fiz o Burl RadBr para burlar o sistema anti cheat, ele pega os números e manda o comando !r números. - Ele é seguro? Sim, totalmente, você pode usar sem preocupações, mas se não confia no meu trabalho... só lamento. - Você joga RadBr? Não, eu só fiz porque muita gente pediu. DOWNLOAD: Burl RadBr.rar Usem e abusem, abraços.
  17. TK - LIMPO

    Skyligh reagiu a Jamers Rodrigues por uma resposta no tópico

    1 ponto
    Bom eu reporto algumas vezes mas nem é por nada, e pra limpar o TK e deixa mais organizado, ai queria oferecer tipo a cada 3 report = 1 reputação. ai fica a disposição de vocês como fica, mas a ideia e o membro ajuda a equipe , a equipe ajuda o membro. Lei da troca equivalente.
  18. Me obrigaram a postar: Vampira

    Skyligh reagiu a Markin por uma resposta no tópico

    1 ponto
    0:41 by: guerra-lobo
  19. Postado no lugar Incorreto reportado
  20. [Map 8.60] Tibia Illusion City

    Kisuck reagiu a Gabrieltxu por uma resposta no tópico

    1 ponto
    Fala ai Galera eu aki novamente com uma Super Cidade para Tibia 8.60 xD Chamada Illusion feita por meu Amigo S4KO Umas Print como Sempre xD: Download: http://www.4shared.com/file/yvBCo7Xh/Illusion_city.html? Scan: https://www.virustot...037ba/analysis/ è isso galera deixo com vcs mais um Super MAP Fuizzzzzzzzz haaa deixa REP++ ai Plis
  21. private Client c; private Player p; private void Form1_Load(object sender, EventArgs e) { c = ClientChooser.ShowBox(); p = c.GetPlayer(); } private void buttonAddMyPosition_Click(object sender, EventArgs e) { Tibia.Objects.Location loc; loc.X = (int)p.X; loc.Y = (int)p.Y; loc.Z = (int)p.Z; listboxWalker.Items.Add(loc.X.ToString() + "," + loc.Y.ToString() + "," + loc.Z.ToString()); } private void timerWalker_Tick(object sender, EventArgs e) { string[] myArray = listboxWalker.SelectedItem.ToString().Split(','); if (p.IsWalking != true) { c.GetPlayer().GoTo = new Location(Convert.ToInt32(myArray[0]), Convert.ToInt32(myArray[1]), Convert.ToInt32(myArray[2])); if (listboxWalker.SelectedIndex >= (listboxWalker.Items.Count - 1)) { listboxWalker.SelectedIndex = 0; } else { listboxWalker.SelectedIndex = listboxWalker.SelectedIndex + 1; } } } private void checkboxEnableWalker_CheckedChanged(object sender, EventArgs e) { listboxWalker.SelectedIndex = 0; timerWalker.Start(); }
  22. PANDABOT

    BrunooAngel reagiu a iasbik por uma resposta no tópico

    1 ponto
    valeu Kimoszin vou quebrar a cabeça com isso na próxima semana. ae devo lançar o bot pro pessoal ae
  23. [Ajuda] Novo Gold: Ten Thousand Dollar Notes

    Kimoszin reagiu a Vampira por uma resposta no tópico

    1 ponto
    Areá errada! Eu já pedi pra um moderador mover pra areá correta!
  24. Duvida bot p.a

    linkinhopk reagiu a Gabriel10101 por uma resposta no tópico

    1 ponto
    Olha cara coloquei o scan,eu tenho esse arquivo no PC,no scan acuso 3,mas não acho que sejam perigosos...
  25. [Tutorial] Retirar e Colocar Item automático

    Augusto reagiu a Vampira por uma resposta no tópico

    1 ponto
    Muito bom o tutorial, com certeza vai ajudar o PaulinhoAraujo rep+ mas você colocou o tutorial na areá errada
  26. E foi assim que você nasceu, filho

    Skyligh reagiu a Vampira por uma resposta no tópico

    1 ponto
    UHAUHA
  27. TK - LIMPO

    Markin reagiu a WarW0lf por uma resposta no tópico

    1 ponto
    Voce deve reportar no intuito de ajudar e nao de querer se levantar ;/
  28. Fotos Rl

    Skyligh reagiu a Vampira por uma resposta no tópico

    1 ponto
    Puxa saco mode ON: O único bunitin ai é o renato
  29. Ladrão é assaltado

    Skyligh reagiu a Vampira por uma resposta no tópico

    1 ponto
  30. [Resolvido]Qual e o melhor

    Skyligh reagiu a WarW0lf por uma resposta no tópico

    1 ponto
    Todos OT's que estão a mais de 2 anos online e são de qualidade fizeram um investimento igual ou até maior no começo
  31. [Resolvido]Qual e o melhor

    Skyligh reagiu a WarW0lf por uma resposta no tópico

    1 ponto
    HastleHost.com Dominio gratis em planos acima de 2GB Bom proveito!
  32. [Resolvido]Qual e o melhor

    Skyligh reagiu a Mozark por uma resposta no tópico

    1 ponto
    SkyLigh. Eu achei essa aqui.Da uma olhada,dis que tem proteçao DDos tambem. http://www.hostingjogos.com/
  33. [Resolvido]Qual e o melhor

    Skyligh reagiu a Jamers Rodrigues por uma resposta no tópico

    1 ponto
    http://www.hostingjogos.com/ http://www.anthares.org/ http://www.hospedagemgenial.com.br/cloud-genial
  34. [Resolvido]Qual e o melhor

    Skyligh reagiu a Jamers Rodrigues por uma resposta no tópico

    1 ponto
    http://www.universeidc.com.br/ www.otservhost.com/
  35. 1 ponto
    local skills = specialabilities local surfborders = {4644, 4645, 4646, 4647, 4648, 4649, 4650, 4651, 4652, 4653, 4654, 4655, 4656, 4657, 4658, 4659, 4660, 4661, 4662, 4663} local txt = { ["rock smash"] = {"break that rock!", "smash that rock!", "destroy that rock!", "smash it!", "break it!", "destroy it!"}, ["cut"] = {"cut that bush!", "cut it down!", "cut it off!", "cut off that bush!", "cut down that bush!", "cut that bush down!"}, ["move"] = {"move!", "move there!", "go there!", "walk there!"}, ["light"] = {"flash!", "light!", "flash this place!", "light up this place!"}, ["dig"] = {"open that hole!", "dig that hole!", "open it!", "dig it!"}, ["blink"] = {"teleport there!", "blink there!", "blink!", "teleport!"}, ["ride"] = {"let me ride you!", "let's ride!", "let me mount you!", "let me get on you!"}, ["fly"] = {"let's fly!", "let me get on you!"} , ["untransform"] = {"go back to normal!", "transform into yourself again!", "stop transformation!"}, ["headbutt"] = {"headbutt on three", "headbutt that three!", "headbutt it off"}, } -- NAME OUTFIT SPEED local flys = { ["Moltres"] = {229, 2300}, -- moltres ["Articuno"] = {230, 2100}, -- artic ["Zapdos"] = {224, 2600}, -- zapdos ["Mew"] = {232, 2200}, -- 1000 ["Mewtwo"] = {233, 2200},-- two ["Dragonite"] = {221, 1300},-- nite ["Pidgeot"] = {222, 900}, -- geot ["Fearow"] = {226, 800}, -- fearow ["Aerodactyl"] = {227, 1100}, -- aero ["Charizard"] = {216, 1000}, -- chari ["Porygon"] = {316, 600}, -- porygon } function onUse(cid, item, frompos, item2, topos) local checkpos = topos checkpos.stackpos = 0 if getTileThingByPos(checkpos).uid <= 0 then return true end --------END FLY/RIDE -------- if getCreatureCondition(cid, CONDITION_OUTFIT) and (item2.uid == cid or getRecorderPlayer(topos) == cid) and (getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1) then if isInArray({460, 11675, 11676, 11677}, getTileInfo(getThingPos(cid)).itemid) then doPlayerSendCancel(cid, "You can\'t stop flying at this height!") return true end local item = getPlayerSlotItem(cid, 8) local pokemon = getItemAttribute(item.uid, "poke") local x = pokes[pokemon] if getTileInfo(getThingPos(cid)).itemid >= 4820 and getTileInfo(getThingPos(cid)).itemid <= 4825 then doPlayerSendCancel(cid, "You can\'t stop flying above the water!") return true end doSummonMonster(cid, pokemon) local pk = getCreatureSummons(cid)[1] if not isCreature(pk) then pk = doCreateMonster(pokemon, backupPos) if not isCreature(pk) then doPlayerSendCancel(cid, "You can't stop flying/riding here.") return true end doConvinceCreature(cid, pk) end doTeleportThing(pk, getThingPos(cid), false) doCreatureSetLookDir(pk, getCreatureLookDir(cid)) adjustStatus(pk, item.uid, true, false, true) doPlayerSay(cid, ""..getPokeName(getCreatureSummons(cid)[1])..", let me get down!", 1) doChangeSpeed(cid, - getCreatureSpeed(cid)) doChangeSpeed(cid, PlayerSpeed) doRemoveCondition(cid, CONDITION_OUTFIT) setPlayerStorageValue(cid, 17000, -1) setPlayerStorageValue(cid, 17001, -1) return true end ----------------------------- if #getCreatureSummons(cid) == 0 then return doPlayerSendCancel(cid, "You need a pokemon to use order!") end if getCreatureNoMove(getCreatureSummons(cid)[1]) then return true end markLP(getCreatureSummons(cid)[1], -1) if getMarkedPos(getCreatureSummons(cid)[1]).x == topos.x and getMarkedPos(getCreatureSummons(cid)[1]).y == topos.y then return true end local unfix = {x = 1, y = 1, z = 1} local thisball = getPlayerSlotItem(cid, 8) local mysum = getCreatureSummons(cid)[1] local sid = mysum or cid local maxMoveDist = getDistanceBetween(getThingPos(sid), topos) * 2 + 1 markPos(mysum, topos) markOwnerPos(mysum, getThingPos(cid)) -------- ROCK SMASH --------- if item2.itemid == 1285 and isInArray(skills["rock smash"], getPokemonName(mysum)) then doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["rock smash"][math.random(1, #txt["rock smash"])].."", 1) addEvent(goThere, 500, mysum, topos, "rock smash", isCreature(getCreatureTarget(cid))) return true end ----------------------------- -------- HEADBUTT ----------- if item2.itemid == 2706 and isInArray(skills["headbutt"], getPokemonName(mysum)) then doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["headbutt"][math.random(1, #txt["headbutt"])].."", 1) addEvent(goThere, 500, mysum, topos, "headbutt", isCreature(getCreatureTarget(cid))) return true end --------------------------- -------- CUT ---------------- if item2.itemid == 2767 and isInArray(skills["cut"], getPokemonName(mysum)) then doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["cut"][math.random(1, #txt["cut"])].."", 1) addEvent(goThere, 500, mysum, topos, "cut", isCreature(getCreatureTarget(cid))) return true end ----------------------------- -------- TRANSFORM ---------- if getCreatureName(mysum) == "Ditto" and isMonster(item2.uid) then if item2.uid == mysum then if isTransformed(mysum) then deTransform(mysum, getItemAttribute(thisball.uid, "transTurn")) markPos(mysum, unfix) doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["untransform"][math.random(1, #txt["untransform"])].."", 1) return true end doPlayerSendCancel(cid, "Your ditto is not transformed.") markPos(mysum, unfix) return true end if getCreatureName(item2.uid) == "Ditto" then doPlayerSendCancel(cid, "Your ditto can't transform into another ditto.") markPos(mysum, unfix) return true end if getCreatureName(item2.uid) == getPlayerStorageValue(mysum, 1010) then doPlayerSendCancel(cid, "Your ditto is already transformed into that pokemon.") markPos(mysum, unfix) return true end local cd = getCD(thisball.uid, "trans", 40) if cd > 0 then doPlayerSendCancel(cid, "Your pokemon is too tired to transform again. Cooldown: ("..getStringmytempo(cd)..")") return true end if getHappiness(mysum) <= 50 then doSendMagicEffect(getThingPos(mysum), happinessRate[1].effect) markPos(mysum, unfix) return true end local turn = getItemAttribute(thisball.uid, "transTurn") if not turn or turn > 10 then doItemSetAttribute(thisball.uid, "transTurn", 0) else doItemSetAttribute(thisball.uid, "transTurn", turn + 1) end local time = 140 + 2 * getPokemonLevel(mysum) turn = getItemAttribute(thisball.uid, "transTurn") markPos(mysum, unfix) setPlayerStorageValue(mysum, 1010, getCreatureName(item2.uid)) doSetCreatureOutfit(mysum, getCreatureOutfit(item2.uid), -1) addEvent(deTransform, time * 1000, mysum, turn) doSendMagicEffect(getThingPos(mysum), 184) doCreatureSay(mysum, "TRANSFORM!", TALKTYPE_MONSTER) local name = getCreatureName(item2.uid) setCD(thisball.uid, "trans", 40) doItemSetAttribute(thisball.uid, "transBegin", os.clock()) doSetItemAttribute(thisball.uid, "transLeft", time) doSetItemAttribute(thisball.uid, "transOutfit", getCreatureOutfit(item2.uid).lookType) doSetItemAttribute(thisball.uid, "transName", getCreatureName(item2.uid)) doFaceCreature(mysum, getThingPos(item2.uid)) doPlayerSay(cid, ""..getPokeName(mysum)..", transform into "..getArticle(name).." "..name.."!", 1) if dittoCopiesStatusToo then doSetItemAttribute(thisball.uid, "boffense", dittoBonus * getOffense(item2.uid)) doSetItemAttribute(thisball.uid, "bdefense", dittoBonus * getDefense(item2.uid)) doSetItemAttribute(thisball.uid, "bsattack", dittoBonus * getSpecialAttack(item2.uid)) doSetItemAttribute(thisball.uid, "bagility", dittoBonus * getSpeed(item2.uid)) adjustStatus(mysum, thisball.uid) end return true end ----------------------------- -------- LIGHT -------------- if isMonster(item2.uid) and getCreatureMaster(item2.uid) == cid then markPos(mysum, unfix) if not isInArray(skills["light"], getPokemonName(item2.uid)) then doPlayerSendCancel(cid, "Your pokemon can't use flash.") return true end local cd = getCD(thisball.uid, "light", 30) if cd > 0 then doPlayerSendCancel(cid, "Your pokemon is too tired to use flash. Cooldown: ("..getStringmytempo(cd)..")") return true end doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["light"][math.random(1, #txt["light"])].."", 1) doCreatureSay(mysum, "FLASH!", TALKTYPE_MONSTER) doSendMagicEffect(getThingPos(mysum), 28) local size = 5 size = size + math.floor(getSpecialAttack(mysum) / 60) size = size + math.ceil(getPokemonLevel(mysum) / 60) if size > 11 then size = 11 end doSetCreatureLight(mysum, size, 215, 600*1000) local delay = math.floor(30 - getPokemonLevel(mysum) / 4) if delay > 0 then setCD(thisball.uid, "light", delay) end return true end ----------------------------- -------- DIG ---------------- if isInArray(skills["digholes"], item2.itemid) and isInArray(skills["dig"], getPokemonName(mysum)) then doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["dig"][math.random(1, #txt["dig"])].."", 1) addEvent(goThere, 500, mysum, topos, "dig", isCreature(getCreatureTarget(cid))) return true end ----------------------------- -------- BLINK / MOVE ------- if not isCreature(item2.uid) and isInArray(skills["blink"], getPokemonName(mysum)) then local cd = getCD(thisball.uid, "blink", 170) if cd > 0 or not canWalkOnPos(topos, false, false, true, true, true) then doPlayerSendCancel(cid, "Blink cooldown: ("..getStringmytempo(cd)..")") doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["move"][math.random(1, #txt["move"])].."", 1) addEvent(goThere, 500, mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist) return true end local distance = getDistanceBetween(getThingPos(mysum), topos) markPos(mysum, unfix) setCD(thisball.uid, "blink", distance * 12) doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["blink"][math.random(1, #txt["blink"])].."", 1) doSendDistanceShoot(getThingPos(mysum), topos, 39) doSendMagicEffect(getThingPos(mysum), 211) doTeleportThing(mysum, topos, false) doSendMagicEffect(topos, 134) doCreatureSay(mysum, "BLINK!", TALKTYPE_MONSTER) goThere(mysum, topos, "move", isCreature(getCreatureTarget(cid))) return true end ----------------------------- ----START FLYorRIDE --------- if (item2.uid == cid or getRecorderPlayer(topos) == cid) and (isInArray(skills["fly"], getPokemonName(mysum)) or isInArray(skills["ride"], getPokemonName(mysum))) then if not isPremium(cid) then doPlayerSendCancel(cid, "Only premium members are allowed to fly or ride.") return true end local pct = getCreatureHealth(mysum) / getCreatureMaxHealth(mysum) doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", 1 - pct) if isInArray(skills["fly"], getPokemonName(mysum)) then doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["fly"][math.random(1, #txt["fly"])].."", 1) addEvent(goThere, 500, mysum, topos, "fly", isCreature(getCreatureTarget(cid))) else doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["ride"][math.random(1, #txt["ride"])].."", 1) addEvent(goThere, 500, mysum, topos, "ride", isCreature(getCreatureTarget(cid))) end return true end ----------------------------- -------- MOVE / END --------- local onlyWater = false if isWater(getTileThingByPos(checkpos).itemid) then onlyWater = true for checkwater = 0, 7 do if not isWater(getTileThingByPos(getPosByDir(checkpos, checkwater)).itemid) then onlyWater = false end end end if onlyWater then doPlayerSendCancel(cid, "Destination is not reachable.") return true end doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["move"][math.random(1, #txt["move"])].."", 1) if isCreature(getCreatureTarget(cid)) then goThere(mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist) else addEvent(goThere, 500, mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist) end return true end -----------------------------
  36. Site do Tibia auto não entra

    allanmpv reagiu a CaiqueRzO por uma resposta no tópico

    1 ponto
    aki também nao entra, mais, o site ta online so que nao sei pq mais nao ta entrando em um monte de gente... to precisando de uns script se alguem que tenha acesso ao site puder fazer um pacotao...
  37. Problemas com meu Otserv :(

    Apsami reagiu a Kimoszin por uma resposta no tópico

    1 ponto
    Vá até o local da magia, e verifique se ela tem: setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) Se não tiver, adicione no script a tag acima, em baixo de: setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) Sobre os Fields, você tem que ver se ele é imune ao elemento.
  38. Ganhar 1 item ao passar pelo piso

    Luquinha reagiu a Skyligh por uma resposta no tópico

    1 ponto
    Que nada rep e so uma forma de agradecimento e reconhecimento.
  39. Did you know?

    kilergui reagiu a Vampira por uma resposta no tópico

    1 ponto
    Sempre joguei wow, não imaginava que ele usava lua também...
  40. [Resolvido]Alguem me ajuda a escolher o xampp

    randerjp reagiu a madaras por uma resposta no tópico

    1 ponto
    Não, use o 1.7.3 e se gostou + REP : )
  41. Player Online Spoof

    CALOPSITA reagiu a luuuck por uma resposta no tópico

    1 ponto
    é a pasta com as sources dentro...
  42. Player Online Spoof

    CALOPSITA reagiu a luuuck por uma resposta no tópico

    1 ponto
    Vlww galera =D Vlw manolo :DD
  43. [Pedido] Waypoint Rot's de Thais

    022wesley reagiu a Google por uma resposta no tópico

    1 ponto
    Aqui está, arquivo anexado, abraços :] North Trolls Thais - Full AFK - By Google.xml
  44. (Modernacc) Wodbo Templete V1

    Skyligh reagiu a MrCatra por uma resposta no tópico

    1 ponto
    Obrigado por manter os creditos
  45. (8.6x) TFS 0.4_DEV rev3777

    dedecoh reagiu a sonanuca por uma resposta no tópico

    1 ponto
    Cara, cade a pasta data, o config.lua, etc... ? Como faço pro server rodar?
  46. New Baiak 8.6 Editado. V2.0

    OmarJogador2012 reagiu a paulo thush por uma resposta no tópico

    1 ponto
    mals galera por nao comentar mais muito obrigado HeltonFontesBr nao se sei se vai ter update pq nao to quase mexendo com otserv
  47. [8.54] Pokemon xD by Rafael Marinho

    juliana153 reagiu a RafaaxD por uma resposta no tópico

    1 ponto
    Então Rodrigues17 eu disponibilizei o server justamente para ver se alguem arruma e posta .. porque eu já tentei varias vezes formar equipe e todas que tive era um bando de folgado que só perguntava se já ta on o server e se dava adm ou god . ¬¬
  48. New Baiak 8.6 Editado. V2.0

    spyzeer reagiu a Kimoszin por uma resposta no tópico

    1 ponto
    "e outras coisas mais , acabei achando interessante eu liberar ele aqui pra vocês Xtibianos" E viva o CTRL+C ... Obrigado pela contribuição.
  49. [8.54] Pokemon xD by Rafael Marinho

    erisonn reagiu a MatheusVidaLoka por uma resposta no tópico

    1 ponto
    Aki o Scan do server , to terminando o do client agora Ajudei ? será que reputar cai o dedo ?
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo