Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 04/08/12 em %
-
Gay não é outro gênero, eu posso ser gay e sou homem, isso me torna mulher? acho q n n ta perguntando a opção sexual e sim seu sexo. quer papel higienico sky? pq só saiu merda da sua boka agora.6 pontos
-
[Tutorial]: Paladin 8~30 Free/easy + Money
SkyDarkness e 3 outros reagiu a felipol por um tópico no fórum
*O Tutorial é uma base do meu up durante o tempo que joguei de paladin até level 27 (free), alguns ficavam me perguntando onde/como eu upava e fazia dinheiro etc.. Então resolvi postar um tutorial explicando mais ou menos, sérve também para futuros membros que irão se vocacionar a paladin (: Sendo breve, Level 8~15: Dwarfs: Sua localização está em divérsos locais, Kazz é um bom lugar, porém é um ótimo lar para PK's, e para train, então partimos para um outro local que hoje em dia não está mais frequentado pelos mesmos. Até onde eu sei nunca mais vi um por essas minas. Abaixo de Femur Hills (Goblins) , na divisa de Carlin, Kazz e Venore você encontra 2 Boas hunts. Necessário: *Shovel e *Rope Monstros a serem encontrados: Dwarf .. Rotworms e Poison Spiders (Prejudicial descer andares) Você pode encontrár Magias Necessária: Exura e/ou Exura Gran Lá, facilmente você upará level 13 e 15 rapido (aconselho um skill 45+). Além do lugar ser bom para up, é perto de carlin e você pode voltar facilmente para buscar novas spears. Level 15~20/25: Ghouls (Ghostland): Em carlin mesmo você encontra essa hunt, na saída <~ Necessário: *Shovel, *Rope e se possivel *Mana potions ou *Health Potions, Food você encontra no local, há rotworms. Magias Necessária: Exana Pox, Exura ou Exura Gran Monstros a serem encontrados: Cito aqui os principais como: Ghoul .. Demon Skeleton .. Slime.. Fire Devile no entanto, encontrará também, algumas spiders, rats etc.. Nota: Você fáz dinheiro e loot lá, você pode optar por levar uma backpack e arrastá-la até o bp (caso ninguém a roube) - Amazon Camp (Norte de Carlin): Ao norte de carlin, você encontrará Amazons e Valkyries . Cuidado no ultimo andar há uma Witch junto com uma Valkyrie e uma Amazon, Necessário: *Rope e se possivel *Mana potions ou *Health Potions, Food você encontrá no local, elas dropam Magias Necessária: Exura e/ou Exura Gran Nota: Spear Free rs - Level 25~30: No level 20 você caça cycs de boa, mas eu nunca quis exatamente ir em cyclops de thais ou algum outro local para caça-los porque sempre está cheio de gente e da muito PK, 25~30 Se você for um bom jogador, você vai perceber que a EXP que da nos ghouls te ajudará muito, porque você tem 4 opções de cave que hoje em dia ficam vazias, e além disso, tem slimes, DS e outros bixos que você upará muito bem. Até o level 30 você conseguirá pegar 1 level por dia. Nota: Além disso é ai que entra o Money, você acumulará muito GOLD dropado dos mesmos, e HP/MP (com o loot modificado pela cipsoft) É isso, bom up !4 pontos -
Bem a pedido de um amigo DuuhCarvalho estarei elaborando esse tutorial de como criar um novo item usando o OTB Item editor. Primeiramente baixe o Item Editor: http://www.mediafire.com/?ly576216h4pdx7j Após baixar o Item editor é necessario que você o configure, pegue o Tibia.dat e Tibia.spr e coloque na pasta data e os renomeie da seguinte forma. Tibia.spr = Tibia860.spr / Tibia.dat = Tibia860.dat Feito isso siga a vídeo Aula (: - Aqui estarei explicando como por o novo item no items.xml Bem como foi uma sword, usaremos essa tag. <item id="12620" article="a" name="rapier"> <attribute key="weight" value="1500" /> <attribute key="defense" value="8" /> <attribute key="attack" value="10" /> <attribute key="weaponType" value="sword" /> <attribute key="extradef" value="1" /> </item>12620 = ID do Item que criamos na video aula. Weight = o Peso em oz do item. Defense = defesa que o item dará. attack = será o valor em ataque do item. weaponType = é onde definimos o que item será, como no caso é uma sword, usamos o type "sword" extraDef = a defesa adicional que o item dará3 pontos
-
[Tutorial - Knight] Área Premium - Level 8 Á 40.
Valentine e 2 outros reagiu a Critical por um tópico no fórum
Introdução Olá, galerinha do XTibia, estou fazendo um tutorial para o pessoal que está premium account, mas não está sabendo onde caçar, darei várias opções onde você pode upar muito bem e fazer um bom dinheiro, terão áreas que serão muito boas para você caçar, mas fazem você perder dinheiro, mas em compensação o ganho de experiência é absurdo sem nenhuma ajuda de outro jogador. Tutorial Knights Daremos o inicio ao tutorial com a vocação mais básica para todos os jogadores, os Knights são conhecidos pela sua vida e força, podendo matar criaturas fortes sem o menor esforço, mas fica impossibilitado de matar em área pela quantidade escassa de magias que ele possui, além disso terão que ser dedicadas horas de treinamento para você poder caçar tranquilamente sem nenhum gasto e fazendo um bom dinheiro para o seu Knight ou para outro carinha que você pretende criar fazendo com que o Knight banque-o, pois Knights tem o gasto mínimo para caçar, tendo lucros bem maiores que outras vocações. Treinamento O treino começa em Island of Destiny, se você não tiver um Monk ou um Ghoul lhe esperando em Main, por que Island of Destiny? é mais seguro, além de ser mais vazio, você poderá ficar tranquilamente lá até pegar seu level 9, sem incomodação de leveis altos ou de vários jogadores crianças que insistem em matar seus monstros de Training. Island of Destiny [Training - Level 8 á 9] Lá você enfrentará Bugs, Dwarfs e Dwarfs Miners, são compostos com 3 andares de hunting como vocês podem ver na imagem acima, permaneceremos entre o -2 e o -3, pois são os melhores lugares para se treinar, você deve se posicionar entre a parede tendo três lugares para os Dwarfs poderem se encostar em ti, você ganhará um Jagged Sword ou Steel Axe ou Daramian Club, dependendo de qual estilo de arma você desejar usar, a sword é uma boa escolha por ter um balanceamento entre defesa e ataque, lembre-se você não sairá matando todos os monstros você está ai para treinar pelo menos até um skill 35 - 40, deixe sempre os dwarfs no vermelho e troque de target, assim demorará para você pegar level 9 e poderá treinar mais e mais. Neste estilo você deve se posicionar para não tomar muito dano, mas também não deixar de tomar para haver um treino eficiente, sempre é bom levar algumas health potion consigo. Darashia Rotworms - [ Training & Money Maker - Level 9 á 25 ] Agora partimos á Darashia, uma cidade premium bastante conhecida e muito boa para caçar desde o level 8 até o 50, o tutorial vai até o 40, mas podendo se prolongar as áreas de caça até o cinquenta, mas você não upará tão freneticamente como você upará a partir do level 20 até o 40, aqui em Darashia iremos aos rotworms são ótimos monstros para treinar além de uma boa quantidade de experiência e uma excelente quantidade de dinheiro, mas por que não Ankrahmun com suas Larvas e potes de dinheiro lhe esperando? Larvas não são muito boas para upar skills como rotworms, você passará um bom tempo em rotworms upando skills, no mapa acima está marcado em vermelho famosos buracos de rotworms escolha a que estiver vazia, levando alguns parcels para bloquear alguns pontos da caverna para você não ser trapado por rotworms e acabara morrendo, aparentemente são fracos, mas em grande quantidade são um perigo. Você enfrentará Rotworms e Carrion Worms, lembre-se de levar parcels e algumas health potions, você deve levar uma combat knife para treinar, pois saindo da Island Of Destiny com skills 45, você terá um dano alto em rotworms e a knife te ajudara a ter um dano médio e demorara para matar o rotworm, assim treinando mais com ele, diferente da Island Of Destiny os respawns em Main é demorado, quando você pegar skills 65 em rotworm você caçara eles até conseguir uma grana para comprar novos equipamentos e mais health potions e mana potions, além da promotion que custa 20.000 gold coins, mas você fará a Desert Quest que livrará você do desencargo de conseguir 10.000 gold coins, você terá que conseguir grana o suficiente para comprar um plate set, uma serpent sword, dragon shield, steel helmet, alguns stealth rings, para os próximos locais de caça. Darashia Minotaurs - [ Upping - Level 20 á 40 ] No mapa acima, está a localização dos minotaurs em Darashia, você pode seguir do depot até os minotaurs pelo caminho feito em preto, esta área é compostas por vários níveis os 3 superiores só contém Minotaurs, existem 4 inferiores contendo Minotaurs, Minotaurs Guards, Minotaurs Archers, Minotaurs Mage e até uma Mummy, é um local muito perigoso de caçar pois os monstros são fortes e tem um respawn intenso e repleto de monstros, mas ensinarei aqui como gastar mínimo nessa hunting e fazer até 45.000 de experiência a hora além de bag loots valendo mais de 10.000 gold coins. Térreo Subsolo nível 1 Subsolo nível 2 Subsolo nível 3 Subsolo nível 4 Os Knights são bastante resistentes mas não imortais, por isso vocês precisam levar bastante health potion, além de uma backpack of stealth ring, mas pra que stealth ring? Porque quase nenhum Minotaur vê invisível apenas os Minotaurs Mages e para isso servirão as health potions, para quando se deparar com eles você poder mata-los sem medo de morrer podendo usar health potion a qualquer hora, seus skills já estarão 65 se você seguiu corretamente o tutorial e você já terá equipamentos bom o suficiente para caçar aqui, com um tempo você se acostuma é só sempre estar com seu stealth ring e verificar se ele estiver acabando, leve bastante backpacks para juntar o loot, isso irá pagar qualquer despesa além de lhe deixar rico, você pode pegar level 40 aqui tranquilamente, além de poder fazer a task do Nose Ring. É isso galerinha espero ter ajudado e melhorarei o tutorial assim que tiver mais tempo. Fonte: Imagens foram pesquisadas no Google, informações sobre tudo foram retiradas do meu próprio conhecimento. Atenciosamente, Critical.3 pontos -
[Talk] Comando Mute Atualizado
narutomaniacos e um outro reagiu a Vodkart por um tópico no fórum
Em talkactions/script muteplayer.lua local v = {} for k = 1, 100 do table.insert(v, createConditionObject(CONDITION_MUTED)) setConditionParam(v[k], CONDITION_PARAM_TICKS, k*60*1000) end function onSay(cid, words, param) if (words == "/mute") then local t = string.explode(param, ",") if param == '' then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true end local player,time,pid = getPlayerByName(t[1]),t[2],getPlayerByNameWildcard(t[1]) if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.") return TRUE end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você mutou o jogador "..t[1].." por "..time.." minutos.") doAddCondition(player, v[tonumber(time)]) setPlayerStorageValue(player, 90000, os.time()+time*60) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você foi mutado por "..time.." minutos.") elseif (words == "/desmute") then if param == '' then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true end local player = getPlayerByNameWildcard(param) if(not player)then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.") return true end if getCreatureCondition(player, CONDITION_MUTED) == false then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "este jogador não está mutado.") return true end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você desmutou o jogador "..param..".") doRemoveCondition(player, CONDITION_MUTED) setPlayerStorageValue(player, 90000, -1) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você foi desmutado.") end return true end talkactions.xml <talkaction log="yes" words="/mute;/desmute" access="2" event="script" value="muteplayer.lua"/> Comando: /mute NOME,MINUTOS /desmute NOME Em creaturescript/script mute_check.lua local v = {} for k = 1, 100000 do table.insert(v, createConditionObject(CONDITION_MUTED)) setConditionParam(v[k], CONDITION_PARAM_TICKS, k*1000) end function onLogin(cid) if getPlayerStorageValue(cid, 90000) >= os.time() then doAddCondition(cid, v[tonumber(getPlayerStorageValue(cid, 90000) - os.time())]) end return TRUE end creaturescript.xml <event type="login" name="MutePlayer" event="script" value="mute_check.lua"/>2 pontos -
Graandes amigos do Xtibia! Bom, sou um visitante diário aqui da seção de design do Xtibia e acho que eu posso estar contribuindo pra atender a grande quantidade de pedidos aqui nessa seção. Minha intenção é fazer 1 sign por dia, maas se eu estiver livre, ficarei feliz em atender mais pedidos. Eu estarei me limitando na criação apenas de signs, não tenho prática em avatares e fan bars. Caso eu não consiga entregar o pedido em 1 dia, por favor espere, seu pedido será entregue. O que eu preciso pra fazer a sign: - Dimensões (ex: 200x150) - Tema (ex: Naruto/personagem) - Texto (ex: Zodiak) (Pedidos que não contenham essas especificações, ainda serão atendidos, porém serão feitos do meu jeito.) O resto fica no critério de vocês, sintam-se livres para especificar como vocês querem a sign. Importante - O limite é 1 sign a cada 2 semanas por usuário. Sendo que o usuário deve ter no mínimo 10 posts, seguindo as regras da seção. - Vou pedir também que a comunidade se limite a postar apenas o pedido, outros assuntos/agradecimentos/criticas mandem por PM, pois facilitaria muito o entendimento e a ordem dos pedidos. E é isso ai, espero estar ajudando! Se quiserem ver alguns dos meus trabalhos visitem meu deviant Aulas Também estou dando "aulas" toda terça e quinta para membros com pelo menos 200 posts. A aula funciona da seguinte maneira: Você escolhe um tema, e fazemos uma sign juntos, passo à passo. Poste aqui o pedido da aula que enviarei um PM marcando o horário.2 pontos
-
Nossa Veii.. Agora Que Eu Fui Me Tocar
Piabeta Kun e um outro reagiu a brenerlm por um tópico no fórum
tinha q ter assim tb para vc usa: "To escolhendo" ou assim: "Tô em Dúvida"2 pontos -
Alguns Gyns Poketibia
Pation reagiu a Gabrielzxzx por um tópico no fórum
Gyns Poketibia ______________________ Olá,hoje irei mostrar meus NPC de gym de poketibia 1° NPC Brock Vá em Data/Npc/scripts e crie um arquivo lua com o nome de "Brock.lua" e cole isto dentro: Após ter feito isto vá em data/npc e crie um arquivo xml com o nome "Brock" e cole isto dentro: 2°Npc Mysty Vá em data/npc/scripts e crie um novo arquivo lua com o nome de "misty.lua" e cole isto dentro: Após ter feito isto vá em data/npc e crie um arquivo xml com o nome de "misty.lua" e cole isto dentro: 3°Npc Blaine Vá em data/npc/script crie um novo arquivo lua com o nome de "blaine.lua" e cole isto dentro: Após ter feito isto vá em data/npc/ e crie um arquivo xml com o nome de "Blaine.xml" e cole isto dentro 4°npc koga Vá em data/npc/scripts/ crie um novo arquivo com o nome de "Koga.lua" e cole isto dentro: Após ter feito isto vá em data/npc e crie um novo arquivo xml com o nome "koga.xml" e cole isto dentro: 5° npc Lt.Surge (Já ta ficando chato fazer aqui :X) Vá em data/npc/scripts e crie um arquivo lua com o nome de "surge.lua" e cole isto dentro: Após ter feito isto vá em data/npc e crie um arquivo xml com o nome "Surge" e cole isto dentro: 6° npc erika Vá em data/npc/scripts e crie um arquivo lua com o nome de "erika.lua" e cole isto dentro: Vá em data/npc/ e crie um arquivo com o nome... a se ja sabe cole isto dentro: 7° NPC Sabrina Vá em data/npc/scripts e crie um arquivo lua com o nome "Sabrina" e cole isto dentro: Após ter feito isto vá em data/npc e crie um arquivo xml com o nome sabrina e cole isto dentro: 8° NPC Giovanni Vá em data/npc/scripts crie o arquivo lua com o nome giovanni e cole isto dentro: Vá em data/npc e crie o seu arquivo xml com o nome de giovanni e cole isto dentro P.S:Também funcionara em um server que não tem lvl system porém irá dar um minimo erro na hora de ligar,até.1 ponto -
[Gesior Acc] Guild War System Com Escudos
guiduarteee reagiu a walefxavier por um tópico no fórum
Vou postar o tão famoso Guild War System Com Escudos. Vou começar pelo site : Vá em Xampp/Htdocs e crie e um arquivo chamado wars.php,dentro add isto: <?php $main_content = "<h1 align=\"center\">Guild Wars</h1> <script type=\"text/javascript\"><!-- function show_hide(flip) { var tmp = document.getElementById(flip); if(tmp) tmp.style.display = tmp.style.display == 'none' ? '' : 'none'; } --></script> <a onclick=\"show_hide('information'); return false;\" style=\"cursor: pointer;\"><h1><center>» Click to se the commands «<center></h1></a> <table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"4\" id=\"information\" style=\"display: none;\";> <tr align=\"center\"><b>You must send this commands in GUILD CHAT.</tr> <tr style=\"background: #512e0b;\"><td align=\"center\" class=\"white\"><b>Command</b></td><td colspan=\"2\" align=\"center\" class=\"white\"><b>Description</b></td></tr> <tr style=\"background: #F1E0C6;\"><td><b>/war invite, guild name, fraglimit</b></td><td>Sends an invitation to start the war. Example: <font color=red><BR>/war invite, Chickens, 150<BR></font><B>(Invite a guild to war with 150 frags count.)</B></td></tr> <tr style=\"background: #D4C0A1;\"><td><b>/war invite, guild name, fraglimit, money</b></td><td>Send the invitation to start the war. Example: <font color=red><BR>/war invite, Chickens, 150, 10000</font><br><B> (Invite a guild to war with 150 frags count and payment of 10000 gold coins <- you need donate to guild to use it.)<B></td></tr> <tr style=\"background: #F1E0C6;\"><td><b>/war accept, guild name</b></td><td>Accepts the invitation to start a war. Example: <font color=red><BR>/war accept, Chickens</font><BR><B>(Accept the war against guild \"Chickens\".)</b></td></tr> <tr style=\"background: #D4C0A1;\"><td><b>/war reject, guild name</b></td><td>Rejects the invitation to start a war. Example: <font color=red><BR>/war reject, Chickens</font><BR><B>(Reject a invitation to war from Chickens.)</B></td></tr> <tr style=\"background: #F1E0C6;\"><td><b>/war cancel, guild name</b></td><td>Cancels the invitation. Example: <font color=red><BR>/war cancel, Chickens</font><br><b>(Cancel my guild invitation to war with Chickens.)</b></td></tr> <tr style=\"background: #D4C0A1;\"><td><b>/balance</b></td><td>See the guild balance - balance of money.</td></tr> <tr style=\"background: #F1E0C6;\"><td><b>/balance donate value</b></td><td>Deposits money on the guild's bank account. All players can donate. Example: <font color=red><BR>/balance donate 100000 </font><BR><B>(You will donate 100k to your guild balance.)</B></td></tr> <tr style=\"background: #D4C0A1;\"><td><b>/balance pick value</b></td><td>Withdraws money from the guild's bank account. Can be used only by the guild leader. Example: <font color=red><BR>/balance pick 100000 </font><BR><B>(You will withdraw 100k from your guild balance.)</B></td></tr> </table> <table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"4\"> <tr> <td style=\"background: #512e0b\" class=\"white\" width=\"150\"><b>Aggressor</b></td> <td style=\"background: #512e0b\" class=\"white\"><b>Information</b></td> <td style=\"background: #512e0b\" class=\"white\" width=\"150\"><b>Enemy</b></td> </tr><tr style=\"background: #F1E0C6;\">"; $count = 0; foreach($SQL->query('SELECT * FROM `guild_wars` WHERE `status` IN (1,4) OR ((`end` >= (UNIX_TIMESTAMP() - 604800) OR `end` = 0) AND `status` IN (0,5));') as $war) { $a = $ots->createObject('Guild'); $a->load($war['guild_id']); if(!$a->isLoaded()) continue; $e = $ots->createObject('Guild'); $e->load($war['enemy_id']); if(!$e->isLoaded()) continue; $alogo = $a->getCustomField('logo_gfx_name'); if(empty($alogo) || !file_exists('guilds/' . $alogo)) $alogo = 'default_logo.gif'; $elogo = $e->getCustomField('logo_gfx_name'); if(empty($elogo) || !file_exists('guilds/' . $elogo)) $elogo = 'default_logo.gif'; $count++; $main_content .= "<tr style=\"background: " . (is_int($count / 2) ? $config['site']['darkborder'] : $config['site']['lightborder']) . ";\"> <td align=\"center\"><a href=\"?subtopic=guilds&action=show&guild=".$a->getId()."\"><img src=\"guilds/".$alogo."\" width=\"64\" height=\"64\" border=\"0\"/><br />".$a->getName()."</a></td> <td align=\"center\">"; switch($war['status']) { case 0: { $main_content .= "<b>Pending acceptation</b><br />Invited on " . date("M d Y, H:i:s", $war['begin']) . " for " . ($war['end'] > 0 ? (($war['end'] - $war['begin']) / 86400) : "unspecified") . " days. The frag limit is set to " . $war['frags'] . " frags, " . ($war['payment'] > 0 ? "with payment of " . $war['payment'] . " bronze coins." : "without any payment.")."<br />Will expire in three days."; break; } case 3: { $main_content .= "<s>Canceled invitation</s><br />Sent invite on " . date("M d Y, H:i:s", $war['begin']) . ", canceled on " . date("M d Y, H:i:s", $war['end']) . "."; break; } case 2: { $main_content .= "Rejected invitation<br />Invited on " . date("M d Y, H:i:s", $war['begin']) . ", rejected on " . date("M d Y, H:i:s", $war['end']) . "."; break; } case 1: { $main_content .= "<font size=\"6\"><span style=\"color: red;\">" . $war['guild_kills'] . "</span> : <span style=\"color: lime;\">" . $war['enemy_kills'] . "</span></font><br /><br /><span style=\"color: darkred; font-weight: bold;\">On a brutal war</span><br />Began on " . date("M d Y, H:i:s", $war['begin']) . ($war['end'] > 0 ? ", will end up at " . date("M d Y, H:i:s", $war['end']) : "") . ".<br />The frag limit is set to " . $war['frags'] . " frags, " . ($war['payment'] > 0 ? "with payment of " . $war['payment'] . " bronze coins." : "without any payment."); break; } case 4: { $main_content .= "<font size=\"6\"><span style=\"color: red;\">" . $war['guild_kills'] . "</span> : <span style=\"color: lime;\">" . $war['enemy_kills'] . "</span></font><br /><br /><span style=\"color: darkred;\">Pending end</span><br />Began on " . date("M d Y, H:i:s", $war['begin']) . ", signed armstice on " . date("M d Y, H:i:s", $war['end']) . ".<br />Will expire after reaching " . $war['frags'] . " frags. ".($war['payment'] > 0 ? "The payment is set to " . $war['payment'] . " bronze coins." : "There's no payment set."); break; } case 5: { $main_content .= "<i>Ended</i><br />Began on " . date("M d Y, H:i:s", $war['begin']) . ", ended on " . date("M d Y, H:i:s", $war['end']) . ". Frag statistics: <span style=\"color: red;\">" . $war['guild_kills'] . "</span> to <span style=\"color: lime;\">" . $war['enemy_kills'] . "</span>."; break; } default: { $main_content .= "Unknown, please contact with gamemaster."; break; } } $main_content .= "<br /><br /><a onclick=\"show_hide('war-details:" . $war['id'] . "'); return false;\" style=\"cursor: pointer;\">» Details «</a></td> <td align=\"center\"><a href=\"?subtopic=guilds&action=show&guild=".$e->getId()."\"><img src=\"guilds/".$elogo."\" width=\"64\" height=\"64\" border=\"0\"/><br />".$e->getName()."</a></td> </tr> <tr id=\"war-details:" . $war['id'] . "\" style=\"display: none; background: " . (is_int($count / 2) ? $config['site']['darkborder'] : $config['site']['lightborder']) . ";\"> <td colspan=\"3\">"; if(in_array($war['status'], array(1,4,5))) { $deaths = $SQL->query('SELECT `pd`.`id`, `pd`.`date`, `gk`.`guild_id` AS `enemy`, `p`.`name`, `pd`.`level` FROM `guild_kills` gk LEFT JOIN `player_deaths` pd ON `gk`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `gk`.`war_id` = ' . $war['id'] . ' AND `p`.`deleted` = 0 ORDER BY `pd`.`date` DESC')->fetchAll(); if(!empty($deaths)) { foreach($deaths as $death) { $killers = $SQL->query('SELECT `p`.`name` AS `player_name`, `p`.`deleted` AS `player_exists`, `k`.`war` AS `is_war` FROM `killers` k LEFT JOIN `player_killers` pk ON `k`.`id` = `pk`.`kill_id` LEFT JOIN `players` p ON `p`.`id` = `pk`.`player_id` WHERE `k`.`death_id` = ' . $death['id'] . ' ORDER BY `k`.`final_hit` DESC, `k`.`id` ASC')->fetchAll(); $count = count($killers); $i = 0; $others = false; $main_content .= date("j M Y, H:i", $death['date']) . " <span style=\"font-weight: bold; color: " . ($death['enemy'] == $war['guild_id'] ? "red" : "lime") . ";\">+</span> <a href=\"index.php?subtopic=characters&name=" . urlencode($death['name']) . "\"><b>".$death['name']."</b></a> "; foreach($killers as $killer) { $i++; if($killer['is_war'] != 0) { if($i == 1) $main_content .= "killed at level <b>".$death['level']."</b> by "; else if($i == $count && $others == false) $main_content .= " and by "; else $main_content .= ", "; if($killer['player_exists'] == 0) $main_content .= "<a href=\"index.php?subtopic=characters&name=".urlencode($killer['player_name'])."\">"; $main_content .= $killer['player_name']; if($killer['player_exists'] == 0) $main_content .= "</a>"; } else $others = true; if($i == $count) { if($others == true) $main_content .= " and few others"; $main_content .= ".<br />"; } } } } else $main_content .= "<center>There were no frags on this war so far.</center>"; } else $main_content .= "<center>This war did not began yet.</center>"; $main_content .= "</td> </tr>"; } if($count == 0) $main_content .= "<tr style=\"background: ".$config['site']['darkborder'].";\"> <td colspan=\"3\">Currently there are no active wars.</td> </tr>"; $main_content .= "</table>"; $main_content .= '<div align="right"><small><b>Customized by: <a href="http://www.xtibia.com/forum/user/240289-walef-xavier">Walef Xavier</a></b></small></div><br />'; ?> Agora vá em Xampp/Htdocs/index.php e add o seguinte: case "wars"; $subtopic = "wars"; $topic = "Guild Wars"; include("wars.php"); break; Agora para finalizar a parte do site vá em Xampp/Htdocs/Layout/Tibiacom/layout.php e add o seguinte: <a href='?subtopic=wars'> <div id='submenu_wars' class='Submenuitem' onMouseOver='MouseOverSubmenuItem(this)' onMouseOut='MouseOutSubmenuItem(this)'> <div class='LeftChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div> <div id='ActiveSubmenuItemIcon_polls' class='ActiveSubmenuItemIcon' style='background-image:url(<?PHP echo $layout_name; ?>/images/menu/icon-activesubmenu.gif);'></div> <div class='SubmenuitemLabel'><font color=red>Guild Wars</font></div> <div class='RightChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div> </div> </a> Agora vamos para seu Ot: Va em GlobalEvents/scripts/start.lua e add o seguinte: db.executeQuery("DELETE FROM `guild_wars` WHERE `status` = 0 AND `begin` < " .. (os.time() - 2 * 86400) .. ";") db.executeQuery("UPDATE `guild_wars` SET `status` = 5, `end` = " .. os.time() .. " WHERE `status` = 1 AND `end` > 0 AND `end` < " .. os.time() .. ";") Agora vá em Lib e crie um arquivo .lua chamado 101-war,dentro add o seguinte: WAR_GUILD = 0 WAR_ENEMY = 1 Agora para finalizar vamos colocar os comandos em Talkactions ! Vá em Talkactions/scripts e crie dois arquivos chamados war.lua e balance.lua,dentro add o seguinte: War.lua function onSay(cid, words, param, channel) local guild = getPlayerGuildId(cid) if(not guild or getPlayerGuildLevel(cid) < GUILDLEVEL_LEADER) then doPlayerSendChannelMessage(cid, "", "You cannot execute this talkaction.", TALKTYPE_CHANNEL_W, 0) return true end local t = string.explode(param, ",") if(not t[2]) then doPlayerSendChannelMessage(cid, "", "Not enough param(s).", TALKTYPE_CHANNEL_W, 0) return true end local enemy = getGuildId(t[2]) if(not enemy) then doPlayerSendChannelMessage(cid, "", "Guild \"" .. t[2] .. "\" does not exists.", TALKTYPE_CHANNEL_W, 0) return true end if(enemy == guild) then doPlayerSendChannelMessage(cid, "", "You cannot perform war action on your own guild.", TALKTYPE_CHANNEL_W, 0) return true end local enemyName, tmp = "", db.getResult("SELECT `name` FROM `guilds` WHERE `id` = " .. enemy) if(tmp:getID() ~= -1) then enemyName = tmp:getDataString("name") tmp:free() end if(isInArray({"accept", "reject", "cancel"}, t[1])) then local query = "`guild_id` = " .. enemy .. " AND `enemy_id` = " .. guild if(t[1] == "cancel") then query = "`guild_id` = " .. guild .. " AND `enemy_id` = " .. enemy end tmp = db.getResult("SELECT `id`, `begin`, `end`, `payment` FROM `guild_wars` WHERE " .. query .. " AND `status` = 0") if(tmp:getID() == -1) then doPlayerSendChannelMessage(cid, "", "Currently there's no pending invitation for a war with " .. enemyName .. ".", TALKTYPE_CHANNEL_W, 0) return true end if(t[1] == "accept") then local _tmp = db.getResult("SELECT `balance` FROM `guilds` WHERE `id` = " .. guild) local state = _tmp:getID() < 0 or _tmp:getDataInt("balance") < tmp:getDataInt("payment") _tmp:free() if(state) then doPlayerSendChannelMessage(cid, "", "Your guild balance is too low to accept this invitation.", TALKTYPE_CHANNEL_W, 0) return true end db.query("UPDATE `guilds` SET `balance` = `balance` - " .. tmp:getDataInt("payment") .. " WHERE `id` = " .. guild) end query = "UPDATE `guild_wars` SET " local msg = "accepted " .. enemyName .. " invitation to war." if(t[1] == "reject") then query = query .. "`end` = " .. os.time() .. ", `status` = 2" msg = "rejected " .. enemyName .. " invitation to war." elseif(t[1] == "cancel") then query = query .. "`end` = " .. os.time() .. ", `status` = 3" msg = "canceled invitation to a war with " .. enemyName .. "." else query = query .. "`begin` = " .. os.time() .. ", `end` = " .. (tmp:getDataInt("end") > 0 and (os.time() + ((tmp:getDataInt("begin") - tmp:getDataInt("end")) / 86400)) or 0) .. ", `status` = 1" end query = query .. " WHERE `id` = " .. tmp:getDataInt("id") if(t[1] == "accept") then doGuildAddEnemy(guild, enemy, tmp:getDataInt("id"), WAR_GUILD) doGuildAddEnemy(enemy, guild, tmp:getDataInt("id"), WAR_ENEMY) end tmp:free() db.query(query) doBroadcastMessage(getPlayerGuildName(cid) .. " has " .. msg, MESSAGE_EVENT_ADVANCE) return true end if(t[1] == "invite") then local str = "" tmp = db.getResult("SELECT `guild_id`, `status` FROM `guild_wars` WHERE `guild_id` IN (" .. guild .. "," .. enemy .. ") AND `enemy_id` IN (" .. enemy .. "," .. guild .. ") AND `status` IN (0, 1)") if(tmp:getID() ~= -1) then if(tmp:getDataInt("status") == 0) then if(tmp:getDataInt("guild_id") == guild) then str = "You have already invited " .. enemyName .. " to war." else str = enemyName .. " have already invited you to war." end else str = "You are already on a war with " .. enemyName .. "." end tmp:free() end if(str ~= "") then doPlayerSendChannelMessage(cid, "", str, TALKTYPE_CHANNEL_W, 0) return true end local frags = tonumber(t[3]) if(frags ~= nil) then frags = math.max(10, math.min(1000, frags)) else frags = 100 end local payment = tonumber(t[4]) if(payment ~= nil) then payment = math.max(100000, math.min(1000000000, payment)) tmp = db.getResult("SELECT `balance` FROM `guilds` WHERE `id` = " .. guild) local state = tmp:getID() < 0 or tmp:getDataInt("balance") < payment tmp:free() if(state) then doPlayerSendChannelMessage(cid, "", "Your guild balance is too low for such payment.", TALKTYPE_CHANNEL_W, 0) return true end db.query("UPDATE `guilds` SET `balance` = `balance` - " .. payment .. " WHERE `id` = " .. guild) else payment = 0 end local begining, ending = os.time(), tonumber(t[5]) if(ending ~= nil and ending ~= 0) then ending = begining + (ending * 86400) else ending = 0 end db.query("INSERT INTO `guild_wars` (`guild_id`, `enemy_id`, `begin`, `end`, `frags`, `payment`) VALUES (" .. guild .. ", " .. enemy .. ", " .. begining .. ", " .. ending .. ", " .. frags .. ", " .. payment .. ");") doBroadcastMessage(getPlayerGuildName(cid) .. " has invited " .. enemyName .. " to war till " .. frags .. " frags.", MESSAGE_EVENT_ADVANCE) return true end if(not isInArray({"end", "finish"}, t[1])) then return false end local status = (t[1] == "end" and 1 or 4) tmp = db.getResult("SELECT `id` FROM `guild_wars` WHERE `guild_id` = " .. guild .. " AND `enemy_id` = " .. enemy .. " AND `status` = " .. status) if(tmp:getID() ~= -1) then local query = "UPDATE `guild_wars` SET `end` = " .. os.time() .. ", `status` = 5 WHERE `id` = " .. tmp:getDataInt("id") tmp:free() doGuildRemoveEnemy(guild, enemy) doGuildRemoveEnemy(enemy, guild) db.query(query) doBroadcastMessage(getPlayerGuildName(cid) .. " has " .. (status == 4 and "mend fences" or "ended up a war") .. " with " .. enemyName .. ".", MESSAGE_EVENT_ADVANCE) return true end if(status == 4) then doPlayerSendChannelMessage(cid, "", "Currently there's no pending war truce from " .. enemyName .. ".", TALKTYPE_CHANNEL_W, 0) return true end tmp = db.getResult("SELECT `id`, `end` FROM `guild_wars` WHERE `guild_id` = " .. enemy .. " AND `enemy_id` = " .. guild .. " AND `status` = 1") if(tmp:getID() ~= -1) then if(tmp:getDataInt("end") > 0) then tmp:free() doPlayerSendChannelMessage(cid, "", "You cannot request ending for war with " .. enemyName .. ".", TALKTYPE_CHANNEL_W, 0) return true end local query = "UPDATE `guild_wars` SET `status` = 4, `end` = " .. os.time() .. " WHERE `id` = " .. tmp:getDataInt("id") tmp:free() db.query(query) doBroadcastMessage(getPlayerGuildName(cid) .. " has signed an armstice declaration on a war with " .. enemyName .. ".", MESSAGE_EVENT_ADVANCE) return true end doPlayerSendChannelMessage(cid, "", "Currently there's no active war with " .. enemyName .. ".", TALKTYPE_CHANNEL_W, 0) return true end balance.lua local function isValidMoney(value) if(value == nil) then return false end return (value > 0 and value <= 99999999999999) end function onSay(cid, words, param, channel) local guild = getPlayerGuildId(cid) if(guild == 0) then return false end local t = string.explode(param, ' ', 1) if(getPlayerGuildLevel(cid) == GUILDLEVEL_LEADER and isInArray({ 'pick' }, t[1])) then if(t[1] == 'pick') then local money = { tonumber(t[2]) } if(not isValidMoney(money[1])) then doPlayerSendChannelMessage(cid, '', 'Invalid amount of money specified.', TALKTYPE_CHANNEL_W, 0) return true end local result = db.getResult('SELECT `balance` FROM `guilds` WHERE `id` = ' .. guild) if(result:getID() == -1) then return false end money[2] = result:getDataLong('balance') result:free() if(money[1] > money[2]) then doPlayerSendChannelMessage(cid, '', 'The balance is too low for such amount.', TALKTYPE_CHANNEL_W, 0) return true end if(not db.query('UPDATE `guilds` SET `balance` = `balance` - ' .. money[1] .. ' WHERE `id` = ' .. guild .. ' LIMIT 1;')) then return false end doPlayerAddMoney(cid, money[1]) doPlayerSendChannelMessage(cid, '', 'You have just picked ' .. money[1] .. ' money from your guild balance.', TALKTYPE_CHANNEL_W, 0) else doPlayerSendChannelMessage(cid, '', 'Invalid sub-command.', TALKTYPE_CHANNEL_W, 0) end elseif(t[1] == 'donate') then local money = tonumber(t[2]) if(not isValidMoney(money)) then doPlayerSendChannelMessage(cid, '', 'Invalid amount of money specified.', TALKTYPE_CHANNEL_W, 0) return true end if(getPlayerMoney(cid) < money) then doPlayerSendChannelMessage(cid, '', 'You don\'t have enough money.', TALKTYPE_CHANNEL_W, 0) return true end if(not doPlayerRemoveMoney(cid, money)) then return false end db.query('UPDATE `guilds` SET `balance` = `balance` + ' .. money .. ' WHERE `id` = ' .. guild .. ' LIMIT 1;') doPlayerSendChannelMessage(cid, '', 'You have transfered ' .. money .. ' money to your guild balance.', TALKTYPE_CHANNEL_W, 0) else local result = db.getResult('SELECT `name`, `balance` FROM `guilds` WHERE `id` = ' .. guild) if(result:getID() == -1) then return false end doPlayerSendChannelMessage(cid, '', 'Current balance of guild ' .. result:getDataString('name') .. ' is: ' .. result:getDataLong('balance') .. ' bronze coins.', TALKTYPE_CHANNEL_W, 0) result:free() end return true end Agora vá em Talkactions/talkactions.xml e add as duas tags: <talkaction words="/war" channel="0" event="script" value="war.lua" desc="(Guild channel command) War management."/> <talkaction words="/balance" channel="0" event="script" value="balance.lua" desc="(Guild channel command) Balance management."/> Pronto,seu Guild War Systema está instalado...mas para funcionar necessitará das tabelas na sua database e do Tfs 0.4 .Vou posta-los abaixo,respectivamente. . Tabelas . Para quem ainda não sabe add tabelas a sua database,vou ensinar: Acesse seu phpmyadmin,digite sua senha (caso tenha),clique no nome da sua database a esquerda,assim que carregar a sua database clique em SQL lá em cima...Aparecerá um espaço em branco lá voce irá add as seguintes tabelas...e depois clicar em Executar. CREATE TABLE IF NOT EXISTS `guild_wars` ( `id` INT NOT NULL AUTO_INCREMENT, `guild_id` INT NOT NULL, `enemy_id` INT NOT NULL, `begin` BIGINT NOT NULL DEFAULT '0', `end` BIGINT NOT NULL DEFAULT '0', `frags` INT UNSIGNED NOT NULL DEFAULT '0', `payment` BIGINT UNSIGNED NOT NULL DEFAULT '0', `guild_kills` INT UNSIGNED NOT NULL DEFAULT '0', `enemy_kills` INT UNSIGNED NOT NULL DEFAULT '0', `status` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY `status` (`status`), KEY `guild_id` (`guild_id`), KEY `enemy_id` (`enemy_id`) ) ENGINE=InnoDB; ALTER TABLE `guild_wars` ADD CONSTRAINT `guild_wars_ibfk_1` FOREIGN KEY (`guild_id`) REFERENCES `guilds` (`id`) ON DELETE CASCADE, ADD CONSTRAINT `guild_wars_ibfk_2` FOREIGN KEY (`enemy_id`) REFERENCES `guilds` (`id`) ON DELETE CASCADE; ALTER TABLE `guilds` ADD `balance` BIGINT UNSIGNED NOT NULL AFTER `motd`; CREATE TABLE IF NOT EXISTS `guild_kills` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `guild_id` INT NOT NULL, `war_id` INT NOT NULL, `death_id` INT NOT NULL ) ENGINE = InnoDB; ALTER TABLE `guild_kills` ADD CONSTRAINT `guild_kills_ibfk_1` FOREIGN KEY (`war_id`) REFERENCES `guild_wars` (`id`) ON DELETE CASCADE, ADD CONSTRAINT `guild_kills_ibfk_2` FOREIGN KEY (`death_id`) REFERENCES `player_deaths` (`id`) ON DELETE CASCADE, ADD CONSTRAINT `guild_kills_ibfk_3` FOREIGN KEY (`guild_id`) REFERENCES `guilds` (`id`) ON DELETE CASCADE; ALTER TABLE `killers` ADD `war` INT NOT NULL DEFAULT 0; Pronto o Guild Wars System está totalmente instalado...falta apenas o Tfs 0.4 ! O meu The Forggoten Server 0.4 também comprei do mesmo cara que me vendeu o GWS,tenho um também que comprei na ChaitoSoft,mais conversei com eles por Msn e não permitirão que eu postasse pra ninguem,rsrs. Então vou postar o link do download e o scan: TFS 0.4 DEV Scan Ai está a DEV.... Também será necessario usar o items.xml e items.otb , a não ser que o que vc tenha seja compativel com o distro. Item.xml e otb Scan Obs: Este distro não carrega scripts que tenha a função "dbExecute.query",sempre que tiver mude para "db.query" .Todo o script ja está configurado para funcionar assim,não se preucupe. Só isso,obrigado a todos...que Deus Abençoe voces sempre !1 ponto -
[Video Aula] Como Instalar War Of Imperium
adm oliveira reagiu a vinny160600 por um tópico no fórum
Fala ae galera do xtibia! aqui é o Eliteimperiosv com a 1° VIDEO AULA =D Hoje Vamos instalar o war of imperium no seu site, map e nos seus scripts. ________________________________________ Aqui vai o download e scan: Downlaod War Of Imperium --->http://www.4shared.c...p7gUB/file.html Scan --->http://www.virustota...21a8-1323898383 Qualquer duvida postem abaixo, brigado. e se puder REP+1 ponto -
Como Colocar Fast Atack No Seu Otserv!
Marco Oliveira reagiu a popota por um tópico no fórum
Bom pessoal , aqui vou falar como você coloca Fast Atack no seu Ot! Va no arquivo vocations.xml, clique com o botão direito e dpois em editar. Vai estar mais o menus assim: <?xml version="1.0"?> <vocations> <vocation id="0" name="None" description="a rookie" gaincap="5" gainhp="5" gainmana="5" gainhpticks="6" gainhpamount="1" gainmanaticks="6" gainmanaamount="10" gainsoulticks="120" gainsoulamount="1" maxsoul="100" manamultiplier="4.0" attackspeed="700" prevoc="0" basespeed="220"> <diepercent experience="7" magic="7" skill="7" equipment="7" container="100"/> <formula damage="1.2" defense="1.1" armor="1.1"/> <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> Aqui peguei a vocation none , veja onde esta escrito: attackspeed="700" No lugar de 700 coloque 200 e ira ficar assim: attackspeed="200" Faça isso em todas as vocações e está Pronto ! Ps: Se não der certo, dê ctrl+alt+del Vá em processos , procure o nome do seu Otserv , clique com o botão direito e vá em definir propriedade , coloque Tempo Real e está pronto!1 ponto -
Ativação Manual De Contas [E-Mails Que Não Chegam]
DuuhCarvalho reagiu a Henrique Moura por um tópico no fórum
Fala galera, Devido aos inumeros problemas que estamos tendo com a ativação de contas, vou agilizar o processo disponibilizando aqui pra vocês uma forma de ativar a conta de vocês. Mandem e-mail(utilizando o mesmo e-mail cadastrado na conta) para henrique@xtibia.com com o titulo(assunto) "Ativação de conta" com o nick da conta de vocês que está desativada devido ao problema de envio de e-mails de confirmação. Vou olhar cada mensagem e ativar assim que possível cada membro. Exemplo: Assunto do e-mail: Ativação de conta Corpo de mensagem: O meu nome no fórum é Henrique Moura1 ponto -
Nossa Veii.. Agora Que Eu Fui Me Tocar
Gabriel Couto reagiu a DiogoTemporario por um tópico no fórum
conte-me mais...1 ponto -
Checar O Gênero Do Character
chavephilips reagiu a SkyDangerous por uma questão
Sim. getPlayerSex(cid) PLAYERSEX_FEMALE == 0 PLAYERSEX_MALE == 1 if getPlayerSex(cid) == PLAYERSEX_FEMALE then if getPlayerSex(cid) == PLAYERSEX_MALE then1 ponto -
Mode Bug [ON] Para os Éks do Global isso não É nenhuma novidade mas quem não joga muito e/ou não usa o Client Flash pode estar por fora deste assunto. Ultimamente a Cip tem si descuidado bastante ou o Bug Tester deles anda com problemas pois desde a versão 8.7 mais ou menos percebemos que atualizações fora de Época estão sendo constantes tanto que na versão 9.4 fixa chegamos a atualização 8.46 tendo atualizações seguidas de um dia para o outro. Isto É a Cip nos últimos dia tem si descuidado de nós jogadores? Ou ela está querendo inovar mais do que pode? Independente disso queremos saber mais sobre esses erros e não só um "deixamos nossas sinceras desculpas"Nessa última atualização (9.5), foi possível encontrar muitos erros e em vários elementos do jogo (site, client c++, client flash e in-game). Esses erros foram detectados pelos próprios usuários (como sempre) e o estranho É que alguns estão si alto-resolvendo e outros nem ao menos foram resolvidos, siga os bugs que atÉ o momento foram encontrados: Antivírus Kapersky detectando o Client Tibia como um vírus; Bug no delay das hotkeys; Hotkey F10 no client flash não poderia ser usado devido a navegadores usarem a tecla como atalho; Client Flash em alguns caso não permitia o jogador usar o modo FullScreen; Bug que foi resolvido misteriosamente sozinho, onde alguns jogadores estavam foram do Highscore; Detalhes no mapa e NPCs de determinadas Épocas do ano em pleno abril. Como vendas de items do Natal. Bom aguardemos o que os nossos CMs tem para pronunciar e do a dica para os jogadores que reportem os BUGs encontrados para que nós mesmos tenhamos um retorno positivo da CIP. E com toda certeza queremos ver está imagem: Bug Fix Ao invés desta:1 ponto
-
[Encerrado] [ Resolvido ]Como Diminuir Exausted Da Sd ?
Blinkrox reagiu a SkyDangerous por um tópico no fórum
vá em . spells/abra o arquivo chamado spells.xml aperta CTRL + F e procure por sudden death em seguida <rune name="Sudden Death" id="2268" allowfaruse="1" charges="100" lvl="45" maglv="15" exhaustion="1000" needtarget="1" blocktype="solid" script="attack/sudden death.lua"/> exhaustion="1000" troque esse valor ... <(menor) menos exhauted .. >(maior) mais exhauted1 ponto -
Rabiscos, Duuhcarvalho'
zodiak reagiu a DuuhCarvalho por um tópico no fórum
Brigado amg, espero continuar o trabalho... oq achou dessa, serve pra nda. kkkkkkkkk' que tal 007 em, hehe'. queria fazer igual a do dean winchester mais so sei fazer cabo dourado, kkkkkk'. e ainda nem sai mt daora.. - - gostou a iluminação? e da sombra? quero dicas.. abraços =D1 ponto -
[Encerrado] [Pokemon] Dúvidas? - Pda
Gabrielzxzx reagiu a Slicer por um tópico no fórum
@Gabrielzxzx elas ja tavam no client q to usando, do serv... dai soh to usando esse outfits.xml..1 ponto -
@Zeref O Zeref , mas não precisa das DLL'S pra funcionar? eu lembro q antes alguem disse q precisava de umas 3 ou 4 Dll's pq se não , não funcionaria .. e tbm se eu Digito M1 até M12 da debug .. e se meu amigo aperta na M3 ou M4 ~ M12 , Buga (DEBUG) @Edit Eu criei um player normal e talz ... mas só que ele n tem a barra de magias :X1 ponto
-
Em data/creaturescripts/scripts, duplica um arquivo e nomeia para "vocations_gain" sem as aspas e nele cole: local vocationsItem = { [1] = 1234, -- sorcerer, troque os 1234 pelo id do item. [2] = 1234, -- druid [3] = 1234, -- paladin [4] = 1234 -- knight } local lvlGain = 20 -- lvl para ganhar function onAdvance(cid, skill, oldLevel, newLevel) if (getPlayerLevel(cid) == lvlGain and getPlayerStorageValue(cid, 403245) ~= 1) then doPlayerAddItem(cid, vocationsItem[getPlayerVocation(cid)]) setPlayerStorageValue(cid, 403245, 1) end return true end Agora em creaturescripts.xml cole a tag: <event type="advance" name="VocationsGain" event="script" value="vocations_gain.lua"/> E por último em data/creaturescripts/scripts/login.lua, cole a tag antes do último "return true": registerCreatureEvent(cid, "VocationsGain")1 ponto
-
Peça Sua Sign
MatheusVidaLoka reagiu a zodiak por um tópico no fórum
Sign DuuhCarvalho Tá ae Duuh. Não esqueça do REP+ se puder! Sign MatheusVidaLoka (Ainda prefiro a do DragonBall) Não esqueça do REP+ se puder!1 ponto -
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) function onCastSpell(cid, var) doCreatureAddHealth(cid, (getCreatureMaxHealth(cid) - getCreatureHealth(cid))/2) return doCombat(cid, combat, var) end1 ponto
-
3 Em 1 - Deixe Seu Servidor Mais Bonito!
bombeiro21 reagiu a pessoa93 por um tópico no fórum
3 em 1 - Deixe seu servidor mais bonito! Colocando nome da magia laranja e não aparecendo no Default chat. Em config.lua na linha: emoteSpells = false mude para: emoteSpells = true Resultado: -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Mudando a cor da XP ganha. Em config.lua na linha: gainExperienceColor = 215 mude para qualquer numero na tabela abaixo: Resultado: -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Colocando para aparecer a quantidade de vida que foi healada. Em config.lua na linha: showHealingDamage = false mude para: showHealingDamage = true Resultado: Créditos: Pess0a Gostou? Rep+ fiu ;D1 ponto -
Obrigado Duuh, Fiz uma ROD e um Amuleto, ficou meio esquisita, mais... |1 ponto
-
Rabiscos Do Tonyhanks
alldakie reagiu a DuuhCarvalho por um tópico no fórum
Gostei das 2 daora =D manolo, brigado por tudo =D1 ponto -
Ajuda
jogadorinfinito reagiu a Piabeta Kun por um tópico no fórum
na verdade é so vc importar a sua db e o xampp gerará uma lista de tabelas que vc copia pra um arquivo de texto aproveitando somente o que vc axa importante, sendo depois adicionado por comand sql para importar tudo de volta a db! Até!1 ponto -
actions/script script name.lua function onUse(cid, item, frompos, item2, topos) local items_id = { [7958] = 30, [2475] = 15, [1726] = 7 } addVipDays(cid, items_id[item.itemid]) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você adicionou "..items_id[item.itemid].." dia(s) de vip, agora você possui "..getVipDays(cid).." dia(s) de vip.") doRemoveItem(item.uid, 1) return true end Seguinte, eu fiz para 3 items, é simples: local items_id = { [7958] = 30, -- [iD DO ITEM] = DIAS [2475] = 15, -- [iD DO ITEM] = DIAS [1726] = 7 -- [iD DO ITEM] = DIAS } ou seja o item 7958 vai dar 30 dias, o 2475 vai dar 15 dias... configurável! coloque o ID do item que vc quer e os dias tbm! ai na tag você coloca o id dos items que vc colocou ali na tabela, no meu caso é essa: <action itemid="7958;2475;1726" event="script" value="script name.lua"/>1 ponto
-
Hey people!! Im gonna give you all my recopilation and all my own systems because I closed my server (too much work for 2 persons ) Recopilation: -Full Bike System By Me: -Full Saffari System Edited By Me: -BOX 4 Mission Quest Edited By Me. -GhostWalk for shinys. -Emoticons Edited By Me. -Pokemon Change Sex Talkaction Adapted By Me. -Quest List Talkaction By Me. -Cassino Reward System Based On Fighting Tower By Me! Thats all for now people, soon Im gonna put more systems!1 ponto
-
Lottery Page Mais Elaborada Com Resultados!
RafaelVidolin reagiu a Dhenyz por um tópico no fórum
Seguinte Galera ÉkczTibiana, tenho um OT server com lottery system, achei a page muito feia e escrota. Foi então que decidi fazer uma melhor. Bem, eu acho que deu certo. Como usar? - Basta substituir o código usado na página correspondente à lottery em seu site. Em qual sistema funciona? - Creio que todos os sistemas são parecidos, o lance é a DB. Podes usar este lottery system, postado pelo DevilMoon. Por que eu devo usar? - Porque é manero, mostra os itens que estão para ser sorteados e os últimos vencedores. A quantia de vencedores e os itens podem ser customizadas. Print screen: Como editar? - Para editar os itens sorteados, voce deve localizar e editar estas linhas de comando: <tr> <td><p align="center"><img src="images/items/8889.gif"</img><br /> Skullcracker armor</p></td> <td>You see a skullcracker armor (Arm:14, protection holy -5%, death +5%). It can only be wielded properly by knights of level 100 or higher. It weighs 110.00 oz.</td> </tr> Bem, vamos aos códigos: Substitua tudo oque tiver dentro da página 'lottery.php' do seu site, pelo código abaixo: Obs.: - Note que voce precisa ter a pasta 'items' dentro do 'images' no seu site. (Caso voce não tiver é só pedir que eu posto aqui) - Fique a vontade para usar e editar, porém, mantenha os créditos. - Se voce vier a usar, mande um aviso contendo o site, eu gosto de ver a criatividade das pessoas.1 ponto -
Vocation Pet System
rafael165 reagiu a eduardo190696 por um tópico no fórum
mano, o script tem lvl máximo, ou seja dps do lvl 30 não pode mais criar, no tópico tem como tirar essa parte e o erro do seu executável n tem nada a ver com o meu systema1 ponto -
Deixe Seu Ot E Seu Site Online Com Xampp
cocotonete reagiu a CarlosPain por um tópico no fórum
Bom.. eu sei que já existem vários tutoriais com esse pelo XTibia, e embora seja copiado de outro membro, tá legal, bem formatado e talz. Aprovado.1 ponto