Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 01/02/13 em %
-
Decimal/Hexadecimal
Gabriel Couto e 3 outros reagiu a Oneshot por um tópico no fórum
Estas são duas funções novas para a biblioteca math, que acabei desenvolvendo por causa da minha extrema preguiça na hora de adicionar novos efeitos nas sources. math.hex = function(dec) dec = tonumber(dec) return string.format("%X", number) end math.dec = function(hex) return tonumber(hex, 16) end Exemplos de Uso: local file = io.open("effects.txt", "w+") for i = 45, 220 do file:write("MAGIC_EFFECT_EXTRA".. (i - 44) .." = 0x".. math.hex(i) .."\n") end file:close() No caso o exemplo acima iria gerar essa coisa aqui: MAGIC_EFFECT_EXTRA1 = 0x2D MAGIC_EFFECT_EXTRA2 = 0x2E MAGIC_EFFECT_EXTRA3 = 0x2F MAGIC_EFFECT_EXTRA4 = 0x30 MAGIC_EFFECT_EXTRA5 = 0x31 MAGIC_EFFECT_EXTRA6 = 0x32 MAGIC_EFFECT_EXTRA7 = 0x33 MAGIC_EFFECT_EXTRA8 = 0x34 MAGIC_EFFECT_EXTRA9 = 0x35 MAGIC_EFFECT_EXTRA10 = 0x36 (...) Prático, né? Hehe4 pontos -
Dicas de Tipografia Vi que muita gente tá em duvida em tipografia, então fiz uma video-aula mostrando o básico, com o tempo desenvolverei tutoriais mais avançados =) pfvr, não zoar a minha voz, Grata! huahua Abraços galerinhadomal3 pontos
-
Nome: Oneshot's Anti-bot Autor: Oneshot Tipo: Sistema Descrição Este é um sistema de anti-bot simples, que envia um código numérico de 6 dígitos para cada jogador online e pede para que, através de um comando, este código de verificação seja ativado. O jogador tem um limite de tempo para fazer isso, e caso não faça, este é banido por um tempo configurável ou então, preso em um certo lugar do mapa. Instalação 1. Em data/lib, crie um arquivo chamado antibot.lua e cole o conteúdo abaixo: ANTIBOT_STORAGE_1 = 109001 ANTIBOT_STORAGE_2 = 109002 ANTIBOT_STORAGE_3 = 109003 ANTIBOT_TYPE = 2 -- [1] = Banimento, [2] = Prisão ANTIBOT_DURATION = 120 -- Em segundos ANTIBOT_DURATION_DELAY = 10 -- Em segundos ANTIBOT_MESSAGE = "[Oneshot's Anti-bot]\nSeu código de verificação é %s, responda através do comando !antibot, caso contrário, será ".. (ANTIBOT_TYPE == 1 and "banido" or "preso") ..".\nVocê têm %s segundos." ANTIBOT_BAN_TIME = 24 * 60 * 60 ANTIBOT_PRISON = {x = 1019, y = 867, z = 7} ANTIBOT_PRISON_FROMPOSITION = {x = 1018, y = 865, z = 7} ANTIBOT_PRISON_TOPOSITION = {x = 1020, y = 869, z = 7} ANTIBOT_PRISON_DURATION = 3 * 60 * 60 ANTIBOT_TEMPLE = {x = 1027, y = 912, z = 5} function AntiBot(cid) if not isCreature(cid) then return end local time = getCreatureStorage(cid, ANTIBOT_STORAGE_1) local answer = getCreatureStorage(cid, ANTIBOT_STORAGE_2) if getPlayerAccess(cid) >= 3 or not(getPlayerAccountManager(cid) == MANAGER_NONE) then return end if isInRange(getThingPosition(cid), ANTIBOT_PRISON_FROMPOSITION, ANTIBOT_PRISON_TOPOSITION) then return end if time == -1 and answer == -1 then return end if os.time() >= time then doCreatureSetStorage(cid, ANTIBOT_STORAGE_1, -1) doCreatureSetStorage(cid, ANTIBOT_STORAGE_2, -1) doBroadcastMessage("[ANTI-BOT] O jogador ".. getCreatureName(cid) .." foi ".. (ANTIBOT_TYPE == 1 and "banido" or "preso") .." por uso de bot.") if ANTIBOT_TYPE == 1 then doAddAccountBanishment(getPlayerGUID(cid), 0, (os.time() + ANTIBOT_BAN_TIME), 12, 3, "[ANTI-BOT]") doRemoveCreature(cid) else doTeleportThing(cid, ANTIBOT_PRISON) doCreatureSetStorage(cid, ANTIBOT_STORAGE_3, os.time() + ANTIBOT_PRISON_DURATION) addEvent(function() if isCreature(cid) then doTeleportThing(cid, ANTIBOT_TEMPLE) end end, ANTIBOT_PRISON_DURATION * 1000) end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, ANTIBOT_MESSAGE:format(answer, (time - os.time()))) addEvent(AntiBot, ANTIBOT_DURATION_DELAY * 1000, cid) end end 2. Crie um arquivo chamado antibot.lua em data/globalevents/scripts, cole o conteúdo abaixo function onThink(interval) for _, cid in ipairs(getPlayersOnline()) do local answer = math.random(100000, 999999) doCreatureSetStorage(cid, ANTIBOT_STORAGE_1, os.time() + ANTIBOT_DURATION) doCreatureSetStorage(cid, ANTIBOT_STORAGE_2, answer) AntiBot(cid) end return true end Adicione a seguinte linha em globalevents.xml <globalevent name="antibot" interval="900" event="script" value="antibot.lua"/> 3. Crie um arquivo em data/creaturescripts/scripts, cole o conteúdo abaixo function onLogin(cid) local time = getCreatureStorage(cid, ANTIBOT_STORAGE_1) local answer = getCreatureStorage(cid, ANTIBOT_STORAGE_2) if answer == -1 then return true end if isInRange(getThingPosition(cid), ANTIBOT_PRISON_FROMPOSITION, ANTIBOT_PRISON_TOPOSITION) then if os.time() > getCreatureStorage(cid, ANTIBOT_STORAGE_3) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Seu tempo de prisão acabou.") doTeleportThing(cid, ANTIBOT_TEMPLE) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você ainda está preso por uso de bot.") end return true end if os.time() > ANTIBOT_STORAGE_1 then doCreatureSetStorage(cid, ANTIBOT_STORAGE_1, os.time() + ANTIBOT_DURATION) return true end AntiBot(cid) return true end Adicione a seguinte linha em seu creaturescripts.xml <event type="login" name="Antibot" event="script" value="antibot.lua"/> 4. Crie um arquivo chamado antibot.lua em data/talkactions/scripts, cole o conteúdo abaixo function onSay(cid, words, param, channel) param = tonumber(param) or "" local time = getCreatureStorage(cid, ANTIBOT_STORAGE_1) local answer = getCreatureStorage(cid, ANTIBOT_STORAGE_2) if time == -1 and answer == -1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O anti-bot não está ativado.") return true end if param == "" then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite uma senha de verificação válida.") return true end if param ~= answer then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você digitou a senha incorreta. Digite corretamente, caso contrário, será banido.") return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Ótimo! Você digitou a resposta correta. O anti-bot foi desativado.") doCreatureSetStorage(cid, ANTIBOT_STORAGE_1, -1) doCreatureSetStorage(cid, ANTIBOT_STORAGE_2, -1) return true end Adicione a seguinte linha em seu talkactions.xml <talkaction words="!antibot" event="script" value="antibot.lua"/> Você pode fazer várias configurações na lib do sistema ANTIBOT_STORAGE_1 = 109001 ANTIBOT_STORAGE_2 = 109002 ANTIBOT_STORAGE_3 = 109003 ANTIBOT_TYPE = 2 -- [1] = Banimento, [2] = Prisão ANTIBOT_DURATION = 120 -- Em segundos ANTIBOT_DURATION_DELAY = 10 -- Em segundos ANTIBOT_MESSAGE = "[Oneshot's Anti-bot]\nSeu código de verificação é %s, responda através do comando !antibot, caso contrário, será ".. (ANTIBOT_TYPE == 1 and "banido" or "preso") ..".\nVocê têm %s segundos." ANTIBOT_BAN_TIME = 24 * 60 * 60 ANTIBOT_PRISON = {x = 1019, y = 867, z = 7} ANTIBOT_PRISON_FROMPOSITION = {x = 1018, y = 865, z = 7} ANTIBOT_PRISON_TOPOSITION = {x = 1020, y = 869, z = 7} ANTIBOT_PRISON_DURATION = 3 * 60 * 60 ANTIBOT_TEMPLE = {x = 1027, y = 912, z = 5} Como a duração do ban, a posição da prisão, o tempo de prisão, dentre outras coisas. Como não consegui fazer funcionar o banimento de um jogador só na versão 0.3.6pl1, sendo isto possível apenas na 0.4.0, resolvi colocar para o tipo de banimento ser na conta toda. Abraços.2 pontos
-
Tenta ai: local config = { waters = {4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4665, 4666, 4820, 4821, 4822, 4823, 4824, 4825}, monster = {"Rat", "Cave Rat"}, -- Nome dos monstros rateFishing = 1, -- 1% de pescar minhocaId = 1, -- id da mminhoca que o player tem que ter } function onUse(cid, itemEx, topos) if isInArray(config.waters, itemEx.itemid) then chance = math.random(1, 100) if doPlayerRemoveItem(cid, config.minhocaId, 1) then doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_LOSEENERGY) if chance <= config.rateFishing then monsterName = config.monster[math.random(#config.monster)] doCreateMonster(monsterName, getClosestFreeTile(cid, getThingPos(cid))) else doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) end else doPlayerSendTextMessage(cid, 27, "You need a "..getItemNameById(config.minhocaId).." for fishing.") return true end else return doPlayerSendCancel(cid, "Sorry, is not possible.") end end2 pontos
-
Azeroth Server Updated 12/03/2012: v1.1 Outras Versões: v1.0 [8.70]: http://www.xtibia.com/forum/topic/150269-azeroth-server-updated/ v2.0 [9.60]: http://www.xtibia.com/forum/topic/205054-960-azeroth-rpg/ Versão: 8.60 Distro: TFS 0.4 Mapa Base: Yourots Edited e Mix Yourots Features: > 7 Cidades: Azeroth Avalon Zatur Liberty Bay Gloria Sand Trap Tiquanda > Mapa RPG bem detalhado para Ots Low e Mid rate. > Inúmeras invasões automáticas, Low e High lvl (ou iniciadas pelo comando /raid "nome"). > NPCs de Travel/Boat diferentes para cada cidade. > Mais de 70 quests (além das principais) espalhadas pelo mapa. > Quests especiais com NPCs > Arena PvP sem perda de items. > Sistema de Guerras pelo Castelo [entre guilds] (mais detalhes abaixo) > Sistema de Refinamento e Slot (mais detalhes abaixo). > Sistema de Mineração (mais detalhes abaixo) > Scripts e sistemas aprimorados para o servidor > Distro SEM erro algum > Principais Quests: Annihilator Blue Legs Pits of Inferno MMS The Inquisition The Death FireWalker Boots Demon Helmet Draken Hell Conquer > 23 Raids Automáticas e configuradas: > Sistema de Guerras pelo Castelo [Honor Castle, a oeste de Azeroth] Evento automático. Quando a guerra é anunciada as guilds podem batalhar pelo controle do castelo, dando use no monumento do último andar e permanecendo assim até a guerra acabar. O último jogador a ter o controle do castelo antes do tempo acabar será o vencedor, e sua guild se tornará dona do castelo. Todos os membros da Guild ganharão uma recompensa e poderão acessar o mapa do subsolo. Os membros de outras Guilds serão teleportados para o templo e não poderão acessar o castelo. O sistema envia mensagens a todos antes de o evento começar, quando começar, quando o dono do castelo muda, antes de se finalizar e ao finalizar, relatando o conquistador do castelo e a guild vencedora. Imagens: Raids Honor Castle War Upgrade & Slot System > Histórico: V 0.2 V 0.3 V 0.4 V 1.0 V 1.1 Edição e postagem(leia): Eu autorizo edições e repostagens do Azeroth Server (aliás, não posso proibir isso) mas peço a vocês que pelo menos respeitem o estilo do mapa. Eu não sei se poderei dar continuidade a ele, mas trata-se de um projeto RPG. Pensa só, eu tive um trabalhão pra editar o server, fiz tudo com mais amor do que o arroz que sua mãe faz com sazón, e você vai baixar, encher de teleportes e hunts quadradas, colocar armas com atk de 350000, sistemas VIPs sem propósito algum, vai copiar o tópico, retirar meus créditos e postar novamente? Reconsidere, pois não há nada mais desmotivador para um desenvolvedor do que isso, ver seu trabalho cair em desuso, como aconteceu com o Styller YourOts, Vancini e Baiak, que agora é um monstro sem pé nem cabeça (alguns gostam desse tipo de server, tudo bem, mas essa não é a proposta deste servidor). Se teve boas ideias e quer editar o servidor para postar, fique à vontade, estarei à disposição quando puder, mas não me decepcione, ok? lindos Não há teleports diretos para hunts ou quests. Não há items ou monstros editados(além dos trainers). Não há sistema VIP, VIP 2, VIP 3, VIP 345456364. Não há raids com monstros excessivamente fortes nas cidades iniciais. Créditos: < Unknow YourOts Edited >< Mix Yourots Team >< Crystal Server Team >< Tryller >< Mock >< TFS Team >< TonyHanks >< Centera World >< Vmspk > (Nunca retire os créditos, nem mesmo se for postar o servidor em outro fórum) DOWNLOADS > Opcionais IP Changer - Utilitários(opcional) - Map Editor *Utilitários inclui: Lista com códigos de todos os looktypes, SQLite Studio 1.1.1, códigos das cores dos outfits e o OTRestarter. > Servidor Tive problemas para encontrar um distro confiável. Vários TFS não funcionavam direito ou pareciam estar infectados, segundo o VirusTotal, mas ao que me parece o site deve ter mudado algo em suas configurações, por que até arquivos limpos como o antigo Mix YourOts, postado aqui mesmo, agora ficam com 16 + arquivos suspeitos no novo scan. Eu optei por usar um TFS 0.4 postado na Vapus pelo usuário Lyonman (LINK). O distro foi testado com vários anti-virús, sem nenhum problema, e funciona perfeitamente com o Azeroth Server, porém, sou responsável apenas pelo DataPack do servidor. Se você decidir usar este distro, será por sua própria conta (ou se alguém tiver alguma versão do tfs 0.4 r3884 que passe lisa nos scans, poderei substituir). DOWNLOADS: Opção 1 Opção 2 Somente DataPack (+ IpChanger e SqliteStudio) Servidor Completo (DataPack + Distro e DLLs) Acc do GOD: vmspk/222222 Comandos: !war para executar a guerra pelo castelo manualmente, !reset para interromper o funcionamento da war e !castle para limpar todos os dados, ou seja, o castelo volta a ser terra de ninguém. !info para saber mais sobre as novidades do Azeroth Server. Editável na pasta do Ot, em Notícias. Comando !bless e !rank disponíveis. Para saber os IDs das pedras e outras coisas vá ao Histórico, na versão 1.0. Se acha que ter um OtServ é só baixar, abrir e largar lá, ou ainda editar chars e equipamentos para você mesmo jogar e fazer o que quiser, garanto-lhe que não vai durar 2 dias. Conheça o mapa, crie eventos, interaja com os jogadores, faça torneios Pvp, marque datas para a Honor Castle, faça updates no mapa, crie monstros, hunts e quests, dê suporte e, o mais importante, mantenha o HELP aberto, sempre. Contato: vmspk@hotmail.com Conheça também o 4Fun Server 9.1 Este servidor está liberado para postagem, mas por enquanto só existe aqui no Xtibia Um bjo pra vcs1 ponto
-
[9.80/9.81] Global Compacto - Com Nova Venore!
lordzorro reagiu a Animal Pak por um tópico no fórum
Informações: » Mounts 100% » Items 97% » Outfits 100% » Trainer offline Estatuas e Camas 100% » Todos os Monstros 9.70 (Falta Incluir os 9.80) » TheOTX 2.44 Codename: "Chronodia" Requerimentos Minimos: » Windows XP 32Bits ou 64Bits » Intel Core 2 Duo 2,40 GHZ » 2GB de Memoria RAM Ferramentas Necessárias: » Para não ter problemas com arquivos (dll). » Microsoft Visual C++ 2010 - 32Bits: Redistributable Package Screen's: Download Server / Scan: » Download Server: Mediafire »Scan Server: https://www.virustot...sis/1357087768/ Download Database / Scan: » Download Database: Mediafire » Scan Database: https://www.virustot...sis/1357088007/ Download Sources / Scan: » Download Sources: Mediafire » Scan Sources: https://www.virustot...sis/1357088122/ Acc GOD: tibia/tibia Créditos: NvSo OTXTeam - 99,99% Soldoran SmoOkeR 0,01% - Uploads / Formatação / Scan1 ponto -
[Global] Original Sem Bugs!
marquinhossm reagiu a lachost12 por um tópico no fórum
Cidades! Quests! Raids! Informações do Server: War System (Escudos) Distro DEV_0.4 Spells 8.6 100% Npc's Igual RL Sem bugs (dinheiro, entre outros). Server pronto para por Online. Outros: Download: Créditos:1 ponto -
FAZENDO SEU OT, BOTANDO ONLINE, LIBERANDO PORTAS, BOTANDO SITE ONLINE, CRIANDO IP FIXO e mais umas coisas Então pessoal, nesse SUPER HIPER MEGA DOUBLE SUPER-SONICO BLASTER 3D JACK BAUER CHUCK NORRIS tutorial, vou ensinar a vocês a como criar um OTserv do zero! (Inclusive SITE!) Primeiro, você precisa baixar esses arquivos aê: OT - Link da seção com downloads: http://www.xtibia.com/forum/forum/596-downloads-de-otserv/ Appserv - Link do download: http://www.appservnetwork.com/ SCRIPTS DO SEU SITE - Link da seção de downloads: http://www.xtibia.com/forum/forum/581-downloads-de-websites/ Só isso : ) Então vamos lá. 1º CRIANDO SEU SERVER Primeiro, extraia o conteúdo do seu OTserver em alguma pasta! Você verá que tem um arquivo com esse nome: config.lua Clique com o botão direito nele, vá em abrir com: Bloco de notas. >>>>> Dentro dele, tem várias coisas.... Só vamos configurar as seguintes coisas: -- server ip (the ip that server listens on) ip = "AQUI VOCÊ POE O SEU IP" -- monster lootrating (how much faster you get items from monsters) lootmul = AQUI VOCÊ POE A PORTECENTAGEM DE CHANCE DE LOOT QUE TEM exemplo: 20 (o máximo é 100!) -- skill multiplier (another multiplier in data/vocations.xml)[/font][/font] skillmul = AQUI TU POE QUANTAS VESES VAI MULTIPLICAR O SKILL exemplo: 6 -- manaspent multiplier (another multiplier in data/vocations.xml) manamul = AQUI TU POE QUANTAS VESES VAI MULTIPLICAR O MAGIC LEVEL exemplo: 5 Bom, alí onde você poe o seu IP, você pega o seu ip nesse site: www.whatip.com Ve seu ip e cola lá. Quando terminar é só clicar em arquivo, salvar e fechar. Pronto, lembrando que toda vez que você desligar e ligar sua internet, o ip muda. Tem que editar lá também. 2º LIBERANDO AS PORTAS 7171 Como iremos fazer isso? Fácil! primeiro você tem que saber de uma coisa, se sua internet for a RÁDIO, você não poderá ter um OTserv. APENAS VIA HAMACHI! Link ensinando a fazer server via hamachi: http://www.xtibia.com/forum/index.php?showtopic=27981 Ok, caso não seja a rádio, vamos lá. Sua internet precisa se conectar por um discador ou já vem conectado direto quando liga?! Se precisar de discador, pra liberar as portas basta fazer isso: Primeiro, Vamos ao painel de controle. Iniciar> Painel de Controle. Clique em FireWall do Windows. Clique na aba Exceções E clique em Adicionar porta. Configure da seguinte maneira. Nome: Open Tibia Porta: 7171 Protocolo: TCP IMAGEM: Dê OK. Pronto, liberou as portas! Mas se é só ligar e já conecta direto sem discador, você tem que saber o modelo de seu modem. Ai você vem nesse site: http://portforward.com/routers.htm Acha o modelo do seu modem, clica. Dai na próxima tela, procure por TIBIA. Ai é só você seguir os passos lá e pronto! Mas não se esqueça de fazer aquilo do FireWall que eu disse ali em cima eim! Pronto! 3º PONDO O OT ONLINE Como faremos isso? Basta entrar na pasta do OT e abrir o arquivo EXECUTÁVEL que tem lá! Não é o Restarter nem o Remote Control! Pronto. Seu server está online! Mas você não tá consseguindo entrar né? É porque você entra pelo ip que você pega desse jeito: Vá ao Iniciar Clique em Executar Digite: cmd Depois digite: ipconfig Ai você pega o Endereço de IP e cola no IPCHANGER e entra! Mas só você que entra por esse IP! Os outros entram por aquele do www.whatip.com 4º AUMENTANDO A EXP Mas a EXP ainda está baixa! Como vamos arrumar? Fácil! Primeiro, vamos até a pasta do OT, Vá na pasta Data Depois, abra o arquivo stages.xml Estará mais ou menos assim: <?xml version="1.0"?> <stages> <stage minlevel="1" maxlevel="999999" multiplier="35"></stage> </stages> Vou explicar: stage minlevel="1" Isso, é o level que a exp começa. No caso, isso é usado para se quiser experiências variadas. No meu caso, eu puis como level mínimo 1. E onde está maxlevel="999999" Isso é o level que a exp desejada chega. Tipo, Quando chegar no level 500, a exp para de ser tal! Entende? Essa parte é a mais importante: multiplier="35" Essa é a EXP! Se você por ali, 50, vai ficar 50 veses mais rápido de upar do que no Tibia normal! Pronto! A exp tá configurada.. Seu server tá online.. quer mais o que?!?! Arrumar a regeneração de mana e hp? Ok né, vamos lá então! 5º ARRUMANDO A REGENERAÇÃO DE MANA/HP Abra a pasta de seu OT, Depois vá na pasta Data! Agora, abra o arquivo Vocations.xml Ai lá tem todas as vocações. Ai cada uma é mais ou menos assim: <vocation id="1" name="Sorcerer" description="a sorcerer" gaincap="10" gainhp="5" gainmana="30" gainhpticks="6" gainhpamount="10" gainmanaticks="3" gainmanaamount="50" manamultiplier="1.1" attackspeed="2000" soulmax="100" gainsoulticks="120"> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="2.0"/> <skill id="2" multiplier="2.0"/> <skill id="3" multiplier="2.0"/> <skill id="4" multiplier="2.0"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> Então, Onde está esse: gainmanaamount="50" É a quantidade de Mana que ganha. E onde está esse: gainmanaticks="3" É o tempo que irá demorar para subir a mana, Ai no caso está 3 segundos! -- E para mudar a regeneração de HP, Onde está esse: gainhpamount="10" É a quantidade de HP que ganha. E onde está esse: gainhpticks="6" É o tempo que vai demorar para subir o HP! Então é isso! Edite todas as vocações Salve, resete o Servidor e pronto! Mas po, um server sem GM não dá né?! Vamos aprender a criar um char GM! 6º CRIANDO UM CHAR GM/GOD Primeiro, Vamos ao arquivo do character que irá virar gm. Geralmente, está na pasta Players. Está mais ou menos assim: (cortado algumas partes do script para ficar menos) <?xml version="1.0" encoding="UTF-8"?> <player name=" XTibia" account="58585858" sex="1" lookdir="2" exp="4200" voc="3" level="99999999" access="0" cap="380" maglevel="256" Para mudar para GM/GOD Basta mudar o nome e o Acces! Vamos mudar o Acces para 5 (GOD) E o nome para GM XTibia <?xml version="1.0" encoding="UTF-8"?> <player name="GM XTibia" account="58585858" sex="1" lookdir="2" exp="4200" voc="3" level="99999999" access="5" cap="380" maglevel="256" Os acessos são os seguintes: 5- GOD 4- Senior GM 3- GM 2- Sênior Tutor 1- Tutor Depois de ter mudado isso, Volte a pasta players. Lá, renomeie o arquivo do character para o nome que você pois dentro do arquivo. Agora, saia da pasta players e vá para a pasta ACCOUNTS Localize a account do player que irá virar GM, E vamos editá-la. Vai estar mais ou menos assim: <?xml version="1.0"?> <account pass="senha123**" premDays="0" premEnd="0"> <characters> <character name="XTibia"/> </characters> </account> Mude o nome para o nome que você pois no arquivo do character. Ficando assim: <?xml version="1.0"?> <account pass="senha123**" premDays="0" premEnd="0"> <characters> <character name="GM XTibia"> </characters> </account> Feito! Lembrando que para editar o character, ele precisa estar offline! Tá, agora você ve aqueles IPs bonitos né? Tipo assim: mamae.servegame.com Então vamos fazer! 7º CRIANDO IP FIXO Entre no site www.no-ip.com Logo depois, registre-se. Clicando em sign-up. Preencha como desejar. Depois de ter se cadastrado, Você receberá um email com a confirmação do cadastro. Feito. Agora, entre com seu email cadastrado e senha. Na tela que aparecer, clique em Hosts/Redirects. Clique em ADD Uma nova telá irá aparecer. Em name ponha o que você quiser. APENAS O NOME! Não ponha nada mais! Só o nome. Em baixo, escolha o serviço que você quiser. Exemplo, .servegame.com Pronto. Não mecha em mais nada e clique em Create Host. Feito! Seu IP fixo está criado! Espere 5 minutos antes de usá-lo. Lembre-se de todo dia que resetar sua Internet e seu IP mudar, ir no site do no-ip.com e clicar em manage hosts Acha o seu IP Fixo e clica em modify. Daí muda seu IP! ps: o IP que vai no config.lua é o IP de números. Pronto! Seu IP agora tá bonitinho =) Tá, agora você já tem seu OT, configurado, char GM, IP fixo e server ONLINE! Vamos partir pro site?! Acho que é uma boa : ) 8º INSTALANDO E CONFIGURANDO O APPSERV (SITE) Então, sabe aquele AppServ 2.5.9 que eu falei pra você baixar no início do tutorial? Vamos usa-lo agora! Então, dê um clique duplo no ícone do setup do AppServ e vamos instalar! Siga as fotos, preencha igualzinho! Vou mandar um esquema antes! Desmarca PHP My Admin e My SQL Poe o nome do server NAO PODE TER ESPAÇO! Poe o teu EMAIL em baixo. E poe 8090 na port. Depois dá NEXT deixa ir, e no final desmarca as duas caixinhas! Fotos na seqüencia: 1 2 3 4 Pronto! Depois de instalado, Vamos liberar as portas necessárias! Que no caso é a 8090! Faça o mesmo procedimento da porta 7171! Dito láááá em cima! Sobe um montão pouquinho que você acha eu ensinando a desbloquear! Mas muda o nome da porta poe OT Site. OK? Feito, agora sabe os scripts que eu falei para você baixar?! Então, copia os arquivos do script do seu SITE e cola dentro da pasta WWW Que tá no C:\\\\\\\\Appserv\\\\\\\\www Cola dentro dessa www ai! Ai depois, você abre o config.php E configura ai. Geralmente é fácil! Se tiver algo assim: datadir Siginifica que eles querem o destino da pasta data. Qualquer dúvida na hora de configurar, pode adicionar meu msn! Tá na minha assinatura. Depois de configurar, Volte na pasta Appserv e abra a pasta Apache. Abre o arquivo apache_start Essa é a imagem de quando você abre: Pronto! Agora vai lá e testa pra ver se tá on o seu site. http://SEUIP:8090 Lembrando que os outros vão usar o IP do www.whatip.com ( ou o fixo) Mas você entra com o IP interno do executar>cmd>ipconfig Ok? Então é isso galera! Espero que tenha ficado bem explicadinho! Tirei muito tempo meu pra fazer isso! Mas valeu apena! Queria aproveitar pra mandar um beijo pro Frozen, Rickzs, Powerzin, Rustty, JV e Addict! Qualquer coisa que tenha faltado, fala que eu edito! TUTORIAL 100% BY LASTSOULS! Não tem crédito a ninguém alem de mim. PROIBIDA A CÓPIA NÃO AUTORIZADA! XTibia, a sua comunidade de Tibia e OTserv. 20081 ponto
-
Locker Protection
JonPiress reagiu a MaXwEllDeN por um tópico no fórum
#Introdução Bem, este é um sistema no qual você pode protejer o seu locker(depot) com senha, assim evitando hackers. #Instalação Primeiro faça o download do sistema e cole na sua pasta data. Após ter instalado os arquivos nas suas respectivas pastas adicione as tags: @Actions <action itemid="2589; 2590; 2591; 2592" event="script" value="DPPass.lua"/> <!-- DP Pass --> @Creaturescripts <event type="login" name="LockerPass" event="script" value="DPPass.lua"/> <!-- DPPass --> @Movements <movevent type="StepOut" actionid="96475" event="script" value="DPPass.lua"/> <!-- DPPass --> @Talkactions <talkaction words="!locker" script="DPPass.lua"/> <!-- DP Pass --> Abraço.1 ponto -
Reset Que Ganha Vocation
igorodrigues reagiu a gleison157 por um tópico no fórum
Reset Vocation System Sisteme de reset igual do rozinx 8.60 pra quem nunca viu o sistema entra ae> rorinz.servegame.com // raiva.servegame.com Vá em data/talkaction/script e copie qualquer arquive e cole isso dentro: o sistema de reset não vai funcionar para poder funcionar vá em creaturescript/script/login.lua e adicione isso antes do ultimo return true : Créditos: 90% VodKart 10% A mim por ajuster ATENÇÃO= Duvidas sobre o Script falar com o Vodkard pois ele que configurou pra mim.... Não sou script só sei apenas mudar nomes etc coisas de noob msm kkk' Grato!!! Vim apenas disponibilizar o sistema pra vocês pois sou muito atencioso com aqueles que tentam copiar o mapa tão famoso do Rozinx ;D Gostou então da um REP+ Da um Rep+ ae quem gosto do sistema de reset pois vi que varias pessoas estavam pedindo então se ajudei vcs não custa nada me ajudar tb Rep+ ae pra mim1 ponto -
[Tutorial] Client Proprio
wilson1997 reagiu a DinoAdmin por um tópico no fórum
Bom Galera Hoje vou Fazer um tutorial para quem nao sabe criar um client proprio ainda. vamos lá a) Criando o Executavel 1° Crie Uma Pasta na area de Trabalho com o Nome do Seu client 2° Vá no Site Do Vapus (Clique Aqui Para Ir) 3° Preencha Oque se Pede. (Veja como Preencher Na Imagem Abaixo) b) Editando a Imagem 1°Voce Precisa Ter o PIC Editor (Clique Aqui Para Fazer o Download do Pic Editor 8.54) 2° Voce Vai Pegar Seu Tibia.dat,Tibia.spr e Tibia.pic e vai colar na Pasta onde voce colocou o Executavel. 3° Coloque o PIC Editor La dentro Tambem 4° Abra o PIC Editor 5° Click em "Browze" 6° Celecione Seu Tibia.PIC 7° Click em "EXTRACT" E Aguarde 8° Vai Aparecer 8 Imagens (0 a 7) 9° Voce vai Pegar a Imagem de n°0 e Apagar 10° Agora voce vai Editar uma Imagem e Colocala no Tamanho 640x480 e Formato BMP 11° Agora Coloque a foto Na Pasta e Renomei ela Para 0 12° Click em "COMPILE" E Aguarde 13° Agora Abra o Client e Veja como Ficou a Imagem ^^ Apois Abrir vá na Pasta e tire as Imagems 0 a 7 que ficaram abertas la e i pic editor deixa na pasta somente o executavel e o tibia.pic,.spr,.dat. Agora Voce já Tem o Seu Client Proprio Com sua Imagem Propria c) Mudando o Incone do Client 1° Voce vai Precisar do Res Hack (Click Aqui Para Baixar) 2° Agora Abra o Res Hack 3° Click em File/Opem e Procure Pelo Seu Executavel 4° Com o Executavel Dentro do Res Hack voce vai em "Action"/ Replace Incon. 5° Vai Abrir uma Telinha Veja na Imagem Abaixo 6° Click Onde eu Marquei e Celecione o Incone que voce Deseja por no Seu Executavel. 7° Apois Escolher Vá em Replace 8° Aperde Ctrl+s e Fexe o Res Hack Vá ate a Pasta do Client e Veja lá vai ter 2 executavel o Original e o Que agente Mudou o Incone Voce vai apagar o Original e vai ficar com o que mudamos o incone Agora Ja Temos o Client Proprio a Imagem e o Incone. c) Mudando o IP De Um Client 1° Voce vai Precisar do Cygnus Hex Editor (Click aqui Para Baixar) 2° Abra o Seu Signus Hex Editor Vá em "File/Open e Procure pelo Client que Quer Mudar o IP 3° Apois Achar Aperte Ctrl+f e Cole o Numero de IP do Client. 4° Se o Client for Padrao vai ter o IP Padra 127.0.0.1 voce vai Buscar por esse ip 2 veses (Fez a primeira busca com o ctrl+f, voce vai apertar ctrl+f novamente e procurar pelo Memso ip. Mais isso se for o padrao) 5° o IP Que voce Vai Substituir Eu recomendo que tenha No Maximo 18 Caracteres. 6° Agora Subscrever o Seu ip sobre o IP Do client (Se for o padrao vai ser 127.0.0.1) 7° Apois Subscrever Todos os IPs Voce vai Aperdar Ctrl+s e Fexar o Cygnus Hex Editor. Lembrese que Voce nao pode colar o Seu ip Voce tenque Subscrever se nao vai dar erro. Bom Galera Espero Ter ajudado com esse Pequeno Tutorial. Creditos: 100% DinoAdmin1 ponto -
Ola Pessual Lindo Do Xtibia... Bom, Um Tutorial De Como Fazer outfits... Vamos Ao Tutorial: Bem, primeiro, o mais básico de tudo: abra uma imagem 32x32. Depois, arranje a cabeça de um outfit de citizen de frente, e cole na imagem. Após posiciona-la no extremo noroeste do quadrado, faça uma base. Tente copiar de um outro outfit, para você ir "pegando a manha". Não presisa caprichar muito, pois é só um esboço. Após ter a base pronta, começe os detalhes. Depois, passe linhas pretas no contorno e defina as linhas internas num tom cinza escuro. Pinte os espaços em branco num tom cinza claro e o outfit estara pronto. Se você quizer fazer um outfit pra mudar de cor depois, mantenha as cores cinzas, se não, decida a cor agora. Após sombreado, repita o processo com o personagem de costas. Caso queira fazer o outfit andando, pegue o outfit do personagem parado(antes de sombrea-lo) e mude a posição de suas mãos, pernas e tronco, afim de fazer com que ele pareça estar andando Resultado final: Lembrem-se de fazerem calmamente, atentos a cada detalhe, evitando de deixar um sombreamento artificial e um formato quadrado. Aviso: Se forem fazer algo na cabeça dele, não esitem em aumentar o quadrado do outfit. Aviso2: Lembrem sempre de alinhar os braços e os ombros.1 ponto
-
Mensagens Off
Gabriel Couto reagiu a caotic por um tópico no fórum
Ola galerinha xtibiana. Vou disponibilizar um sistema de mensagens offline de modo simples e pratica. Não e necessário a utilização de database basta um arquivo de texto. Para mandar uma mensagem e so dizer /msg(nome do player, mensagem). E quando o player logar ele vai ter que abrir uma channel de mensagens off e ele receberá as mensagens. Vamos a instalação. Crie um arquivo de TEXTO chamado de mensagens na pasta data do seu otserv Agora vá em lib e crie um arquivo lua chamado de mensagens: function doSendMsg(cid, receptor, msg) local file = io.open("./mensagens.txt", "a") file:write("\n Player "..tostring(receptor).." Mensagem: "..tostring(msg).." por "..getCreatureName(cid).."End") file:close() end function getPlayerMgs(name) local x = {} local msg = io.open("./mensagens.txt", "r") for i in msg:read("*a"):gmatch("Player "..name.." Mensagem: (.-)End") do table.insert(x, tostring(i)) io.close() end return x or 0 end Vá em data/xml e abra o arquivo channel.xml. E coloque isto: Vá em talkactions e crie um arquivo lua chamado de mens e coloque isto: function onSay(cid, words, param, channel) local t = string.explode(param, ",") if not t[1] then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você deve dizer o nome do player /msg(nome do player, mensagem)") and false end if not t[2] then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você deve escrever a mensagem /msg(nome do player, mensagem)") and false end if #t[2] <= 4 then return doPlayerSendCancel(cid, "Você deve dizer a msg com mais de 4 caracteres /msg(nome do player, mensagem)") and false end if not playerExists(t[1]) then return doPlayerSendCancel(cid, "Este player não existe") and false end local pid = getPlayerByNameWildcard(receptor) if pid then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sua mensagem não foi enviado porque este player esta online") and false end doSendMsg(cid, t[1], t[2]) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sua mensagem foi enviado com sucesso para "..t[1].."") return true end Vá em talkactions.xml e coloque esta tag: Vá em creaturescripts e crie um arquivo lua chamado de mens e coloque este código: function onLogin(cid) local mens = getPlayerMgs(getCreatureName(cid)) local str = "Você tem "..#mens.." mensagens olhe na channel de Mensagens Off" if #mens >= 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, str) return true end return true end Vá em creaturescripts e crie um arquivo lua chamado de mensagens e coloque isto: function onJoinChannel(cid, channelId) if channelId == 68 then local mens = getPlayerMgs(getCreatureName(cid)) for i = 1, #mens do doShowTextDialog(cid, 1397, mens[i]) end return true end return true end Registre o evento em login.lua colocando isto antes do ultimo return true: Vá em creaturescripts e coloque esta tag em creaturescripts.xml: E isto ae pessoal. Agora quando o player logar ele recebe a mensagem e basta ele abrir a channel e ir clikando "Ok" nas paginas do dialogo1 ponto -
Olá pessoal do Xtibia, por muito tempo vejo pessoas pedindo ajuda em erros "bobos" no console. Você não acha melhor saber consertar, doque esperar ajuda? Então vamos lá. Vou fazer uma pergunta a você, tente responder sem olhar para baixo. - Como você identifica onde está o erro do script no console ? R.: Simples, uma coisa que deixa toda programação simples é o fato de que o erro sempre irá dizer onde ele está. Não acha isso incrivel ? Exemplo 1 Oque você entende ao ver esse erro ? Muitos sem nem mesmo ler irão dizer : "nossa, deu erro.. Vou criar um tópico no Xtibia". Mas será que é realmente necessário criar um tópico para um erro tão bobo ? Resolução Primeiramente leia o erro Segundo, de acordo com o erro está dizendo que o arquivo não foi encontrado Mas qual arquivo ? Como pode-se observar, antes da descrição do erro, existe o caminho feito para procurar o arquivo Então, vá ate onde foi descrito e procure pelo arquivo.. Não encontrou ? Então você acabou de achar o problema Agora, basta você procurar um script correspondente a esse , copiar um arquivo.lua existente ou usar o editor de lua para criar, e colocar o arquivo no devido caminho. Exemplo 2 Nesse exemplo mostrarei um erro em conjunto com o mapa, que será resolvido com o RME (Remeres Map Editor). Este exemplo é um erro realment típico em baiaks. Oque você está vendo neste erro ? Se você respondeu : "Parece que a casa está mal feita." , você acertou.. Mas agora fica a dúvida, oque pode estar errado ? Resolução Agora que você identificou o erro , como arrumar? Um método simples é você refazer a casa. Mas refazer a casa como ? deletando as paredes e criando denovo ?.. Não ! Basta ir na parte de Houses no seu RME , procurar pela casa afetada pelo erro, deleta-la e remarcar ela, não esquecendo da porta. Pronto, casa consertada e sem erros no console. Galera, esse foi um tutorial super básico com erros conhecidos porem não resolvidos, Quando eu tiver mais tempo, estarei postando resoluções de erros em scripts. E algumas dicas para evitar erros assim. Um abraço, até.1 ponto
-
[Tutorial] Como fazer letras de fogo no photoshop CS6
Gabriel Couto reagiu a Overpower por um tópico no fórum
Galera eu gostei para caramba desse tutorial e resolvi trazer para vocês os créditos estão lá em baixo. http://www.youtube.com/watch?v=3qam8e1IaVE Créditos: allanportilho1 ponto -
Falae galera, suave? Estive viajando por um tempo porisso não deu para eu entrar aqui no xtibia =( Esse é meu primeiro tutorial beleza.. '-' Criando sign com borda modelada nível iniciante-médio.. 1- Crie um novo documento com o tamanho de 500x250 e o fundo transparente. 2- Pegue a ferramente "Caneta" mude lá em cima para "Forma" conforme a imagem. 3- Agora vamos pegar a régua, pressione CTRL+R para aparecer a régua, clique no lado esquerdo dela segure e puxe para o meio da página. Agora já pode começar a fazer a forma com a caneta, desfrute da sua imaginação '-'. 4- Feito isso ira ficar desse jeito porém diferente, claro. 5- Agora vamos duplicar ela Aperte CTRL+J para criar uma cópia, após criar uma cópia pressione CTRL+T para redimensionar ela, clique com o segundo botão do mouse e vá em "Virar Horizontalmente" 6- Depois de ter virado horizontalmente clique sobre ele e depois segure SHIFT, mova ele para a direita (>) e deixe ao lado igual essa imagem. 7- Agora iremos agrupar os dois.. Lá na barra de camadas > Clique sobre a cópia segure o CTRL e clique no outro.. Aperte CTRL+E para juntar. 8- Pronto, agora vamos fazer a borda.. Vá em SELECIONAR -> MODIFICAR -> CONTRAÇÃO. 9- Coloque quando você quiser e de OK, eu coloquei 15 no caso. Logo após clique na borracha, pegue a borracha de um clique dentro de onde está selecionado, e clique em ok no rasterizar camada. 10- Dai passe a borracha dentro de onde está selecionado irá ficar assim: 11- Agora iremos usar estilo na borda para dar um estilo '-', lá em cima na barra de ferramentas, vá em JANELA -> ESTILOS e click.. 12- Feito isso escolha um estilo que lhe agrade..No caso eu escolhi um baixado '-' mais vocês escolhem ai no final do tópico estarei disponibilizando um pacote de estilos ;D 13- Agora vamos adicionar uma render eu escolhi uma do naruto para combinar com o estilo (Na verdade nem sei se combino) posicione ele. 14- Depois de ter posicionado vá na ferramenta caneta, tire a visibilidade da camada da Render lá na barra de camadas >, e começe a fazer um contorno em baixo onde você quiser tirar uma parte da render para dar uma realidade, parecendo que a render está saindo de dentro da sign. 15- Depois de ter feito o contorno com a caneta igual a imagem, deixe a camada da render visível novamente. 16- Agora você ira clica na camada da render e deletar a parte selecionada na caneta, ficando assim 17- Após ter feito isso, iremos abrir uma stock e posicionar ela, depois iremos colocar ela como a ultima camada jogando ela lá para baixo.. 18- Denovo na ferramenta caneta iremos mudar de "FORMA" para "DEMARCADOR" lá em cima, e iremos fazer um contorno conforme a imagem para deletar o que ficou para fora da stock OBS: o Contorno não precisa ser perfeito, faça igual esta na imagem com quadrados em cima da borda e no fim não feche ele rodando a stock, faça ele dar uma volta na stock (Se não entenderem postem no tópico que explico melhor '-') 15- Depois de ter deletado o que tinha ficado para fora terá ficado assim: 16- Pronto, agora salve como PNG e desfrute da sua sign '-'. Créditos : 100% Overpower '-'1 ponto
-
[SIGN] Brunnoo
BrunooMaciell reagiu a Benny por um tópico no fórum
Oi gente .. Entao o @Brunno gostou da sign do @Tonynh e pedio que eu fizesse uma para ele usar aqui no xtibia e 1 pessoal (com o nome dele) entao eo to meio disanimado porque acho que nao consegui fazer uma sign 'LeGaL' mais eo to postando pra ele ver se tu gosta eo faço otra .Agora se tu nao gosta.. disculpa mais foi o que eo fiz =( Sign :1 ponto -
1. Render = Imagens que se usam para fazer trabalhos.. São imagens já recortadas, que é só você usar onde quiser (caso tenha permissão do autor) 2. Stock = São imagens ainda não recortadas, normalmente são fotos, ou paisagens! Quando recorta-se a parte principal da stock, como por exemplo uma pessoa, essa parte vira uma render. 3. C4D / 3D render = São imagens feitas em programas 3D ( Como o cinema4D ), que são usadas em SIGNS. 4. Sign = Imagens, normalmente por volta do tamanho 400x130, que são usadas na assinatura dos foruns. Dái o nome : SIGNATURE(em ingles) -> SIGN 5. Sprite Sprite são imagens em duas dimenssões muito usadas em gifs animados tais como Mário Sf etc.. 6. PSD's = São arquivos do Photoshop, que permitem visualizar como foi feito um trabalho.1 ponto
-
1 ponto
-
lib/configuration.lua tabela flys... ["Moltres"] = {229, 2300} 229 = id da outfit em fly - 351, 2300 = era pra ser a velo do poke, mas ignore isso..1 ponto
-
Efeitos de curva no texto
Tonynh reagiu a markimbozi por um tópico no fórum
1 Etapa: Escreva seu texto. 2 Etapa: Clique com o botão direito na camada do texto e clica em distorcer texto... 3 Etapa: Escolha o estilo do texto: Concluido: Olha como ficou. Créditos by: Markimbozi1 ponto -
Possivel dividir o Serve Save em partes?
Fir3element reagiu a Beeki por uma questão
cara, se você sabe por que postou aqui? LoL,1 ponto -
if isInArray(shinys, getCreatureName(cid)) then transform = math.random(10, 100) --100% chance elseif isInArray(raros, getCreatureName(cid)) then transform = math.random(10, 1000) --100% chance vc concerteza n seguiu oq eu flei... 90 - 100 1 - x 100 / 90 = 1.11%... mano isso eh simplismente mtm.. n tem nenhum misterio... coloque transform = 1 e veja q todos os pokes vao virar shinys.. se ms assim nenhum poke virar shiny dai sim pode ter algum problema.. mas eh algum problema causado por alguma ediçao tua...1 ponto
-
Tile pra passar precisa de item x
piratadoidao reagiu a Oneshot por uma questão
Eu e minha mania de complicar as coisas: local config = { itemid = 7154, count = 1 } function onStepIn(cid, item, position, lastPosition, fromPosition) if getPlayerItemCount(cid, config.itemid) >= config.count then return true else doTeleportThing(cid, fromPosition) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need at least ".. config.count .." ".. getItemInfo(config.itemid).name .." to pass.") return false end end1 ponto -
Movido para area correta. "Mapping > Pedidos e Dúvidas" Atenciosamente, Stigal.1 ponto
-
[Tutorial] Como criar sign com borda modelada (iniciante-médio)
Overpower reagiu a craigmabbit por um tópico no fórum
haha bem legal1 ponto -
Saiu fora do tema retratado no tópico, acho que isso é considerado flood. Reportado, aliias, qual foi o amigo que você fez?1 ponto
-
(Duvida) Help
XxPaaulinhoOxX reagiu a Slicer por uma questão
em tese eh soh por.. <channel id="9" name="Help" muted="120" conditionId="2" conditionMessage="You may only talk here in two minutes." logged="yes"> mas sei la tb kk1 ponto -
[Encerrado] [PEDIDO] Link Client CENTURION 4.0
matheus324 reagiu a marcelom8 por um tópico no fórum
Aqui está amigão -> http://www.4shared.com/rar/Td3eKQ44/Pokemon_Centurion_40_Oficial.html? Atualizado. Falou1 ponto -
Função CheckItemArea !
Yan Oliveira reagiu a brun123 por uma questão
provavelmente a sua função getPosByDir está com problemas... de toda forma, já que o objetivo é pegar todas as direções formando um quadrado, não precisa utilizar a função getPosByDir, use desse jeito: function checkItems(itemsId, centerPos, size) for x = -size, size do for y = -size, size do local checkpos = {x = centerPos.x + x, y = centerPos.y + y, z = centerPos.z} for _, itemid in pairs(itemsId) do doSendMagicEffect(checkpos, 15) if getTileItemById(checkpos, itemid).uid > 1 then return true end end end end return false end function onSay(cid, words, param) local items = {2707} checkItems(items, getThingPos(cid), 1) return true end Verifique aonde vai aparecer os effects agora1 ponto -
Faz assim pra testar: function checkItems(itemsId, centerPos, range) for direction = 0, 7 do for _range = 1, range do for _, itemid in pairs(itemsId) do local checkpos = getPosByDir(centerPos, direction, _range) doSendMagicEffect(checkpos, 15) if getTileItemById(checkpos, itemid).uid > 1 then return true end end end end return false end function onSay(cid, words, param) local items = {2707} checkItems(items, getThingPos(cid), 1) return true end só precisa usar 1x, é melhor pra ver quais áreas os scripts está vasculhando1 ponto
-
• [NARUTO] Sprites ExTNL (25/12) - Stigal [Download]• • Menu: ├ Informações; ├ Download; └ Creditos. • Informações • • Download's • [Naruto] Sprite ExTNL 1.75 (NEW 25/12) [DOWNLOAD] (4shared) http://www.4shared.com/rar/bn6j1oy9/Stigal_ExTNL_175_DESCOMPILADO.html Sprite Editor [v1.3.0] (4shared) http://www.4shared.com/rar/ZQ1w2BpH/Stigal_-_Spriter_Editor.html? • Creditos • Stigal - {Descompilar} ExTNL - {Sprites}1 ponto
-
1 ponto
-
O mais correto a fazer, é no caso, criar uma magia de efeito invisível e mandar o efeito, corrigindo sua posição, por exemplo, neste gokakyu no jutsu que fiz com base em um cliente de Narutibia. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 255) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, 0, -1, 0) local area = createCombatArea({ {1, 1, 1}, {1, 1, 1}, {1, 1, 1}, {0, 2, 0} }) setCombatArea(combat, area) function onCastSpell(cid, var) local effects = { [0] = 98, [1] = 96, [2] = 99, [3] = 97 } local position = getPosByDir(getCreaturePosition(cid), getCreatureLookDirection(cid), 1) position.x = position.x + (position.x == getThingPosition(cid).x and 2 or (position.x > getThingPosition(cid).x and 3 or 0)) position.y = position.y + (position.y == getThingPosition(cid).y and 1 or (position.y > getThingPosition(cid).y and 3 or 0)) doSendMagicEffect(position, effects[getCreatureLookDirection(cid)]) return doCombat(cid, combat, var) end Abraços1 ponto
-
[PDA]SuperMapa c/Outland
hfboca reagiu a Heinekennn por um tópico no fórum
/\ valley mudei o tempo dos bixos e talz e o começo vou melhorar agora eu estou no projeto da Shamouti City1 ponto -
Modificação SPELL
gtms reagiu a Yan Oliveira por uma questão
Tenta assim: local acombat = createCombatObject() local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WHIRLWINDSWORD) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -4.0, -260, -4.0, 240) local arr = { {1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 2, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1}, } local area = createCombatArea(arr) setCombatArea(acombat, area) function onTargetTile(cid, pos) doCombat(cid,combat,positionToVariant(pos)) end setCombatCallBack(acombat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") function onCastSpell(cid, var) return doCombat(cid, acombat, var) end Se não funcionar avisa.1 ponto -
Vip System By Kekox
Lanternaverde reagiu a hique86 por um tópico no fórum
Eu não entendi essa parte, e por isso não esta dando certo aqui, alguém por favor, pode me ajudar?!? Obrigado!1 ponto