Histórico de Curtidas
-
Slim Shady deu reputação a Charles Santos em Mostrar Set do PLAYER ( AJUDA )MODIFIQUE A SUA CHARACTERS.PHP POR ESSA.
characters.php
-
Slim Shady deu reputação a AgaSsI em [Gesior Acc] Guild War System Com EscudosVou 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.tibiaking.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: 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 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!
Creditos: Walef Xavier
sei que o topico ta ruim maiis ta aii o war system
-
Slim Shady deu reputação a luanluciano93 em [Ajuda] Bug Gesior ACC.ALTER TABLE `bans` ADD `reason` INT UNSIGNED NOT NULL DEFAULT '0';
-
Slim Shady deu reputação a 574747 em Heal com cores diferentesbhelliip, onde esta TEXTCOLOR_GREEN); TEXTCOLOR_DARKPURPLE); coloca COLOR_GREEN); COLOR_DARKPURPLE);
-
Slim Shady deu reputação a luanluciano93 em TFS 0.4 CASTOlá pessoal, tive a iniciativa de criar esse tópico para atualizar e otimizar as sources do TFS 0.4 DEV que é uma das mais usadas no mundo do otserv. Conteúdo totalmente gratuito e pretendemos melhora-lo cada vez mais.
Qualquer um pode colaborar, postando bugs, erros, otimizando códigos, comentar aqui no tópico, toda ajuda é bem vinda, vamos tornar essa a melhor source disponível. Conto com vocês.
Versão do Tibia: 8.60
Alguns sistema já implementados na source:
• TFS 0.4 DEV rev 3777 (by TFS Team)
• Anti-Divulgação (.servegame, .no-ip, .net, .com, .org, .pl, .biz, .br, .sytes, .info)
• War System
• Cast System (by Summ)
• Retirado bugs de anti-push ..
• Retirado bugs de elfbot ...
• Retirado erro de não aceitar outros items ...
• Retirado erro de Malformed File ...
• Add creatureevent onMoveItem() ...
• Add função getCreaturePathTo () ...
• E vários outros!
Complementos:
• Add cast System (passo a passo): [AQUI]
• Pode add o comando na config.lua:
healthHealingColor = COLOR_GREEN -- [podendo alterar a cor]. manaHealingColor = COLOR_DARKPURPLE -- [podendo alterar a cor]. Downloads:
• Distro Compilada 32x
• Distro Compilada 64x
• Sources 7
TESTADO EM WINDOWS, DEBIAN 7.8, UBUNTU 12.04 E 14.05!
• Compilar em Linux:
• Erros para arrumar:
Obrigado ao runeraserver pelo incentivo em fixa-la para linux
E é isso pessoal, espero ter ajudado, abraços
-
Slim Shady deu reputação a Emersonssss em erro mysql (como criar tabela)CREATE TABLE IF NOT EXISTS `tile_store` ( `house_id` int(10) unsigned NOT NULL, `world_id` tinyint(4) unsigned NOT NULL DEFAULT '0', `data` longblob NOT NULL, KEY `house_id` (`house_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
Slim Shady recebeu reputação de rfextreme em (Resolvido)Itens editados nao funcionam.. alguem me ajuda..Você já adcionou o ID dá boots no movements.xml para dar Faster regeration ? e armor para dar skill ?
Teste essa aqui \/
<item id="2358" name="boots of heal">
<attribute key="weight" value="800" />
<attribute key="slotType" value="feet" />
<attribute key="healthGain" value="30" />
<attribute key="HealthTicks" value="1000" /> -- CURAR A CADA 1 SEGUNDO
<attribute key="manaGain" value="150" />
<attribute key="manaTicks" value="1000" /> -- CURAR A CADA 1 SEGUNDO
<attribute key="speed" value="80" />
<attribute key="showattributes" value="1" />
A respeito da boots e da armor você precisa adcionar no movements.xml
Poste seu Movements.xml aqui, irei adcionar a boots e a armor..
-
Slim Shady recebeu reputação de rfextreme em (Resolvido)Itens editados nao funcionam.. alguem me ajuda..<?xml version="1.0" encoding="UTF-8"?>
<movements>
<!--War of Emperium-->
<movevent type="StepOut" actionid="96475" event="script" value="DPPass.lua"/> <!-- DPPass -->
<movevent type="StepIn" uniqueid="5036" event="script" value="dota_templonormalp.lua" />
<movevent type="StepIn" uniqueid="5035" event="script" value="dota_templonormal.lua" />
<movevent type="StepIn" uniqueid="5040" event="script" value="dota.lua" />
<movevent type="StepIn" uniqueid="5031" event="script" value="blue.lua" />
<movevent type="StepIn" uniqueid="5032" event="script" value="red.lua" />
<!-- Wrath Quest -->
<movevent type="StepIn" fromaid="7300" toaid="7305" event="script" value="wrathteleport.lua"/>
<movevent type="StepIn" actionid="32361" event="script" value="lights.lua" />
<movevent type="StepIn" actionid="32362" event="script" value="lamps.lua" />
<movevent type="StepIn" actionid="32363" event="script" value="beetle.lua" />
<movevent type="StepIn" fromaid="27232" toaid="27234" event="script" value="lampstepin.lua"/>
<movevent type="StepIn" actionid="25232" event="script" value="stepout.lua" />
<movevent type="StepIn" actionid="99887" event="script" value="defend_tp.lua"/>
<movevent type="StepIn" actionid="24152" event="script" value="unna.lua"/> <!-- Dance zone AID -->
<movevent type="StepOut" itemid="12157" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="12166" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="12155" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="12164" event="script" value="closingdoor.lua"/>
<movevent type="AddItem" tileitem="1" actionid="60626" event="script" value="merge.lua"/>
<movevent type="StepIn" fromaid="3950" toaid="3956" event="script" value="teleports.lua"/>
<movevent type="StepIn" fromaid="62375" toaid="62377" event="script" value="banutashortcut.lua"/>
<movevent type="AddItem" tileitem="1" fromid="8568" toid="8570" event="script" value="SummonOverlord.lua"/>
<movevent type="AddItem" tileitem="1" itemid="8578" event="script" value="SummonOverlord.lua"/>
<movevent type="StepIn" uniqueid="7672" event="script" value="script.lua" />
<movevent type="StepIn" uniqueid="16000" event="script" value="trainingmonk.lua" />
<movevent type="StepIn" fromid="1487" toid="1488" event="script" value="firewalker.lua"/>
<movevent type="StepIn" fromid="1492" toid="1493" event="script" value="firewalker.lua"/>
<!-- PYthius -->
<movevent type="AddItem" tileitem="1" actionid="60126" event="script" value="PythiusTheRotten/PythiusTheRotten_Enterance.lua"/>
<movevent type="StepIn" actionid="60126" event="script" value="PythiusTheRotten/PythiusTheRotten_Enterance.lua"/>
<movevent type="AddItem" tileitem="1" uniqueid="60127" event="script" value="PythiusTheRotten/PythiusTheRotten_Exit.lua"/>
<movevent type="StepIn" uniqueid="60127" event="script" value="PythiusTheRotten/PythiusTheRotten_Exit.lua"/>
<!-- Decaying tiles -->
<movevent type="StepIn" itemid="293" event="script" value="decay.lua"/>
<movevent type="StepIn" itemid="461" event="script" value="decay.lua"/>
<!-- yalahar demony -->
<movevent type="StepIn" fromaid="1391" toaid="1394" event="script" value="yalahar.lua"/>
<!-- children of the revolution -->
<movevent type="StepIn" actionid="25025" event="script" value="childrenrev2.lua"/>
<movevent type="StepIn" fromaid="3931" toaid="3932" event="script" value="childrenrev.lua"/>
<!-- task quest -->
<movevent type="StepIn" uniqueid="14001-14005" event="script" value="tasks.lua"/>
<movevent type="StepIn" uniqueid="14505-14506" event="script" value="tasks.lua"/>
<movevent type="StepIn" uniqueid="14007-14008" event="script" value="tasks.lua"/>
<movevent type="StepIn" uniqueid="14012" event="script" value="tasks.lua"/>
<movevent type="StepIn" uniqueid="14019-14022" event="script" value="tasks.lua"/>
<!-- Swimming -->
<movevent type="StepIn" itemid="8863" event="script" value="swimming.lua"/>
<movevent type="StepIn" itemid="7943-7954" event="script" value="swimming.lua"/>
<!-- Paradox Movements-->
<movevent type="StepIn" actionid="11009" event="script" value="paradox_movements/paradox_questroom.lua"/>
<movevent type="StepIn" actionid="11006" event="script" value="paradox_movements/paradox_questroom.lua"/>
<movevent type="StepIn" actionid="11007" event="script" value="paradox_movements/paradox_questroom.lua"/>
<movevent type="StepIn" actionid="11008" event="script" value="paradox_movements/paradox_questroom.lua"/>
<movevent type="AddItem" tileitem="1" actionid="11004" event="script" value="paradox_movements/paradox_lvl3.lua"/>
<movevent type="RemoveItem" tileitem="1" actionid="11004" event="script" value="paradox_movements/paradox_lvl3.lua"/>
<movevent type="StepIn" actionid="13003" event="script" value="paradox_movements/paradox_lvl1.lua"/>
<movevent type="StepIn" actionid="13001" event="script" value="paradox_movements/paradox_entrance.lua"/>
<movevent type="StepIn" actionid="13004" event="script" value="paradox_movements/paradox_exit.lua"/>
<movevent type="StepIn" actionid="13002" event="script" value="paradox_movements/paradox_deadtree.lua"/>
<movevent type="StepIn" actionid="24061" event="script" value="yalaharr.lua" />
<movevent type="StepIn" fromaid="9105" toaid="9106" event="script" value="yalaharr.lua"/>
<movevent type="StepIn" actionid="14061" event="script" value="pythius.lua" />
<!-- ZAO -->
<movevent type="StepIn" actionid="62325" event="script" value="stair.lua" />
<movevent type="AddItem" tileitem="1" actionid="6413" event="script" value="bsword.lua" />
<movevent type="StepIn" actionid="14116" event="script" value="dragonlord.lua"/>
<!-- Tasks -->
<movevent type="StepIn" actionid="16335" event="script" value="task/revange.lua"/>
<movevent type="StepIn" actionid="16337" event="script" value="task/fox.lua"/>
<movevent type="StepIn" actionid="16339" event="script" value="task/pirate.lua"/>
<movevent type="StepIn" actionid="16340" event="script" value="task/necropharus.lua"/>
<movevent type="StepIn" actionid="16345" event="script" value="task/demodras.lua"/>
<movevent type="StepIn" actionid="16350" event="script" value="task/nexious.lua"/>
<!-- Map marks -->
<movevent type="StepIn" actionid="8113" event="script" value="mapmarks.lua"/>
<!-- Citizen teleport -->
<!-- Yalahar 10th -->
<movevent type="StepIn" itemid="9738" event="script" value="azerusdeath.lua"/>
<movevent type="StepIn" actionid="58262" event="script" value="azerusarmy.lua"/>
<!-- blue legs quest-->
<movevent type="StepIn" actionid="21190" event="script" value="Koshei the Deathless.lua"/>
<movevent type="StepIn" actionid="21191" event="script" value="Koshei the Deathless.lua"/>
<!--Arena Quest-->
<movevent type="StepIn" actionid="42360" event="script" value="arenagoblet.lua"/>
<movevent type="StepIn" actionid="42370" event="script" value="arenagoblet.lua"/>
<movevent type="StepIn" actionid="42380" event="script" value="arenagoblet.lua"/>
<movevent type="StepOut" actionid="42360" event="script" value="arenagoblet.lua"/>
<movevent type="StepOut" actionid="42370" event="script" value="arenagoblet.lua"/>
<movevent type="StepOut" actionid="42380" event="script" value="arenagoblet.lua"/>
<movevent type="StepIn" fromaid="42300" toaid="42309" event="script" value="arenaroom.lua"/>
<movevent type="StepIn" actionid="42310" event="script" value="didarenalevel.lua"/>
<movevent type="StepIn" fromaid="42321" toaid="42330" event="script" value="leavearena.lua"/>
<!-- Underwater drown -->
<movevent type="StepIn" fromid="5405" toid="5410" event="script" value="drown.lua"/>
<movevent type="StepOut" fromid="5405" toid="5410" event="script" value="drown.lua"/>
<movevent type="StepOut" fromid="9671" toid="9672" event="script" value="drown.lua"/>
<!-- (Depot & Level) tiles -->
<movevent type="StepIn" itemid="416" event="script" value="tiles.lua"/>
<movevent type="StepOut" itemid="417" event="script" value="tiles.lua"/>
<movevent type="StepIn" itemid="426" event="script" value="tiles.lua"/>
<movevent type="StepOut" itemid="425" event="script" value="tiles.lua"/>
<movevent type="StepIn" itemid="446" event="script" value="tiles.lua"/>
<movevent type="StepOut" itemid="447" event="script" value="tiles.lua"/>
<movevent type="StepIn" itemid="3216" event="script" value="tiles.lua"/>
<movevent type="StepOut" itemid="3217" event="script" value="tiles.lua"/>
<movevent type="StepIn" itemid="3202" event="script" value="tiles.lua"/>
<movevent type="StepOut" itemid="3215" event="script" value="tiles.lua"/>
<movevent type="StepIn" itemid="11059" event="script" value="tiles.lua"/>
<movevent type="StepOut" itemid="11060" event="script" value="tiles.lua"/>
<!-- <movevent type="StepIn" itemid="8714" event="script" value="tiles.lua"/> -->
<!-- Traps -->
<movevent type="StepIn" itemid="1510" event="script" value="trap.lua"/>
<movevent type="StepOut" itemid="1511" event="script" value="trap.lua"/>
<movevent type="StepIn" itemid="1512" event="script" value="trap.lua"/>
<movevent type="StepOut" itemid="1513" event="script" value="trap.lua"/>
<movevent type="StepIn" itemid="2579" event="script" value="trap.lua"/>
<movevent type="RemoveItem" itemid="2579" event="script" value="trap.lua"/>
<!-- Citizen teleport -->
<movevent type="StepIn" itemid="1387" event="script" value="citizen.lua"/>
<!-- Walkback when walking on quest chest -->
<movevent type="StepIn" itemid="1738" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="1740" event="script" value="walkback.lua"/>
<movevent type="StepIn" fromid="1746" toid="1749" event="script" value="walkback.lua"/>
<!-- (Level & quest) doors -->
<movevent type="StepOut" itemid="1228" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="1230" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="1246" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="1248" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="1260" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="1262" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="3541" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="3550" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="5104" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="5113" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="5122" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="5131" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="5293" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="5295" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="1224" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="1226" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="1242" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="1244" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="1256" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="1258" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="3543" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="3552" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="5106" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="5115" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="5124" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="5133" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="5289" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="5291" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="5746" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="5749" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="6203" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="6205" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="6207" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="6209" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="6260" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="6262" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="6264" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="6266" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="6897" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="6899" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="6906" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="6908" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="7039" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="7041" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="7048" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="7050" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="8552" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="8554" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="8556" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="8558" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="9176" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="9178" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="9180" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="9182" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="9278" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="9280" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="9282" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="9284" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="10279" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="10281" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="10283" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="10285" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="10474" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="10476" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="10483" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="10485" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="10780" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="10782" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="10789" event="script" value="closingdoor.lua"/>
<movevent type="StepOut" itemid="10791" event="script" value="closingdoor.lua"/>
<movevent type="StepIn" itemid="1228" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="1230" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="1246" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="1248" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="1260" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="1262" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="3541" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="3550" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="5104" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="5113" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="5122" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="5131" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="5293" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="5295" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="1224" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="1226" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="1242" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="1244" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="1256" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="1258" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="3543" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="3552" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="5106" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="5115" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="5124" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="5133" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="5289" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="5291" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="5746" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="5749" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="6203" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="6205" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="6207" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="6209" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="6260" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="6262" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="6264" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="6266" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="6897" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="6899" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="6906" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="6908" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="7039" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="7041" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="7048" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="7050" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="8552" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="8554" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="8556" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="8558" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="9176" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="9178" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="9180" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="9182" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="9278" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="9280" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="9282" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="9284" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="10279" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="10281" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="10283" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="10285" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="10474" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="10476" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="10483" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="10485" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="10780" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="10782" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="10789" event="script" value="walkback.lua"/>
<movevent type="StepIn" itemid="10791" event="script" value="walkback.lua"/>
<!-- Snow footprint tiles -->
<movevent type="StepIn" itemid="670" event="script" value="snow.lua"/>
<movevent type="StepIn" itemid="6594" event="script" value="snow.lua"/>
<!-- Create bread movements -->
<movevent type="AddItem" tileitem="1" itemid="1786" event="script" value="dough.lua"/>
<movevent type="AddItem" tileitem="1" itemid="1788" event="script" value="dough.lua"/>
<movevent type="AddItem" tileitem="1" itemid="1790" event="script" value="dough.lua"/>
<movevent type="AddItem" tileitem="1" itemid="1792" event="script" value="dough.lua"/>
<!-- Campfires -->
<movevent type="StepIn" itemid="1423" event="function" value="onStepInField"/>
<movevent type="AddItem" itemid="1423" event="function" value="onAddField"/>
<movevent type="StepIn" itemid="1424" event="function" value="onStepInField"/>
<movevent type="AddItem" itemid="1424" event="function" value="onAddField"/>
<movevent type="StepIn" itemid="1425" event="function" value="onStepInField"/>
<movevent type="AddItem" itemid="1425" event="function" value="onAddField"/>
<!-- Fields -->
<movevent type="StepIn" itemid="1489" event="function" value="onStepInField"/>
<movevent type="AddItem" itemid="1489" event="function" value="onAddField"/>
<movevent type="StepIn" itemid="1490" event="function" value="onStepInField"/>
<movevent type="AddItem" itemid="1490" event="function" value="onAddField"/>
<movevent type="StepIn" itemid="1491" event="function" value="onStepInField"/>
<movevent type="AddItem" itemid="1491" event="function" value="onAddField"/>
<movevent type="StepIn" itemid="1494" event="function" value="onStepInField"/>
<movevent type="AddItem" itemid="1494" event="function" value="onAddField"/>
<movevent type="StepIn" itemid="1495" event="function" value="onStepInField"/>
<movevent type="AddItem" itemid="1495" event="function" value="onAddField"/>
<movevent type="StepIn" itemid="1496" event="function" value="onStepInField"/>
<movevent type="AddItem" itemid="1496" event="function" value="onAddField"/>
<movevent type="StepIn" itemid="1497" event="function" value="onStepInField"/>
<movevent type="AddItem" itemid="1497" event="function" value="onAddField"/>
<movevent type="StepIn" itemid="1498" event="function" value="onStepInField"/>
<movevent type="AddItem" itemid="1498" event="function" value="onAddField"/>
<movevent type="StepIn" itemid="1499" event="function" value="onStepInField"/>
<movevent type="AddItem" itemid="1499" event="function" value="onAddField"/>
<movevent type="StepIn" itemid="1500" event="function" value="onStepInField"/>
<movevent type="AddItem" itemid="1500" event="function" value="onAddField"/>
<movevent type="StepIn" itemid="1501" event="function" value="onStepInField"/>
<movevent type="AddItem" itemid="1501" event="function" value="onAddField"/>
<movevent type="StepIn" itemid="1502" event="function" value="onStepInField"/>
<movevent type="AddItem" itemid="1502" event="function" value="onAddField"/>
<movevent type="StepIn" itemid="1503" event="function" value="onStepInField"/>
<movevent type="AddItem" itemid="1503" event="function" value="onAddField"/>
<movevent type="StepIn" itemid="1504" event="function" value="onStepInField"/>
<movevent type="AddItem" itemid="1504" event="function" value="onAddField"/>
<movevent type="StepIn" itemid="1505" event="function" value="onStepInField"/>
<movevent type="AddItem" itemid="1505" event="function" value="onAddField"/>
<movevent type="StepIn" itemid="1506" event="function" value="onStepInField"/>
<movevent type="AddItem" itemid="1506" event="function" value="onAddField"/>
<movevent type="StepIn" itemid="1507" event="function" value="onStepInField"/>
<movevent type="AddItem" itemid="1507" event="function" value="onAddField"/>
<movevent type="StepIn" itemid="1508" event="function" value="onStepInField"/>
<movevent type="AddItem" itemid="1508" event="function" value="onAddField"/>
<movevent type="StepIn" itemid="7359" event="function" value="onStepInField"/>
<movevent type="AddItem" itemid="7359" event="function" value="onAddField"/>
<movevent type="StepIn" itemid="7360" event="function" value="onStepInField"/>
<movevent type="AddItem" itemid="7360" event="function" value="onAddField"/>
<movevent type="StepIn" itemid="7465-7473" event="function" value="onStepInField"/>
<movevent type="AddItem" itemid="7465-7473" event="function" value="onAddField"/>
<movevent type="StepIn" itemid="11095" event="function" value="onStepInField"/>
<movevent type="AddItem" itemid="11095" event="function" value="onAddField"/>
<movevent type="StepIn" itemid="11096" event="function" value="onStepInField"/>
<movevent type="AddItem" itemid="11096" event="function" value="onAddField"/>
<!-- Boots -->
<movevent type="Equip" itemid="11113" slot="feet" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="11113" slot="feet" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2195" slot="feet" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2195" slot="feet" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2640" slot="feet" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2640" slot="feet" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="6132" slot="feet" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="6132" slot="feet" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="7457" slot="feet" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="7457" slot="feet" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="7886" slot="feet" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="7886" slot="feet" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="7892" slot="feet" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="7892" slot="feet" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="7891" slot="feet" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="7891" slot="feet" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="7893" slot="feet" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="7893" slot="feet" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="9932" slot="feet" level="130" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="9932" slot="feet" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="9933" slot="feet" level="130" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="9933" slot="feet" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="11114" slot="feet" level="70" event="function" value="onEquipItem">
<vocation id="3"/>
<vocation id="4"/>
<vocation id="7" showInDescription="0"/>
<vocation id="8" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="11114" slot="feet" level="70" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="11234" slot="feet" level="70" event="function" value="onEquipItem">
<vocation id="3"/>
<vocation id="4"/>
<vocation id="7" showInDescription="0"/>
<vocation id="8" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="11234" slot="feet" level="70" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="11297" slot="feet" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="11297" slot="feet" event="function" value="onDeEquipItem"/>
<!-- Amulets -->
<movevent type="Equip" itemid="2138" slot="necklace" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2138" slot="necklace" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2161" slot="necklace" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2161" slot="necklace" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2170" slot="necklace" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2170" slot="necklace" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2172" slot="necklace" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2172" slot="necklace" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2197" slot="necklace" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2197" slot="necklace" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2198" slot="necklace" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2198" slot="necklace" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2199" slot="necklace" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2199" slot="necklace" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2200" slot="necklace" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2200" slot="necklace" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2201" slot="necklace" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2201" slot="necklace" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2173" slot="necklace" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2173" slot="necklace" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="7887" slot="necklace" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="7887" slot="necklace" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="7888" slot="necklace" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="7888" slot="necklace" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="7889" slot="necklace" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="7889" slot="necklace" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="7890" slot="necklace" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="7890" slot="necklace" event="function" value="onDeEquipItem"/>
<movevent type="Equip" fromid="10218" toid="10221" slot="necklace" level="80" event="function" value="onEquipItem"/>
<movevent type="DeEquip" fromid="10218" toid="10221" slot="necklace" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="11368" slot="necklace" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="11368" slot="necklace" event="function" value="onDeEquipItem"/>
<!-- Rings -->
<movevent type="Equip" itemid="2357" slot="ring" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2357" slot="ring" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2164" slot="ring" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2164" slot="ring" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2165" slot="ring" event="function" value="onEquipItem"/>
<movevent type="Equip" itemid="2202" slot="ring" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2202" slot="ring" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2166" slot="ring" event="function" value="onEquipItem"/>
<movevent type="Equip" itemid="2203" slot="ring" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2203" slot="ring" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2167" slot="ring" event="function" value="onEquipItem"/>
<movevent type="Equip" itemid="2204" slot="ring" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2204" slot="ring" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2168" slot="ring" event="function" value="onEquipItem"/>
<movevent type="Equip" itemid="2205" slot="ring" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2205" slot="ring" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2169" slot="ring" event="function" value="onEquipItem"/>
<movevent type="Equip" itemid="2206" slot="ring" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2206" slot="ring" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2207" slot="ring" event="function" value="onEquipItem"/>
<movevent type="Equip" itemid="2210" slot="ring" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2210" slot="ring" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2208" slot="ring" event="function" value="onEquipItem"/>
<movevent type="Equip" itemid="2211" slot="ring" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2211" slot="ring" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2209" slot="ring" event="function" value="onEquipItem"/>
<movevent type="Equip" itemid="2212" slot="ring" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2212" slot="ring" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2213" slot="ring" event="function" value="onEquipItem"/>
<movevent type="Equip" itemid="2215" slot="ring" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2215" slot="ring" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2214" slot="ring" event="function" value="onEquipItem"/>
<movevent type="Equip" itemid="2216" slot="ring" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2216" slot="ring" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="6300" slot="ring" event="function" value="onEquipItem"/>
<movevent type="Equip" itemid="6301" slot="ring" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="6301" slot="ring" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="7697" slot="ring" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="7697" slot="ring" event="function" value="onDeEquipItem"/>
<!-- Helmets -->
<movevent type="Equip" itemid="2474" slot="head" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2474" slot="head" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2471" slot="head" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2471" slot="head" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2662" slot="head" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="2662" slot="head" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="6531" slot="head" event="function" value="onEquipItem">
<vocation id="4"/>
<vocation id="8" showInDescription="0"/>
<vocation id="7"/>
<vocation id="3" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="6531" slot="head" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2323" slot="head" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="2323" slot="head" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2343" slot="head" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2343" slot="head" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2474" slot="head" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2474" slot="head" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2502" slot="head" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2502" slot="head" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="5461" slot="head" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="5461" slot="head" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="7459" slot="head" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="7459" slot="head" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="7900" slot="head" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="7900" slot="head" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="7901" slot="head" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="7901" slot="head" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="7902" slot="head" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="7902" slot="head" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="7903" slot="head" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="7903" slot="head" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8820" slot="head" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8820" slot="head" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="9778" slot="head" level="80" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="9778" slot="head" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="10016" slot="head" level="50" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="10016" slot="head" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="10569" slot="head" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="2"/>
<vocation id="5" showInDescription="0"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="10569" slot="head" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="11296" slot="head" event="function" value="onEquipItem">
<vocation id="3"/>
<vocation id="4"/>
<vocation id="7" showInDescription="0"/>
<vocation id="8" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="11296" slot="head" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="11362" slot="head" level="60" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="2"/>
<vocation id="5" showInDescription="0"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="11362" slot="head" event="function" value="onDeEquipItem"/>
<!-- Armors -->
<movevent type="Equip" itemid="2472" slot="armor" event="function" value="onEquipItem">
<vocation id="4"/>
<vocation id="8" showInDescription="0"/>
<vocation id="3"/>
<vocation id="7" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="2472" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2487" slot="armor" event="function" value="onEquipItem">
<vocation id="4"/>
<vocation id="8" showInDescription="0"/>
<vocation id="3"/>
<vocation id="7" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="2487" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2492" slot="armor" event="function" value="onEquipItem">
<vocation id="4"/>
<vocation id="8" showInDescription="0"/>
<vocation id="3"/>
<vocation id="7" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="2492" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2466" slot="armor" event="function" value="onEquipItem">
<vocation id="4"/>
<vocation id="8" showInDescription="0"/>
<vocation id="3"/>
<vocation id="7" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="2466" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2476" slot="armor" event="function" value="onEquipItem">
<vocation id="4"/>
<vocation id="8" showInDescription="0"/>
<vocation id="3"/>
<vocation id="7" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="2476" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2485" slot="armor" event="function" value="onEquipItem">
<vocation id="3"/>
<vocation id="7" showInDescription="0"/>
<vocation id="4"/>
<vocation id="8" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="2485" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2485" slot="armor" event="function" value="onEquipItem">
<vocation id="3"/>
<vocation id="7" showInDescription="0"/>
<vocation id="4"/>
<vocation id="8" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="2358" slot="feet" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2358" slot="feet" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
<vocation id="3"/>
<vocation id="7" showInDescription="0"/>
<vocation id="4"/>
<vocation id="8" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="2476" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2500" slot="armor" level="60" event="function" value="onEquipItem">
<vocation id="3"/>
<vocation id="7" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="2500" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2503" slot="armor" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2503" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2660" slot="armor" event="function" value="onEquipItem">
<vocation id="3"/>
<vocation id="7" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="2660" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="7884" slot="armor" level="50" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="7884" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="7897" slot="armor" level="50" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="7897" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="7898" slot="armor" level="50" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="7898" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="7899" slot="armor" level="50" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="7899" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8819" slot="armor" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8819" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8821" slot="armor" level="50" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="8821" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8865" slot="armor" level="65" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8865" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8866" slot="armor" event="function" value="onEquipItem">
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8866" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8867" slot="armor" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8867" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8868" slot="armor" level="75" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8868" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8869" slot="armor" level="75" event="function" value="onEquipItem">
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8869" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8870" slot="armor" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8870" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8871" slot="armor" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8871" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8872" slot="armor" event="function" value="onEquipItem">
<vocation id="3"/>
<vocation id="7" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8872" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8877" slot="armor" level="60" event="function" value="onEquipItem">
<vocation id="4"/>
<vocation id="8" showInDescription="0"/>
<vocation id="3"/>
<vocation id="7" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8877" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8878" slot="armor" level="60" event="function" value="onEquipItem">
<vocation id="4"/>
<vocation id="8" showInDescription="0"/>
<vocation id="3"/>
<vocation id="7" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8878" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8879" slot="armor" level="60" event="function" value="onEquipItem">
<vocation id="4"/>
<vocation id="8" showInDescription="0"/>
<vocation id="3"/>
<vocation id="7" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8879" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8880" slot="armor" level="60" event="function" value="onEquipItem">
<vocation id="4"/>
<vocation id="8" showInDescription="0"/>
<vocation id="3"/>
<vocation id="7" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8880" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8881" slot="armor" level="90" event="function" value="onEquipItem">
<vocation id="4"/>
<vocation id="8" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8881" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8882" slot="armor" level="90" event="function" value="onEquipItem">
<vocation id="4"/>
<vocation id="8" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8882" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8883" slot="armor" level="90" event="function" value="onEquipItem">
<vocation id="4"/>
<vocation id="8" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8883" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8884" slot="armor" level="90" event="function" value="onEquipItem">
<vocation id="4"/>
<vocation id="8" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8884" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8885" slot="armor" level="75" event="function" value="onEquipItem">
<vocation id="3"/>
<vocation id="7" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8885" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8886" slot="armor" level="75" event="function" value="onEquipItem">
<vocation id="3"/>
<vocation id="7" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8886" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8887" slot="armor" level="75" event="function" value="onEquipItem">
<vocation id="3"/>
<vocation id="7" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8887" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8888" slot="armor" level="100" event="function" value="onEquipItem">
<vocation id="3"/>
<vocation id="7" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8888" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8889" slot="armor" level="100" event="function" value="onEquipItem">
<vocation id="4"/>
<vocation id="8" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8889" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8890" slot="armor" level="100" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8890" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8891" slot="armor" event="function" value="onEquipItem">
<vocation id="3"/>
<vocation id="7" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8891" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8892" slot="armor" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8892" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="9776" slot="armor" level="80" event="function" value="onEquipItem">
<vocation id="4"/>
<vocation id="8" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="9776" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="11295" slot="armor" level="50" event="function" value="onEquipItem">
<vocation id="3"/>
<vocation id="4"/>
<vocation id="7" showInDescription="0"/>
<vocation id="8" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="11295" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="11349" slot="armor" level="60" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="2"/>
<vocation id="5" showInDescription="0"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="11349" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="11350" slot="armor" level="60" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="2"/>
<vocation id="5" showInDescription="0"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="11350" slot="armor" event="function" value="onDeEquipItem"/>
<!-- Legs -->
<movevent type="Equip" itemid="2469" slot="legs" event="function" value="onEquipItem">
</movevent>
<movevent type="DeEquip" itemid="2469" slot="legs" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2504" slot="legs" event="function" value="onEquipItem">
<vocation id="4"/>
<vocation id="8" showInDescription="0"/>
<vocation id="3"/>
<vocation id="7" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="2504" slot="legs" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2507" slot="legs" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="2507" slot="legs" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2477" slot="legs" event="function" value="onEquipItem">
<vocation id="4"/>
<vocation id="8" showInDescription="0"/>
<vocation id="3"/>
<vocation id="7" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="2477" slot="legs" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2488" slot="legs" event="function" value="onEquipItem">
<vocation id="4"/>
<vocation id="8" showInDescription="0"/>
<vocation id="3"/>
<vocation id="7" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="2488" slot="legs" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="2470" slot="legs" event="function" value="onEquipItem">
<vocation id="4"/>
<vocation id="8" showInDescription="0"/>
<vocation id="3"/>
<vocation id="7" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="2470" slot="legs" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="7885" slot="legs" level="40" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="7885" slot="legs" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="7894" slot="legs" level="40" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="7894" slot="legs" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="7895" slot="legs" level="40" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="7895" slot="legs" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="7896" slot="legs" level="40" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="7896" slot="legs" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="9777" slot="legs" level="80" event="function" value="onEquipItem">
<vocation id="3"/>
<vocation id="7" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="9777" slot="legs" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="11298" slot="legs" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="11298" slot="legs" event="function" value="onDeEquipItem"/>
<!-- Shields -->
<movevent type="Equip" fromid="8905" toid="8909" slot="shield" level="100" event="function" value="onEquipItem">
<vocation id="4"/>
<vocation id="8" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" fromid="8905" toid="8909" slot="shield" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8900" slot="shield" level="30" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8900" slot="shield" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8901" slot="shield" level="40" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8901" slot="shield" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8902" slot="shield" level="50" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8902" slot="shield" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8903" slot="shield" level="60" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8903" slot="shield" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8904" slot="shield" level="70" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8904" slot="shield" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="8918" slot="shield" level="80" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="8918" slot="shield" event="function" value="onDeEquipItem"/>
<!-- HomeTowns -->
<movevent type="StepIn" actionid="30016" event="script" value="Hometown/Farmine_Citizen.lua" />
<movevent type="StepIn" actionid="30039" event="script" value="Hometown/Yalahar_Citizen.lua" />
<movevent type="StepIn" actionid="30022" event="script" value="Hometown/Thais_Citizen.lua" />
<movevent type="StepIn" actionid="30023" event="script" value="Hometown/Kazordoon_Citizen.lua" />
<movevent type="StepIn" actionid="30024" event="script" value="Hometown/Ab Dendriel_Citizen.lua" />
<movevent type="StepIn" actionid="30025" event="script" value="Hometown/Carlin_Citizen.lua" />
<movevent type="StepIn" actionid="30026" event="script" value="Hometown/Venore_Citizen.lua" />
<movevent type="StepIn" actionid="30027" event="script" value="Hometown/Ankrahmun_Citizen.lua" />
<movevent type="StepIn" actionid="30028" event="script" value="Hometown/Edron_Citizen.lua" />
<movevent type="StepIn" actionid="30029" event="script" value="Hometown/Darashia_Citizen.lua" />
<movevent type="StepIn" actionid="30030" event="script" value="Hometown/Liberty Bay_Citizen.lua" />
<movevent type="StepIn" actionid="30031" event="script" value="Hometown/Port Hope_Citizen.lua" />
<movevent type="StepIn" actionid="30032" event="script" value="Hometown/Svargrond_Citizen.lua" />
<!-- Fibula -->
<movevent type="StepIn" actionid="30049" event="script" value="fibula.lua" />
<movevent type="StepIn" actionid="30081" event="script" value="fibula_back.lua" />
<!--BK-->
<movevent type="StepIn" actionid="65535" event="script" value="bk.lua" />
<movevent type="StepIn" actionid="1453" event="script" value="bk2.lua" />
<!-- sunken -->
<movevent type="StepIn" actionid="32560" event="script" value="sunken.lua" />
<!-- dark_shield-->
<movevent type="StepIn" actionid="47486" event="script" value="darkshield_back.lua" />
<movevent type="StepIn" uniqueid="10055" event="script" value="dark_shield.lua" />
<movevent type="StepOut" uniqueid="10055" event="script" value="dark_shield.lua"/>
<!--- Ankrahmun Tomb Mystic Fires -->
<movevent type="StepIn" uniqueid="6003" event="script" value="tomb.lua" />
<movevent type="StepIn" uniqueid="60064" event="script" value="tomb.lua" />
<movevent type="StepIn" uniqueid="60065" event="script" value="tomb.lua" />
<movevent type="StepIn" uniqueid="60066" event="script" value="tomb.lua" />
<movevent type="StepIn" uniqueid="60067" event="script" value="tomb.lua" />
<movevent type="StepIn" uniqueid="60068" event="script" value="tomb.lua" />
<movevent type="StepIn" uniqueid="60069" event="script" value="tomb.lua" />
<movevent type="StepIn" uniqueid="60070" event="script" value="tomb.lua" />
<movevent type="StepIn" uniqueid="60071" event="script" value="tomb.lua" />
<movevent type="StepIn" uniqueid="60072" event="script" value="tomb.lua" />
<movevent type="StepIn" uniqueid="60073" event="script" value="tomb.lua" />
<movevent type="StepIn" uniqueid="60074" event="script" value="tomb.lua" />
<movevent type="StepIn" uniqueid="60075" event="script" value="tomb.lua" />
<movevent type="StepIn" uniqueid="60076" event="script" value="tomb.lua" />
<movevent type="StepIn" uniqueid="60077" event="script" value="tomb.lua" />
<movevent type="StepIn" uniqueid="60078" event="script" value="tomb.lua" />
<!-- Vengoth -->
<movevent type="StepIn" actionid="49331" event="script" value="vengoth.lua" />
<movevent type="StepIn" actionid="49332" event="script" value="vengoth.lua" />
<movevent type="StepIn" actionid="49333" event="script" value="vengoth.lua" />
<movevent type="StepIn" actionid="49334" event="script" value="vengoth.lua" />
<movevent type="StepIn" actionid="49335" event="script" value="vengoth.lua" />
<movevent type="StepIn" actionid="49336" event="script" value="vengoth.lua" />
<movevent type="StepIn" actionid="49337" event="script" value="vengoth.lua" />
<movevent type="StepIn" actionid="49338" event="script" value="vengoth.lua" />
<movevent type="StepIn" actionid="49339" event="script" value="vengoth.lua" />
<movevent type="StepIn" actionid="49340" event="script" value="vengoth.lua" />
<movevent type="StepIn" actionid="49341" event="script" value="vengoth.lua" />
<movevent type="StepIn" actionid="49342" event="script" value="vengoth.lua" />
<!-- others-->
<movevent type="StepIn" fromaid="1001" toaid="1006" event="script" value="inq.lua"/>
<movevent type="StepIn" fromaid="2001" toaid="2005" event="script" value="inq.lua"/>
<movevent type="StepIn" fromaid="3000" toaid="3010" event="script" value="inq.lua"/>
<movevent type="StepIn" actionid="14429" event="script" value="calassa.lua" />
<movevent type="StepIn" actionid="14437" event="script" value="calassa.lua" />
<movevent type="StepIn" actionid="5400" event="script" value="pillow.lua" />
<movevent type="StepOut" actionid="5400" event="script" value="pillow.lua" />
<movevent type="StepIn" actionid="5401" event="script" value="pillow.lua" />
<movevent type="StepOut" actionid="5401" event="script" value="pillow.lua" />
<movevent type="StepOut" actionid="5408" event="script" value="pillow.lua" />
<movevent type="StepIn" actionid="19911" event ="script" value="elvanir.lua"/>
<movevent type="StepIn" itemid="4208" event ="script" value="trawa.lua"/>
<movevent type="AddItem" tileitem="1" itemid="4208" event="script" value="trawa.lua"/>
<movevent type="StepIn" fromaid="20991" toaid="20998" event="script" value="venore.lua"/>
<movevent type="StepIn" actionid="12772" event="script" value="banuta4.lua" />
<movevent type="StepIn" actionid="12771" event="script" value="banuta3.lua" />
<movevent type="StepIn" actionid="12770" event="script" value="banuta2.lua" />
<movevent type="StepIn" actionid="32778" event="script" value="banuta1.lua" />
<movevent type="StepIn" actionid="32772" event="script" value="banuta.lua" />
<movevent type="StepIn" actionid="19914" event="script" value="parchment.lua" />
<movevent type="StepIn" actionid="51191" event="script" value="zolw1.lua" />
<movevent type="StepIn" actionid="51192" event="script" value="zolw1.lua" />
<movevent type="StepIn" actionid="51193" event="script" value="zolw1.lua" />
<movevent type="StepIn" actionid="51194" event="script" value="zolw1.lua" />
<movevent type="StepIn" actionid="51195" event="script" value="zolw1.lua" />
<movevent type="StepIn" actionid="51196" event="script" value="zolw1.lua" />
<movevent type="StepIn" actionid="51197" event="script" value="zolw1.lua" />
<movevent type="StepIn" actionid="51198" event="script" value="zolw1.lua" />
<movevent type="StepIn" actionid="14171" event="script" value="explorer.lua" />
<!-- Inquisition-->
<movevent type="StepIn" actionid="41142" event="script" value="exit_demona.lua" />
<movevent type="StepIn" actionid="9933" event="script" value="dh.lua" />
<movevent type="StepIn" actionid="9934" event="script" value="dhback.lua" />
<movevent type="StepIn" actionid="13246" event="script" value="senja.lua" />
<movevent type="StepIn" actionid="13244" event="script" value="senja.lua" />
<movevent type="StepIn" actionid="12333" event="script" value="desert_escape.lua" />
<movevent type="StepIn" actionid="5630" event="script" value="whitepearl.lua" />
<movevent type="StepIn" actionid="5631" event="script" value="whitepearl_back.lua" />
<movevent type="StepIn" actionid="7449" event="script" value="poh.lua" />
<!-- Pits of Inferno -->
<movevent type="StepIn" actionid="28810" event="script" value="pitsofinferno/teleports.lua" />
<movevent type="StepIn" actionid="28811" event="script" value="pitsofinferno/teleports.lua" />
<movevent type="StepIn" actionid="28812" event="script" value="pitsofinferno/teleports.lua" />
<movevent type="StepIn" actionid="28813" event="script" value="pitsofinferno/teleports.lua" />
<movevent type="StepIn" actionid="28814" event="script" value="pitsofinferno/teleports.lua" />
<movevent type="StepIn" actionid="28815" event="script" value="pitsofinferno/teleports.lua" />
<movevent type="StepIn" actionid="28816" event="script" value="pitsofinferno/teleports.lua" />
<movevent type="StepIn" actionid="28817" event="script" value="pitsofinferno/teleports.lua" />
<movevent type="StepIn" actionid="28818" event="script" value="pitsofinferno/teleports.lua" />
<movevent type="StepIn" actionid="28819" event="script" value="pitsofinferno/teleports.lua" />
<movevent type="StepIn" actionid="28820" event="script" value="pitsofinferno/teleports.lua" />
<movevent type="StepIn" actionid="28821" event="script" value="pitsofinferno/teleports.lua" />
<movevent type="StepIn" actionid="28822" event="script" value="pitsofinferno/teleports.lua" />
<movevent type="StepIn" actionid="28823" event="script" value="pitsofinferno/teleports.lua" />
<movevent type="StepIn" actionid="28824" event="script" value="pitsofinferno/teleports.lua" />
<movevent type="StepIn" actionid="28825" event="script" value="pitsofinferno/teleports.lua" />
<movevent type="StepIn" actionid="28826" event="script" value="pitsofinferno/teleports.lua" />
<movevent type="StepIn" uniqueid="14334" event="script" value="pitsofinferno/thrones.lua" />
<movevent type="StepIn" uniqueid="14333" event="script" value="pitsofinferno/thrones.lua" />
<movevent type="StepIn" uniqueid="14332" event="script" value="pitsofinferno/thrones.lua" />
<movevent type="StepIn" uniqueid="14339" event="script" value="pitsofinferno/thrones.lua" />
<movevent type="StepIn" uniqueid="14330" event="script" value="pitsofinferno/thrones.lua" />
<movevent type="StepIn" uniqueid="14329" event="script" value="pitsofinferno/thrones.lua" />
<movevent type="StepIn" uniqueid="14328" event="script" value="pitsofinferno/thrones.lua" />
<movevent type="StepIn" uniqueid="10001" event="script" value="pitsofinferno/thrones.lua" />
<movevent type="StepIn" uniqueid="10002" event="script" value="pitsofinferno/thrones.lua" />
<movevent type="StepIn" uniqueid="10003" event="script" value="pitsofinferno/thrones.lua" />
<movevent type="StepIn" uniqueid="10004" event="script" value="pitsofinferno/thrones.lua" />
<movevent type="StepIn" uniqueid="10005" event="script" value="pitsofinferno/thrones.lua" />
<movevent type="StepIn" uniqueid="10007" event="script" value="pitsofinferno/thrones.lua" />
<movevent type="StepIn" uniqueid="10008" event="script" value="pitsofinferno/thrones.lua" />
<movevent type="StepIn" actionid="16774" event="script" value="pitsofinferno/poi_teles.lua" />
<movevent type="StepIn" actionid="16773" event="script" value="pitsofinferno/poi_teles.lua" />
<movevent type="StepIn" actionid="16772" event="script" value="pitsofinferno/poi_teles.lua" />
<movevent type="StepIn" uniqueid="14551" event="script" value="pitsofinferno/poi_explosion.lua" />
<movevent type="StepIn" uniqueid="14550" event="script" value="pitsofinferno/poi_glowny.lua" />
<movevent type="StepIn" uniqueid="10251" event="script" value="pitsofinferno/tpmiddle1.lua" />
<movevent type="StepIn" uniqueid="10252" event="script" value="pitsofinferno/tpmiddle2.lua" />
<movevent type="StepIn" uniqueid="10253" event="script" value="pitsofinferno/tpmiddle3.lua" />
<movevent type="StepIn" actionid="43119" event="script" value="pitsofinferno/sqmpoi.lua" />
<movevent type="StepIn" uniqueid="51886" event="script" value="pitsofinferno/poi_ladder.lua" />
<movevent type="StepOut" uniqueid="51886" event="script" value="pitsofinferno/poi_ladder.lua" />
<movevent type="StepIn" actionid="10201" event="script" value="pitsofinferno/MagicWallEntrance.lua" />
<movevent type="StepIn" actionid="10202" event="script" value="pitsofinferno/MagicWallExit.lua" />
<movevent type="StepIn" actionid="9877" event="script" value="pitsofinferno/fireknight.lua" />
<movevent type="StepIn" actionid="9878" event="script" value="pitsofinferno/firedruid.lua" />
<movevent type="StepIn" actionid="9879" event="script" value="pitsofinferno/firepaladin.lua" />
<movevent type="StepIn" actionid="9880" event="script" value="pitsofinferno/firesorcerer.lua" />
<movevent type="StepIn" actionid="9882" event="script" value="pitsofinferno/firedruidall.lua" />
<movevent type="StepIn" actionid="9881" event="script" value="pitsofinferno/fireknightall.lua" />
<movevent type="StepIn" actionid="9883" event="script" value="pitsofinferno/firepaladinall.lua" />
<movevent type="StepIn" actionid="9884" event="script" value="pitsofinferno/firesorcererall.lua" />
<movevent type="StepOut" uniqueid="32193" event="script" value="demonOakTree.lua" />
<movevent type="StepIn" itemid="8292" event="script" value="demonOakArea.lua" />
<!-- dcq -->
<movevent type="StepIn" actionid="9631" event="script" value="dcq/teleport_tower.lua" />
<movevent type="StepIn" actionid="9632" event="script" value="dcq/teleport_tower1.lua" />
<movevent type="StepIn" actionid="9633" event="script" value="dcq/teleport_tower2.lua" />
<movevent type="StepIn" actionid="9634" event="script" value="dcq/teleport_tower3.lua" />
<movevent type="StepIn" actionid="9635" event="script" value="dcq/teleport_tower4.lua" />
<movevent type="StepIn" actionid="9636" event="script" value="dcq/teleport_tower5.lua" />
<movevent type="StepIn" actionid="9637" event="script" value="dcq/teleport_tower6.lua" />
<movevent type="StepIn" actionid="9638" event="script" value="dcq/teleport_tower7.lua" />
<movevent type="StepIn" actionid="9639" event="script" value="dcq/teleport_tower8.lua" />
<movevent type="StepIn" fromaid="37601" toaid="37605" event="script" value="dcq/teleporciki.lua"/>
<movevent type="StepIn" actionid="14497" event="script" value="dcq/teleport.lua" />
<movevent type="StepIn" actionid="2223" event="script" value="dcq/go2.lua" />
<movevent type="StepIn" actionid="2222" event="script" value="dcq/go1.lua" />
<movevent type="StepIn" actionid="33227" event="script" value="dcq/go.lua" />
<movevent type="StepIn" actionid="189" event="script" value="trollsabotage.lua" />
<movevent type="StepIn" actionid="190" event="script" value="trollsabotage.lua" />
<movevent type="AddItem" tileitem="1" actionid="6462" event="script" value="dcq/d-ring.lua" />
<movevent type="StepIn" actionid="61005" event="script" value="dcq/carrot.lua" />
<movevent type="StepIn" actionid="61004" event="script" value="dcq/carrot_back.lua" />
<!-- Other -->
<movevent type="Equip" itemid="9956" slot="pickupable" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="9956" slot="pickupable" event="function" value="onDeEquipItem"/>
<!-- Enchanting -->
<movevent type="StepIn" fromaid="7801" toaid="7804" event="script" value="alters/alterstpthais.lua" />
<movevent type="StepIn" fromaid="7805" toaid="7808" event="script" value="alters/alterstpvenore.lua" />
<movevent type="StepIn" fromaid="7809" toaid="7812" event="script" value="alters/alterstpkazo.lua" />
<movevent type="StepIn" fromaid="7813" toaid="7816" event="script" value="alters/alterstpcarlin.lua" />
<movevent type="StepIn" fromaid="7817" toaid="7820" event="script" value="alters/alterstpab.lua" />
<movevent type="StepIn" fromaid="7821" toaid="7824" event="script" value="alters/alterstplb.lua" />
<movevent type="StepIn" fromaid="7825" toaid="7828" event="script" value="alters/alterstpph.lua" />
<movevent type="StepIn" fromaid="7829" toaid="7832" event="script" value="alters/alterstpankrahmun.lua" />
<movevent type="StepIn" fromaid="7833" toaid="7836" event="script" value="alters/alterstpdarashia.lua" />
<movevent type="StepIn" fromaid="7837" toaid="7840" event="script" value="alters/alterstpedron.lua" />
<movevent type="StepIn" fromaid="7841" toaid="7844" event="script" value="alters/alterstpsvar.lua" />
<movevent type="StepIn" fromaid="7845" toaid="7848" event="script" value="alters/alterstpyala.lua" />
<!-- alters -->
<movevent type="StepIn" actionid="15111" event="script" value="alters/ice.lua" />
<movevent type="StepIn" actionid="15112" event="script" value="alters/earth.lua" />
<movevent type="StepIn" actionid="15113" event="script" value="alters/energy.lua" />
<movevent type="StepIn" actionid="15114" event="script" value="alters/fire.lua" />
<movevent type="Equip" itemid="12591" slot="head" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="12591" slot="head" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="12606" slot="head" level="100" event="function" value="onEquipItem">
<vocation id="3"/>
<vocation id="7" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="12606" slot="head" level="100" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="12604" slot="armor" level="100" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="12604" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="12603" slot="armor" level="100" event="function" value="onEquipItem">
<vocation id="4"/>
<vocation id="8" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="12603" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="12608" slot="shield" level="100" event="function" value="onEquipItem">
<vocation id="1"/>
<vocation id="5" showInDescription="0"/>
<vocation id="2"/>
<vocation id="6" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="12608" slot="shield" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="12605" slot="shield" level="80" event="function" value="onEquipItem">
<vocation id="4"/>
<vocation id="8" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="12605" slot="shield" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="12568" slot="armor" level="100" event="function" value="onEquipItem">
<vocation id="4"/>
<vocation id="8" showInDescription="0"/>
<vocation id="3"/>
<vocation id="7" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="12568" slot="armor" event="function" value="onDeEquipItem"/>
<movevent type="Equip" itemid="12621" slot="feet" level="80" event="function" value="onEquipItem">
<vocation id="3"/>
<vocation id="4"/>
<vocation id="7" showInDescription="0"/>
<vocation id="8" showInDescription="0"/>
</movevent>
<movevent type="DeEquip" itemid="12621" slot="feet" level="70" event="function" value="onDeEquipItem"/>
</movements>
-
Slim Shady deu reputação a Fausto32 em PERFECT ZOMBIE SYSTEM EVENT!Script/Tutorial+ Php +Map +Talkaction +Portal.
Ps: Antes de falar q o topico já existe no forum teste os outros scripts
Então começando por informações basícas :
Para abrir o evento : /zombiestart numero de players . exemplo : /zombiestart 2
Para Iniciar o evento sem o numero maximo de players: /zombiestart force.
Apos aberto sempre q um player ente no portal do evento e avisado por broadcast quem
entrou na arena e o numero de players restantes para o evento ser iniciado.
Apos o evento ser iniciado um zombie e sumonado a cada 20 segundos, o player que for infectado e teleportado para o templo vence o ultimo player restante na arena.
Ao terminar o evento e anuciado por broadcast o nome do player vencedor tempo q durou na arena e por quantos zombies ele sobreviveu, entrega de premio automatica, premio configuravel.
Garantia de funcionabilidade perfeita em TFS 0.4 se configurado corretamente, não testado em outras versões de distros.
Creditos: Me .. não criei mais montei peguei de varios servers/topicos e corigi os varios bugs de distro colocaria os creditos de onde peguei a maioria do script mais foi de um server sem creditos q nem era pra ter sido postado.
Enfim Vamos ao Evento !
Primeiro vou estar postando a pagina classica do Zombie event no Gesior que seria a parte PHP para informar os players sobre o evento.
Pagina PHP + Tutorial de como implementar ela no seu site.
Agora alguns mapas para o zombie event:
Então Agora vamos ao script !
data\creaturescripts\scripts\zombie – A pasta ‘zombie’ deve ser criada no diretorio citado.
\data\creaturescripts\scripts\Zombie\onattack.lua
function loseOnZombieArena(cid) kickPlayerFromZombiesArea(cid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "BOOM! You are dead.") local players = getZombiesEventPlayers() if(#players <= 1) then local winner = players[1] if(winner) then doPlayerAddItem(winner, 2157, 5, true) doPlayerAddItem(winner, 6119, 1, true) doPlayerSendTextMessage(winner, MESSAGE_STATUS_CONSOLE_BLUE, "You won zombies arena event.") doBroadcastMessage("After " .. os.time() - getPlayerZombiesEventStatus(winner) .. " seconds of fight " .. getCreatureName(winner) .. " won Zombie Arena Event in game versus " .. getStorage(ZE_ZOMBIES_SPAWNED) .. " zombies!") kickPlayerFromZombiesArea(winner) else doBroadcastMessage("Zombie arena event finished! No one win?!?!?! WTF!") end doSetStorage(ZE_STATUS, 0) doSetStorage(ZE_PLAYERS_NUMBER, ZE_DEFAULT_NUMBER_OF_PLAYERS) doSetStorage(ZE_ZOMBIES_TO_SPAWN, 0) doSetStorage(ZE_ZOMBIES_SPAWNED, 0) local width = (math.max(ZE_spawnFromPosition.x, ZE_spawnToPosition.x) - math.min(ZE_spawnFromPosition.x, ZE_spawnToPosition.x)) / 2 + 1 local height = (math.max(ZE_spawnFromPosition.y, ZE_spawnToPosition.y) - math.min(ZE_spawnFromPosition.y, ZE_spawnToPosition.y)) / 2 + 1 local centerPos = {x=math.min(ZE_spawnFromPosition.x, ZE_spawnToPosition.x)+width,y=math.min(ZE_spawnFromPosition.y, ZE_spawnToPosition.y)+height,z=ZE_spawnFromPosition.z} for z = math.min(ZE_spawnFromPosition.z, ZE_spawnToPosition.z), math.max(ZE_spawnFromPosition.z, ZE_spawnToPosition.z) do centerPos.z = z for i, uid in pairs(getSpectators(centerPos, width, height, false)) do if(isMonster(uid)) then doRemoveCreature(uid) end end end end end function onStatsChange(target, cid, changetype, combat, value) if((cid and isMonster(cid) and getCreatureName(cid) == "Zombie Event") or (isInRange(getThingPosition(target), ZE_spawnFromPosition, ZE_spawnToPosition) and changetype == STATSCHANGE_HEALTHLOSS and math.abs(value) >= getCreatureHealth(target))) then doCreatureAddHealth(target, getCreatureMaxHealth(target)) loseOnZombieArena(target) return false end return true end \data\creaturescripts\scripts\Zombie\ondeath.lua
function onDeath(cid) setZombiesToSpawnCount(getZombiesToSpawnCount() + 2) doCreatureSay(cid, "I'll be back!", 19) return true end \data\creaturescripts\scripts\Zombie\onthink.lua
function onThink(cid) local target = getCreatureTarget(cid) if(target ~= 0 and not isPlayer(target)) then doRemoveCreature(target) end return true end \data\globalevents\scripts\zombie\ onstartup.lua
function onstartup() db.executeQuery("UPDATE `player_storage` SET `value` = 0 WHERE `key` = " .. ZE_isOnZombieArea .. ";") doSetStorage(ZE_STATUS, 0) doSetStorage(ZE_PLAYERS_NUMBER, ZE_DEFAULT_NUMBER_OF_PLAYERS) doSetStorage(ZE_ZOMBIES_TO_SPAWN, 0) doSetStorage(ZE_ZOMBIES_SPAWNED, 0) addZombiesEventBlockEnterPosition() return true end \data\globalevents\scripts\zombie\onthink.lua
function onThink(interval, lastExecution, thinkInterval) if(getStorage(ZE_STATUS) == 2) then setZombiesToSpawnCount(getZombiesToSpawnCount()+1) local players = getZombiesEventPlayers() for i=1, getZombiesToSpawnCount() * 2 do if(getZombiesToSpawnCount() > 0 and spawnNewZombie()) then setZombiesToSpawnCount(getZombiesToSpawnCount()-1) end end end return true end \data\lib\zombie_event.lua
-- CONFIG ZE_DEFAULT_NUMBER_OF_PLAYERS = 20 ZE_ACCESS_TO_IGNORE_ARENA = 4 -- POSITIONS ZE_blockEnterItemPosition = {x=32341, y=32213, z=7} -- onde nasce o teleport? ZE_enterPosition = {x=32154, y=32578, z=7} -- onde os players nascem dentro da arena zombie? ZE_kickPosition = {x=32368, y=32241, z=7} -- quando morre vai para onde? ZE_spawnFromPosition = {x=32140,y=32566,z=7} -- para sumonar zombie (de) ZE_spawnToPosition = {x=32168,y=32590,z=7} -- para sumonar zombie (ate) -- ITEM IDS --ZE_blockEnterItemID = 2700 ZE_blockEnterItemID = 1387 -- STORAGES -- - player ZE_isOnZombieArea = 34370 -- - global ZE_STATUS = 34370 -- =< 0 - off, 1 - waiting for players, 2 - is running ZE_PLAYERS_NUMBER = 34371 ZE_ZOMBIES_TO_SPAWN = 34372 ZE_ZOMBIES_SPAWNED = 34373 -- FUNCTION function setZombiesEventPlayersLimit(value) doSetStorage(ZE_PLAYERS_NUMBER, value) end function getZombiesEventPlayersLimit() return getStorage(ZE_PLAYERS_NUMBER) end function addPlayerToZombiesArea(cid) doSendMagicEffect(getThingPosition(cid), CONST_ME_TELEPORT) doTeleportThing(cid, ZE_enterPosition, true) doSendMagicEffect(getThingPosition(cid), CONST_ME_TELEPORT) if(getPlayerAccess(cid) < ZE_ACCESS_TO_IGNORE_ARENA) then setPlayerZombiesEventStatus(cid, os.time()) end end function kickPlayerFromZombiesArea(cid) doSendMagicEffect(getThingPosition(cid), CONST_ME_TELEPORT) doTeleportThing(cid, ZE_kickPosition, true) doSendMagicEffect(getThingPosition(cid), CONST_ME_TELEPORT) setPlayerZombiesEventStatus(cid, 0) end function getPlayerZombiesEventStatus(cid) return getCreatureStorage(cid, ZE_isOnZombieArea) end function setPlayerZombiesEventStatus(cid, value) doCreatureSetStorage(cid, ZE_isOnZombieArea, value) end function getZombiesEventPlayers() local players = {} for i, cid in pairs(getPlayersOnline()) do if(getPlayerZombiesEventStatus(cid) > 0) then table.insert(players, cid) end end return players end function getZombiesCount() return getStorage(ZE_ZOMBIES_SPAWNED) end function addZombiesCount() doSetStorage(ZE_ZOMBIES_SPAWNED, getStorage(ZE_ZOMBIES_SPAWNED)+1) end function resetZombiesCount() doSetStorage(ZE_ZOMBIES_SPAWNED, 0) end function getZombiesToSpawnCount() return getStorage(ZE_ZOMBIES_TO_SPAWN) end function setZombiesToSpawnCount(count) doSetStorage(ZE_ZOMBIES_TO_SPAWN, count) end function addZombiesEventBlockEnterPosition() -- remove tp -- remove o TP local item = getTileItemById(ZE_blockEnterItemPosition, ZE_blockEnterItemID) if(item.uid ~= 0) then doRemoveItem(item.uid) end --doRemoveItem(getThingFromPos(Castle.desde).uid) --[[ if(getTileItemById(ZE_blockEnterItemPosition, ZE_blockEnterItemID).uid == 0) then doCreateItem(ZE_blockEnterItemID, 1, ZE_blockEnterItemPosition) end ]]-- end function removeZombiesEventBlockEnterPosition() -- add tp if(getTileItemById(ZE_blockEnterItemPosition, ZE_blockEnterItemID).uid == 0) then --doCreateItem(ZE_blockEnterItemID, 1, ZE_blockEnterItemPosition) local tp = doCreateTeleport(ZE_blockEnterItemID, ZE_enterPosition, ZE_blockEnterItemPosition) doItemSetAttribute(tp, "aid", "5555") end --[[ local item = getTileItemById(ZE_blockEnterItemPosition, ZE_blockEnterItemID) if(item.uid ~= 0) then doRemoveItem(item.uid) end ]]-- end function spawnNewZombie() local posx = {} local posy = {} local posz = {} local pir = {} for i=1, 5 do local posx_tmp = math.random(ZE_spawnFromPosition.x ,ZE_spawnToPosition.x) local posy_tmp = math.random(ZE_spawnFromPosition.y ,ZE_spawnToPosition.y) local posz_tmp = math.random(ZE_spawnFromPosition.z ,ZE_spawnToPosition.z) local pir_tmp = 0 local spec = getSpectators({x=posx_tmp, y=posy_tmp, z=posz_tmp}, 3, 3, false) if(spec and #spec > 0) then for z, pid in pairs(spec) do if(isPlayer(pid)) then pir_tmp = pir_tmp + 1 end end end posx[i] = posx_tmp posy[i] = posy_tmp posz[i] = posz_tmp pir[i] = pir_tmp end local lowest_i = 1 for i=2, 5 do if(pir[i] < pir[lowest_i]) then lowest_i = i end end local ret = doCreateMonster("Zombie Event", {x=posx[lowest_i], y=posy[lowest_i], z=posz[lowest_i]}, false) if type(ret) == "number" then addZombiesCount() setGlobalStorageValue(201201051801, ret) end return type(ret) == "number" end \data\movements\scripts\zombie\ onenter.lua
function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if(not isPlayer(cid)) then return true end if(getPlayerAccess(cid) >= ZE_ACCESS_TO_IGNORE_ARENA) then addPlayerToZombiesArea(cid) elseif(#getZombiesEventPlayers() < getZombiesEventPlayersLimit() and getStorage(ZE_STATUS) == 1) then addPlayerToZombiesArea(cid) local players_on_arena_count = #getZombiesEventPlayers() if(players_on_arena_count == getZombiesEventPlayersLimit()) then addZombiesEventBlockEnterPosition() -- removeTP doSetStorage(ZE_STATUS, 2) doBroadcastMessage("Zombie Arena Event started.") else doBroadcastMessage(getCreatureName(cid) .. " has entered a Zombie Arena. We still need " .. getZombiesEventPlayersLimit() - players_on_arena_count .. " players.") end else doTeleportThing(cid, fromPosition, true) addZombiesEventBlockEnterPosition() end return true end \data\talkactions\scripts\zombie\ onsay.lua
function onSay(cid, words, param, channel) if(getStorage(ZE_STATUS) ~= 2) then local players_on_arena_count = #getZombiesEventPlayers() if(param == 'force') then if(players_on_arena_count > 0) then setZombiesEventPlayersLimit(players_on_arena_count ) addZombiesEventBlockEnterPosition() doSetStorage(ZE_STATUS, 2) doBroadcastMessage("Zombie Arena Event started.") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Zombies event started.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Cannot start Zombies event. There is no players on arena.") end else if(param ~= '' and tonumber(param) > 0) then setZombiesEventPlayersLimit(tonumber(param)) end removeZombiesEventBlockEnterPosition() doSetStorage(ZE_STATUS, 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Event started.") doPlayerBroadcastMessage(cid, "Zombie Arena Event teleport is opened. We are waiting for " .. getZombiesEventPlayersLimit() - players_on_arena_count .. " players to start.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Zombies event is already running.") end return true end data\monster\zombie_event.xml
<monster name="Zombie Event" nameDescription="an event zombie" race="undead" experience="480" speed="170" manacost="0"> <health now="20000" max="20000"/> <look type="311" corpse="9875"/> <targetchange interval="5000" chance="50"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="1000" min="-1500" max="-2350"/> </attacks> <defenses armor="0" defense="0"/> <immunities> <immunity paralyze="1"/> <immunity invisible="1"/> <immunity fire="1"/> <immunity energy="1"/> <immunity poison="1"/> </immunities> <voices interval="5000" chance="10"> <voice sentence="You wont last long!"/> <voice sentence="Mmmmh.. braains!"/> </voices> <script> <event name="ZombieThink"/> <event name="ZombieDeath"/> </script> <loot> </loot> </monster> Agora as Tags nos xml’s . /data/creaturescripts/creaturescripts.xml
<event type="think" name="ZombieThink" event="script" value="zombie/onthink.lua"/> <event type="statschange" name="ZombieAttack" event="script" value="zombie/onattack.lua"/> <event type="death" name="ZombieDeath" event="script" value="zombie/ondeath.lua"/> /data/globalevents/globalevents.xml
<globalevent name="ZombieGlobalThink" interval="5000" event="script" value="zombie/onthink.lua"/> <globalevent name="ZombieGlobalStartup" type="start" event="script" value="zombie/onstartup.lua"/> /data/movements/movements.xml
<movevent type="StepIn" actionid="5555" event="script" value="zombie/onenter.lua"/> /data/talkactions/talkactions.xml
<talkaction log="yes" words="/zombiestart" access="4" event="script" value="zombie/onsay.lua"/> /data/monster/monsters.xml
<monster name="Zombie Event" file="zombie_event.xml"/> Script Terminado ! Next: Tutorial de como configurar o zombie event ! Estarei postando apenas as partes q podem ou devem ser editadas em cada script. data\creaturescripts\scripts\zombiez\onattack.lua
Next: \data\lib\zombie_event.lua
Então galera eh isso ai .-. meu primeiro post não mim crucifiquem k Duvidas, reclamações elogios chigamentos u.u só comentar como dizia o mestre o topico ta explicado nos minimos detalhes e ''de forma bem entendida'' (entendedoresentenderam) então eh isso vlw ai a todos q mim ajudaram nisso e nem sabem ?
-
Slim Shady deu reputação a Skydangerous em Eliminando erros ao passar do NPCS 0.3.6 +Nesse tutorial ensinarei a retirar os erros dos npcs, que bugam após você passar sua versão 0.3.6 para revisões maiores.
ERRO:
ERRO 2:
[08/02/2013 02:43:03] [Error - Npc interface]
[08/02/2013 02:43:03] data/npc/scripts/default.lua
[08/02/2013 02:43:03] Description:
[08/02/2013 02:43:03] data/npc/scripts/default.lua:1: attempt to index global 'KeywordHandler' (a nil value)
[08/02/2013 02:43:03] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/default.lua
Resolvendo:
1- Baixe o arquivo que está disponível no tópico.
2- Vá no diretório do seu otserv em data/npc/
3- Apague a pasta LIB
4- Extraia o arquivo que você acabou de baixar no mesmo diretório.
5- Se você fez tudo isso, todos esses erros serão eliminados.
Agora ligue seu servidor, os npcs estarão te respondendo, estarão no jogo ..
Have Fun (:
Scan: https://www.virustotal.com/pt/file/30da4e08be2e33e62a11bc578c1b88868e7f97406836e0594fe5d6fbf1b46f14/analysis/1401908503/
lib.rar
-
Slim Shady recebeu reputação de BeatiFul Pain em Procuro 1 GM para servidor sério!Nome: Ricardo Argona
Idade:13
Skype:ricardo.argona39
Tempo disponível:Dias de Semana 16:00 até as 21:30, Finais de Semana 24Horas
Sua experiência: Ja Fui administrador, supervisor e varios servidores. sou digno de confiança, e gosto de trabalhar em equipe.
Porque eu quero ser GM?
Gosto de ajudar as pessoas, com meu conheçimento !