Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 08/21/11 em todas áreas
-
[9.1] 4Fun Server
JustinnoTibianno e 4 outros reagiu a Vmspk por um tópico no fórum
4Fun Server Versão: 9.1 Distro: Crystal Server 1.5 Mapa Base: Vários Foi um edit rápido, 2 dias. Juntei algumas partes de mapas desconhecidos e algo do Azeroth. 2 amigos (ociosos =D) me ajudaram a importar algumas quests e editar o resto. Me disseram que os Ots 9.1 estavam muito ruins, talvez este possa ajudar. 4 Cidades: -> Celestia -> Theos -> Valmun -> Sandrina Mudanças/Conteúdo: Principais Quests: Imagens: Sistema de Guerras pelo Castelo [Honor Castle] Upgrade & Slot System ACC GOD: 222222/password Se acha que ter um OtServ é só baixar, abrir e largar lá, ou ainda editar chars e equipamentos para você mesmo jogar e fazer o que quiser, garanto-lhe que não vai durar 2 dias. Crie eventos, interaja com os jogadores, faça torneios Pvp, marque datas para a Honor Castle, faça updates no mapa, crie monstros, hunts e quests, dê suporte e, o mais importante, mantenha o HELP aberto, sempre. IpChanger 9.1 - Sources - Scan Download 4Fun Server Completo - [MEDIAFIRE] Créditos: Otmind/Kantera, Mistocalana, Mock, Majesty, Bruno0, Crystal Server Team, TFS Team, Coruja e Vmspk. Este tópico recebeu destaque em nosso portal!5 pontos -
[Oficial] Refugia (8.60) 26/08/2012 0.0.8
felipecaldas199 e 2 outros reagiu a Subwat por um tópico no fórum
Bom pessoal,venho trazer-lhes hoje um trabalho,de meses de mim e de daniel devotti,fizemos um servidor Igual o refugia. e agora venho compartilhar com vocês. SENHA DO GOD account:god senha:GOD Spells Knights :ezzori,ezzori gran. Magos :exevo gran frigo,exevo gran mas mort,exevo gran mas ghost,aurora. Paladinos :exevo gran mas mort,aurora. Sistemas Pet system com mais de 50 pets,Incluindo Pets Donates que você pode vender em seu site! Sistemas de arena duels Para teams ou duplas no segundo andar no templo! Sistema de VIP Coins e (VIP) no nome Igual do Refugia Original! TASK SYSTEM! Sistema De Reborn Monster! adicionado 16/09/11 Ao matar um monstro ele tem 50% de chance de renascer igual no refugia! Items Mais de 100 items editados únicos do servidor! items free bons,quests com items editados e etc. Quests Anihilator demon helmet Aqua quest vermilion quest Pits of inferno Lord vampire quest refugia legs multi Quest dentre várias outras. Screen Shots Trainer's Templo Free Teleports Vip Teleports Free Teleportes para cidades Segundo andar do templo Montanha City Vip City Free NPC's DOWNLOAD: http://adf.ly/IGQ9S http://adf.ly/IGQDJ (SCAN DESATUALIZADO) Créditos Subwat (Gean Riot) Refugia.com.br daniel freire devotti curtiu REP+ Este tópico recebeu destaque em nosso portal!3 pontos -
Meu 1º Tutorial, Espero que gostem! OUTCOME: -------------- REP +3 pontos
-
Novo Top 5 Na Área!
u n d e r e um outro reagiu a Fernandinand por um tópico no fórum
Geeente, mas uma notícia do Xtibia, depois de muita pesquisa no Tibia! Um novo TOP 5 está na área! Mais de um ano atrás, um player chamado Victeron, de Morgana, alcançou o tão sonhado level 400. Mas hoje ele conseguiu o level 500, sendo o primeiro Master Sorcerer à conseguir este incrível level. Ele com os amigos, no momento up level, provavelmente muito alegre. A nova lista do TOP 5 de All World. A comunidade Xtibia dá os parabéns para você, Victeron! :~ Esta notícia é exclusiva do Xtibia, não pode ser alterada e só com a autorização do autor poderá ser copiada.2 pontos -
Walpaper Xtibia - Versão Space!
u n d e r e um outro reagiu a Secular por um tópico no fórum
Cai na dança dos Walpapers... Preview: Tamanhos: 1600x900 1440x800 1366x760 1280x800 1024x600 O Éks e seus Users mereçem!2 pontos -
Vip System by Account 1.0 By Kydrai Este é um vip system por account, ou seja, um sistema de vip válido para todos os characters de uma determinada conta. O script foi testado no TFS 0.3.6 - 8.54. E no site Gesior 0.3.4 beta4. Em caso de erros ou dúvidas é só postar. Funções do Script Função necessária para começar a usar o script: installVip() -> Cria a coluna no banco de dados para usar o sistema de vip (testei somente em sqlite, mas acredito que funcione em mysql) Funções que utilizam o account id: doTeleportPlayersByAccount(acc, topos) -> Teleporta todos os players da account getVipTimeByAccount(acc) -> Pega o tempo de vip setVipTimeByAccount(acc, time) -> Edita o tempo de vip getVipDaysByAccount(acc) -> Pega o tempo de vip em dias isVipAccount(acc) -> Verifica se é vip addVipDaysByAccount(acc, days) -> Adiciona dias de vip doRemoveVipDaysByAccount(acc, days) -> Remove dias de vip getVipDateByAccount(acc) -> Pega a data e hora que irá terminar a vip Funções que utilizam o creature id (cid): doTeleportPlayers(cid, topos) -> Teleporta todos os players da account getVipTime(cid) -> Pega o tempo de vip setVipTime(cid, time) -> Edita o tempo de vip getVipDays(cid) -> Pega o tempo de vip em dias isVip(cid) -> Verifica se é vip addVipDays(cid, days) -> Adiciona dias de vip doRemoveVipDays(cid, days) -> Remove dias de vip getVipDate(cid) -> Pega a data e hora que irá terminar a vip Inserindo as funções Abra a pasta data/lib, crie um arquivo lua e coloque: vipAccount.lua --[[ Name: Vip System by Account Version: 1.0 Author: Kydrai Forum: http://www.xtibia.com/forum/topic/136543-vip-system-by-account-v10/ [Functions] -- Install installVip() -- By Account doTeleportPlayersByAccount(acc, topos) getVipTimeByAccount(acc) setVipTimeByAccount(acc, time) getVipDaysByAccount(acc) isVipAccount(acc) addVipDaysByAccount(acc, days) doRemoveVipDaysByAccount(acc, days) getVipDateByAccount(acc) -- By Player doTeleportPlayers(cid, topos) getVipTime(cid) setVipTime(cid, time) getVipDays(cid) isVip(cid) addVipDays(cid, days) doRemoveVipDays(cid, days) getVipDate(cid) ]]-- -- Install function installVip() if db.executeQuery("ALTER TABLE `accounts` ADD viptime INT(15) NOT NULL DEFAULT 0;") then print("[Vip System] Vip System instalado com sucesso!") return TRUE end print("[Vip System] Não foi possível instalar o Vip System!") return FALSE end -- By Account function doTeleportPlayersByAccount(acc, topos) if db.executeQuery("UPDATE `players` SET `posx` = "..topos.x..", `posy` = "..topos.y..", `posz` = "..topos.z.." WHERE `account_id` = "..acc..";") then return TRUE end return FALSE end function getVipTimeByAccount(acc) local vip = db.getResult("SELECT `viptime` FROM `accounts` WHERE `id` = "..acc..";") if vip:getID() == -1 then print("[Vip System] Account not found!") return FALSE end return vip:getDataInt("viptime") end function setVipTimeByAccount(acc, time) if db.executeQuery("UPDATE `accounts` SET `viptime` = "..time.." WHERE `id` = "..acc..";") then return TRUE end return FALSE end function getVipDaysByAccount(acc) local vipTime = getVipTimeByAccount(acc) local timeNow = os.time() local days = math.ceil((vipTime - timeNow)/(24 * 60 * 60)) return days <= 0 and 0 or days end function isVipAccount(acc) return getVipDaysByAccount(acc) > 0 and TRUE or FALSE end function addVipDaysByAccount(acc, days) if days > 0 then local daysValue = days * 24 * 60 * 60 local vipTime = getVipTimeByAccount(acc) local timeNow = os.time() local time = getVipDaysByAccount(acc) == 0 and (timeNow + daysValue) or (vipTime + daysValue) setVipTimeByAccount(acc, time) return TRUE end return FALSE end function doRemoveVipDaysByAccount(acc, days) if days > 0 then local daysValue = days * 24 * 60 * 60 local vipTime = getVipTimeByAccount(acc) local time = vipTime - daysValue setVipTimeByAccount(acc, (time <= 0 and 1 or time)) return TRUE end return FALSE end function getVipDateByAccount(acc) if isVipAccount(acc) then local vipTime = getVipTimeByAccount(acc) return os.date("%d/%m/%y %X", vipTime) end return FALSE end -- By Player function doTeleportPlayers(cid, topos) doTeleportPlayersByAccount(getPlayerAccountId(cid), topos) end function getVipTime(cid) return getVipTimeByAccount(getPlayerAccountId(cid)) end function setVipTime(cid, time) return setVipTimeByAccount(getPlayerAccountId(cid), time) end function getVipDays(cid) return getVipDaysByAccount(getPlayerAccountId(cid)) end function isVip(cid) return isVipAccount(getPlayerAccountId(cid)) end function addVipDays(cid, days) return addVipDaysByAccount(getPlayerAccountId(cid), days) end function doRemoveVipDays(cid, days) return doRemoveVipDaysByAccount(getPlayerAccountId(cid), days) end function getVipDate(cid) return getVipDateByAccount(getPlayerAccountId(cid)) end Exemplos de uso Talkaction GOD: /installvip /addvip name, days /removevip name, days /checkvip name Player: /buyvip /vipdays talkactions.xml: <talkaction log="yes" access="5" words="/installvip;/addvip;/removevip;/checkvip" event="script" value="vipaccgod.lua"/> <talkaction words="/buyvip;/vipdays" event="script" value="vipaccplayer.lua"/> vipaccgod.lua: function onSay(cid, words, param, channel) local t = param:explode(",") local name, days = t[1], tonumber(t[2]) if words == "/installvip" then if installVip() then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Vip System instalado com sucesso!") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Não foi possível instalar o Vip System!") end elseif words == "/addvip" then if name then if days then local acc = getAccountIdByName(name) if acc ~= 0 then addVipDaysByAccount(acc, days) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você adicionou "..days.." dia(s) de vip ao "..name..", agora ele possui "..getVipDaysByAccount(acc).." dia(s) de vip.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este player não existe.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode adicionar essa quantidade de dia(s) de vip.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode adicionar dia(s) de vip a este player.") end elseif words == "/removevip" then if name then if days then local acc = getAccountIdByName(name) if acc ~= 0 then doRemoveVipDaysByAccount(acc, days) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você retirou "..days.." dia(s) de vip do "..name..", agora ele possui "..getVipDaysByAccount(acc).." dia(s) de vip.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este player não existe.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode retirar essa quantidade de dia(s) de vip.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode retirar dia(s) de vip a este player.") end elseif words == "/checkvip" then if name then local acc = getAccountIdByName(name) if acc ~= 0 then local duration = getVipDateByAccount(acc) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O "..name.." possui "..getVipDaysByAccount(acc).." dias de vip."..(duration and (" Ela irá durar até "..duration..".") or "")) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este player não existe.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode visualizar os dias de vip a este player.") end end return TRUE end vipaccplayer.lua: function onSay(cid, words, param, channel) if words == "/buyvip" then local price = 1000000 local days = 30 if doPlayerRemoveMoney(cid, price) then addVipDays(cid, days) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você adicionou "..days.." dia(s) de vip, agora você possui "..getVipDays(cid).." dia(s) de vip.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa de "..price.." para adicionar "..days.." dia(s) de vip.") end elseif words == "/vipdays" then local duration = getVipDate(cid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você possui "..getVipDays(cid).." dia(s) de vip."..(duration and (" Ela irá durar até "..duration..".") or "")) end return TRUE end Movement (Tile) Coloque actionid 15000 em um tile onde somente os vips poderão passar. movements.xml: <movevent type="StepIn" actionid="15000" event="script" value="viptile.lua"/> viptile.lua: function onStepIn(cid, item, position, fromPosition) if isVip(cid) == FALSE then doTeleportThing(cid, fromPosition, false) doSendMagicEffect(position, CONST_ME_MAGIC_BLUE) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Somente players vip podem passar.") end return TRUE end Creaturescript (Login) Quando player logar irá verificar se a vip do player acabou, se sim então irá teleportar todos os players da account para o templo, se não irá mostrar o tempo da vip. creaturescripts.xml: <event type="login" name="viplogin" script="viplogin.lua"/> viplogin.lua: function onLogin(cid) local vip = isVip(cid) if getVipTime(cid) > 0 and vip == FALSE then local townid = 1 doPlayerSetTown(cid, townid) local templePos = getTownTemplePosition(getPlayerTown(cid)) doTeleportThing(cid, templePos, false) setVipTime(cid, 0) doTeleportPlayers(cid, templePos) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sua Vip acabou!") elseif vip == TRUE then local duration = getVipDate(cid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você possui "..getVipDays(cid).." dia(s) de vip."..(duration and (" Ela irá durar até "..duration..".") or "")) end return TRUE end Action (Door) Coloque actionid 15001 na door onde somente os vips poderão passar. Use a porta gate of expertise (id: 1227) actions.xml: <action actionid="15001" script="vipdoor.lua"/> vipdoor.lua: function onUse(cid, item, fromPosition, itemEx, toPosition) if isVip(cid) == FALSE then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Somente players vip podem passar.") elseif item.itemid == 1227 then doTransformItem(item.uid, item.itemid + 1) doTeleportThing(cid, toPosition) end return TRUE end NPC (Vendedor de VIP) vipnpc.xml: <?xml version="1.0" encoding="UTF-8"?> <npc name="Vendedor de VIP" script="vipnpc.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="128" head="17" body="54" legs="114" feet="0" addons="2"/> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|, I sell {vip} days."/> </parameters> </npc> vipnpc.lua: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function buyVip(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end if doPlayerRemoveMoney(cid, parameters.price) then addVipDays(cid, parameters.days) npcHandler:say('Thanks, you buy '..parameters.days..' vip days. You have '..getVipDays(cid)..' vip days.', cid) else npcHandler:say('Sorry, you don\'t have enough money.', cid) end npcHandler:resetNpc() return true end local node1 = keywordHandler:addKeyword({'vip'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want buy 30 vip days for 1000000 gp\'s?'}) node1:addChildKeyword({'yes'}, buyVip, {price = 1000000, days = 30}) node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Ok, then.', reset = true}) npcHandler:addModule(FocusModule:new()) Erros e Soluções Configurando o Gesior Com essa configuração irá aparecer o vip status do player no site e será possível vender vip pelo site. Se eu esqueci de alguma coisa é só avisar. accountmanagement.php Depois de: if(!$account_logged->isPremium()) $account_status = '<b><font color="red">Free Account</font></b>'; else $account_status = '<b><font color="green">Premium Account, '.$account_logged->getPremDays().' days left</font></b>'; Adicione: if(!$account_logged->isVip()) $account_vip_status = '<b><font color="red">Not Vip Account</font></b>'; else $account_vip_status = '<b><font color="green">Vip Account, '.$account_logged->getVipDays().' days left</font></b>'; Depois de: <td class="LabelV" >Account Status:</td><td>'.$account_status.'</td></tr><tr style="background-color:'.$config['site']['darkborder'].';" > Adicione: <td class="LabelV" >Account Vip Status:</td><td>'.$account_vip_status.'</td></tr><tr style="background-color:'.$config['site']['darkborder'].';" > pot/OTS_Account.php Substitua: private $data = array('email' => '', 'blocked' => false, 'rlname' => '','location' => '','page_access' => 0,'lastday' => 0,'premdays' => 0, 'created' => 0); Por: private $data = array('email' => '', 'blocked' => false, 'rlname' => '','location' => '','page_access' => 0,'lastday' => 0,'premdays' => 0, 'created' => 0, 'viptime' => 0); Substitua: $this->data = $this->db->query('SELECT ' . $this->db->fieldName('id') . ', ' . $this->db->fieldName('name') . ', ' . $this->db->fieldName('password') . ', ' . $this->db->fieldName('email') . ', ' . $this->db->fieldName('blocked') . ', ' . $this->db->fieldName('rlname') . ', ' . $this->db->fieldName('location') . ', ' . $this->db->fieldName('page_access') . ', ' . $this->db->fieldName('premdays') . ', ' . $this->db->fieldName('lastday') . ', ' . $this->db->fieldName('created') . ' FROM ' . $this->db->tableName('accounts') . ' WHERE ' . $this->db->fieldName('id') . ' = ' . (int) $id)->fetch(); Por: $this->data = $this->db->query('SELECT ' . $this->db->fieldName('id') . ', ' . $this->db->fieldName('name') . ', ' . $this->db->fieldName('password') . ', ' . $this->db->fieldName('email') . ', ' . $this->db->fieldName('blocked') . ', ' . $this->db->fieldName('rlname') . ', ' . $this->db->fieldName('location') . ', ' . $this->db->fieldName('page_access') . ', ' . $this->db->fieldName('premdays') . ', ' . $this->db->fieldName('viptime') . ', ' . $this->db->fieldName('lastday') . ', ' . $this->db->fieldName('created') . ' FROM ' . $this->db->tableName('accounts') . ' WHERE ' . $this->db->fieldName('id') . ' = ' . (int) $id)->fetch(); Substitua: $this->db->query('UPDATE ' . $this->db->tableName('accounts') . ' SET ' . $this->db->fieldName('password') . ' = ' . $this->db->quote($this->data['password']) . ', ' . $this->db->fieldName('email') . ' = ' . $this->db->quote($this->data['email']) . ', ' . $this->db->fieldName('blocked') . ' = ' . (int) $this->data['blocked'] . ', ' . $this->db->fieldName('rlname') . ' = ' . $this->db->quote($this->data['rlname']) . ', ' . $this->db->fieldName('location') . ' = ' . $this->db->quote($this->data['location']) . ', ' . $this->db->fieldName('page_access') . ' = ' . (int) $this->data['page_access'] . ', ' . $this->db->fieldName('premdays') . ' = ' . (int) $this->data['premdays'] . ', ' . $this->db->fieldName('lastday') . ' = ' . (int) $this->data['lastday'] . ' WHERE ' . $this->db->fieldName('id') . ' = ' . $this->data['id']); Por: $this->db->query('UPDATE ' . $this->db->tableName('accounts') . ' SET ' . $this->db->fieldName('password') . ' = ' . $this->db->quote($this->data['password']) . ', ' . $this->db->fieldName('email') . ' = ' . $this->db->quote($this->data['email']) . ', ' . $this->db->fieldName('blocked') . ' = ' . (int) $this->data['blocked'] . ', ' . $this->db->fieldName('rlname') . ' = ' . $this->db->quote($this->data['rlname']) . ', ' . $this->db->fieldName('location') . ' = ' . $this->db->quote($this->data['location']) . ', ' . $this->db->fieldName('page_access') . ' = ' . (int) $this->data['page_access'] . ', ' . $this->db->fieldName('premdays') . ' = ' . (int) $this->data['premdays'] . ', ' . $this->db->fieldName('viptime') . ' = ' . (int) $this->data['viptime'] . ', ' . $this->db->fieldName('lastday') . ' = ' . (int) $this->data['lastday'] . ' WHERE ' . $this->db->fieldName('id') . ' = ' . $this->data['id']); Depois de: public function getPremDays() { if( !isset($this->data['premdays']) || !isset($this->data['lastday']) ) { throw new E_OTS_NotLoaded(); } return $this->data['premdays'] - (date("z", time()) + (365 * (date("Y", time()) - date("Y", $this->data['lastday']))) - date("z", $this->data['lastday'])); } Adicione: public function getVipDays() { if( !isset($this->data['viptime']) || !isset($this->data['lastday']) ) { throw new E_OTS_NotLoaded(); } return ceil(($this->data['viptime'] - time()) / (24*60*60)); } Depois de: public function isPremium() { return ($this->data['premdays'] - (date("z", time()) + (365 * (date("Y", time()) - date("Y", $this->data['lastday']))) - date("z", $this->data['lastday'])) > 0); } Adicione: public function isVip() { return ceil(($this->data['viptime'] - time()) / (24*60*60)) > 0; } characters.php Substitua: if($config['site']['show_vip_status']) { $id = $player->getCustomField("id"); if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++; $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD WIDTH=10%>Vip Status:</TD>'; $vip = $SQL->query('SELECT * FROM player_storage WHERE player_id = '.$id.' AND `key` = '.$config['site']['show_vip_storage'].';')->fetch(); if($vip == false) { $main_content .= '<TD><span class="red"><B>NOT VIP</B></TD></TR>'; } else { $main_content .= '<TD><span class="green"><B>VIP</B></TD></TR>'; } $comment = $player->getComment(); $newlines = array("\r\n", "\n", "\r"); $comment_with_lines = str_replace($newlines, '<br />', $comment, $count); if($count < 50) $comment = $comment_with_lines; if(!empty($comment)) { if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++; $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD VALIGN=top>Comment:</TD><TD>'.$comment.'</TD></TR>'; } } Por: if($config['site']['show_vip_status']) { $id = $player->getCustomField("id"); if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++; $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD WIDTH=10%>Account Vip Status:</TD>'; if(!$account->isVip()) { $main_content .= '<TD><span class="red"><B>NOT VIP</B></TD></TR>'; } else { $main_content .= '<TD><span class="green"><B>VIP</B></TD></TR>'; } $comment = $player->getComment(); $newlines = array("\r\n", "\n", "\r"); $comment_with_lines = str_replace($newlines, '<br />', $comment, $count); if($count < 50) $comment = $comment_with_lines; if(!empty($comment)) { if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++; $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD VALIGN=top>Comment:</TD><TD>'.$comment.'</TD></TR>'; } } shopsystem.php (+Créditos ao GM Bekman) Substitua: if($buy_offer['type'] == 'pacc') { $player_premdays = $buy_player_account->getCustomField('premdays'); $player_lastlogin = $buy_player_account->getCustomField('lastday'); $save_transaction = 'INSERT INTO '.$SQL->tableName('z_shop_history_pacc').' (id, to_name, to_account, from_nick, from_account, price, pacc_days, trans_state, trans_start, trans_real) VALUES (NULL, '.$SQL->quote($buy_player->getName()).', '.$SQL->quote($buy_player_account->getId()).', '.$SQL->quote($buy_from).', '.$SQL->quote($account_logged->getId()).', '.$SQL->quote($buy_offer['points']).', '.$SQL->quote($buy_offer['days']).', \'realized\', '.$SQL->quote(time()).', '.$SQL->quote(time()).');'; $SQL->query($save_transaction); $buy_player_account->setCustomField('premdays', $player_premdays+$buy_offer['days']); $account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']); $user_premium_points = $user_premium_points - $buy_offer['points']; if($player_premdays == 0) { $buy_player_account->setCustomField('lastday', time()); } $main_content .= '<h2>PACC added!</h2><b>'.$buy_offer['days'].' days</b> of Premium Account added to account of player <b>'.$buy_player->getName().'</b> for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br /><a href="index.php?subtopic=shopsystem">GO TO MAIN SHOP SITE</a>'; } Por: if($buy_offer['type'] == 'pacc') { $player_viptime = $buy_player_account->getCustomField('viptime'); $player_lastlogin = $buy_player_account->getCustomField('lastday'); $save_transaction = 'INSERT INTO '.$SQL->tableName('z_shop_history_pacc').' (id, to_name, to_account, from_nick, from_account, price, pacc_days, trans_state, trans_start, trans_real) VALUES (NULL, '.$SQL->quote($buy_player->getName()).', '.$SQL->quote($buy_player_account->getId()).', '.$SQL->quote($buy_from).', '.$SQL->quote($account_logged->getId()).', '.$SQL->quote($buy_offer['points']).', '.$SQL->quote($buy_offer['days']).', \'realized\', '.$SQL->quote(time()).', '.$SQL->quote(time()).');'; $SQL->query($save_transaction); if($player_viptime > 0) $buy_player_account->setCustomField('viptime', $player_viptime + ($buy_offer['days'] * 24 * 60 * 60)); else $buy_player_account->setCustomField('viptime', time() + ($buy_offer['days'] * 24 * 60 * 60)); $account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']); $user_premium_points = $user_premium_points - $buy_offer['points']; if($player_viptime == 0) { $buy_player_account->setCustomField('lastday', time()); } $main_content .= '<h2>VIP Days added!</h2><b>'.$buy_offer['days'].' days</b> of Vip Account added to account of player <b>'.$buy_player->getName().'</b> for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br /><a href="index.php?subtopic=shopsystem">GO TO MAIN SHOP SITE</a>'; } Links Úteis 01- [Gesior Acc] Vendedo Vip Pelo Pacc Créditos: GM Bekman 02- Double Exp Para Vip Créditos: Vodkart 03- Outfits Só Para Jogadores Vips Créditos: Vodkart1 ponto
-
:arrow: Photobucket's http://s157.photobucket.com/albums/t61/Sum...People/?start=0 http://s120.photobucket.com/albums/o188/ar...ouspr0n/stocks/ http://s3.photobucket.com/albums/y79/Phare...ocks/?start=all http://s160.photobucket.com/albums/t168/Bi...tion=guestlogin http://s121.photobucket.com/albums/o235/rareEFX/stocks/ http://s172.photobucket.com/albums/w2/Stocksof07/? http://s98.photobucket.com/albums/l264/fourwheeler_rider/? http://s148.photobucket.com/albums/s38/stockw00t/? http://s124.photobucket.com/albums/p23/lenor_stocks/? http://s172.photobucket.com/albums/w15/resourcegfx/Stocks/ http://s35.photobucket.com/albums/d156/AMoffatt/Stocks/ http://s27.photobucket.com/albums/c182/foxsigs/? http://s179.photobucket.com/albums/w306/St0ckp4ck/?start=160 http://s3.photobucket.com/albums/y53/BlackStorm8692/Stocks/ http://s208.photobucket.com/albums/bb213/creatiXstock/ http://s190.photobucket.com/albums/z108/Stockhouse/ http://s35.photobucket.com/albums/d191/xxmoonyxx/stocks/ http://s93.photobucket.com/albums/l59/Slimeyy/Stocks/ http://s206.photobucket.com/albums/bb139/VZStocks/ http://s173.photobucket.com/albums/w41/Aar...tion=guestlogin http://s162.photobucket.com/albums/t250/zealnine/? http://s35.photobucket.com/albums/d191/xxmoonyxx/stocks/ http://s164.photobucket.com/albums/u6/GFX-RESOURCES/STOCKS/? http://s152.photobucket.com/albums/s183/gfxrebels/Stocks/ http://s125.photobucket.com/albums/p52/muppetstock/? http://s123.photobucket.com/albums/o281/defusion-stocks/ http://s5.photobucket.com/albums/y189/Draggin/Stocks/ http://s9.photobucket.com/albums/a82/coolplayer2k3/Stocks/ http://s170.photobucket.com/albums/u256/microblast/Stocks/ http://s138.photobucket.com/albums/q250/Steel6/Stocks/? http://s50.photobucket.com/albums/f314/palegfx/stocks/ http://www.gamerenders.com/forum/index.php?showtopic=195044 http://s35.photobucket.com/albums/d156/AMoffatt/Stocks/ http://s27.photobucket.com/albums/c182/foxsigs/? http://s121.photobucket.com/albums/o235/rareEFX/stocks/ http://s172.photobucket.com/albums/w2/Stocksof07/? http://s98.photobucket.com/albums/l264/fourwheeler_rider/? http://s148.photobucket.com/albums/s38/stockw00t/? http://s124.photobucket.com/albums/p23/lenor_stocks/? http://s172.photobucket.com/albums/w15/resourcegfx/Stocks/ http://s162.photobucket.com/albums/t250/zealnine/? http://s35.photobucket.com/albums/d191/xxmoonyxx/stocks/ http://s164.photobucket.com/albums/u6/GFX-RESOURCES/STOCKS/? http://s152.photobucket.com/albums/s183/gfxrebels/Stocks/ http://s125.photobucket.com/albums/p52/muppetstock/? http://s123.photobucket.com/albums/o281/defusion-stocks/ http://www.gamerenders.com/forum/index.php?showtopic=195044 http://s35.photobucket.com/albums/d156/AMoffatt/Stocks/ http://s27.photobucket.com/albums/c182/foxsigs/? http://s121.photobucket.com/albums/o235/rareEFX/stocks/ http://s172.photobucket.com/albums/w2/Stocksof07/? http://s98.photobucket.com/albums/l264/fourwheeler_rider/? http://s148.photobucket.com/albums/s38/stockw00t/? http://s124.photobucket.com/albums/p23/lenor_stocks/? http://s172.photobucket.com/albums/w15/resourcegfx/Stocks/ http://s162.photobucket.com/albums/t250/zealnine/? http://s35.photobucket.com/albums/d191/xxmoonyxx/stocks/ http://s164.photobucket.com/albums/u6/GFX-RESOURCES/STOCKS/? http://s152.photobucket.com/albums/s183/gfxrebels/Stocks/ http://s125.photobucket.com/albums/p52/muppetstock/? http://s123.photobucket.com/albums/o281/defusion-stocks/ http://s5.photobucket.com/albums/y189/Draggin/Stocks/ http://s9.photobucket.com/albums/a82/coolplayer2k3/Stocks/ http://s170.photobucket.com/albums/u256/microblast/Stocks/ http://s138.photobucket.com/albums/q250/Steel6/Stocks/? http://s50.photobucket.com/albums/f314/palegfx/stocks/ http://s202.photobucket.com/albums/aa298/J...Barrett/Stocks/ http://s10.photobucket.com/albums/a143/neosayuki/Stocks/ *http://s20.photobucket.com/albums/b206/xxnatexx/stocks/ *http://s190.photobucket.com/albums/z108/Stockhouse/ http://s202.photobucket.com/albums/aa298/J...Barrett/Stocks/ http://s189.photobucket.com/albums/z78/stocksgallery/ http://s3.photobucket.com/albums/y53/BlackStorm8692/Stocks/ http://s180.photobucket.com/albums/x135/chaospixels/ http://s190.photobucket.com/albums/z108/St...ouse/?start=all http://s173.photobucket.com/albums/w41/AaronRehman/Stocks/ http://s201.photobucket.com/albums/aa214/13doorstocks/ http://s137.photobucket.com/albums/q224/Superman_93/STOCKS/ http://s172.photobucket.com/albums/w2/Stocksof07/ http://s135.photobucket.com/albums/q152/nielsjaeger/stocks/ http://s3.photobucket.com/albums/y53/Black...tocks/?start=20 http://s152.photobucket.com/albums/s183/gfxrebels/Stocks/ http://s121.photobucket.com/albums/o235/rareEFX/stocks/ http://s197.photobucket.com/albums/aa214/Abject_Stock/ http://s208.photobucket.com/albums/bb213/creatiXstock/ http://s203.photobucket.com/albums/aa254/Rock_Stox/ http://s3.photobucket.com/albums/y53/BlackStorm8692/Stocks/ http://s172.photobucket.com/albums/w2/Stocksof07/?start=0 http://s137.photobucket.com/albums/q224/Superman_93/STOCKS/ http://s93.photobucket.com/albums/l59/Slimeyy/Stocks/ http://s124.photobucket.com/albums/p27/artdawg91/stocks/ http://s197.photobucket.com/albums/aa214/Abject_Stock/ http://s208.photobucket.com/albums/bb213/creatiXstock/ http://s172.photobucket.com/albums/w2/Stocksof07/?start=0 http://s137.photobucket.com/albums/q224/Superman_93/STOCKS/ http://s93.photobucket.com/albums/l59/Slimeyy/Stocks/ http://s143.photobucket.com/albums/r126/Quarentine3/Stocks/ http://s199.photobucket.com/albums/aa296/enspyr3/Stocks/ http://smg.photobucket.com/albums/v472/KRey1369/ http://s124.photobucket.com/albums/p23/lenor_stocks/?start=0 http://s137.photobucket.com/albums/q224/Superman_93/STOCKS/ http://s27.photobucket.com/albums/c182/fox...ocks/?start=all http://s149.photobucket.com/albums/s72/one...fx-spot/Stocks/ http://s191.photobucket.com/albums/z106/ambition01/ http://s138.photobucket.com/albums/q250/Steel6/Stocks/ http://s9.photobucket.com/albums/a82/coolplayer2k3/Stocks/ http://s125.photobucket.com/albums/p52/muppetstock/ http://s123.photobucket.com/albums/o281/defusion-stocks/ http://s50.photobucket.com/albums/f314/palegfx/stocks/ http://s114.photobucket.com/albums/n241/Luquicas/Stocks/ http://s93.photobucket.com/albums/l59/Slimeyy/Stocks/ http://s180.photobucket.com/albums/x6/LEGOstocks/ http://s5.photobucket.com/albums/y189/Draggin/Stocks/ http://s114.photobucket.com/albums/n277/WisdomStocks/ http://s79.photobucket.com/albums/j127/theelliptic/stock/ :arrow: DEVIANT's http://cb-stock.deviantart.com/ http://piratequeen-stock.deviantart.com/gallery http://silentgod88.deviantart.com/gallery/ http://impulse-stock.deviantart.com/gallery/ http://inkstick86.deviantart.com/gallery/ http://tragicstock.deviantart.com/gallery/ :arrow: SITE'S / Outros Global women celebs: http://www.santabanta.com/wallpapers/parent.asp?catid=8 Asian celes -female: http://www.santabanta.com/wallpapers/parent.asp?catid=2 Sport stocks: http://www.santabanta.com/wallpapers/parent.asp?catid=11 global celebs male: http://www.santabanta.com/wallpapers/parent.asp?catid=7 nature stocks: http://www.santabanta.com/wallpapers/parent.asp?catid=21 http://www.eoloperfido.com/portfolio.htm http://www.yanickdery.com/index2.htm http://www.richardwarrenphotos.com/ http://www.cartright.com/portfolio/index.html http://www.socksoff.co.uk/walls01.html http://www.stockvault.net/gallery.php?gid=10 http://usemycomputer.com/indeximages/women/ http://www.freefoto.com/index.jsp http://www.virtualhosting.com/blog/2007/10...e-stock-images/ http://www.sxc.hu/home http://www.flickr.com/photos/le-hiboo/ http://www.freerangestock.com/FRS_catalog1...93c1fdbf5aab6bf http://www.flickr.com/photos/delgoff http://www.paxxion.it/search.do?sfpc=sfpc&...lorePrevalente= http://www.artisticinfluence.com http://browse.deviantart.com/resources/stockart/ http://mayang.com/textures/ http://neuromancerwp.free.fr/ http://sdb.neuropod.net/ http://www.allmoviephoto.com/ http://www.allwallpapers.ru/ http://www.dowwallpaper.com/ http://www.dpchallenge.com/photo_browse.ph...ecentlyuploaded http://www.everystockphoto.com/ http://www.fashionmodeldirectory.com/ http://www.fotoplanete.com/files/fotoplanete.html http://www.flickr.com/ http://www.gamewallpapers.com/ http://www.gamewallpapers.ru/ http://www.imageafter.com/ http://www.iphotoshop.org/renders/ http://www.jibanwebsite.hpg.ig.com.br/pape.../jbn_girls1.htm http://www.joblo.com/wallpapers_archive.ph...;first_letter=d http://lebris.cedric.free.fr/hidden/wallpapers/ http://www.massconcerts.com/photos.html http://www.maximumwall.com/index.php/ http://www.moviemaze.de/media/wallpaper/ http://www.morguefile.com/ http://www.officialpsds.com/ http://www.nes-snes-sprites.com/ http://www.panelmonkey.org/ http://www.pixelperfectdigital.com/ http://www.planetrenders.net/ http://www.psdprotocol.com/ http://www.psdspy.com/ http://www.render.try.hu/ http://www.render-world.com/ http://www.rollingstone.com/ http://www.sarahsfreescans.com/scansgallery/index.php?cat=3 http://www.skins.be/ http://www.spriteaholic.com/index2.php http://www.surrealdesignz.com/psds.php http://www.supermodels.nl/ http://www.superiorpics.com/ http://www.sxc.hu/ http://www.theplace.ru/ http://www.usemycomputer.com/indeximages/ http://www.yanickdery.com/index2.htm http://www.yotophoto.com/ http://www.yanickdery.com/index2.html http://www.artisticinfluence.com http://www.iphotoshop.org/renders/ http://webshots.com/ http://www.freephotosbank.com/ http://www.unprofound.com/ http://www.fotosearch.com/ http://usemycomputer.com/indeximages/ http://mullerphoto.com/ http://www.sxc.hu/ http://www.inmagine.com :arrow: Non-Realistic/concept-art http://www.jamesryman.com/ http://www.jaestudio.com/JAE-2004-Books.html http://fantasygallery.net/ :arrow: Movies: http://filmforce.ign.com/ http://www.allwallpapers.ru/ :arrow: Games: http://www.gamewallpapers.ru/ http://www.gamewallpapers.com/ http://www.cheathappens.com/ http://lebris.cedric.free.fr/hidden/wallpapers/ :arrow: Real Life: http://creative.gettyimages.com/source/home/home.aspx http://www.jakegarn.com/index.html http://www.davidbyun.com/ http://www.mullerphoto.com/ http://usemycomputer.com/indeximages/women/ http://www.ropeofsilicon.com/stills/index.php http://www.fotocommunity.de/ http://allmoviewalls.com/ http://www.elegancepixelfied.com/photos.htm http://www.visualaddiction.net/ http://www.skins.be/page/ http://www.davidbyun.com :info: Crédito pela lista: alesduk :XTibia_smile:1 ponto
-
recarregar SOFT e firewalker BOOTS por comando. SCRIPT: --[[ script By Subwat Repair soft e firewalker boots!]]-- function onSay(cid, words, param) local config = { price = 20000, new_soft = 6132, -- id da nova soft boots worn_soft = 10021, -- id da velha soft boots new_firewalker = 9933, -- id da firewalker boots worn_firewalker = 10022, -- id da velha firewalker boots needPremium = true -- se precisa ser premium (true or false) } if (config.needPremium == true) and (not isPremium(cid)) then doPlayerSendTextMessage(cid, 23, "only premium players can use that command.") return TRUE end if param == "soft" or param == "soft boots" then if getPlayerItemCount(cid, config.worn_soft) >= 1 then if doPlayerRemoveMoney(cid,config.price) == TRUE then doPlayerRemoveItem(cid,config.worn_soft,1) doPlayerAddItem(cid,config.new_soft, 1) doPlayerPopupFYI(cid,"you recharged your pair of soft boots!") end end return TRUE end if param == "firewalker" or param == "firewalker boots" then if getPlayerItemCount(cid, config.worn_firewalker) >= 1 then if doPlayerRemoveMoney(cid,config.price) == TRUE then doPlayerRemoveItem(cid,config.worn_firewalker,1) doPlayerAddItem(cid,config.new_firewalker, 1) doPlayerPopupFYI(cid,"you recharged your firewalker boots!") end end return TRUE end end TAG: <talkaction words="!repair;/repair" script="repair.lua"/> comando funciona assim você digita !repair soft boots,!repair firewalker boots ,ele repara suas botas por 20k. créditos: subwat1 ponto
-
• Peça Seu Tutorial De Internet Compartilhada • Olá usuários do XTibia, hoje eu criei este tópico com o objetivo de ajudar vocês criando um tutorial ensinando como desbloquear em seu modem as portas 7171, o que é muito importante para um usuario que possua internet compartilhada. Você deve pedir para mim o tutorial de seu modem, preencha este formulário: • Tutoriais Entregues:1 ponto
-
Ola Galerinha Do Xtibia , Venho Aqui Trazer Meu Mapa Editado! Ele Contem: Imagens: Crystal Onix Cave: Charizard Valley Pvp Zone Ice Island Desert Saffari O Mapa Ja Vem Com Respown De "POKEMONS SELVAGENS", Duvidas - Criticas - Elogios... Aceitos! Comentem! :button_ok: Download: Scan: [VirusTotal] [Mapa] ~Stigal Creditos: [50%] Criador Do Mapa Dash v.6 [50%] Stigal (Eu)1 ponto
-
[Gesior Acc] Vendedo Vip Pelo Pacc
leokjba reagiu a Natanael Beckman por um tópico no fórum
Pra quem usa Gesior ACC! Boa galera, vejo que tem uma grande quantidade de pessoas que necessitam desse sistema para seu OTserv. Depois varias tentativas, pesquisas, conseguir concluir os coder necessarios com ajuda de um amigo de outro fórum o Samme. Vamos lá... Como não o tem o que explicar e nem precisa, apenas faça isso: Vai até htdocs/shopsystem.php, procura por: if($buy_offer['type'] == 'pacc') Selecione todos esse coder a seguir: if($buy_offer['type'] == 'pacc') { $player_premdays = $buy_player_account->getCustomField('premdays'); $player_lastlogin = $buy_player_account->getCustomField('lastday'); $save_transaction = 'INSERT INTO '.$SQL->tableName('z_shop_history_pacc').' (id, to_name, to_account, from_nick, from_account, price, pacc_days, trans_state, trans_start, trans_real) VALUES (NULL, '.$SQL->quote($buy_player->getName()).', '.$SQL->quote($buy_player_account->getId()).', '.$SQL->quote($buy_from).', '.$SQL->quote($account_logged->getId()).', '.$SQL->quote($buy_offer['points']).', '.$SQL->quote($buy_offer['days']).', \'realized\', '.$SQL->quote(time()).', '.$SQL->quote(time()).');'; $SQL->query($save_transaction); $buy_player_account->setCustomField('premdays', $player_premdays+$buy_offer['days']); $account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']); $user_premium_points = $user_premium_points - $buy_offer['points']; if($player_premdays == 0) { $buy_player_account->setCustomField('lastday', time()); } $main_content .= '<center><h2>Premium ACcount added!</h2><b>'.$buy_offer['days'].' days</b> of Premium Account added to the account of player <b>'.$buy_player->getName().'</b> for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br><br><a href="index.php?subtopic=shopsystem">Go to Shop Site</a><br>'; } E substiuir por: Vipsystem by Mock and Lukeskywalker if($buy_offer['type'] == 'pacc') { $player_vip_time = $buy_player_account->getCustomField('vip_time'); $player_lastlogin = $buy_player_account->getCustomField('lastday'); $save_transaction = 'INSERT INTO '.$SQL->tableName('z_shop_history_pacc').' (id, to_name, to_account, from_nick, from_account, price, pacc_days, trans_state, trans_start, trans_real) VALUES (NULL, '.$SQL->quote($buy_player->getName()).', '.$SQL->quote($buy_player_account->getId()).', '.$SQL->quote($buy_from).', '.$SQL->quote($account_logged->getId()).', '.$SQL->quote($buy_offer['points']).', '.$SQL->quote($buy_offer['days']).', \'realized\', '.$SQL->quote(time()).', '.$SQL->quote(time()).');'; $SQL->query($save_transaction); if($player_vip_time > 0) $buy_player_account->setCustomField('vip_time', $player_vip_time + $buy_offer['days'] * 86400); else $buy_player_account->setCustomField('vip_time', time() + $buy_offer['days'] * 86400); $buy_player_account->setCustomField('premium_points', $user_premium_points-$buy_offer['points']); $user_premium_points = $user_premium_points - $buy_offer['points']; if ($player_vip_days >= 1) { } $main_content .= '<center><h2>VIP Days added!</h2><b>'.$buy_offer['days'].' days</b> of VIP days added to the account of player <b>'.$buy_player->getName().'</b> for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br><br><a href="index.php?subtopic=shopsystem">Go to Shop Site</a><br>'; } Vip system by Kydrai. if($buy_offer['type'] == 'pacc') { $player_viptime = $buy_player_account->getCustomField('viptime'); $player_lastlogin = $buy_player_account->getCustomField('lastday'); $save_transaction = 'INSERT INTO '.$SQL->tableName('z_shop_history_pacc').' (id, to_name, to_account, from_nick, from_account, price, pacc_days, trans_state, trans_start, trans_real) VALUES (NULL, '.$SQL->quote($buy_player->getName()).', '.$SQL->quote($buy_player_account->getId()).', '.$SQL->quote($buy_from).', '.$SQL->quote($account_logged->getId()).', '.$SQL->quote($buy_offer['points']).', '.$SQL->quote($buy_offer['days']).', \'realized\', '.$SQL->quote(time()).', '.$SQL->quote(time()).');'; $SQL->query($save_transaction); if($player_viptime > 0) $buy_player_account->setCustomField('viptime', $player_viptime + $buy_offer['days'] * 86400); else $buy_player_account->setCustomField('viptime', time() + $buy_offer['days'] * 86400); $buy_player_account->setCustomField('premium_points', $user_premium_points-$buy_offer['points']); $user_premium_points = $user_premium_points - $buy_offer['points']; if ($player_vip_days >= 1) { } $main_content .= '<center><h2>VIP Days added!</h2><b>'.$buy_offer['days'].' days</b> of VIP days added to the account of player <b>'.$buy_player->getName().'</b> for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br><br><a href="index.php?subtopic=shopsystem">Go to Shop Site</a><br>'; } Bom, esse sistema funciona perfeitamente. E lembre-se na sua database tem que ter vip_time na tabela account. Espero acabar com o pesadelo de varias pessoas ;DD1 ponto -
Pack De Pokemons Shiny [Em Formato .idc]
devildgs reagiu a BruninhooAngel por um tópico no fórum
Olá Novamente Galera, Estou aqui em meu 2º Post no Xtibia para postar mais uma exclusividade que acabei de fazer, é o: PACK DE POKEMONS SHINYS que eu criei para maior inovaçao nos servidores de poketibia [pokemon online] Logo Abaixo Colocarei Um Tutorial De Como Colocar As Sprites Em Seu Client De Pokemon :smile_positivo: Screenshots No Final Do Topico Obs: Links De Download No Final Do Tópico Tutorial: O Pack Contém: Nova Pokedex ; Shiny Venusaur ; Shiny Starmie ; Shiny Pinsir ; Shiny Chancey ; Shiny Licktung ; Shiny Snorlax ; Shiny Tentacruel ; e Shiny Nidoking ! Screenshot Dos Pokémons [Obs: eu tirei a SS deles no dat editor no jogo e totalmente melhor e mais inovador :smile_positivo: [Obs: Os pokemons com fly ; ride ; surf ; etc... 80% dos meus posts com eles vai vir junto a sprite dele no fly ; ride ; surf ; seja o que for [Nesse topico mesmo o venusaur shiny tem o ride, starmie e tentacruel surf, etc...] ] OBS: Se estiver em area errada me desculpe, como disse no começo do topico esse é meu 2º topico no Xtibia e nao tenho muita noçao das areas :neutral: #Agora O Mais Importante, Os Downloads: Dat Editor: Clique Aqui! Pack De Shiny Sprites: Clique Aqui! Scan Pack De Shinys: Clique Aqui! Te Ajudei? Gostou Do Tópico? Clique No "+" Verdinho Ali Em Baixo :button_ok: Meu Fã? Use:1 ponto -
Veja bem, aqui você vai aprender a instalar uma versão não oficial do RME 8.7, eu já vou avisando que não é recomendado o uso por usuários iniciantes, de qualquer forma, todos podem instalar, basta seguir os passos do tutorial. Fiz até um video explicativo, fica impossivel não conseguir fazer. Imagem por: kudzu1988 0.1 - Faça uma cópia de segurança antes de substituir QUALQUER COISA. 1 - Primeiro, instale o Tibia 8.7. Caso não o tenha, baixe AQUI 2 - Abra o RME 3 - Crie um novo mapa 8.60 (CTRL + P) 4 - Vá em File > Preferences > Client Versions 5 - Desmarque "Check File Signatures" 6 - Na mesma janela, em "Version 8.60 search patch", clique em Browse e encontre a pasta do tibia 8.70. Dê OK mas não feche o RME 7 - Download o OTB 8.7 Clicando Aqui.. 8 - Copie e cole o items.otb que você acabou de baixar na pasta C:\Arquivos de Programas\Remere's Map Editor\data\860\ e substitua o já existente. Copie também os arquivos "extensions_byzbizo_87" e "extensions_byzbizo_full v110 for 862" para a pasta C:\Arquivos de Programas\Remere's Map Editor\data\860\extensions. 9 - Abra a janela do RME (Que você não deve ter fechado) e aperte f5. Caso foi solicitado a pasta 8.60, vá na pasta 8.70. ATENÇÃO! Depois de fazer isso, se você tentar abrir qualquer outro mapa 8.7 irá aparecer a seguinte mensagem: ERROR Unsupported client version! (8) ERROR Error loading map! Para contornar o erro, basta abrir o RME normalmente, criar um novo mapa (CTRL + N), depois vá em File > Import > Import Map, verifique se está tudo assim: Depois é só clicar em Browse e carregar o seu mapa. Você também pode ver o video, que contem a mesma explicação. (Veja em tela cheia) Créditos: Alissow, Remere, Zbizu1 ponto
-
[Pokemon] Alguns Npcs + Scripts Deles
Emingardo reagiu a BrunooAngel por um tópico no fórum
Olá Galera Do Xtibia, hoje vim aqui trazer um pacotao inovador de npcs para seu servidor de pokemon online [poketibia] {LINKS DE DOWNLOAD NO FINAL DO TOPICO} Quais Npcs o Pacotão Contém? Downloads: Pacotão De Npcs By Bruninhoo: Clique Aqui! Scan: Clique Aqui! [u][i]"] Gostou, Te Ajudei ?? REP+ :button_ok:1 ponto -
Mapa Pokémon [8.5] Svke. Versão 2.
leinadlol reagiu a LaisDosOts por um tópico no fórum
Trago a vocês o primeiro mapa divulgado da Svke. Estava com esse mapa a um tempinho, então vou postar, mas não é meu ^^ V2 Adicionada, baixem a nova versão: Créditos: MappingShow (Fórum americano) Donwload V2: Aqui. Scan: Aqui. Screenshots do Update (Versão 2): Espero que gostem. Se eu não me engano esse mapa é do WPO, mas vou ficar com a dúvida, pois onde eu baixei, como já dito, não tinha créditos nem descrição. Abraços =D1 ponto -
[8.54] Mapa Pokemon Betinhowz666 V1.5
4Espada reagiu a betinhowz666 por um tópico no fórum
Olá, sei que estavam esperando pela v2, mais como aquele mapa estava dando muitos debug's pelas pessoas não usarem aquele cliente, resolvi adapta-lo a outro serve que é mais conhecido e atual do momento que é o PFGuuhTorres, creio eu que este mapa também irá dar certo em pokemons que usem como base o Dash ou mais conhecido como Fight. Esta atualização foi visada em retirar bugs e debug's, para melhorar a jogabilidade. Fiz alterações em algumas áreas mais nada que seja extraordinário. Uma das atualizações que fiz foi apenas o cp da city 1. Que agora está assim. Fiz alterações no PVP que também era alvo de debug's Está faltando muitos detalhes, mais irei melhorar sem dúvidas. O que falta configurar que vocês podem fazer sozinho ? apenas configurar os teleportes do CP para o PVP e vise versa. (fora o spawn) O que estou planejando para a v2 ? 2 ou 3 novas cidades com hunt's e 5 novas ilhas, talvez a v2 virá com o spawn, pois ésta ainda não esta. Informações adicionais. Segue download do mapa e scan. http://www.4shared.c...wz666_v15.html? Peço que algum faça o scan para min, pois não estou conseguindo entrar no site. Usei o cliente do PFGUUHTORRES V4, se você usar outro tera que fazer poucas modificações como por exemplo a mesa do cp que fica envolta da nurse, do mark. Créditos: PeeWee - por fazer a primeira cidade. GuuhTorres - pelas spr, dat, e suporte. betinhowz666 - por estar evoluindo o mapa.1 ponto -
Solução Para Clone Items!
KennyConrad reagiu a gareme por um tópico no fórum
Boa galera... Como o clone items é realizado devido um player salvar e o outro não, decidi ir em busca de um script que resolva esse problema. Vamos nois. Vai em otserv/data/globalevents/scripts: Copia um arquivo .lua e renomeia ele pra saveplayer.lua Adicione nele este coder: Agora vai até globalevents.xml adiciona essa tag: Explicando... Com esse sistema o player que estiver online estará sendo salvo de 30 em 30 segundos, com isso ficará impossivél de ocorrer clone items. Isso também é bom para prolongar o seu serversave, e te livra das grandes travadas no seu servidor de hora em hora.1 ponto -
1°Como ser um excelente Mapper. Galera vamos lá, aqui encinaremos a ser um excelente mapper. Dicas Primeiro, duas regras básicas básicas: - Nunca copie mapas de ninguém, isso mostra que você não tem criatividade e não serve para mapear.(ripping) - Nunca fique várias horas sentado em frente ao computador mapeando, 2 horas no máximo, se ficar mais, você poderá se cansar rapidamente, e perderá a criatividade. Uma boa forma de fazer mapas novos, inovadores, é sempre detalhá-los muito bem, mas não exageradamente, construir coisas novas, hunts diferentes, quests com scripts mostram que o seu server tem um bom roleplay. Se você não tiver criatividade para mapear, saia de casa, vá ao shopping, vá andar pela rua com os amigos e namorada(o), se divirta. Vendo a paisagem, você poderá ganhar sua criatividade de volta Dicas para um bom mapper: Nunca faça áreas quadradas, isso deixa seu mapa com um aspécto horrível, e nenhum player irá entrar no seu server, apenas você mesmo :X Sempre que for mapear, tenha um scripter ou RPG Maker te ajudando, com isso você ganhará mais criatividade e fará uma coisa nova, sem copiar nada de ninguém. ( Não é preciso, só estou dando uma dica ) Se o seu OT for de EXP alta, peça para algum scripter ou você mesmo se souber, criar monstros novos para você e adicionar no mapa, isso irá chamar a atenção dos players de seu server. Não faça um templo ou area de hunt quadrada, nem muito menos um caminho reto, isso deixa seu OT feio e seus players não vão gostar. Se o seu OT for EXP baixa, não coloque vários monstros juntos, nem um monstro fraco junto com um monstro forte, exemplo, uma torre de orcs com dragons, assim, os players de level baixo não vão conseguir caçar lá, exceto se for algum local especial, alguma quest, assim mostrará que aquela area é um local para jogadores experientes, e que ele não aguentaria ir lá sozinho, mas sim com um grupo para lhe ajudar. Nunca coloque monstros fortes na saída da cidade, ou até mesmo dentro da cidade, como demons, dragon lords, etc, assim os players nem vão sair do templo ou do DP :X Nunca faça um mapa correndo, demore o máximo de tempo possível para fazê-lo, pelo menos o resultado dele poderá ser um sucesso, atraindo vários players! Não faça areas sem nexo, exemplo, uma cidade do gelo com lava no meio, uma cidade destruida e pegando fogo com gelo tampando boa parte das areas. Não coloque vários monstros grudados em seu mapa, se você for caçar e derrepente encontrar 700000 demons quase no mesmo sqm, acho que você não gostaria de morrer assim né ? Não coloque árvores de baixo d'agua, muito menos LAVA numa cave de rotworms... -.-' Coloque vegetação no seu mapa, umas graminhas aqui, outra ali, mas não exagere. Faça quests bem elaboradas, com um bom RPG, e de preferencia, que demore bastante tempo e precise de vários players para completá-la, um exemplo é a POI (Agora você vai precisar de um scripter e RPG Maker ) Sua hunt não pode ser uma area muito grande nem muito pequena, faça uma area de acordo com o tamanho do seu mapa, se for uma quest, procure detalha-la bem, e tente colocar muitos mistérios nela, assim seu OT poderá bombar rapidamente Exemplo em fotos: Não é feio? Assim é melhor! Olha que quest sem graça Desse jeito fica mais legal não acha? Seguindo essas regras, você terá um ótimo mapa, um ótimo OT, e ainda poderá ficar famoso pela sua criatividade nos mapas Espero que tenham gostado dessas dicas, foram 100% digitadas POR MIM, sei que já tem vários tutoriais sobre o mesmo assunto, mas resolvi fazer esse aqui mesmo assim. Créditos: ~Luquinhas ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2°Problema Tibia 8.60/RME, a Solução! Ultimamente tenho visto que muitas mappers estão tendo problemas com o RME e o Tibia 8.60, por isso, criei esse tutorial. Muitas pessoas quando abrem um mapa 8.60, o RME pede pra encontrar a pasta do Tibia 8.60, onde ficam arquivos essenciais pro RME funcionar, assim quando a pessoa encontra a pasta com tudo em ordem, o RME continua pedindo pra encontrar a pasta, vou ensinar como arrumar isso. 1: Baixe o arquivo .rar: Clique Aqui! Bom gente,desculpe não fazer o Scan mais é que demora 50 minutos para fazer o scan pois está bugado, e no final sempre buga. Caso acha que tem vírus não baixe. 2: Descompacte a pasta em qualquer lugar que você quiser. 3: Abra o RME. 4: Coloque para abrir um mapa 8.60, ou coloque para começar a fazer um mapa 8.60 5: Quando ele pedir pra encontrar a pasta do tibia 8.60, coloque pro RME encontrar o Tibia.spr e o Tibia.dat nessa pasta que você descompacto. Bem, fazendo isso, funcionou comigo, qualquer critica me comunique. Créditos: Merdago - ###### e Eu =) Obrigado =) Xtibia rulex!1 ponto
-
(Action) - Item Por Alavanca
chokitorush reagiu a RafaelSytros por um tópico no fórum
Olá para todos, eu so novo por aqui entao é isso ae eu so novo ^^ Eu procurei essa action que nem loco, meu amigo fez um dia e eu queria muito mais nao encontrei então... eu decidi fazer, espero que gostem. Antes eu só queria dizer mais uma coisa...HEHE... Eu estudei uma horinha vendo um tutorial aqui no Xtibia, e queria dizer que é facilimo! Basta dedicaçao e vc sera capaz de fazer seus scripts, sem precisa usa Ctrl c, Ctrl v... Meu primeiro Script!! entao peguem leve ae... brinks... Se tiverem criticas e talz Comentem eu realmente ficarei feliz, porque assim eu poderei revisar e aprender mais! bom é isso xD Obs: TheForgottenServer 0.4.0 Testado e funciona! Bom vamos a o script.. Oque ele faz? Ele te retira um item e te da outro, mas, só se voce tiver um X item, se não a troca nao sera feita, espero que tenham intendido pelo armor de deus.... Outra coisa... PORQUE que eu fiz esse script? Porque eu tenho um Otserver e nele eu fiz uma segunda moeda um segundo dinheiro o Gold ingot... Fiz com intençao de trocar um gold ingot por um full iten aqui do meu ot. O script abaixo é um Ctrl V do meu aqui nao editei nada para postar aqui no xtibia, com é isso só to falando isso para nenhum neguinho vir dizer q ele q fez esse script e nao sei uq mais... sabem como é plágio é FODA! hehe. Crie um arquivo alavancaitem.lua ou com outro a sua escolha e coloque: --- RafaelSytros --- function onUse(cid, item, frompos, item2, topos) local item_id = 9971 if item.itemid == 1946 then doTransformItem(item.uid,1945) elseif item.itemid == 1945 then doTransformItem(item.uid,1946) end if item.uid == 6656 then if getPlayerItemCount(cid,item_id) >= 1 then doPlayerRemoveItem(cid, 9971, 1) doPlayerAddItem(cid, 7881, 1) doSendMagicEffect(topos,14) doPlayerSendTextMessage(cid,22,"Você Trocou um Golden ingot por um iten!") doSendAnimatedText(getPlayerPosition(cid), "GRATEZ!", TEXTCOLOR_RED) else doPlayerSendTextMessage(cid, 22, "Você precisa de um gold ingot para fazer isso") end else return 0 end return 1 end E no arquivo actions.xml adiciona essa linha: <action uniqueid="6656" event="script" value="alavancaitem.lua"/> Obs: o Uniqueid ali tem que ser o que voce vai por no seu script né!! dããã Explicando... Muita atenção nessa hora, quando voce for edita tenha cuidado para nao haver complicaçoes em seu script. Edite os IDs, pondo corretamente e talz... bom ninguem é tao lezado para nao intender, alem do mais eu explico as funçoes logo mais embaixo e talz. Quem não intendeu alguma coisa basta pergunta que eu se puder certamente irei responde as duvidas. Bom é isso. Vamos la entao.... local item_id = 9971 - Aqui voce poe o ID do item que precisa ter para trocar pelo outro. if item.uid == 6656 then - Aqui é o uniqued né... esse numero é unico é oque você vai por na alavanca no map. doPlayerRemoveItem(cid, 9971, 1) - Aqui o ID do item que ele vai remover, no caso o mesmo ID do item que precisa ter para a troca. doPlayerAddItem(cid, 7881, 1) - Aqui o ID do item que você vai ganhar. Explicando o Script, porque essas funções e pah!... function onUse(cid, item, frompos, item2, topos) local item_id = 9971 if item.itemid == 1946 then doTransformItem(item.uid,1945) elseif item.itemid == 1945 then doTransformItem(item.uid,1946) end if item.uid == 6656 then if getPlayerItemCount(cid,item_id) >= 1 then doPlayerRemoveItem(cid, 9971, 1) doPlayerAddItem(cid, 7881, 1) doSendMagicEffect(topos,14) doPlayerSendTextMessage(cid,22,"Você Trocou um Golden ingot por um iten!") doSendAnimatedText(getPlayerPosition(cid), "GRATEZ!", TEXTCOLOR_RED) else doPlayerSendTextMessage(cid, 22, "Você precisa de um gold ingot para fazer isso") end else return 0 end return 1 end -Explicaçao- Aqui ele checa se voçê tem o item... Aqui é o "digamos" o efeito da alacanva... Aqui sao os as mensagens que ira aparecer quando voce puxar a alavance e trocar os itens... Aqui a mensagem que ira aparecer quando voce nao tiver o item para fazer a troca. Aqui ele vai adiciona um item e remover um item. Aqui é o efeito. Bom é isso espero ter explicado o script. Quem não intendeu alguma coisa basta pergunta que eu se puder certamente irei responde as duvidas. ² Créditos do script 100% meus.1 ponto -
[Tutorial] Como Criar Seu Ot Serv - Sem Erros !
GothAmalthea reagiu a ltrolez por um tópico no fórum
Primeiro : Liberar As Portas [7171,7172]. Vai No "Iniciar" Depois Va em Painel De Controle. Va em Firewall Do Windows. Depois de ir em "Firewall Do Windows, voce vai em execuções e depois em "Adicionar Portas". No Nome Voce Põe : "Open Tibia Server". No Portas voce Põe : "7171". Depois Vai Ter Duas Opções : "TCP" E "UDP" Voce poe "TCP". Depois De Adicionar A Porta 7171 voce vai adicionar a porta 7172. Voce Faiz Igualzinho esta ai em cima /\, Só que Invez de "7171 Voce Poe 7172 nas PORTAS". Segundo : Baixar O mapa e Configurar a "Pasta .Lua" Primeiro Voce Baixa O Mapa é Claro !! Vou Dar 2 Mapas Bons : 1º Global : http://www.4shared.com/get/5RZ_OO6e/Global_860.html 2º Baiak : http://www.mediafire.com/?xwk4k5lwky6gcqn Bom Voce Ja Baixou agora vamos configurar a pasta .LUA ; Vamos criar o ip fixo : Vai No Site : www.no-ip.com Crie a Conta , Depois de criar Voce Loga e vai e, Hosts/redirects e depois em ADD Host; Crie Seu HostName Só isso e clique em ADD Host . Vai Na Pasta .Lua E procura isso : worldId = 0 ip = "O Ip Que Voce Criou voce poe aki" bindOnlyConfiguredIpAddress = false loginPort = 7171 gamePort = 7172 adminPort = 7171 statusPort = 7171 loginTries = 10 retryTimeout = 5 * 1000 loginTimeout = 60 * 1000 maxPlayers = 350 motd = "a mensagem de quando o player entra!!!" displayOnOrOffAtCharlist = false onePlayerOnlinePerAccount = true allowClones = false serverName = "o log do seu serv" loginMessage = "Aqui voce coloca a mensegem de quando eles forem entrar" statusTimeout = 5 * 60 * 1000 replaceKickOnLogin = true forceSlowConnectionsToDisconnect = false loginOnlyWithLoginServer = false premiumPlayerSkipWaitList = false Ai voce configura a sua stage e pronto !!! Seu servidor esta criado !!! So Por On. Por Favor + :button_ok: Se voce gostou !!! ++++ :button_ok: :button_ok: :button_ok: ae Por Favor sou novo no xtibia !!1 ponto -
Informação Bom pessoal,me baseando no servidor heroserv,que tem comandos parecidos,resolvi fazer um comando no qual você poderá comprar items donates e vende-los por comando,isso pode ser muito útil para otservers que vendam items VIPS. !sellitem este comando você poderá vender seus items VIPS por moedas VIP (vip coin). !buyitem este comando você poderá comprar items VIPS por moedas VIP (vip coin). segue abaixo os scripts,já tendo os items VIPS do heroserv,para venda e compra,mude as IDS conforme os items VIPS do seu server. COMANDO !buyitem function onSay(cid, words, param) if param == "wand" or param == "special wand" then if doPlayerRemoveItem(cid,11192,5) then doPlayerAddItem(cid,7424,1) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA) else doPlayerSendCancel(cid, 'voce nao tem este item.') doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FLAMEAREA) end end if param == "axe" or param == "special axe" then if doPlayerRemoveItem(cid,11192,5) then doPlayerAddItem(cid,8925,1) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA) else doPlayerSendCancel(cid, 'voce nao tem este item.') doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FLAMEAREA) end end if param == "club" or param == "special club" then if doPlayerRemoveItem(cid,11192,5) then doPlayerAddItem(cid,8929,1) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA) else doPlayerSendCancel(cid, 'voce nao tem este item.') doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FLAMEAREA) end end if param == "sword" or param == "special sword" then if doPlayerRemoveItem(cid,11192,5) then doPlayerAddItem(cid,8932,1) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA) else doPlayerSendCancel(cid, 'voce nao tem este item.') doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FLAMEAREA) end end if param == "arrow" or param == "special arrow" then if doPlayerRemoveItem(cid,11192,5) then doPlayerAddItem(cid,2352,1) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA) else doPlayerSendCancel(cid, 'voce nao tem este item.') doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FLAMEAREA) end end if param == "bow" or param == "special bow" then if doPlayerRemoveItem(cid,11192,5) then doPlayerAddItem(cid,8853,1) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA) else doPlayerSendCancel(cid, 'voce nao tem este item.') doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FLAMEAREA) end end if param == "hat" or param == "special hat" then if doPlayerRemoveItem(cid,11192,5) then doPlayerAddItem(cid,6096,1) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA) else doPlayerSendCancel(cid, 'voce nao tem este item.') doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FLAMEAREA) end end if param == "armor" or param == "special armor" then if doPlayerRemoveItem(cid,11192,5) then doPlayerAddItem(cid,6095,1) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA) else doPlayerSendCancel(cid, 'voce nao tem este item.') doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FLAMEAREA) end end if param == "legs" or param == "special legs" then if doPlayerRemoveItem(cid,11192,5) then doPlayerAddItem(cid,5918,1) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA) else doPlayerSendCancel(cid, 'voce nao tem este item.') doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FLAMEAREA) end end if param == "boots" or param == "special boots" then if doPlayerRemoveItem(cid,11192,5) then doPlayerAddItem(cid,5462,1) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA) else doPlayerSendCancel(cid, 'voce nao tem este item.') doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FLAMEAREA) end end if param == "shield" or param == "special shield" then if doPlayerRemoveItem(cid,11192,5) then doPlayerAddItem(cid,2527,1) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA) else doPlayerSendCancel(cid, 'voce nao tem este item.') doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FLAMEAREA) end end if param == "life" or param == "life scroll" then if doPlayerRemoveItem(cid,11192,5) then doPlayerAddItem(cid,11539,1) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA) else doPlayerSendCancel(cid, 'voce nao tem este item.') doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FLAMEAREA) end end if param == "mana" or param == "mana scroll" then if doPlayerRemoveItem(cid,11192,5) then doPlayerAddItem(cid,11523,1) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA) else doPlayerSendCancel(cid, 'voce nao tem este item.') doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FLAMEAREA) end end end tag: <talkaction words="!buyitem" script="buyitems.lua"/> COMANDO !sellitem function onSay(cid, words, param) if param == "wand" or param == "special wand" then if doPlayerRemoveItem(cid,7424,1) then doPlayerAddItem(cid,11192,5) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA) else doPlayerSendCancel(cid, 'voce nao tem este item.') doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FLAMEAREA) end end if param == "axe" or param == "special axe" then if doPlayerRemoveItem(cid,8925,1) then doPlayerAddItem(cid,11192,5) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA) else doPlayerSendCancel(cid, 'voce nao tem este item.') doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FLAMEAREA) end end if param == "club" or param == "special club" then if doPlayerRemoveItem(cid,8932,1) then doPlayerAddItem(cid,11192,5) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA) else doPlayerSendCancel(cid, 'voce nao tem este item.') doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FLAMEAREA) end end if param == "arrow" or param == "special arrow" then if doPlayerRemoveItem(cid,2352,1) then doPlayerAddItem(cid,11192,5) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA) else doPlayerSendCancel(cid, 'voce nao tem este item.') doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FLAMEAREA) end end if param == "bow" or param == "special bow" then if doPlayerRemoveItem(cid,8853,1) then doPlayerAddItem(cid,11192,5) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA) else doPlayerSendCancel(cid, 'voce nao tem este item.') doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FLAMEAREA) end end if param == "boots" or param == "special boots" then if doPlayerRemoveItem(cid,5462,1) then doPlayerAddItem(cid,11192,5) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA) else doPlayerSendCancel(cid, 'voce nao tem este item.') doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FLAMEAREA) end end if param == "legs" or param == "special legs" then if doPlayerRemoveItem(cid,5918,1) then doPlayerAddItem(cid,11192,5) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA) else doPlayerSendCancel(cid, 'voce nao tem este item.') doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FLAMEAREA) end end if param == "armor" or param == "special armor" then if doPlayerRemoveItem(cid,6095,1) then doPlayerAddItem(cid,11192,5) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA) else doPlayerSendCancel(cid, 'voce nao tem este item.') doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FLAMEAREA) end end if param == "hat" or param == "special hat" then if doPlayerRemoveItem(cid,6096,1) then doPlayerAddItem(cid,11192,5) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA) else doPlayerSendCancel(cid, 'voce nao tem este item.') doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FLAMEAREA) end end if param == "shield" or param == "special shield" then if doPlayerRemoveItem(cid,2527,1) then doPlayerAddItem(cid,11192,5) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA) else doPlayerSendCancel(cid, 'voce nao tem este item.') doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FLAMEAREA) end end end TAG: <talkaction words="!sellitem" script="sellitems.lua"/> Créditos: Subwat (Gean Riot) gostou da um REP+,se não puder tudo bem vou entender. valeu. Esqueci de falar do vip coin. vai em items.xml procura pela ID 11192 e poe isso. <item id="11192" name="vip coin"> <attribute key="description" value="item de credito para sellitem e buyitem." /> <attribute key="weight" value="10" /> </item>1 ponto
-
Magia Somente Para Players Vip
mdgabrielzim reagiu a Ablank por uma questão
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -3.9, 0, 2.6, 0) local distanceCombat = createCombatObject() setCombatParam(distanceCombat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(distanceCombat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatParam(distanceCombat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH) setCombatFormula(distanceCombat, COMBAT_FORMULA_LEVELMAGIC, -3.5, 0, -2.6, 0) function onCastSpell(cid, var) if getPlayerStorageValue(cid, 13540) - os.time() > 0 then if(variantToNumber(var) ~= 0) then return doCombat(cid, distanceCombat, var) end return doCombat(cid, combat, var) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não é vip") return false end end Veja se isto funciona. Troque MESSAGE_STATUS_CONSOLE_BLUE por outro tipo de msg se preferir!1 ponto -
[Encerrado] Socorro Erro No Db
f3li93darzan reagiu a patrickjean por um tópico no fórum
Você tem que tirar tudo!! Na real, isso nem eh erro de DB, eh debug no Script.... Você já ligou o OT dps q tirou os scripts?1 ponto -
[9.1] 4Fun Server
eriickandeerson reagiu a aguinho600 por um tópico no fórum
Ok'...Ganhou meu +REP pelo OT achei bom =D1 ponto -
[9.1] 4Fun Server
luccasspfc reagiu a Vmspk por um tópico no fórum
@aguinho600 Rlx, não é briga. Fui ver o tal tópico do ot dele, é mapa global, nada a ver com o meu. Ele deve ter vindo pra tentar aparecer, mas aí é só ignorar. @all Se alguém for adicionar alguma quest, eu usei os storages de 30301 até 30356.1 ponto -
Fala galera, estava fuçando a internet e descobri um novo jeito de criar um IP Fixo, sem ser no NO-IP! Este é um novo geito de fazer IP Fixo, ele é igualmente NO-IP, fas as mesma coisas que NO-IP, e ainda lhe oferecer um serviço de IP protegido, atrapalha um pouco a vida dos nukers. (Bom isso é pelo menos o que o site fala :]). Primeiramente entre no site: http://www.dyndns.com/ Depois de ter entrado no site você vai se cadastrar normalmente siga as fotos: Depois de ter se cadastrado no site, vamos cadastrar seu IP: Clique em "Add Host Service": Logo após iremos cadastrar seu IP Fixo, o processo é semelhante ao NO-IP. Depois de cadastrar basta clicar em "Add To Cart". Logo após clique em "Next >>" E depois basta clicar em "Activate Services >>". Pronto, você agora tem um novo IP Fixo É isso ae galera, os créditos vão inteiramente a mim porque descobri o site sozinho Uso esse IP para meu servidor e realmente ajudou bastante contra nukers, não sei se realmente funciona mais percebi uma diferença1 ponto
-
[Encerrado] [Ajuda] Ot Em Net Compartilhada Sem Hamachi Dsl 500B
Deehzinhoxx reagiu a SkyDangerous por um tópico no fórum
Seção errada amigo. Preste mais atenção !1 ponto -
eu acho q vai se bem loko ein ;D1 ponto
-
Em (data/NPC) você copia um script e troca de nome depois você adiciona o seguinte codigo... <?xml version="1.0" encoding="UTF-8"?> <npc name="Captain" script="data/npc/scripts/boat10.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="129" head="19" body="69" legs="107" feet="50" addons="0"/> <parameters> <parameter key="message_greet" value="Welcome on board, Sir |PLAYERNAME|. Where can I sail you today?"/> <parameter key="message_farewell" value="Good bye. Recommend us if you were satisfied with our service."/> </parameters> </npc> Depois va em (data/NPC/scripts) e adicione um arquivo chamado "boat10.lua" e adicione o seguinte código... local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) -- OTServ event handling functions start function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end -- OTServ event handling functions end -- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions! local travelNode = keywordHandler:addKeyword({'cidade'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to sail to Cidade for 100 gold coins?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 0, cost = 100, destination = {x=32734, y=31668, z=6} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'Then stay here!'}) keywordHandler:addKeyword({'sail'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can take you to Cidade.'}) keywordHandler:addKeyword({'job'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I am the captain of this ship.'}) keywordHandler:addKeyword({'travel'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can only take you to Cidade.'}) -- Makes sure the npc reacts when you say hi, bye etc. npcHandler:addModule(FocusModule:new()) Apenas mude a fala, dinheiro, e posição p/ onde deseja ir... Creditos: lucasbro Te Ajudei, +REP1 ponto
-
Bom olá XTbianos estou aqui para postar um tutorial de como botar montarias no seu ot server. (OBS: Desculpe se já tem um tópico desses pois procurei e não achei). explicando... Alguns servidores 8.70~9.1 ja tem os scripts, mas caso não tiver aqui estarei explicando como fazer tudinho. Primeiro, Mount Uteis para 9.10. pastadoot/DATA/XML copie um arquivo e renomeie para mounts Antenção! esses mounts são para versão 9.10. se quiser os da versão 8.70 ai vai: <?xml version="1.0" encoding="UTF-8"?> Ta, agora ta pronto, mas quando o player logar, ele não vai receber o mount, então vá em pastadoot/DATA/CREATURESCRIPTS/SCRIPTS copie um arquivo e renomeie para mountOnLogin Atenção! esse ai é para 9.10, para 8.70 ai vai: Bom é isso , Eu acho que irá ajudar muita gente. Se gostou da Rep+ :button_ok:1 ponto
-
Como Comprar Aol Por Alavanca, Me Ajude !
joaoscalise reagiu a xS0NYx por um tópico no fórum
Não, só no unique mesmo., aee me da repp se funfar ,-, eu tenho 01 ponto -
Pressione Ctrl e passe normalmente p/ retirar as Zones, mantendo o "Ctrl" pressionado... (Ctrl e um botão que geralmente fica de ambos os lados do espaço) Te Ajudei, +REP1 ponto
-
[Help] Mana Rune - Rep +
69768489 reagiu a joaoscalise por uma questão
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) setHealingFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 100, 80) function onCastSpell(cid, var) doSendAnimatedText(getPlayerPosition(cid), "Aaaah...", TEXTCOLOR_ORANGE) return doCombat(cid, combat, var) end Acho que é isto ! se nao for avise1 ponto -
agora clika no + no cantinho da tela. pra me ajudar.1 ponto
-
[Oficial] Refugia (8.60) 26/08/2012 0.0.8
BielzinhoMapper reagiu a Subwat por um tópico no fórum
se é perfeito da um rep+ ae1 ponto -
Bom Vou te passar um npc basico! <?xml version="1.0" encoding="UTF-8"?> <npc name="Joy" script="default.lua" walkinterval="1000" floorchange="0"> <health now="150" max="150"/> <look type="169" head="114" body="86" legs="114" feet="0" corpse="2212"/> <parameters> <parameter key="module_travel" value="1"/> <parameter key="message_greet" value="Oi |PLAYERNAME|. Eu te levo para outra cidade diga travel."/> <parameter key="travel_destinations" value="NOME DA CIDADE AKI,1861,1362,7,0"/> --os numeros e posiçao da city mude para onde vc quizer numero 0 e dindin mude se quizer </parameters> </npc>1 ponto
-
Formulario Html/php
wesley_world reagiu a pessoa93 por uma questão
Olá, preciso de um formulario simples com nome,email,assunto e mensagem para ser enviada por email via php. Aguardo respostas.1 ponto -
A trama se passa na atualidade. Bom, vou seguir os ensinamentos do livro de Max Brooks. 1- Infelizmente zumbis não sobem escadas. 2- Eles podem atrair outros zumbis quando avistam uma vitma. Bem, essa é a ultime resposta que eu dou nesse tópico, esse fim de semana, pretendo postar um tópico falando do progresso, de alguns sistemas, e o client para download. Sim! o client já está pronto! Sem mais, Wallacy.1 ponto
-
sim sim... me esqueci do erro no console... só acrescentar o return true antes do end da function onthink() lá no que eu postei xD Sou mais quando eu faço os scripts do zero do que quando arrumo1 ponto
-
[Pedido] Npc Seller
champzika reagiu a Tecnomancer por um tópico no fórum
1º vá ate data/npc e crie um arquivo xml pode dar copy e paste renomeie para Vip Seller e ponha isso dentro: <?xml version="1.0" encoding="UTF-8"?> agora vá até data/npc/script e crie um arquivo.lua com o nome de vipseller e ponha isso dentro: Em Vermelho é aonde o player vai ler quanto vai custar o item Em Azul é a quantidade de moedas vip coin que ele vai ter que dar pelo item Obs: se ajudei Rep+ Não custa nada =] se não posta que eu edito ele direitinho1 ponto -
Spell Parecido Com Hadouken Please!
guitarbipe reagiu a vitoor666 por um tópico no fórum
Ae cara tenta esse aki va em data/spells/scripts/attack e copie qualquer arquivo lua e renomeie para haduken,apague tudo q estiver dentro e cole isso: 0.52 E 0.68:vc pode altear por outros numeros dependendo da taxa de xp do seu ot (EX:1.00 a magia irá hitar mais) Continuado.Agora vá em data/spells/spells.xml e cole isso: LEGENDA: <instant name="Ryu Strike" = o nome da magia words="Haduken" = as palavras para efetuar a magia lvl="20" = o level para usar mana="30" = quanto demana vai gastar range="5" = a distancia q ai no caso são 5 sqm ta aqui a SS:haduken.bmp então é isso1 ponto -
Preciso De Uma Boots Reflection
admdestroyer reagiu a iagsousa por uma questão
Tente fazer assim: Abra o Items.xml la procure o item que vc quer e adicione essa linha de comando: Onde ta vermelho é o tipo de dano que ele vai refletir que neste caso são todos, o verde claro é o valor em porcentagem que ele vai refletira dakele tipo de dano, em azul é a chance de refletir que neste caso está 100%. vc pode mudar o all de reflectpercentall para reflectpercentice reflectpercentfire e assim sucessivamente para que ele sómente reflita danos de um unico elemento. Att. Iago EDIT: Eu ia eskecendo, se você tivesse procurado nos forums aki do XT vc teria achado1 ponto -
é em movements.xml exemplo: <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"/> aqui vc vai colocando as voc que vao usar o item: ... flw1 ponto
-
KKKKKKKKKKKKKKKKKKK Any ANy Ta se achando ja meu fiii-1 pontos
-
HUm legal vai la fazer seus tutoriaiszinho q tu ganha mais-1 pontos
-
Aonde briga? SKOAKOSOPAPKOOSPA-1 pontos
-
OLá Gostaria duma Sign Dessa img AKI Gostaria que tu fizesse uns efeitos por volta dela que não ficasse o fundo branco,poderia ser preto mais cheiro de cores seguindo o tema MUSIC e escrito embaixo Mapping Of Style AGradeço dês de já-1 pontos
-
-1 pontos
-
Como Mudar O Outfit Do Account Manager
Gabriel Couto reagiu a Mudrock por um tópico no fórum
Nossa cara você nem coloco meus Creditos ? BlackFire so eu , as Imagems Tudo Minhas , aff ? da meu Credito aff !-1 pontos