Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 09/16/12 em %
-
• SPR & DAT Pokemon 5° Geraçao - Stigal [Download]• • Menu: ├ Informações; ├ Download; ├ PrintScreen; └ Creditos. • Informações Basicas • • Download's • [Pokemon] SPR e DAT [Pokemons 5 Geração] (4shared) http://www.4shared.com/rar/E836cXv0/Pokemon_Sprite_5_Gerao_-_Stiga.html Sprite Editor [v1.3.0] (4shared) http://www.4shared.com/rar/ZQ1w2BpH/Stigal_-_Spriter_Editor.html? Scan [Pokemon] SPR e DAT [Pokemons 5 Geração] (Virus Total) https://www.virustotal.com/file/030d85e9fe0bb5cab4e8159e3247b86a633acb35dc0773a03effe17da08cef87/analysis/1347751884/ • Prints De Algumas SPR • • Creditos • Stigal - {Master}3 pontos
-
Pokemon Centurion Sem Lvl By Notle
matheusmitoms e um outro reagiu a notle2012 por um tópico no fórum
pokemon centurion sem level versão 854 Informações: scan do servidor link - https://www.virustot...sis/1347738982/ se quiser com level baixa do amigo cacaiu link - http://www.xtibia.co...emon-centurion/ como titulo ja disse é Pokemon Centurion modifiquei ele pra fica sem level como muitas pessoas fica pedindo Pokemon Centurion sem level agora já pode baixar ^.^ espero que gostei uma simples imagem eu sei que tem muito mais pokemon mais tirei uma foto rápida rsrs DOWNLOADS senha do god Creditos mais um bug encontrado boost machine não tava pegando vai em data\actions\scripts\boost.lua esse servidor e pra todos que queria Pokemon Centurion sem level que tentava deixa sem level e bugava tudo aqui bug fui arrumando as poucos tudo que encontrava comente galera2 pontos -
Obrigado, pelos elogios. sobre o tutorial, embreve farei e postarei no topico do nto ;32 pontos
-
[Oficial] Refugia (8.60) 26/08/2012 0.0.8
felipecaldas199 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!1 ponto -
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
-
Faz tempo que estou querendo colaborar com Xtibia, e hoje lá vai um mini tutorial para ajudar quem estiver com alguma dificuldade ao tentar abrir o seu map no remeres. Eu procurei diversos Tutoriais para tentar sanar meu problema com map editor, não encontrando nenhum que resolvesse eu fiz um teste e deu certo, e agora vou compartilhar. "Meu problema não era quando eu tentava criar um mapa do zero, mas sim quando eu queria editar os mapas de outros autores." para executar este tutorial eu usei o seguinte mapa: Map:> mastermap.otbm Autor:> Brun123 Tutorial: Se ao tentar abrir seu Map com o Remeres e ele aparecer com o "chão" vermelho em algumas partes, ou com partes do tibia como na imagem abaixo: Feche o Remeres e faça o seguinte: ►►Vá na pasta "C:\Arquivos de Programa\Remere's Map Editor\data\854" (Porque a pasta "854"?Essa é a pasta com os arquivos compatíveis com a versão do poketibia 8.54) Se você fizer tudo certo irá ver esses arquivos dentro da pasta: ►► Minimize esta pasta e agora vá em seu "Ot" ...data\ e copie os arquivos "items.xml" e "items.otb" e cole-os na pasta "C:\Arquivos de Programa\Remere's Map Editor\data\854" (vai perguntar se deseja substituir clique em ok) ►► Agora procure pelo arquivo "creatures.xml" na pasta do seu "Ot" e também cole-o na pasta "C:\Arquivos de Programa\Remere's Map Editor\data\854" e pronto. Atenção: para visualizar seu mapa e fazer edições nele abra-o diretamente sem abrir o Remere's por exemplo clique duas vezes em "mastermap.otbm" Ao abrir o mapa diretamente pelo Remeres ficará assim: Você só estará vendo seu minimap apertando a tecla "M", mas o resto do conteúdo não. Ao abrir seu mapa cicando duas vezes no ìcone "seu mapa.otbm" o Remeres irá carregar as configurações e aperecerá essa informação: Clique em "ok" e seu mapa será carregado. Depois poderá aparecer esta outra informação no seu editor: Caso essa mensagem apareça é por que o mapa foi salvo em uma versão mais antiga do Remeres e fica ao seu critério atualizar ou não. ►E como meu já disse abra seu mapa diretamente sem executar o Remere Clicando diretamente no icone do "seumap.otb": Você verá que seu mapa agora está completo sem nenhum erro! Mas espere, ao clicar em Pallete/Creature Pallete não estiver visualizando as imagens de seus pokemons, Shiny/pokes e nem dos NPC's então você deverá exporta-los: ►Vá no menu superior do Remere e Clique em "File" depois em "Import►Import Monsters/NPC..." Irá abrir uma janela para que você aponte onde estão esses arquivos tipo "xml". Eles estão em "...\data\monster\pokes" aperte "Ctrl+A" para selecionar todos os aquivos tipo "xml" depois clique em "Abrir". ►Faça a mesma coisa com os demais arquivos: Seus "NPC's" estão em "...\data\NPC" Carregue esses Arquivos também. Seus "Pokemons Shiny" estão em "...\data\monster\pokes\Shiny". Pronto tudo carregado com êxito e você pode editar o mapa do jeito que quiser. Meu primeiro Tutorial espero ter postado no lugar certo e que possa ajudar quem está com o mesmo problema que eu tive. Desculpem algum erro ou se fui muito repetitivo, pois eu vi que em alguns tutoriais tem muito Flood por causa dos usuários que não entenderam bem o que foi escrito. Falow ai galera, e quem sabe até um próximo tutorial ! Pasta Data do Remere's com as modificações do tutorial >> http://ads.tt/4ZGomA1 ponto
-
[Gesior] Adicionando Pagina De War Of Emperium
Sirarcken reagiu a Piabeta Kun por um tópico no fórum
Para quem for adicionar ao servidor esse evento e ainda não tem no site! Crie um arquivo .php chamado warofemperium.php e dentro coloque isso: Vá em index.php e adicione isso: Em layout.php adicione isso: Acima disso: E por fim execute essa Query e salve essa imagem em htdocs Pronto! Espero ter ajudado! Creditos: PiabetaMan011 ponto -
Outifit Guild / Outifit Party / Outifit Slot
Piabeta Kun reagiu a 1579091 por um tópico no fórum
Bom, hoje venho trazendo 3 scripts, claro, sei que os 2 primeiros se não me engano já existem aqui no xtibia. Porém o Outifit Slot não está aqui ainda e os outros 2 veêm com uma inovação. Vamos ao que interessa: ⁞⁞ • Outifit Party • ⁞⁞ Como funciona, é bem simples, ele troca o outifit dos membros da party: <talkaction words="!party" event="script" value="YourScriptName.lua"/> ____________________________ ⁞⁞ • Outifit Guild • ⁞⁞ Também funciona da mesma maneira do script acima, bããs, troca o outifit de todos os membros da guild (apenas leaders podem usar) <talkaction words="!guildoutifit" event="script" value="YourScriptName.lua"/> ⁞⁞ • Outifit Slot • ⁞⁞ Esta é a inovação perante aos 3 scripts. Bom o outifit slot funciona dessa maneira: O Player fala '!outifit 1, save' daí o outifit que ele estiver usando, salvará e daí ele pode salvar até 5 outifits. (!outifit 2, save) Para vestir a roupa após salvo, basta dizer !outifit 1. <talkaction words="!outifit" event="script" value="YourScriptName.lua"/>1 ponto -
Ola Xtibianos, Venho Postar o Sistema De CLANS Do "PokeXGames"... Arrumei Uns Problemas Neles e Agora So Podem Entrar Nos Clan Level 80+ Vamos Ao Tutorial Então: Vá a "Pasta Do Servidor > Data > Lib" Crie Um Um Arquivo.lua Nomeado Como "clan system" Adicione Isso Dentro Dele: Salve e Feche. Agora Vá a Pasta "NPC" e Crie Os Seguintes Npc's: Gardestrike Master Malefic Master Naturia Master Orebound Master Psycraft Master Raibolt Master Seavel Master Volcanic Master Wingeon Master Apos Criar Todos Feche e Salve. Agora Va Na Pasta "NPC > Scripts" e Crie Esses Arquivos.lua gardestrike master malefic master naturia master orebound master psycraft master raibolt master seavel master volcanic master wingeon master Salve e Feche. Agora Vá Na Pasta "XML" Abra o Outifits.xml e Adicione Isso Nele: Aviso: Modiciar o Outifit Id Conforme o Seu Servidor! Aviso2: Não Eskecer De Modificar os Looktypes Dos Clan e Dos Npc Conforme o Seu Client! Bom Se Acharem Algum Erro Fatal, Avisar... Mas Porinquanto é So Isso *-* Abraço, Espero Que Tenhão Costados! Creditos Base: Slicer. (Edição Inicial)1 ponto
-
Fazer Um Item Normal Virar Um Item Múltiplos
projectone reagiu a notle2012 por um tópico no fórum
para começar tutorial coloque tibia.spr e seu tibia.dat na mesma pasta do item editor se não ele não abre depois de abrir item editor seleciona items.otb depois procura seu item normal que vc quer deixar múltiplos exemplo to usando item 11441 marca essas 2 caixas pickupable [x] stackable [x] nota que item e 11441 na verdade ele é o item 10530 se for procurar no dat editor pronto agora pode aperta no file sava as.. escolhe lugar pra salva depois só substituir seu items.otb por esse novo pronto agora pode abrir dat editor seleciona o seu tibia.spr e seu tibia.dat que nem eu disse ai em cima procurar pelo numero 10530 no meu caso depois de achar item marca essas 3 caixa stackable [x] useable[x] pickupable [x] depois de fazer isso click em file save e click em compile só espera a barra depois só ir em data\items\items.xml procura o mesmo numero do item editor não do dat do item editor e 11441 no meu caso assim que achar vai ter algo assim <item id="11441" article="a" name="Leaf Stone"> <attribute key="description" value="A peculiar stone that may cause some pokemon to evolve." /> </item> vc tem que deixa assim <item id="11441" article="a" name="Leaf Stone" plural="Leaf Stones"> <attribute key="description" value="A peculiar stone that may cause some pokemon to evolve." /> </item> deixei VERDE pra facilita pra vc ver oq que foi modificado se fizer tudo certo quando logar na conta e criar item vai fica assim 100 em vez de 1 Programas Usados Item Editor 854 Dat Editor 854 Espero Que Gostem Do Tutor!!! Não Esquesao De Comentar1 ponto -
[Demo] Auction Npc
Napolitano reagiu a Vodkart por um tópico no fórum
Olá fiz este tópico para mostrar um npc que eu estive desenvolvendo hoje, é um npc de auction, vou explicar com algumas screen's: *Suporta servidores Sqlite e MySql* O Npc basicamente funciona da seguinte maneira, você "deposita" alguns items neste npc e durante "X" dias ele vende para você, claro que o npc irá cobrar "Y" preço pelo serviço: por exemplo vou depositar no npc 2 solar axe: (No meu caso ele vai me vender o item até o dia 20 de setembro como está ali na imagem) [+] Além disso você pode verificar os items que você depositou no npc: [+] Então para comprar basta falar dizer trade e selecionar o tipo de item que você quer comprar que o próprio npc irá selecionar para você: [+] Como eu tinha colocado somente 2 solar axe e se algum player exceder esse limite retorna uma mensagem: [+] Caso algum player compre o seu item você é avisado tanto offline como online: (Neste caso eu comprei as 2 solar axe que deu um total de 300000) [+] Para remover o dinheiro recebido pelo item basta ir no npc: [+] Ah Vod, mas se eu não vender os items oque acontece com eles? eles são enviados para o depot e você é avisado: Por enquanto é só isso, eu estava colocando mais uns items no npc para ver como fica: obs: tem 2 demon armor porque são de players diferentes xD1 ponto -
[Tfs 0.4][9.6 And Some Older] Offline Training - Bar (Barrinha 12:00H) Funcionando
Rodrigodias12 reagiu a 1579091 por um tópico no fórum
Training Offline Bom galera, hoje venho vos trazer um script que saiu no tão famoso e fodastico Offline Training. Créditos: * Gesior.pl [otland] Bom, primeiro tenho que dizer, que este bar, é a barra que mostra o tempo de treino, apenas nos clientes 8.6 por isso em diversas partes você irá encontrar algo como bar, que será respectivamente algo a ver com essa barra das 12 horas. Pelo que li na otland está escrito isso: Traduzindo: No início do 'lib' você tem configuração básica, aqui você pode reduzir / aumentar a habilidade / mlvl, 100 = 100% do normal [descrita acima]: Lua Code: (abaixo de configuração são funções que podem ser modificadas para se você quiser fazê-lo iniciar com outra ação, em seguida, "clique na estátua", exemplo: se o jogador início trainging sair em alguma área) First LUA scripts: ../data/lib/103-offline-training.lua Lua Code: ../data/actions/actions.xml XML Code: ../data/actions/scripts/offtrain_statue.lua Lua Code: ../data/creaturescripts/creaturescripts.xml XML Code: ../data/creaturescripts/scripts/offtrain_login.lua Lua Code: ../data/creaturescripts/scripts/offtrain_logout.lua Lua Code: ../data/globalevents/globalevents.xml XML Code: Caso versões antigas, trocar o intervalo pra 60 ../data/globalevents/scripts/offtrain_addMinutes.lua Lua Code: Código C++ para TFS 0.4, versão 9.60 pra mostrar o tempo do treino na barrinha la. In file protocolgame.cpp Find: C Code: e substituir por: C Code: Isso irá mostrar o valor (storage: 62666) no bar > 0 = 0:00, 720 = 12:00 [12 horas tempo total] - em minutos.1 ponto -
[Modern Acc] Template Hemrenus_Pokemon
mkbrabsolute reagiu a Gabrieltxu por um tópico no fórum
Bom Galera estou Achando varios templates para Ajudar Vcs Com Seus Servers E Hj Vim Postar mais um Eu achei massa espero que Gostem! Creditos: hemrenus321 e My Gabrieltxu Link Do Download: http://www.mediafire...uakaa8meauh4eub Scan: https://www.virustotal.com/file/bf192752740d30ef6f89e8c246ba7c71e19c1dba2c7abfa3a2fdced57704c984/analysis/1345908961/ Bom esse Layou Pode Ser usado no Meu Outro Modern Acc Completo para num Dar erro nas paginas Adicionadas! Agora uma SS do Layout: Espero que gostem Qual quer Duvida respondem o Topico! Vlws REP++1 ponto -
Guia Para Nature [Básico] [Part 2]
MacnowFhael reagiu a Nolis por um tópico no fórum
Guia Para Nature [básico] [PART 2] Aplicando Itens Rock Wall Embora seja uma parede adicionada específica aos lizards não deixa de ser natural, pelo fato de ser de pedra, também pode ser utilizada em diversas construções, mas com cuidado pois ela desvia o mapa da coerencia facilmente, só pelo fato de ser do estilo 'lizards'. Ao ser adicionada no mapa, geralmente segue o estilo: Aplicando Itens Stone Wall A Stone wall é uma das paredes mais comuns no tibia, muito utilizavel em casas/cidades e em montanhas, com o mesmo princípio, na nature ela inova a tranquilidade e harmonia no ambiente pois é uma linda parede feita de pedras, que com detalhes de flor e musgo fica impecavel. Parede muito comum em kazzordoon, também pode ser misturada com walls de madeira, para formar construções (mas nunca stone wall em cima de paredes de madeira, isso é meio estranho) (imagem do membro realquimista em um concurso) Podemos compara-la com paredes reais, para ter inspiração do que fazer se baseando na vida real Aplicando Itens Colussus Wall Uma simples parede de pedra (ja tem bastante cip não acham? haha) mas bonita e agradavel, nao muito usável em algumas situações mas fica bonita com nature. Na verdade se trata de uma parede de montanha, como a 'Mountain Wall' Por esse motivo pode ser mais um item utilizavel em montanhas na aplicação da nature. Podemos ver um exemplo da sua utilização em um mapa feito pelo nosso membro 'Anne Motta' Percebam a utilização da nature no item, pode servir como montanha e ao mesmo tempo a base de uma cachoeira. Aplicando Itens Tendril Wall Wall de arbustos com Espinhos, quando vemos já pensamos, é mato, é nature, haha Você ja deve ter andado pela sua cidade e visto em alguns muros ou paredes algo parecido: Mas no tibia, a utilização é diferente, nem sempre é em paredes ou muros, é uma aplicação mais única'. Temos um exemplo do Felipiotvis: Conseguem achar a wall? pouco utilizada não? mas na realidade esta planta (arvore, sei lá) se acumula ocupando todo o espaço e aos poucos toma conta da parede/muro Veja este outro exemplo do membro 'Caspita' Mas tirando alguns fatos, a wall pode ser facilmente usada nao em excesso (no tibia) em vários locais, adicionando como detalhes flores e vegetação colorida pra dar harmonia ao mapa Aplicando Itens Timber Wall Timber wall é Mais uma parede linda que se misturada com nature cria um clima harmônico, não a muito a dizer, simplesmente uma wall de madeira como as outras. Se quiser adicionar em seu mapa tente usar somente ela na nature, pois se misturar com outras, dependendo a outra, pode ficar desagradavel. Veja como seria na realidade uma timber wall. Aplicando Itens Wooden Wall Wall usada em casas simples. bem parecida com a timber wall possue uma impressão mais simples, pode-se encontra-la em liberty bay e em outras cidades tibianas (global) No uso da wall em nature é importante verificar o tema escolhido, pois e uma parede simples, e pode nao ficar agradavel dependendo a colocação dos itens e detalhes. Aplicando Itens Dirt Tile Ground Simples e bastante usado no tibia, tanto em cidades como em fazendas, hunts, ilhas, etc... Aplicando Itens Dry Earth Tile e Sand Tile Grounds Simples, usados longe de natureza verde simplificam o tema deserto, é bom nao adicionar muita nature, mais sim cactos e plantas 'mortas'. Aplicando Itens Flowers Grass Tile e Grass Tile Itens bastante utilizados em florestas e cidades, principalmente o flowers grass tile (para cidades), como yalahar, que apresenta mais um estilo formal e limpo cujo memoriza um ambiente tranquilo com 'grama' verde pra dar harmonia. Aplicando Itens Gravel Tile e Jungle Grass Tile Gravel Tile é bastante comum em montanhas, pode ser usado variando com outros tiles, para parecer um local com pedras, no estilo montanhoso, já o Jungle grass é utilizado em pantanos ou florestas como port hope, porém nao se mistura com muitos tipos de nature. Aplicando Itens Rock Tile e Lava Tile Assim como o Gravel tile, este pode ser usado também em montanhas, ou em aredores de florestas para diversificar o tema, fica bastante confortavel utilizando pedrinhas, alguns pequenos grass tufts nas bordas e flores como detalhe adicional. Bastante conhecido, o lava tile, usado em cavernas de vucões, ou lugares muito quentes do tibia, em cavernas por exemplo, não é bom adicionar muitos detalhes pois a lava é um item natural destrutivo, no global, se você atacar algo em cima dela, o que for jogado queima, assim como afunda na agua. Aplicando Itens Shaddow Water Tile e Swamp Tile Item mais comum do tibia, o mais visto pra ser bem claro. Sendo também o mais facil de aplicar todos sabemos que é encontrado em rios, lagos e no mar. Swamp Tile, bastante comum e muito visto em Venore, Nada mais que veneno, que se mistura com um tipo especifico de plantas formando a ideia de pantano: Aplicando Itens Bridge Tile, Drawbridge Tile, Cobbled Pavement Tile, Flat Roof Tile e Wooden Floor Tile Tile artificial que forma uma simples ponte, bastante comum em port hope, fica agradavel utilizado na natre, pois é uma ponta simples feita de madeira. Drawbridge tile é outro item bastante comum, nao serve só para pontes mas como piso de casas e outras utilidades em construções, é o mais agradavel na nature, principalmente em florestas. Tile encontrado principalmente em carlin, thais e outraas cidades tibianas, apresenta ao mesmo tempo a ideia de artificial e natural, por se tratar de um tile feito de pedras, mas eis a questão, se fosse assim os outros dois acima seriam naturais também... Na verdade este tile só e usado em cidades, ficaria estranho em florestas, a não ser que haja uma construção específica que o item se encaixe perfeitamente. Um simples tile de telhado, bastante usado em cidades como carlin e thais, também em venore e outras aldeias espalhadas pelo mapa (tibia global), é o mais comum e utilizado em casas, pois apresenta uma grande harmonia na natureza, fica agradavel colocando flores e pedrinhas em cima, pois se deixar apenas o tile e nada mais se torna algo artificial de mais, e tira o lado realistico Wooden Floore Tile é provavelmente um dos tiles mais usados nas cidades tibianas ( nao as novas, as normais cuja casas são simples e apresentam o mesmo estilo de construção), bastante utilizado em casas, barcos e também pontes, pode ser aperfeiçoado com bordas de nature por cima, flores e pedrinhas para agradar. Aplicando Itens Bamboo Ramp Uma Simples escada natural, feita de bambu e muito vista em port hope. No mapa, pode-se usá-la como telhado, dependendo a situação ajuda na beleza da construção, como a feita anteriormente: Podemos compara-la com uma real: Aplicando Itens Earth Ramp Rampa natural, principalmente encontrada em Femor Hills, muito útil em nature, com as bordas da montanha junto combinando com detalhes (flores e folhagens) forma uma bela vista. Geralmente utilizada com grass tile, em alguns casos, natureza morta. (imgs de TibiaML) Aplicando Itens Ice Ramp Unica escada de gelo, encontrada nas ice islands e svargrond é muito útil, uma escada congelada e facil de usar. Comparando: (foto do membro kausen: Aplicando Itens Mossy Ramp Encontrada em Gnomebase e Hare's Den. Uma escada natural usada com a mossy wall, tendo as mesmas características é facil de aplicar mais deve prestar atenção no tema utilizado. Aplicando Itens Stone Ramp A Rampa mais comum do tibia, usada com stone wall principalmente em montanhas, pode-se usar em vários temas naturais sem se preocupar com coerencia. Podemos ver um exemplo de mapa no tibia, ela e comum nesse tipo de aplicação: Aplicando Itens Wooden Ramp Encontrada em Yalahar, no trade quarter, bastante utilizada do lado de casas/paredes, pode ser um item natural aplicando em casas/fazendas e em nature, pois é madeira e pode combinar, porém nao em muitos tipos de nature, como ice por exemplo. Aplicando Itens Bamboo Ladder Tem como localização no global em muitas cavernas e em alguns edifícios perto de Liberty Bay e Port Hope. Natural pode ser utilizada junto a bamboo wall. Aplicando Itens Rope Ladder Encontrada Na Cult ao norte de Liberty Bay e Port Hope, é uma escada de madeira natural que pode ser usada em casas e portos. Mesmo não sendo tão natural, ela se aplica na técnica de nature, pois traz a ideia de simplicidade. Aplicando Itens Wood Ladder Escada mais comum do tibia, muito usada em construções/cidades/casas e grutas. Simples e natural pode ser usada em florestas em pequenas aldeias ou construções. Vejam a casa do jogador Aurian, a escada está presente quando se trata de vários andares. Aplicando Itens Arbustos ''Há muitos arbustos pelo Tibia afora, diga-se que a natureza é bela mas perigosa. Seja cuidadoso ao comer as frutinhas que estas pequenas árvores dão.'' Frase tentadora do Tibia wiki, mas nunca vi ninguém com esse tipo de problemas haha Os Arbustos são bastante utilizados em mapas naturais, dependendo o tema e o estilo alguns nao se encaixam. Estes itens são utilizados geralmente em nature como port hope. Não misturados muito com os arbustos comuns. OS Mesmos são encontrados na maioria dos mapas naturais São usados tanto em florestas como em cidades (montanhas também) Aplicando Itens Arvores Arvores são bastante encontradas no tibia, algumas exóticas e outras super normais, mas todas são 'naturais' e podem ser aplicadas no mapa observando antes, o tema específico. Podemos ver algumas imagens de reais arvores, e se compararmos com as arvores tibianas podemos ver o quanto são parecidas e ter também uma ideia de como aplicálas se baseando na vida real. Perceberam a diferença? vendo pelas fotos podemos ter a noção de como utilizar cada uma, ou em montanhas, desertos, cidades, cada uma com um local específico, mas no tibia, é claro, não tem problema se misturar algumas arvores, porém temos que ter esta noção para nao misturar as arvores erradas =) Aplicando Itens Samambaias Samambaias podem ser encontradas em jardins, algumas delas são muito raras, no tibia, podemos ver bastante das mesmas, em port hope e outras em ab'dendriel Podemos usar em nature verde de montanhas, florestas e cidades, em pouca quantidade, algumas podem ser aplicadas em pântanos. Bastante Comuns, você ja deve ter visto alguma, algumas ficam em vasos, mas no tibia são mais comuns em florestas. Aplicando Itens Flores Belos itens, as flores, são encontradas em quase todo o mapa tibiano, de todos os tipos, algumas não tao notáveis, outras enormes e 'exóticas'. Muitas delas são raras de se ver, outras podemos encontrar em jardins, também em cidades. Para aplicá-las no mapa devemos verificar sua origem e se haverá coerencia. Por exemplo: Water Lily, mais conhecida como vitória régia, é encontrada em lagos, muitos mappers cometem um erro ao adicioná-las em rios e em auto-mar. Algumas plantas são grandes, e meio 'esquisitas', nos fazem pensar que é algo inventado e que não existe, errado, elas existem, exemplo: Outras, são tao comuns, que são vistas facilmente pelos mapas tibianos, como a white flower Todas podem ser adicionadas no mapa, desde que haja coerência com o tema ou com o tipo de nature utilizado. Aplicando Itens Pantanos No Tibia existem algumas plantas exclusivas de pântanos que em sua grande maioria estão localizadas em Green Claw Swamp e Tiquanda, além de outras regiões pantanosas, outras, mais comuns, em pantanos como venore. Não só em pantanos térreos, no tibia, encontram-se estes tipos de plantas também em cavernas. Como ja dito, são plantas de pantanos, então podemos adicionar no tema swamp, que é nature normal. Muitas plantas de pantanos não sao iguais as reais, pois existem vários tipos, mas no tibia como ja foi falado, existem plantas unicas. Aplicando Itens Pedras As Pedras poderão ser encontradas em montanhas ou até mesmo em solo firme. Tenha em mente que você não pode caminhar por cima destes objetos no tibia. Muito comuns e utilizadas, existem vários tipos em várias regiões e tipos de natures, tanto em florestas como em montanhas e cidades. Existem vários tipos de pedras, simples, pequenas, exóticas e grandes. Diferente da vida real, no tibia, não se pode subir em cima de uma pedra grande como as que existem, espero que algum dia de pois é uma coisa simples de se fazer (como sentar em uma cadeira, nem isso tem hehe) Aplicando Itens Conchas As conchas podem abrigar pequenas criaturas que se escondem sobre elas, mas também podem ser vistas nas praias, como decoração. Aplicando Itens Cogumelos Cogumelos são vistos em pântanos como no subsolo de Ab'dendriel e áreas como Shadow Caves. São vistos também em Tiquanda e Kazzordoon. Itens naturais, no tibia, tem diversas técnicas para aplicar, nunca se mistura vários tipos na mesma área, pois se aplicar de mais ou aplicar muitos tipos no mesmo local tira a harmonia e quebra a coerência. Recentemente, no tibia global, foram adicionados novos tipos de cogumelos, alguns bonitos e diferentes. Outros grandes e esquisitos. Aplicando Itens Grama Tibia está coberto de grama. Algumas gramas são possíveis passar por cima, algumas não são, e algumas você pode cair numa armadilha, quando elas crescem. Naturais, algumas com áreas específicas como pantanos e outras florestas, montanhas ou cidades. Reais e Bastante Vistas, elas são na maioria das vezes verdes e ajudam a dar beleza ao mapa. Cuidado ao adicionar certos itens em lugares que não sejam de sua origem Se você for iniciante, antes de fazer um mapa, pense no tema escolhido, verifique todos os itens que você vai utilizar e pesquise cada um, se toda vez fizer assim vai ficar fera no assunto, além de nunca errar a coerência nos mapas. Créditos: Tutorial = DanielZiyak (Daaniel em outro forum, só pra saber que eu trouxe de lá) Informações sobre itens = Tibia Wiki Imagens: Google (algumas são de membros, eu coloquei o crédito, se você viu uma imagem sua sem os créditos me avise que eu irei remover ou adicionar o mesmo) Até a próxima! Gostou? REP+, Não gostou? Não fala nada.1 ponto -
Bom Galera Do Poke Dash
jacksondemais reagiu a rj157 por um tópico no fórum
Bom é O Seguinte!! Meu Objetivo é Que "Todos Colaborem Ajudando Em Alguma Coisa" Mais Alguns Falam : A Eu Nao Sei Nada ... Nao Sabe? Entum Pelomenos Nao Exija Nada...Exemplo: Faz A Pergunta Uma Vez... Ninguem Responde e Essa Pessoa Vai E Da Flood E Refaz A Pergunta!! Bom Mais Voltando Ao Assunto Esse Topico Eu Estava Penssando O Seguinte... Que Todos Que Tiverem Algum Trabalho Testado Postem...!! Mais Sempre Tem Um E Pergunta ... Porque Eu Deveria Postar Meu Script Aki? Sendo Que Nao Foi Facil Fazer Ou Achar? Porque Passar Para Todos ? Simples:Porque Voce Ajudando As Pessoas Com As Coisas Que Voce Tem ... As Pessoas Podem Te Ajudar Com As Coisas Que Voce Nao Tem Entao Porfavor Antes De Fazerem Perguntas Penssem Um Poco Na Descriçao Do Topico Obrigado!! Bom Agora Eu Irei Passar Algumas Coisas Que Muitos Precisam E Estarei Postando Agora A Descriçao Do Server Testado... Pokemon Dash :Criado Por Brun123(mastercraft), glugluguga. Versao :8.54 Site Para Baixar O Server E Ter As Informaçoes Do Que Contem Nele:http://www.xtibia.com/forum/topic/149604-854pokeserver-tfs-036-v50/ Bom e Como è Meu Segundo Topico Nao Sou Muito Experiente Entao Qualquer Erro De Portugues Ou Qualquer Coisa Que Esteja Faltando Avise.. E Fugindo Meio Do Assunto Preciso Que Alguem me Encine A Botar Imagem No Topico E Deixar Ele Cada Veiz Melhor E Pesso Para Colaborarem Como Ja Foi Dito Bom E è Isso Ae Quem Souber As Coisas Do Topico EX:Botar Imagens,Cores Nas Letras e tambem botar arquivos para download no megaupload que preciso botar meu m6 que eu mesmo fiz... e botar mais algumas coisas como items.xml e outros Me Add Msn romariopnascimento@hotmail.com... Agora Irei Postar Alguns Scripts Que Eu Tenho.. Bom Muitos Nao Sao Meus E Nao Sei O Nome De Muitos Dos Criadores ... Só Mesmo O Do Bruno e Do Glugluguga E Tudo Que Eu Postar Estara Editado Por Mim [ Revive ] - fiz em cima de uns Scripts aqui , então n ligue para esse DEMON e VAMPIRE no meio do Script. Bem Falei Que Estava Esperando Alguem Me Encinar A Por Um Arquivo Para Download e Ja Me Enssinaram Agora Como Prometido Esta Ae Catch 100% Configurado Com Life Do Go/back Do Server Todas As Boxs Configuradas Com Life Do Go/Back m1,m2 e m6 Bom Estou Pulando Do m2 Ao m6 Simplesmente Porque Eu Peguei O m1 e o m2 De Outro Topico E Comecei A Editar Dos Mais Dificeis Que è O m6 Evolution 100% [ Npc que compra Stones ] - Igual ao do Global , ow seja não eh por Trade [ Npc Premium Seller por Diamonds ] - Ele vende 1 Dia de premium por 1 Diamond , logo arrumarei para 10 Diamonds ser 30 Dias. [ Comando /AddPoke ] - Agora Adicionados Para Todos Os Pokemons [ Revive por Talkaction ] - Para aqueles que querem vantagiar a vida dos Premmy. [ Descrições da Pokedex 100 % ] - Feito para Pokemon Dash , So substituir a pasta "pokedex" Tentando Editar Com Os Lendarios Bom Agora Quero Pedir Mil Desculpas Por Ter Sem Querer Ter Refeito O Topico =[... Bom Mais Ja Esta Tudo Ae Denovo... Se Estiver Faltando Algo Avisem... Estou Tentando Fazer O Npc Que Pinta Ball Para Postar Aki ... Se Eu Conssiguir Posto e Agora ... Irei Distribuir Os Creditos Bom e Só Para Relembrar... Estou Criando Um Projeto Pokemon e Se Voce For Experiente e Tiver Afim... De Criar O Melhor Servidor Pokemon Entrem No Meu Outro Topico E Confiram As Informaçoes Que Tem No Server E Como Se Eleger A Algum Cargo ??Te Ajudei?? Rep+ A Sua Visita Me Alegra1 ponto -
[Tutorial]Tibia Map Editor(Rme) Completo Com Video Ola pessoal, este e meu meio que primeiro post, entao me movam se estiver no lugar errado!! Eu fis 2 videos tutoriais ensinando a mecher no Remere's Map editor completo, para quem não sabe ou tem duvida sobre algo. Qualquer duvida poste nos comentarios, aqui ou no video : Meu canal: http://www.youtube.c...0ewerton/videos Creditos: Eu 100% Comentem ai pessoal !! Ajudei?? Rep+1 ponto
-
mudar isso: addEvent(doTeleportThing, pos, tempo * 1000, cid) para isso: addEvent(doTeleportThing, tempo * 1000, cid, pos) lembrando que vai dar erro se o player morrer/fizer logout, pois vai tentar teleportar uma creature que não existe mais1 ponto
-
1 ponto
-
Erro Samples
StyflerDrunou reagiu a SkyDangerous por uma questão
executa isso: INSERT INTO `players` (`id`, `name`, `world_id`, `group_id`, `account_id`, `level`, `vocation`, `health`, `healthmax`, `experience`, `lookbody`, `lookfeet`, `lookhead`, `looklegs`, `looktype`, `lookaddons`, `lookmount`, `maglevel`, `mana`, `manamax`, `manaspent`, `soul`, `town_id`, `posx`, `posy`, `posz`, `conditions`, `cap`, `sex`, `lastlogin`, `lastip`, `save`, `skull`, `skulltime`, `rank_id`, `guildnick`, `lastlogout`, `blessings`, `pvp_blessing`, `balance`, `stamina`, `direction`, `loss_experience`, `loss_mana`, `loss_skills`, `loss_containers`, `loss_items`, `premend`, `online`, `marriage`, `promotion`, `deleted`, `description`, `created`, `nick_verify`, `old_name`, `hide_char`, `worldtransfer`, `comment`) VALUES (1, 'Account Manager', 0, 1, 1, 1, 0, 150, 150, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 160, 54, 7, '', 400, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '', 0, 0, '', 0, 0, ''), (2, 'Rook Sample', 0, 1, 1, 1, 0, 150, 150, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, 50, 50, 7, '', 400, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '', 0, 0, '', 0, 0, ''), (3, 'Sorcerer Sample', 0, 1, 1, 1, 1, 150, 150, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, 50, 50, 7, '', 400, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '', 0, 0, '', 0, 0, ''), (4, 'Druid Sample', 0, 1, 1, 1, 2, 150, 150, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, 50, 50, 7, '', 400, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '', 0, 0, '', 0, 0, ''), (5, 'Paladin Sample', 0, 1, 1, 1, 3, 150, 150, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, 50, 50, 7, '', 400, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '', 0, 0, '', 0, 0, ''), (6, 'Knight Sample', 0, 1, 1, 1, 4, 150, 150, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, 50, 50, 7, '', 400, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '', 0, 0, '', 0, 0, ''); pronto, ai resolveu seu problema1 ponto -
1 ponto
-
Erro Samples
popohat7 reagiu a SkyDangerous por uma questão
Esse erro é o seguinte: O samples seu, está com nome diferente com o do config.php , ou seja .. na hora de criar o personagem ele não consegue copiar lá na database, assim dando esse erro.1 ponto -
Tentei colok o exec. snow, forgotten e n deu se puder posta 1 ai. MAPA ÓTIMO REP+1 ponto
-
1 ponto
-
[Encerrado] [Pokemon] Dúvidas? - Pda
PokemonFezin reagiu a LLossavaro por um tópico no fórum
@PokemonFezin você tem que pegar o "ID" da outfit de fly e fazer -351 o resultado você coloca no configuration.1 ponto -
Player Não Pode Atacar Seu Proprio Summon.
eduardo190696 reagiu a Eskylo por uma questão
function isSummon(cid, monster) return getCreatureMaster(monster) == cid end function onCombat(cid, target) if isPlayer(cid) and isSummon(cid, target) then doPlayerSendCancel(cid, "You can't attack your dragon or best.") return false end return true end deqlqr forma fica mais facil, somente: function onCombat(cid, target) if cid == getCreatureMaster(target) then doPlayerSendCancel(cid, "You can't attack your dragon or best.") return false end return true end1 ponto -
[Encerrado] [Pedido] 2 Player Entrando Na Mesma Conta
Bomberwind reagiu a 1579091 por um tópico no fórum
Vai no seu config.lua clique ctrl+f e dentro escreve onePlayerOnlinePerAccount e substitua o por1 ponto -
Tem Como Fazer Esse Script?
EduOts reagiu a eduardo190696 por uma questão
@brun123, concordo com vc, tb n tinha entendido o pq de talkaction e etc, mais vocÊ se esqueceu do mais importante, que é o time. Na parte do time, ele quer que quando o player entre nessa area, comece a contar e depois de 3 minutos ele seja teleportada, OU se o player sair da área antes de ser teleportado o tempo pare de contar, e se ele entrar de volta na área comece a contar do 0.1 ponto -
[Pokemon] Spr E Dat [Pokemons 5 Geração]
Yan Oliveira reagiu a Stigal por um tópico no fórum
Fotos De Algumas SPR: @edit: adicionado mais img ;3 Abraço.1 ponto -
é uma movements, você fez um pedido similar há um tempo aí e eu respondi pra você com as tags direitinho e como instalar, eu não vou repetir aqui... você pediu pra readaptar a script colocando um check pra ver se o player estava dentro da area e o pessoal começou a postar talkaction, globalevent e mais outras coisas nada a ver (não sei porquê), vou passar somente a script:1 ponto
-
Area, Incorreta. Duvida Sanada. Reportado Ao Moderador Para Mover. Atenciosamente, Stigal.1 ponto
-
[GESIOR] VictorWEBMaster 2019v
Piabeta Kun reagiu a VictorWEBMaster por um tópico no fórum
Você deve alterar sua page_acess para 9999. Vou postar no tópico o website novo. se não me engando o limite max do page acess é 6 Num gesior comum sim, mas foi eu que programei este.1 ponto -
Em data/talkactions/scripts crie um arquivo.lua e cole isto dentro: local t = {{2296,1},{2273,1},{2268,1},{2278,1},{2293,1}} function onSay(cid, words, param) for i=1, #t do doPlayerAddItem(cid, t[i][1], t[i][2]) end doSendAnimatedText(getPlayerPosition(cid), "RUNAS!", COLOR_RED) doSendMagicEffect(getPlayerPosition(cid), 28) return true end Em talkactions.xml: <talkaction words="!runas" script="NOMEDOSEUARQUIVO.lua"/>1 ponto
-
Ia ser bem legal, se alguem pudesse criar um script desse, muita gente iria usar!1 ponto
-
[Encerrado] [Pokemon] Dúvidas? - Pda
jacksondemais reagiu a rj157 por um tópico no fórum
O problema nao é que do jeito que ta esteja ruim ... é que ta pescando muito rapido eu tentei modificar la em ... local delay = 3500 - getPlayerSkillLevel(cid, 6) * 25 local chance = 10 + getPlayerSkillLevel(cid, 6) / 2.5 mais nem deu certo ... >< mais creio que é ai que arruma :]1 ponto -
[Dúvida] Banimento
gustavoMtek reagiu a Vodkart por um tópico no fórum
Sacanagem isso aí hein que fizeram com ele Porra ele ajudava o pessoal na comunidade, e que retribuição é essa que ele ganha? por essas e outras que o xtibia n cresce, fica nessa canoa furada, como o apocarai falou uma vez, o marcryzius foi a mesma coisa, todos sempre reclamando da péssima administração do xtibia me admira é o lordfire banir o cara por causa de venda de script, se eu não me engano querem até criar uma área para isso aqui no xtibia, não vejo nada demais divulgar site, não está obrigando ninguém a comprar merda nenhuma palhaçada @edit ele n pegava script do xtibia e vendia, quem é o burro que ia compra uma coisa já postada? ele pegou um script que já existia e melhorou o código passando ela para V2, bem diferente de só pegar o "bruto" e vender diretamente.1 ponto -
[Encerrado] [Pokemon] Dúvidas? - Pda
natanaelrox reagiu a Slicer por um tópico no fórum
@off eu tb prefiro bem mais o antigo u,U golduck ms ta extinto neh? kkk era tao bom upa pescando com meu scyther *---*1 ponto -
Script Que Não Loga Pz
TipoColombia157 reagiu a LuckOake por uma questão
Rapaz, você criou um terceiro tópico com o mesmo pedido, mesmo após já terem te reportado e fechado seu tópico uma vez? Tô sem REP- agora, deu sorte. creaturescript.xml: <event type="login" name="LogSkull" script="logskull.lua"/> logskull.lua: login.lua: registerCreatureEvent(cid, "LogSkull")1 ponto -
vou esperar ate o Oneshot fazer kkk pelo menos ele disse que ia fazer.1 ponto
-
@Jinkwink Rapaz, não sei te informar, mas se seu pc e sua net forem de boa qualidade, provavelmente não vai causar lag.1 ponto
-
Fazer Um Item Normal Virar Um Item Múltiplos
Demonbholder reagiu a notle2012 por um tópico no fórum
tem não ,mais eu coloco1 ponto -
Global [9.60]
Pepeco reagiu a Maconheira por uma questão
Ei amigo, tem esse global full 9.60 aqui. Espero ter ajudado.1 ponto -
Vou parar de editar Baiak,Vo começa com os subwats agora!!!1 ponto
-
Bom cara muito bom,rep+1 ponto
-
Shopping Sytem Demo By Caotic
Demonbholder reagiu a caotic por um tópico no fórum
~Shop Sytem Demo~ Ola galera do xtibia venho postar um sistema de shopping. Ele ainda se encontra na versão inicial vai ser melhorado mais ja pode ser usado. Resolvi postar a versão demo para demonstrar como o script tem potencial alem de que a demo poder se bem útil a você. O script e um shop onde o player coloca um item no shopping e outro player compra seu item mesmo que o player vendedor esteja off. Antes de tudo precisamos instalar o sistema. Vai na sua dabase e execute tais comandos: CREATE TABLE "shop" ( "item" INT NOT NULL, "price" INT NOT NULL, "players" INT NOT NULL ); ALTER TABLE `players` ADD `shop` INT(15) NOT NULL DEFAULT 0; Agora vá na pasta lib e crie um arquivo lua chamado shop e coloque este codigo: function doPlayerAddItemInShop(cid, itemid, price) db.executeQuery("INSERT INTO `shop` VALUES (".. itemid ..", ".. price ..", ".. getPlayerGUID(cid) ..")") return true end function getItemPriceInShop(itemid) local shop = db.getResult("SELECT * FROM `shop` WHERE `item` = ".. itemid ..";") return shop:getDataInt("price") end function getItemPlayerInShop(itemid) local shop = db.getResult("SELECT * FROM `shop` WHERE `item` = ".. itemid ..";") return shop:getDataInt("players") end function getExistItemInShop(itemid) local shop = db.getResult("SELECT * FROM `shop` WHERE `item` = ".. itemid ..";") if shop:getID() ~= -1 then return true end return nil end function doPlayerBuyItemInShop(cid, itemid) doPlayerAddItem(cid, itemid) doPlayerRemoveMoney(cid, getItemPriceInShop(itemid)) db.executeQuery("UPDATE `players` SET `shop` = "..getItemPriceInShop(itemid).." WHERE `id` = "..getItemPlayerInShop(itemid)) db.executeQuery("DELETE FROM `shop` WHERE `item` = ".. itemid ..";") end function getMoneyGainInShop(cid) local money = db.getResult("SELECT `shop` FROM `players` WHERE `id` = "..getPlayerGUID(cid)) return money:getDataInt("shop") end function setMoneyGainInShop(cid, money) db.executeQuery("UPDATE `players` SET `shop` = "..money.." WHERE `id` = "..getPlayerGUID(cid)) end Agora vamos a pasta talkactions e vamos criar um arquivo lua chamado shop também e coloque este codigo: function onSay(cid, words, param, channel) if param == " " or param == "" or not param then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Coloque o id do item") end local t = string.explode(param, ",") if not t[1] then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Coloque o id do item") end if not t[2] then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Coloque o preço do item") end if(isNumeric(t[1])) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Coloque o nome do item") end if not getItemIdByName(t[1], false) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este item "..t[2].." não existe") end local item = getItemIdByName(t[1]) local price = t[2] if getExistItemInShop(item) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este item ja esta sendo vendido no shop espere ele ser comprado") end if getPlayerItemCount(cid, item) < 1 then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não tem "..t[1].."") end doPlayerRemoveItem(cid, item, 1) doPlayerAddItemInShop(cid, item, price) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você colocou no shopping o seu item "..t[1].."") return true end Agora na mesma pasta talkactions vamos criar um arquivo lua chamado comprar e coloque este codigo: function onSay(cid, words, param, channel) if param == " " or param == "" or not param or isNumeric(param) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Coloque o nome do item") end if not getItemIdByName(param, false) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este item "..t[2].." não existe") end local itemid = getItemIdByName(param) if not getExistItemInShop(itemid) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este item não existe no shopping") end if not doPlayerRemoveMoney(cid, getItemPriceInShop(itemid)) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não tem "..price.." para comprar "..itemid.." do shopping") end doPlayerBuyItemInShop(cid, itemid) return true end Seguidamente na mesma pasta talkactions crie outro arquivo lua chamado find e coloque este codigo: function onSay(cid, words, param, channel) if param == " " or param == "" or not param or isNumeric(param) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Coloque o nome do item que você quer procurar no shopping") end if not getItemIdByName(param, false) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este item "..param.." não existe se estiver afim de comprar confirme seu nome") end local itemid = getItemIdByName(param) if not getExistItemInShop(itemid) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este item não se encontra disponivel no shopping se estiver afim de comprar espere algum player colocar no shopping") end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O "..param.." encontrasse no shopping pelo preço de "..getItemPriceInShop(itemid).." money pelo player "..getPlayerNameByGUID(getItemPlayerInShop(itemid), false).."") return true end Agora coloque esta tags em talkactions.xml: Agora vamos a pasta creaturescripts/scripts e crie um arquivo lua chamado shop e coloque isto nele: function onThink(cid, interval) if getMoneyGainInShop(cid) > 0 then doPlayerAddMoney(cid, getMoneyGainInShop(cid)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Seu itens foi vendidos você recebeu "..getMoneyGainInShop(cid).." money") setMoneyGainInShop(cid, 0) return true end return true end Agora vamos em creaturescripts/scripts e em login.lua registre o evento colocando antes do ultimo return: Agora vamos em creaturescripts/creaturescripts.xml e vamos colocar esta tag: <event type="think" name="shop" event="script" value="shop.lua"/> Comandos1 ponto -
Shopping Sytem Demo By Caotic
Demonbholder reagiu a caotic por um tópico no fórum
Alem de que pode ser que os players vendedores podem estar off. Mais a versão a seguir vem com muitos mais novidades(lista de itens,sem limite de itens no shop e etc..)1 ponto -
1 ponto
-
Fazer Um Item Normal Virar Um Item Múltiplos
Demonbholder reagiu a notle2012 por um tópico no fórum
sim e tibia.spr também mais o mais importante é items.otb do seu ot pq tibia.spr e tibia.dat pode ate usa outros quando meu poketibia tava bugado eu fazia isso pra editar ele mais já editei1 ponto -
Vocations Igual Do Rozinx
queissonovinha reagiu a gleison157 por um tópico no fórum
Esta na area certa o Moderador falou que ta certo1 ponto -
tem que editar muitos scripts e pasta lib toda Baixa Aqui PDASEMLVL1 ponto
-
[Pedido Entregue] Imagens Pro Meu Server!
Natanael Beckman reagiu a Maluko Aprendiz por uma questão
Kit Entregue Aqui... Botão Style Moderno Tibia Max: Botão Style Moderno Mega Tibia: Arte Que Foi Pedida (Tema: Promoção): Espero Que Use e Goste [staff Pode fechar o Tópico]1 ponto