Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 12/08/12 em todas áreas
-
[Talkaction] Premiação
[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.u4 pontos -
PagSeguro, Duvida!
3 pontosNa 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 pontos
-
Player Online Spoof
Player Online Spoof
lucasfk e um outro reagiu a luuuck por uma resposta no tópico
2 pontosEai 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.2 pontos -
[Aula 10] O Comando for
[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.2 pontos -
[Tutorial] Retirar e Colocar Item automático
[Tutorial] Retirar e Colocar Item automático
nandooo e um outro reagiu a IagoNp por uma resposta no tópico
2 pontosBom 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!2 pontos -
Prestem Atenção - Leitura Obrigatória!
Prestem Atenção - Leitura Obrigatória!
alfbru e um outro reagiu a Augusto por uma resposta no tópico
2 pontosVenho 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!2 pontos -
[Talkaction] Premiação
[Talkaction] Premiação
Skyligh e um outro reagiu a Vampira por uma resposta no tópico
2 pontosMuito obrigada, se você reputar eu fico feliz!2 pontos -
OVINI no brasil
OVINI no brasil
Skyligh e um outro reagiu a Vampira por uma resposta no tópico
2 pontoskkkk Porque o planeta terra é o único planeta capaz de sustentar vida...2 pontos -
PANDABOT
Parece ser legal,mas vou testar qnd tiver novas coisas,como cave -bot e talz.E tenta fazer pra 8.54 tambem ;x2 pontos
-
[GFS] Guild Frag System
[GFS] Guild Frag System
Magalhaes92reagiu a Vodkart por uma resposta no tópico1 pontoAntes 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())1 ponto -
New Baiak 8.6 Editado. V2.0
New Baiak 8.6 Editado. V2.0
luizsommer reagiu a paulo thush por uma resposta no tópico
1 pontoAGORA 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.01 ponto -
Centurion V4
1 pontocom 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 !!!1 ponto
-
OT Host Manager v1.0
OT Host Manager v1.0
hiram loreto reagiu a WarW0lf por uma resposta no tópico
1 pontoOT 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: Aldruh1 ponto -
Ganhar 1 item ao passar pelo piso
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.xml1 ponto
-
Como funcionam os Scripts?
Como funcionam os Scripts?
Rugalo reagiu a MaXwEllDeN por uma resposta no tópico
1 pontoComo 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 :31 ponto -
Burl RadBr
Burl RadBr
ferlations reagiu a Kimoszin por uma resposta no tópico
1 pontoOlá 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.1 ponto -
TK - LIMPO
TK - LIMPO
Skyligh reagiu a Jamers Rodrigues por uma resposta no tópico
1 pontoBom 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.1 ponto -
Me obrigaram a postar: Vampira
1 ponto0:41 by: guerra-lobo1 ponto
-
[Resolvido]Olá Eu Gostaria De Tirar A Funçao De Umar Outfit Do Meu Client Help
[Resolvido]Olá Eu Gostaria De Tirar A Funçao De Umar Outfit Do Meu Client Help
Skyligh reagiu a Gabrieltxu por uma resposta no tópico
1 pontoPostado no lugar Incorreto reportado1 ponto -
[Map 8.60] Tibia Illusion City
[Map 8.60] Tibia Illusion City
Kisuck reagiu a Gabrieltxu por uma resposta no tópico
1 pontoFala 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 Plis1 ponto -
[HELP] How to check floor (Location.Z) in Cavebot ? (C#)
[HELP] How to check floor (Location.Z) in Cavebot ? (C#)
MaXwEllDeN reagiu a Kimoszin por uma resposta no tópico
1 pontoprivate 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(); }1 ponto -
PANDABOT
PANDABOT
BrunooAngel reagiu a iasbik por uma resposta no tópico
1 pontovaleu Kimoszin vou quebrar a cabeça com isso na próxima semana. ae devo lançar o bot pro pessoal ae1 ponto -
[Ajuda] Novo Gold: Ten Thousand Dollar Notes
Areá errada! Eu já pedi pra um moderador mover pra areá correta!1 ponto
-
Duvida bot p.a
Duvida bot p.a
linkinhopk reagiu a Gabriel10101 por uma resposta no tópico
1 pontoOlha cara coloquei o scan,eu tenho esse arquivo no PC,no scan acuso 3,mas não acho que sejam perigosos...1 ponto -
[Tutorial] Retirar e Colocar Item automático
Muito bom o tutorial, com certeza vai ajudar o PaulinhoAraujo rep+ mas você colocou o tutorial na areá errada1 ponto
-
(Resolvido)[PEDIDO] Server de naruto bom com as sprites atualizadas
Aqui está!1 ponto
-
E foi assim que você nasceu, filho
UHAUHA1 ponto
-
TK - LIMPO
1 pontoVoce deve reportar no intuito de ajudar e nao de querer se levantar ;/1 ponto
-
Fotos Rl
Puxa saco mode ON: O único bunitin ai é o renato1 ponto
-
Ladrão é assaltado
1 ponto1 ponto
- [Resolvido]Qual e o melhor
1 pontoTodos 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ço1 ponto- [Resolvido]Qual e o melhor
1 pontoHastleHost.com Dominio gratis em planos acima de 2GB Bom proveito!1 ponto- [Resolvido]Qual e o melhor
1 pontoSkyLigh. Eu achei essa aqui.Da uma olhada,dis que tem proteçao DDos tambem. http://www.hostingjogos.com/1 ponto- [Resolvido]Qual e o melhor
[Resolvido]Qual e o melhor
Skyligh reagiu a Jamers Rodrigues por uma resposta no tópico
1 pontohttp://www.hostingjogos.com/ http://www.anthares.org/ http://www.hospedagemgenial.com.br/cloud-genial1 ponto- [Resolvido]Qual e o melhor
[Resolvido]Qual e o melhor
Skyligh reagiu a Jamers Rodrigues por uma resposta no tópico
1 pontohttp://www.universeidc.com.br/ www.otservhost.com/1 ponto- [Resolvido]Problemas Na Vip Do Pokemon Centurion
[Resolvido]Problemas Na Vip Do Pokemon Centurion
abmauromacedo reagiu a Kimoszin por uma resposta no tópico
1 pontolocal 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 -----------------------------1 ponto- Site do Tibia auto não entra
1 pontoaki 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...1 ponto- Problemas com meu Otserv :(
1 pontoVá 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.1 ponto- Ganhar 1 item ao passar pelo piso
Que nada rep e so uma forma de agradecimento e reconhecimento.1 ponto- Did you know?
1 pontoSempre joguei wow, não imaginava que ele usava lua também...1 ponto- [Resolvido]Alguem me ajuda a escolher o xampp
Não, use o 1.7.3 e se gostou + REP : )1 ponto- Player Online Spoof
1 pontoé a pasta com as sources dentro...1 ponto- Player Online Spoof
1 pontoVlww galera =D Vlw manolo :DD1 ponto- [Pedido] Waypoint Rot's de Thais
1 pontoAqui está, arquivo anexado, abraços :] North Trolls Thais - Full AFK - By Google.xml1 ponto- (Modernacc) Wodbo Templete V1
1 pontoObrigado por manter os creditos1 ponto- (8.6x) TFS 0.4_DEV rev3777
1 pontoCara, cade a pasta data, o config.lua, etc... ? Como faço pro server rodar?1 ponto- New Baiak 8.6 Editado. V2.0
New Baiak 8.6 Editado. V2.0
OmarJogador2012 reagiu a paulo thush por uma resposta no tópico
1 pontomals galera por nao comentar mais muito obrigado HeltonFontesBr nao se sei se vai ter update pq nao to quase mexendo com otserv1 ponto- [8.54] Pokemon xD by Rafael Marinho
[8.54] Pokemon xD by Rafael Marinho
juliana153 reagiu a RafaaxD por uma resposta no tópico
1 pontoEntã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 . ¬¬1 ponto- New Baiak 8.6 Editado. V2.0
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.1 ponto- [8.54] Pokemon xD by Rafael Marinho
[8.54] Pokemon xD by Rafael Marinho
erisonn reagiu a MatheusVidaLoka por uma resposta no tópico
1 pontoAki o Scan do server , to terminando o do client agora Ajudei ? será que reputar cai o dedo ?1 pontoLíderes está configurado para São Paulo/GMT-03:00 - [Resolvido]Qual e o melhor
Informação Importante
Confirmação de Termo