Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''script''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • xTibia - Notícias e Suporte
    • Regras
    • Noticias
    • Soluções
    • Projetos Patrocinados
    • Tutoriais para Iniciantes
    • Imprensa
  • OTServ
    • Notícias e Debates
    • OTServlist
    • Downloads
    • Recursos
    • Suporte
    • Pedidos
    • Show-Off
    • Tutoriais
  • OFF-Topic
    • Barzinho do Éks
    • Design
    • Informática

Encontrar resultados em...

Encontrar resultados que contenham...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Sou

  1. Galera, alguem teria um script desse? Gostaria de um npc que só vendesse wands e rods, e que não vedesse runas... thanks.
  2. Galera, no meu server eu já tenho runes por alavanca, agora gostaria de colocar wand e rod por alavanca... alguem pode editar pra mim pra entregar uma rod? script abaixo... mp_id = 7620 -- Item a ser vendido backpackmp_id = 2001 -- Backpack customp_id = 4000 -- Valor cargasmp_id = 1 -- Cargas local name = getItemNameById(mp_id) ----- End Config ----- function onUse(cid, item, fromPosition, itemEx, toPosition) if doPlayerRemoveMoney(cid, customp_id) == TRUE then local bag = doPlayerAddItem(cid, backpackmp_id, 1) doSendAnimatedText(fromPosition, "Purchased", TEXTCOLOR_YELLOW) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have purchased a backpack of ".. name .."s for ".. customp_id .." gold.") for i=1,100 do doAddContainerItem(bag, mp_id, cargasmp_id) end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You need ".. customp_id .." gold coins for a backpack of ".. name .."s.") end return FALSE end Thanks ;D.
  3. Salve Galera! Olha eu aqui de novo, todo dia agora! E hoje estou vindo falar do novíssimo projeto do XTibia chamado de X-FAQ. Acho que a maioria aqui sabe o que é FAQ, mas para quem não sabe é a abreviação de Frequently Asked Questions ou Perguntas Frequentes, em português. Sim, é isso mesmo que você está pensando agora, separamos as perguntas mais frequentes de uma área especifica dentro de um tópico. Uma coisa que acontece muito, e já aconteceu comigo, é surgir aquela dúvida que é super mega hiper normal mas você simplesmente não consegue encontrar o bendito tópico que você viu ontem, ou semana passada... Enfim, pensando nisso surgiu o X-FAQ, que está sendo Coordenado pelo membro da equipe de Imprensa Henrique Moura. Infelizmente procurar as dúvidas mais frequentes não é uma coisa fácil, e por enquanto só preparamos o FAQ da Seção de Scripts, Clique aqui e veja, não deixe de conferir! Em breve estaremos com os FAQs de cada seção de dúvida do fórum... E nada melhor para resumir essa noticia do que o slogan do projeto, não é? X-FAQ - Simplificando cada vez mais! Atenciosamente, Won Helder - Coordenador de Imprensa
  4. olá eu queria ajuda para: meu sistema de trade offline funciona normal! o unico problema é q a pessoa que comprou o item recebe o item e gasta o dinheiro q ta no item mas a pessoa que vendeu não recebe o dinheiro nem na backpack nem no Depot! o script é: --[[ Offline player to player item trader (Auction System) Script version: 1.2a [ -- FIXED CLONE ITEMS BUG -- ] ]]-- local config = { levelRequiredToAdd = 20, maxOffersPerPlayer = 5, SendOffersOnlyInPZ = true, blocked_items = {2165, 2152, 2148, 2160, 2166, 2167, 2168, 2169, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2343, 2433, 2640, 6132, 6300, 6301, 9932, 9933} } function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") return true end local t = string.explode(param, ",") if(t[1] == "add") then if((not t[2]) or (not t[3]) or (not t[4])) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") return true end if(not tonumber(t[3]) or (not tonumber(t[4]))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don't set valid price or items count.") return true end if(string.len(t[3]) > 7 or (string.len(t[4]) > 3)) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "This price or item count is too high.") return true end local item = getItemIdByName(t[2], false) if(not item) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Item wich such name does not exists.") return true end if(getPlayerLevel(cid) < config.levelRequiredToAdd) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don't have required (" .. config.levelRequiredToAdd .. ") level.") return true end if(isInArray(config.blocked_items, item)) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "This item is blocked.") return true end if(getPlayerItemCount(cid, item) < (tonumber(t[4]))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry, you don't have this item(s).") return true end local check = db.getResult("SELECT `id` FROM `auction_system` WHERE `player` = " .. getPlayerGUID(cid) .. ";") if(check:getID() == -1) then elseif(check:getRows(true) >= config.maxOffersPerPlayer) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry you can't add more offers (max. " .. config.maxOffersPerPlayer .. ")") return true end if(config.SendOffersOnlyInPZ) then if(not getTilePzInfo(getPlayerPosition(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You must be in PZ area when you add offert to database.") return true end end if(tonumber(t[4]) < 1 or (tonumber(t[3]) < 1)) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have to type a number higher than 0.") return true end local itemcount, costgp = math.floor(t[4]), math.floor(t[3]) doPlayerRemoveItem(cid, item, itemcount) db.executeQuery("INSERT INTO `auction_system` (`player`, `item_name`, `item_id`, `count`, `cost`, `date`) VALUES (" .. getPlayerGUID(cid) .. ", \"" .. t[2] .. "\", " .. getItemIdByName(t[2]) .. ", " .. itemcount .. ", " .. costgp ..", " .. os.time() .. ")") doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You successfully add " .. itemcount .." " .. t[2] .." for " .. costgp .. " gps to offerts database.") end if(t[1] == "buy") then if(not tonumber(t[2])) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Wrong ID.") return true end local buy = db.getResult("SELECT * FROM `auction_system` WHERE `id` = " .. (tonumber(t[2])) .. ";") if(buy:getID() ~= -1) then if(getPlayerMoney(cid) < buy:getDataInt("cost")) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don't have enoguh GP.") buy:free() return true end if(getPlayerName(cid) == getPlayerNameByGUID(buy:getDataInt("player"))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry, you can't buy your own items.") buy:free() return true end if(getPlayerFreeCap(cid) < getItemWeightById(buy:getDataInt("item_id"), buy:getDataInt("count")))then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You try to buy a " .. buy:getDataString("item_name") .. ". It weight " .. getItemWeightById(buy:getDataInt("item_id"), buy:getDataInt("count")) .. " cap oz. and you have only " .. getPlayerFreeCap(cid) .. " oz. free capacity. Put some items to depot and try again.") buy:free() return true end if(isItemStackable((buy:getDataString("item_id")))) then doPlayerAddItem(cid, buy:getDataString("item_id"), buy:getDataInt("count")) else for i = 1, buy:getDataInt("count") do doPlayerAddItem(cid, buy:getDataString("item_id"), 1) end end doPlayerRemoveMoney(cid, buy:getDataInt("cost")) db.executeQuery("DELETE FROM `auction_system` WHERE `id` = " .. t[2] .. ";") doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You bought " .. buy:getDataInt("count") .. " ".. buy:getDataString("item_name") .. " for " .. buy:getDataInt("cost") .. " gps!") db.executeQuery("UPDATE `players` SET `auction_balance` = `auction_balance` + " .. buy:getDataInt("cost") .. " WHERE `id` = " .. buy:getDataInt("player") .. ";") buy:free() else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Wrong ID.") end end if(t[1] == "remove") then if((not tonumber(t[2]))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Wrong ID.") return true end if(config.SendOffersOnlyInPZ) then if(not getTilePzInfo(getPlayerPosition(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You must be in PZ area when you remove offerts from database.") return true end end local delete = db.getResult("SELECT * FROM `auction_system` WHERE `id` = " .. (tonumber(t[2])) .. ";") if(delete:getID() ~= -1) then if(getPlayerGUID(cid) == delete:getDataInt("player")) then db.executeQuery("DELETE FROM `auction_system` WHERE `id` = " .. t[2] .. ";") if(isItemStackable(delete:getDataString("item_id"))) then doPlayerAddItem(cid, delete:getDataString("item_id"), delete:getDataInt("count")) else for i = 1, delete:getDataInt("count") do doPlayerAddItem(cid, delete:getDataString("item_id"), 1) end end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your offert has been deleted from offerts database.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "This is not your offert!") end delete:free() else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Wrong ID.") end end if(t[1] == "withdraw") then local balance = db.getResult("SELECT `auction_balance` FROM `players` WHERE `id` = " .. getPlayerGUID(cid) .. ";") if(balance:getDataInt("auction_balance") < 1) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You don't have money on your auction balance.") balance:free() return true end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You got " .. balance:getDataInt("auction_balance") .. " gps from auction system!") doPlayerAddMoney(cid, balance:getDataInt("auction_balance")) db.executeQuery("UPDATE `players` SET `auction_balance` = '0' WHERE `id` = " .. getPlayerGUID(cid) .. ";") balance:free() end return true end o outro problema é no shop do site gesior agora! tudo que compra ta normal menos quando vai compra a premium acc! ali aparece Vip Days Added na hora de comprar a premium e não adiciona dias de premium para pessoa! o script do shop é: <?PHP // ALTER TABLE `z_shop_history_item` CHANGE `offer_id` `offer_id` VARCHAR( 255 ) NOT NULL; // UPDATE `z_shop_history_item`, `z_shop_offer` SET `z_shop_history_item`.`offer_id` = `z_shop_offer`.`offer_name` WHERE `z_shop_history_item`.`offer_id` = `z_shop_offer`.`id`; if($config['site']['shop_system'] == 1) { if($logged) $user_premium_points = $account_logged->getCustomField('premium_points'); else $user_premium_points = 'Login first'; function getItemByID($id) { $id = (int) $id; $SQL = $GLOBALS['SQL']; $data = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shop_offer').' WHERE '.$SQL->fieldName('id').' = '.$SQL->quote($id).';')->fetch(); if ($data['offer_type'] == 'pacc') { $offer['id'] = $data['id']; $offer['type'] = $data['offer_type']; $offer['days'] = $data['count1']; $offer['points'] = $data['points']; $offer['description'] = $data['offer_description']; $offer['name'] = $data['offer_name']; } elseif ($data['offer_type'] == 'item') { $offer['id'] = $data['id']; $offer['type'] = $data['offer_type']; $offer['item_id'] = $data['itemid1']; $offer['item_count'] = $data['count1']; $offer['points'] = $data['points']; $offer['description'] = $data['offer_description']; $offer['name'] = $data['offer_name']; } elseif ($data['offer_type'] == 'vipdays') { $offer['id'] = $data['id']; $offer['type'] = $data['offer_type']; $offer['days'] = $data['count1']; $offer['points'] = $data['points']; $offer['description'] = $data['offer_description']; $offer['name'] = $data['offer_name']; } elseif ($data['offer_type'] == 'itemvip') { $offer['id'] = $data['id']; $offer['type'] = $data['offer_type']; $offer['item_id'] = $data['itemid1']; $offer['item_count'] = $data['count1']; $offer['points'] = $data['points']; $offer['description'] = $data['offer_description']; $offer['name'] = $data['offer_name']; } elseif ($data['offer_type'] == 'container') { $offer['id'] = $data['id']; $offer['type'] = $data['offer_type']; $offer['container_id'] = $data['itemid2']; $offer['container_count'] = $data['count2']; $offer['item_id'] = $data['itemid1']; $offer['item_count'] = $data['count1']; $offer['points'] = $data['points']; $offer['description'] = $data['offer_description']; $offer['name'] = $data['offer_name']; } elseif ($data['offer_type'] == 'unban') { $offer['id'] = $data['id']; $offer['type'] = $data['offer_type']; $offer['points'] = $data['points']; $offer['description'] = $data['offer_description']; $offer['name'] = $data['offer_name']; } elseif ($data['offer_type'] == 'redskull') { $offer['id'] = $data['id']; $offer['type'] = $data['offer_type']; $offer['points'] = $data['points']; $offer['description'] = $data['offer_description']; $offer['name'] = $data['offer_name']; } elseif ($data['offer_type'] == 'itemlogout') { $offer['id'] = $data['id']; $offer['type'] = $data['offer_type']; $offer['points'] = $data['points']; $offer['description'] = $data['offer_description']; $offer['pid'] = $data['pid']; $offer['count1'] = $data['count1']; $offer['item_id'] = $data['itemid1']; $offer['free_cap'] = $data['free_cap']; } elseif ($data['offer_type'] == 'changename') { $offer['id'] = $data['id']; $offer['type'] = $data['offer_type']; $offer['points'] = $data['points']; $offer['description'] = $data['offer_description']; $offer['name'] = $data['offer_name']; } return $offer; } function getOfferArray() { $offer_list = $GLOBALS['SQL']->query('SELECT * FROM '.$GLOBALS['SQL']->tableName('z_shop_offer').';'); $i_pacc = 0; $i_item = 0; $i_vipdays = 0; $i_itemvip = 0; $i_container = 0; $i_unban = 0; $i_redskull = 0; $i_itemlogout = 0; $i_changename = 0; while($data = $offer_list->fetch()) { if ($data['offer_type'] == 'pacc') { $offer_array['pacc'][$i_pacc]['id'] = $data['id']; $offer_array['pacc'][$i_pacc]['days'] = $data['count1']; $offer_array['pacc'][$i_pacc]['points'] = $data['points']; $offer_array['pacc'][$i_pacc]['description'] = $data['offer_description']; $offer_array['pacc'][$i_pacc]['name'] = $data['offer_name']; $i_pacc++; } elseif ($data['offer_type'] == 'item') { $offer_array['item'][$i_item]['id'] = $data['id']; $offer_array['item'][$i_item]['item_id'] = $data['itemid1']; $offer_array['item'][$i_item]['item_count'] = $data['count1']; $offer_array['item'][$i_item]['points'] = $data['points']; $offer_array['item'][$i_item]['description'] = $data['offer_description']; $offer_array['item'][$i_item]['name'] = $data['offer_name']; $i_item++; } elseif ($data['offer_type'] == 'vipdays') { $offer_array['vipdays'][$i_vipdays]['id'] = $data['id']; $offer_array['vipdays'][$i_vipdays]['days'] = $data['count1']; $offer_array['vipdays'][$i_vipdays]['points'] = $data['points']; $offer_array['vipdays'][$i_vipdays]['description'] = $data['offer_description']; $offer_array['vipdays'][$i_vipdays]['name'] = $data['offer_name']; $i_vipdays++; } elseif ($data['offer_type'] == 'itemvip') { $offer_array['itemvip'][$i_itemvip]['id'] = $data['id']; $offer_array['itemvip'][$i_itemvip]['item_id'] = $data['itemid1']; $offer_array['itemvip'][$i_itemvip]['item_count'] = $data['count1']; $offer_array['itemvip'][$i_itemvip]['points'] = $data['points']; $offer_array['itemvip'][$i_itemvip]['description'] = $data['offer_description']; $offer_array['itemvip'][$i_itemvip]['name'] = $data['offer_name']; $i_itemvip++; } elseif ($data['offer_type'] == 'container') { $offer_array['container'][$i_container]['id'] = $data['id']; $offer_array['container'][$i_container]['container_id'] = $data['itemid2']; $offer_array['container'][$i_container]['container_count'] = $data['count2']; $offer_array['container'][$i_container]['item_id'] = $data['itemid1']; $offer_array['container'][$i_container]['item_count'] = $data['count1']; $offer_array['container'][$i_container]['points'] = $data['points']; $offer_array['container'][$i_container]['description'] = $data['offer_description']; $offer_array['container'][$i_container]['name'] = $data['offer_name']; $i_container++; } elseif ($data['offer_type'] == 'unban') { $offer_array['unban'][$i_unban]['id'] = $data['id']; $offer_array['unban'][$i_unban]['points'] = $data['points']; $offer_array['unban'][$i_unban]['description'] = $data['offer_description']; $offer_array['unban'][$i_unban]['name'] = $data['offer_name']; $i_unban++; } elseif ($data['offer_type'] == 'redskull') { $offer_array['redskull'][$i_redskull]['id'] = $data['id']; $offer_array['redskull'][$i_redskull]['points'] = $data['points']; $offer_array['redskull'][$i_redskull]['description'] = $data['offer_description']; $offer_array['redskull'][$i_redskull]['name'] = $data['offer_name']; $i_redskull++; } elseif ($data['offer_type'] == 'itemlogout') { $offer_array['itemlogout'][$i_itemlogout]['id'] = $data['id']; $offer_array['itemlogout'][$i_itemlogout]['points'] = $data['points']; $offer_array['itemlogout'][$i_itemlogout]['description'] = $data['offer_description']; $offer_array['itemlogout'][$i_itemlogout]['name'] = $data['offer_name']; $offer_array['itemlogout'][$i_itemlogout]['count1'] = $data['count1']; $offer_array['itemlogout'][$i_itemlogout]['pid'] = $data['pid']; $offer_array['itemlogout'][$i_itemlogout]['item_id'] = $data['itemid1']; $offer_array['itemlogout'][$i_itemlogout]['free_cap'] = $data['free_cap']; $i_itemlogout++; } elseif ($data['offer_type'] == 'changename') { $offer_array['changename'][$i_changename]['id'] = $data['id']; $offer_array['changename'][$i_changename]['points'] = $data['points']; $offer_array['changename'][$i_changename]['description'] = $data['offer_description']; $offer_array['changename'][$i_changename]['name'] = $data['offer_name']; $i_changename++; } } return $offer_array; } if($action == '') { unset($_SESSION['viewed_confirmation_page']); $main_content .= '<h2><center>Welcome to '.$config['server']['serverName'].' Shop.</center></h2>'; $offer_list = getOfferArray(); //show list of vipdays offers if(count($offer_list['vipdays']) > 0) { $main_content .= '<center><table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="#505050"><td colspan="3"><font color="white" size="4"><b> VIP Days</b></font></td></tr><tr bgcolor="#D4C0A1"><td width="50" align="center"><b>Picture</b></td><td width="350" align="left"><b>Description</b></td><td width="250" align="center"><b>Select product</b></td></tr>'; foreach($offer_list['vipdays'] as $vipdays) { $main_content .= '<tr bgcolor="#F1E0C6"><td align="center">'.$vipdays['days'].'</td><td><b>'.$vipdays['name'].'</b> ('.$vipdays['points'].' points)<br />'.$vipdays['description'].'</td><td align="center">'; if(!$logged) $main_content .= '<b>Login to buy</b>'; else $main_content .= '<form action="index.php?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$vipdays['id'].'"><input type="submit" value="Buy '.$vipdays['name'].'"><br><b>for '.$vipdays['points'].' points</b></form>'; $main_content .= '</td></tr>'; } $main_content .= '</table><br />'; } //show list of itemsvip offers if(count($offer_list['itemvip']) > 0) { $main_content .= '<center><table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="#505050"><td colspan="3"><font color="white" size="4"><b> Items VIP</b></font></td></tr><tr bgcolor="#D4C0A1"><td width="50" align="center"><b>Picture</b></td><td width="350" align="left"><b>Description</b></td><td width="250" align="center"><b>Select product</b></td></tr>'; foreach($offer_list['itemvip'] as $itemvip) { $main_content .= '<tr bgcolor="#F1E0C6"><td align="center"><img src="item_images/'.$itemvip['id'].'.gif"></td><td><b>'.$itemvip['name'].'</b> ('.$itemvip['points'].' points)<br />'.$itemvip['description'].'</td><td align="center">'; if(!$logged) $main_content .= '<b>Login to buy</b>'; else $main_content .= '<form action="index.php?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$itemvip['id'].'"><input type="submit" value="Buy '.$itemvip['name'].'"><br><b>for '.$item['points'].' points</b></form>'; $main_content .= '</td></tr>'; } $main_content .= '</table><br />'; } //show list of items offers if(count($offer_list['item']) > 0 or count($offer_list['container']) > 0 or count($offer_list['itemlogout']) > 0) $main_content .= '<center><table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="#505050"><td colspan="3"><font color="white" size="4"><b> ITEMS</b></font></td></tr><tr bgcolor="#D4C0A1"><td width="50" align="center"><b>Picture</b></td><td width="350" align="left"><b>Description</b></td><td width="250" align="center"><b>Select product</b></td></tr>'; if(count($offer_list['item']) > 0) { foreach($offer_list['item'] as $item) { $main_content .= '<tr bgcolor="#F1E0C6"><td align="center"><img src="item_images/'.$item['id'].'.gif"></td><td><b>'.$item['name'].'</b> ('.$item['points'].' points)<br />'.$item['description'].'</td><td align="center">'; if(!$logged) $main_content .= '<b>Login to buy</b>'; else $main_content .= '<form action="index.php?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$item['id'].'"><input type="submit" value="Buy '.$item['name'].'"><br><b>for '.$item['points'].' points</b></form>'; $main_content .= '</td></tr>'; } $main_content .= '</table><br />'; } //show list of containers offers if(count($offer_list['container']) > 0) { $main_content .= '<table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="#505050"><td colspan="3"><font color="white" size="4"><b> CONTAINERS WITH ITEMS</b></font></td></tr><tr bgcolor="#D4C0A1"><td width="50" align="center"><b>Picture</b></td><td width="350" align="left"><b>Description</b></td><td width="250" align="center"><b>Select product</b></td></tr>'; foreach($offer_list['container'] as $container) { $main_content .= '<tr bgcolor="#F1E0C6"><td align="center"><img src="item_images/'.$container['id'].'.gif"></td><td><b>'.$container['name'].'</b> ('.$container['points'].' points)<br />'.$container['description'].'</td><td align="center">'; if(!$logged) $main_content .= '<b>Login to buy</b>'; else $main_content .= '<form action="?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$container['id'].'"><input type="submit" value="Buy '.$container['name'].'"><br><b>for '.$container['points'].' points</b></form>'; $main_content .= '</td></tr>'; } $main_content .= '</table><br />'; } if(count($offer_list['itemlogout']) > 0) { $main_content .= '<table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="#505050"><td colspan="3"><font color="white" size="4"><b> Receive Item on Logout</b></font></td></tr><tr bgcolor="#D4C0A1"><td width="50" align="center"><b>Picture</b></font></td><td width="350" align="left"><b>Description</b></font></td><td width="250" align="center"><b>Select product</b></font></td></tr>'; foreach($offer_list['itemlogout'] as $itemlogout) { $main_content .= '<tr bgcolor="#F1E0C6"><td align="center"><img src="item_images/'.$itemlogout['id'].'.gif"></td><td><b>'.$itemlogout['name'].'</b> ('.$itemlogout['points'].' points)<br />'.$itemlogout['description'].'</td><td align="center">'; if(!$logged) $main_content .= '<b>Login to buy</b>'; else $main_content .= '<form action="index.php?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$itemlogout['id'].'"><input type="submit" value="Buy '.$itemlogout['name'].'"><br><b>for '.$itemlogout['points'].' points</b></form>'; $main_content .= '</td></tr>'; } $main_content .= '</table><br />'; } if(count($offer_list['changename']) > 0 or count($offer_list['pacc']) > 0 or count($offer_list['redskull']) > 0 or count($offer_list['unban']) > 0 ) $main_content .= '<center><table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="#505050"><td colspan="3"><font color="white" size="4"><b> Others</b></font></td></tr><tr bgcolor="#D4C0A1"><td width="50" align="center"><b>#</b></td><td width="350" align="left"><b>Description</b></td><td width="250" align="center"><b>Select product</b></td></tr>'; //Pacc if(count($offer_list['pacc']) > 0) foreach($offer_list['pacc'] as $pacc) { $main_content .= '<tr bgcolor="#F1E0C6"><td align="center">'.$pacc['days'].'</td><td><b>'.$pacc['name'].'</b> ('.$pacc['points'].' points)<br />'.$pacc['description'].'</td><td align="center">'; if(!$logged) $main_content .= '<b>Login to buy</b>'; else $main_content .= '<form action="index.php?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$pacc['id'].'"><input type="submit" value="Buy '.$pacc['name'].'"><br><b>for '.$pacc['points'].' points</b></form>'; } //Change Name if(count($offer_list['changename']) > 0) foreach($offer_list['changename'] as $changename) { $main_content .= '<tr bgcolor="#F1E0C6"><td align="center">Change Name</td><td><b>'.$changename['name'].'</b> ('.$changename['points'].' points)<br />'.$changename['description'].'</td><td align="center">'; if(!$logged) $main_content .= '<b>Login to buy</b>'; else $main_content .= '<form action="index.php?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$changename['id'].'"><input type="submit" value="Buy '.$changename['name'].'"><br><b>for '.$changename['points'].' points</b></form>'; } //Remove Red Skull if(count($offer_list['redskull']) > 0) foreach($offer_list['redskull'] as $redskull) { $main_content .= '<tr bgcolor="#F1E0C6"><td align="center"><img src="item_images/'.$redskull['id'].'.gif"></td><td><b>'.$redskull['name'].'</b> ('.$redskull['points'].' points)<br />'.$redskull['description'].'</td><td align="center">'; if(!$logged) $main_content .= '<b>Login to buy</b>'; else $main_content .= '<form action="index.php?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$redskull['id'].'"><input type="submit" value="Buy '.$redskull['name'].'"><br><b>for '.$redskull['points'].' points</b></form>'; $main_content .= '</td></tr>'; } //Unban if(count($offer_list['unban']) > 0) foreach($offer_list['unban'] as $unban){ $main_content .= '<tr bgcolor="#F1E0C6"><td align="center">Unban</td><td><b>'.$unban['name'].'</b> ('.$unban['points'].' points)<br />'.$unban['description'].'</td><td align="center">'; if(!$logged) $main_content .= '<b>Login to buy</b>'; else $main_content .= '<form action="index.php?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$unban['id'].'"><input type="submit" value="Buy '.$unban['name'].'"><br><b>for '.$unban['points'].' points</b></form>'; $main_content .= '</td></tr>'; } $main_content .= '</table>'; } elseif($action == 'select_player') { unset($_SESSION['viewed_confirmation_page']); if(!$logged) { $main_content .= 'Please login first.'; } else { $buy_id = (int) $_REQUEST['buy_id']; if(empty($buy_id)) { $main_content .= 'Please <a href="index.php?subtopic=shopsystem">select item</a> first.'; } else { $buy_offer = getItemByID($buy_id); if(isset($buy_offer['id'])) { //item exist in database if($buy_offer['type'] != 'changename') { if($user_premium_points >= $buy_offer['points']) { $main_content .= '<center><h2>Select player</h2><table border="0" cellpadding="1" cellspacing="1" width="650"> <tr bgcolor="#505050"><td colspan="2"><font color="white" size="4"><b>Selected offer</b></font></td></tr> <tr bgcolor="#F1E0C6"><td width="100"><b>Name:</b></td><td width="550">'.$buy_offer['name'].'</td></tr> <tr bgcolor="#D4C0A1"><td width="100"><b>Description:</b></td><td width="550">'.$buy_offer['description'].'</td></tr> </table><br /><form action="index.php?subtopic=shopsystem&action=confirm_transaction" method=POST><input type="hidden" name="buy_id" value="'.$buy_id.'"> <table border="0" cellpadding="1" cellspacing="1" width="650"> <tr bgcolor="#505050"><td colspan="2"><font color="white" size="4"><b>Give item to a player from your account</b></font></td></tr> <tr bgcolor="#F1E0C6"><td width="110"><b>Name:</b></td><td width="550"><select name="buy_name">'; $players_from_logged_acc = $account_logged->getPlayersList(); if(count($players_from_logged_acc) > 0) { $players_from_logged_acc->orderBy('name'); foreach($players_from_logged_acc as $player) $main_content .= '<option>'.$player->getName().'</option>'; } else { $main_content .= 'You don\'t have any character on your account.'; } $main_content .= '</select> <input type="submit" value="Give"></td></tr></table> </form><br /><form action="index.php?subtopic=shopsystem&action=confirm_transaction" method=POST><input type="hidden" name="buy_id" value="'.$buy_id.'"> <table border="0" cellpadding="1" cellspacing="1" width="650"> <tr bgcolor="#505050"><td colspan="2"><font color="white" size="4"><b>Give item to other player</b></font></td></tr> <tr bgcolor="#D4C0A1"><td width="110"><b>To player:</b></td><td width="550"><input type="text" name="buy_name"> - name of the player who should get item</td></tr> <tr bgcolor="#F1E0C6"><td width="110"><b>From:</b></td><td width="550"><input type="text" name="buy_from"> <input type="submit" value="Give"> - your nick, \'empty\' = Anonymous</td></tr> </table><br /></form>'; } else { $main_content .= 'For this item you need <b>'.$buy_offer['points'].'</b> points.<br>You have only <b>'.$user_premium_points.'</b> premium points. Please <a href="index.php?subtopic=shopsystem">select other item</a> or buy premium points.'; } } else { $main_content .= '<center><h2>Change Name</h2><form action="index.php?subtopic=shopsystem&action=confirm_transaction" method=POST><input type="hidden" name="buy_id" value="'.$buy_id.'"> <table border="0" cellpadding="1" cellspacing="1" width="650"><tr bgcolor="#505050"><td colspan="2"><font color="white" size="4"><b>Change Name:</b></font></td></tr> <tr bgcolor="#D4C0A1"><td width="110"><b>Name:</b></td><td width="550"><select name="buy_name">'; $players_from_logged_acc = $account_logged->getPlayersList(); if(count($players_from_logged_acc) > 0) { $players_from_logged_acc->orderBy('name'); foreach($players_from_logged_acc as $player) { $main_content .= '<option>'.$player->getName().'</option>'; } } else { $main_content .= 'You don\'t have any character on your account.'; } $main_content .= '</select></td></tr><tr bgcolor="#F1E0C6"><td width="110"><b>New name:</b></td><td width="550"><input type="text" name="buy_from"> <input type="submit" value="Change Name"></td></tr></table><br /></form>'; } } else { $main_content .= 'Offer with ID <b>'.$buy_id.'</b> doesn\'t exist. Please <a href="index.php?subtopic=shopsystem">select item</a> again.'; } } } } elseif($action == 'confirm_transaction') { if(!$logged) { $main_content .= 'Please login first.'; } else { $buy_id = (int) $_POST['buy_id']; $buy_name = stripslashes(urldecode($_POST['buy_name'])); $buy_from = stripslashes(urldecode($_POST['buy_from'])); if(empty($buy_id)) { $main_content .= 'Please <a href="index.php?subtopic=shopsystem">select item</a> first.'; } else { if($buy_offer['type'] == 'changename'){ if(!check_name_new_char($buy_from)) { $main_content .= 'Invalid name format of new name.'; } } else { $buy_offer = getItemByID($buy_id); $check_name_in_database = $ots->createObject('Player'); $check_name_in_database->find($buy_from); if($buy_offer['type'] == 'changename'){ if(!$check_name_in_database->isLoaded()) { } } if(isset($buy_offer['id'])) { //item exist in database if($user_premium_points >= $buy_offer['points']) { if(check_name($buy_name)) { $buy_player = new OTS_Player(); $buy_player->find($buy_name); if($buy_player->isLoaded()) { $buy_player_account = $buy_player->getAccount(); if($_SESSION['viewed_confirmation_page'] == 'yes' && $_POST['buy_confirmed'] == 'yes') { 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>'; } elseif($buy_offer['type'] == 'unban') { $my_acc_id = $account_logged->getCustomField('id'); $datadata = $SQL->query('SELECT * FROM '.$SQL->tableName('bans').' WHERE value = '.$my_acc_id.';')->fetch(); if($datadata['value'] == $my_acc_id) { if($SQL->query('DELETE FROM bans WHERE value= '.$my_acc_id.' LIMIT 1;')) { } else { $SQL->query('DELETE FROM bans WHERE account= '.$my_acc_id.' LIMIT 1;'); } $account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']); $user_premium_points = $user_premium_points - $buy_offer['points']; $main_content .= '<center><h2>Ban Deleted!</h2><b>Your account has been unbanned for '.$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>'; } else { $main_content .= '<center><b>You don\'t have any bans in your account!</b><br><br><a href="index.php?subtopic=shopsystem">Go back</a><br>'; } } //////////////////////////////// elseif($buy_offer['type'] == 'itemlogout') { $my_acc_id = $buy_player->getCustomField('id'); $playerinfo = $SQL->query('SELECT * FROM '.$SQL->tableName('players').' WHERE id = '.$my_acc_id.';')->fetch(); $playerslot = $SQL->query('SELECT * FROM '.$SQL->tableName('player_items').' WHERE player_id = '.$my_acc_id.';')->fetch(); if($playerinfo['online'] == '0') { if ($playerslot['pid'] != '10') { if ($datadata['cap'] >= $SQL->quote($buy_offer['free_cap'])) { $SQL->query('INSERT INTO player_items (player_id, pid, itemtype, count) VALUES ('.$my_acc_id.', '.$SQL->quote($buy_offer['pid']).', '.$SQL->quote($buy_offer['item_id']).', '.$SQL->quote($buy_offer['count1']).');'); $account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']); $user_premium_points = $user_premium_points - $buy_offer['points']; $main_content .= '<h2>Item received to player: '.$buy_player->getName().'!</h2><br>Now you have <b>'.$user_premium_points.' premium points</b>. <br><a href="index.php?subtopic=shopsystem">Go to Shop Site</a>'; } else { $main_content .= '<b>You need '.$SQL->quote($buy_offer['free_cap']).' or more of cap!</b><br><a href="index.php?subtopic=shopsystem">Go back</a>'; } } else { $main_content .= '<b>Please leave the arrow slot in blank to receive item!</b><br><a href="index.php?subtopic=shopsystem">Go back</a>'; } } else { $main_content .= '<b>You need to be offline!</b><br><a href="index.php?subtopic=shopsystem">Go back</a>'; } } //////////////////////////////// elseif($buy_offer['type'] == 'changename') { $my_acc_id = $buy_player->getCustomField('id'); $playerinfo = $SQL->query('SELECT * FROM '.$SQL->tableName('players').' WHERE '.$SQL->fieldName('id').' = '.$my_acc_id.';')->fetch(); $checkname = $SQL->query('SELECT * FROM '.$SQL->tableName('players').' WHERE '.$SQL->fieldName('name').' = '. $SQL->quote($buy_from) .';')->fetch(); if($playerinfo['online'] == '0') { if($checkname == false) { $SQL->query('UPDATE `players` SET `name` = '. $SQL->quote($buy_from) .' WHERE `id` = '. $my_acc_id.' ;'); $account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']); $user_premium_points = $user_premium_points - $buy_offer['points']; $main_content .= '<center><h2>Your name has been changed to '.$buy_from.'.</h2><br><b>You have '.$user_premium_points.' premium points left</b>. <br><br><a href="index.php?subtopic=shopsystem">Go to Shop Site</a><br>'; } else { $main_content .= '<center><h2>Sorry, the name "<i>'.$buy_from.'</i>" does already exist.<br>Please select another name.</h2><br>'; } } else { $main_content .= '<center><h2>'.$buy_name.' has to be offline to complete transaction.</h2><br><br><a href="index.php?subtopic=shopsystem">Go back</a><br>'; } } //////////////////////////////// elseif($buy_offer['type'] == 'redskull') { $my_acc_id = $buy_player->getCustomField('id'); $playerinfo = $SQL->query('SELECT * FROM '.$SQL->tableName('players').' WHERE '.$SQL->fieldName('id').' = '.$my_acc_id.';')->fetch(); if($playerinfo['skull'] == '4' AND $playerinfo['online'] >= '0' AND $playerinfo['skulltime'] > '0') { $SQL->query('UPDATE killers SET unjustified=0 WHERE id IN (SELECT kill_id FROM player_killers WHERE player_id='. $my_acc_id .');'); $SQL->query('UPDATE players SET skulltime=0, skull=0 WHERE id='. $my_acc_id .';'); $account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']); $user_premium_points = $user_premium_points - $buy_offer['points']; $main_content .= '<center><h2>RedSkull Removed!</h2><br><b>Your redskull has been removed from the player '.$buy_player->getName().'.</b> <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>'; } else { $main_content .= '<center><b>'.$buy_player->getName().' has to be offline or have redskull to complete transaction!.</b><br><br><a href="index.php?subtopic=shopsystem">Go back</a><br>'; } } ////////////////////////// elseif($buy_offer['type'] == 'item') { $sql = 'INSERT INTO '.$SQL->tableName('z_ots_comunication').' (id, name, type, action, param1, param2, param3, param4, param5, param6, param7, delete_it) VALUES (NULL, '.$SQL->quote($buy_player->getName()).', \'login\', \'give_item\', '.$SQL->quote($buy_offer['item_id']).', '.$SQL->quote($buy_offer['item_count']).', \'\', \'\', \'item\', '.$SQL->quote($buy_offer['name']).', \'\', \'1\');'; $SQL->query($sql); $save_transaction = 'INSERT INTO '.$SQL->tableName('z_shop_history_item').' (id, to_name, to_account, from_nick, from_account, price, offer_id, trans_state, trans_start, trans_real) VALUES ('.$SQL->lastInsertId().', '.$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['name']).', \'wait\', '.$SQL->quote(time()).', \'0\');'; $SQL->query($save_transaction); $account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']); $user_premium_points = $user_premium_points - $buy_offer['points']; $main_content .= '<center><h2>Item added!</h2><b>'.$buy_offer['name'].'</b> added to 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 MAIN SHOP SITE</a><br>'; } if($buy_offer['type'] == 'vipdays') { $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); $account_logged->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>'; } elseif($buy_offer['type'] == 'itemvip') { $sql = 'INSERT INTO '.$SQL->tableName('z_ots_comunication').' (id, name, type, action, param1, param2, param3, param4, param5, param6, param7, delete_it) VALUES (NULL, '.$SQL->quote($buy_player->getName()).', \'login\', \'give_item\', '.$SQL->quote($buy_offer['item_id']).', '.$SQL->quote($buy_offer['megaitems_count']).', \'\', \'\', \'megaitems\', '.$SQL->quote($buy_offer['name']).', \'\', \'1\');'; $SQL->query($sql); $save_transaction = 'INSERT INTO '.$SQL->tableName('z_shop_history_item').' (id, to_name, to_account, from_nick, from_account, price, offer_id, trans_state, trans_start, trans_real) VALUES ('.$SQL->lastInsertId().', '.$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['name']).', \'wait\', '.$SQL->quote(time()).', \'0\');'; $SQL->query($save_transaction); $account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']); $user_premium_points = $user_premium_points - $buy_offer['points']; $main_content .= '<center><h2>Mega Item added!</h2><b>'.$buy_offer['name'].'</b> added to 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 MAIN SHOP SITE</a><br>'; } elseif($buy_offer['type'] == 'container') { $sql = 'INSERT INTO '.$SQL->tableName('z_ots_comunication').' (id, name, type, action, param1, param2, param3, param4, param5, param6, param7, delete_it) VALUES (NULL, '.$SQL->quote($buy_player->getName()).', \'login\', \'give_item\', '.$SQL->quote($buy_offer['item_id']).', '.$SQL->quote($buy_offer['item_count']).', '.$SQL->quote($buy_offer['container_id']).', '.$SQL->quote($buy_offer['container_count']).', \'container\', '.$SQL->quote($buy_offer['name']).', \'\', \'1\');'; $SQL->query($sql); $save_transaction = 'INSERT INTO '.$SQL->tableName('z_shop_history_item').' (id, to_name, to_account, from_nick, from_account, price, offer_id, trans_state, trans_start, trans_real) VALUES ('.$SQL->lastInsertId().', '.$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['name']).', \'wait\', '.$SQL->quote(time()).', \'0\');'; $SQL->query($save_transaction); $account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']); $user_premium_points = $user_premium_points - $buy_offer['points']; $main_content .= '<center><h2>Container of items added!</h2><b>'.$buy_offer['name'].'</b> added to 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 MAIN SHOP SITE</a><br>'; } } else { if($buy_offer['type'] != 'changename') { $set_session = TRUE; $_SESSION['viewed_confirmation_page'] = 'yes'; $main_content .= '<center><h2>Confirm transaction</h2> <table border="0" cellpadding="1" cellspacing="1" width="700"> <tr bgcolor="#505050"><td colspan="3"><font color="white" size="4"><b>Confirm transaction</b></font></td></tr> <tr bgcolor="#D4C0A1"><td width="100"><b>Name:</b></td><td width="550" colspan="2">'.$buy_offer['name'].'</td></tr> <tr bgcolor="#F1E0C6"><td width="100"><b>Description:</b></td><td width="550" colspan="2">'.$buy_offer['description'].'</td></tr> <tr bgcolor="#D4C0A1"><td width="100"><b>Cost:</b></td><td width="550" colspan="2"><b>'.$buy_offer['points'].' premium points</b> from your account</td></tr> <tr bgcolor="#F1E0C6"><td width="100"><b>For Player:</b></td><td width="550" colspan="2"><font color="red">'.$buy_player->getName().'</font></td></tr> <tr bgcolor="#D4C0A1"><td width="100"><b>From:</b></td><td width="550" colspan="2"><font color="red">'.$buy_from.'</font></td></tr> <tr bgcolor="#F1E0C6"><td width="100"><b>Transaction?</b></td><td width="275" align="left"> <form action="index.php?subtopic=shopsystem&action=confirm_transaction" method="POST"><input type="hidden" name="buy_confirmed" value="yes"><input type="hidden" name="buy_id" value="'.$buy_id.'"><input type="hidden" name="buy_from" value="'.urlencode($new_name).'"><input type="hidden" name="buy_name" value="'.urlencode($buy_name).'"><input type="submit" value="Accept"></form></td> <td align="right"><form action="index.php?subtopic=shopsystem" method="POST"><input type="submit" value="Cancel"></form></td></tr> </table>'; } else { $set_session = TRUE; $_SESSION['viewed_confirmation_page'] = 'yes'; $main_content .= '<center><h2>Confirm Name Changing</h2> <table border="0" cellpadding="1" cellspacing="1" width="700"> <tr bgcolor="#505050"><td colspan="3"><font color="white" size="4"><b>Confirm transaction</b></font></td></tr> <tr bgcolor="#D4C0A1"><td width="130"><b>Name:</b></td><td width="550" colspan="2">'.$buy_offer['name'].'</td></tr> <tr bgcolor="#F1E0C6"><td width="130"><b>Description:</b></td><td width="550" colspan="2">'.$buy_offer['description'].'</td></tr> <tr bgcolor="#D4C0A1"><td width="130"><b>Cost:</b></td><td width="550" colspan="2"><b>'.$buy_offer['points'].' premium points</b> from your account</td></tr> <tr bgcolor="#F1E0C6"><td width="130"><b>Current Name:</b></td><td width="550" colspan="2"><font color="red">'.$buy_player->getName().'</font></td></tr> <tr bgcolor="#D4C0A1"><td width="130"><b>New Name:</b></td><td width="550" colspan="2"><font color="red">'.$buy_from.'</font></td></tr> <tr bgcolor="#F1E0C6"><td width="130"><b>Change Name?</b></td><td width="275" align="left"> <form action="index.php?subtopic=shopsystem&action=confirm_transaction" method="POST"><input type="hidden" name="buy_confirmed" value="yes"><input type="hidden" name="buy_id" value="'.$buy_id.'"><input type="hidden" name="buy_from" value="'.urlencode($buy_from).'"><input type="hidden" name="buy_name" value="'.urlencode($buy_name).'"><input type="submit" value="Accept"></form></td> <td align="right"><form action="index.php?subtopic=shopsystem" method="POST"><input type="submit" value="Cancel"></form></td></tr> </table>'; } } } else { $main_content .= 'Player with name <b>'.$buy_name.'</b> doesn\'t exist. Please <a href="index.php?subtopic=shopsystem&action=select_player&buy_id='.$buy_id.'">select other name</a>.'; } } else { $main_content .= 'Invalid name format. Please <a href="index.php?subtopic=shopsystem&action=select_player&buy_id='.$buy_id.'">select other name</a> or contact with administrator.'; } } else { $main_content .= 'For this item you need <b>'.$buy_offer['points'].'</b> points. You have only <b>'.$user_premium_points.'</b> premium points. Please <a href="index.php?subtopic=shopsystem">select other item</a> or buy premium points.'; } } else { $main_content .= 'Offer with ID <b>'.$buy_id.'</b> doesn\'t exist. Please <a href="index.php?subtopic=shopsystem">select item</a> again.'; } } } } if(!$set_session) { unset($_SESSION['viewed_confirmation_page']); } } elseif($action == 'show_history') { if(!$logged) { $main_content .= 'Please login first.'; } else{ $items_history_received = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shop_history_item').' WHERE '.$SQL->fieldName('to_account').' = '.$SQL->quote($account_logged->getId()).' OR '.$SQL->fieldName('from_account').' = '.$SQL->quote($account_logged->getId()).';'); if(is_object($items_history_received)) { foreach($items_history_received as $item_received) { if($account_logged->getId() == $item_received['to_account']) $char_color = 'green'; else $char_color = 'red'; $items_received_text .= '<tr bgcolor="#F1E0C6"><td><font color="'.$char_color.'">'.$item_received['to_name'].'</font></td><td>'; if($account_logged->getId() == $item_received['from_account']) $items_received_text .= '<i>Your account</i>'; else $items_received_text .= $item_received['from_nick']; $items_received_text .= '</td><td>'.$item_received['offer_id'].'</td><td>'.date("j F Y, H:i:s", $item_received['trans_start']).'</td>'; if($item_received['trans_real'] > 0) $items_received_text .= '<td>'.date("j F Y, H:i:s", $item_received['trans_real']).'</td>'; else $items_received_text .= '<td><b><font color="red">Not realized yet.</font></b></td>'; $items_received_text .= '</tr>'; } } $paccs_history_received = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shop_history_pacc').' WHERE '.$SQL->fieldName('to_account').' = '.$SQL->quote($account_logged->getId()).' OR '.$SQL->fieldName('from_account').' = '.$SQL->quote($account_logged->getId()).';'); if(is_object($paccs_history_received)) { foreach($paccs_history_received as $pacc_received) { if($account_logged->getId() == $pacc_received['to_account']) $char_color = 'green'; else $char_color = 'red'; $paccs_received_text .= '<tr bgcolor="#F1E0C6"><td><font color="'.$char_color.'">'.$pacc_received['to_name'].'</font></td><td>'; if($account_logged->getId() == $pacc_received['from_account']) $paccs_received_text .= '<i>Your account</i>'; else $paccs_received_text .= $pacc_received['from_nick']; $paccs_received_text .= '</td><td>'.$pacc_received['pacc_days'].' days</td><td>'.$pacc_received['price'].' Points</td><td>'.date("j F Y, H:i:s", $pacc_received['trans_real']).'</td></tr>'; } } $main_content .= '<center><h1>Transactions History</h1></center>'; if(!empty($items_received_text)) $main_content .= '<center><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=95%><tr width="100%" bgcolor="#505050"><td colspan="5"><font color="white" size="4"><b> Item Transactions</b></font></td></tr><tr bgcolor="#D4C0A1"><td><b>To:</b></td><td><b>From:</b></td><td><b>Offer name</b></td><td><b>Bought on page</b></td><td><b>Received on '.$config['server']['serverName'].'</b></td></tr>'.$items_received_text.'</table><br />'; if(!empty($paccs_received_text)) $main_content .= '<center><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=95%><tr width="100%" bgcolor="#505050"><td colspan="5"><font color="white" size="4"><b> Pacc Transactions</b></font></td></tr><tr bgcolor="#D4C0A1"><td><b>To:</b></td><td><b>From:</b></td><td><b>Duration</b></td><td><b>Cost</b></td><td><b>Added:</b></td></tr>'.$paccs_received_text.'</table><br />'; if(empty($paccs_received_text) && empty($items_received_text)) $main_content .= 'You did not buy/receive any items or PACC.'; } } if(!$logged) $main_content .= 'Please login to see how much points you have.'; else $main_content .= '<br><b><font color="green">You have premium points: </font></b>'.$user_premium_points; } else $main_content .= '<br><center><b>Shop System is currently disabled for this server.Please ask the admin for more information.</b></center>'; ?> Grato!
  5. djwas

    Posl

    Pokemon Online Sem Limites , recrutando Estatisticas do servidor: Sistemas Fly,Ride,Surf,Dig,Cut,Blink,Flash,Move. Pelo Order: 100% Npc que pinta ball: 100% Lvl para usar pokemons: 100% M's, m1 ao m11: 80% quase acabando Nurse Healando 6 pokes: 100% New Shinyes: 100% Ditto System: 100% Portrait: 100% Npc de Premium: 100% Barco System: 100% loja de roupas 100% Carry System:100% New Pokedex:100% Mas Vida e Danos dos pokes a cada level:100% Pokemons Passivos:100% Go/back:100% New Catch:100% Evolution System:100%(Alguns 2 stones.) Teleport:100% M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12:(95%) CONTROL MIND:100% NPC Que Pinta PokeBalls:80% NPC Que Compra Pokemons (Healther):100% (Preços Melhores e Mais Ajustados) NPC Premium por Diamonds:100% NPC Doll (Compra Dolls):100% NPC Fast Food:100% NPC Flint (Compra Stones):100% Boost System:0% Tv/Cam System:0% GYM System:50% Pokémons Novos 2ª Geração:100% New Portrait:100% Equipe = PosL Team Hoster = [sorce] Scripter =[VAGO] - [VAGO] Spriter {Itens} = [VAGO] Web Master = [VAGO] Client Maker = [VAGO] Spell Maker = [VAGO] -Seu Cadastro- Nome: Quantas horas no pc: Cargo: idade: Msn: contato : tibiaw2009@hotmail.com Estamos Trabalhando Mais .... :construction: Site Do Server : Site Por Em Quanto Estamos Usando Esse Site , Por Causa Que Nao Temos Um Web Designer.
  6. Galera sou novo aqui no forum e na criação de OTs. Não sei se aqui que se posta mas se não for por favor me digam. Tenho um OT 8.4 serverfull v 2.8 e não estou conseguindo fazer funcionar as spells utito tempo e utito tempo san, esta dando para usar as spells mas não aumenta e nem diminui nada das skills. Por favor me ajudem. seguem as scripts. <instant name="Sharpshooter" words="utito tempo san" lvl="60" mana="450" prem="0" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" script="support/sharpshooter.lua"> <vocation name="Paladin"/> <vocation name="Royal Paladin"/> </instant> <instant name="Blood Rage" words="utito tempo" lvl="60" mana="290" prem="1" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="support/blood_rage.lua"> <vocation name="Knight"/> <vocation name="Elite Knight"/> </instant> blood_rage.lua local conditionAttrib = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionAttrib, CONDITION_PARAM_TICKS, 10000) setConditionParam(conditionAttrib, CONDITION_PARAM_SKILL_SHIELDPERCENT, -100) setConditionParam(conditionAttrib, CONDITION_PARAM_SKILL_MELEEPERCENT, 35) local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) setCombatCondition(combat, conditionAttrib) function onCastSpell(cid, var) if(doCombat(cid, combat, var) == LUA_NO_ERROR) then return LUA_NO_ERROR end return LUA_ERROR end sharpshooter.lua local conditionAttrib = createConditionObject(CONDITION_ATTRIBUTES) local conditionSlow = createConditionObject(CONDITION_HASTE) local conditionExhaustCombat = createConditionObject(CONDITION_EXHAUST_COMBAT) local conditionExhaustHeal = createConditionObject(CONDITION_EXHAUST_HEAL) setConditionParam(conditionAttrib, CONDITION_PARAM_TICKS, 10000) setConditionParam(conditionAttrib, CONDITION_PARAM_SKILL_DISTANCEPERCENT, 50) setConditionParam(conditionSlow, CONDITION_PARAM_TICKS, 10000) setConditionFormula(conditionSlow, -0.7, 0, -0.7, 0) setConditionParam(conditionExhaustCombat, CONDITION_PARAM_TICKS, 10000) setConditionParam(conditionExhaustHeal, CONDITION_PARAM_TICKS, 10000) local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) setCombatCondition(combat, conditionAttrib) setCombatCondition(combat, conditionSlow) setCombatCondition(combat, conditionExhaustCombat) setCombatCondition(combat, conditionExhaustHeal) function onCastSpell(cid, var) if(doCombat(cid, combat, var) == LUA_NO_ERROR) then return LUA_NO_ERROR end return LUA_ERROR end
  7. Aew Galera! Bem, eu comecei meu ot a pouco tempo, eu tenho estado editando, fazendo novas partes do mapa, novas quests, novos items, etc! Resumindo, tudo tem corrido bem, até agora! Eu acabei por fazer uma arena, mas o pior é que nao consigo teleportar os players para lá. Aqui está a minha arena Sem título.bmp Eu queria que todos os players que estivessem em cima dos quadrados Cinzentos "Caissem", quando eu puxasse uma alavanca e fossem parar a esta arena que eu fiz! Sem título1.bmp Procurei e não encontrei nada de como teletransportar mais que 2 players de uma só vês... O máximo que eu consegui encontrar foi o teletransportar 2 players quando uma alavanca era "usada", eu ai decidi editar essa script para o meu OT e com todos os quadrados que eram supostamente para teletransportar os players, mas continua a não dar... Alguem podia postar um pequeno tutorial de como fazer isso? Ficava muito agradecido por qualquer tipo de ajuda... (BTW sou novo aqui)
  8. XSoft Server Servidor : TFS 0.4 Mapa : Global Versão : 8.60 Hospedado nos EUA. Temos vagas para quem entende de otserver. Temos vagas em todas as áreas, porém não precisamos de mapper. Confira em http://xxsoft.servegame.com/ Thanks ;D Ficha: Nome: Nick: Idade: Cargo: Scripter Experiência Email:
  9. Coyoty

    [Npc] Vip - Problemas

    Ola, Criei um npc que o objetivo era retirar o itens 2195 em troca de algumas vantagens. Até ai tudo bem, só que na hora de executar acontece um erro. Segue abaixo informações The Forgotten Server, version 0.3.6 (Crying Damson) Versão 8,54 treiner.lua local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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 creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if(msgcontains(msg, 'vip')) then selfSay('Quer comprar vip por 8 Treiner Coins?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if(getPlayerItemCount(cid, 2159) >= 8) then if(doPlayerRemoveItem(cid, 2159, 8)) then local item = getPlayerItemById(cid, true, 6530) selfSay('Here you are.', cid) local price = 8 if doPlayerRemoveItem(cid, 2159, price) == TRUE then local days = 30 local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, 13540) local timenow = os.time() if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end if string.find(tostring(getCreatureName(cid)),"[[Vip]]") then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.") setPlayerStorageValue(cid, 13540, time) local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.") setPlayerStorageValue(cid, 13540, time) local name = getCreatureName(cid) db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de "..price.." Treiner Coins para colocar vip.") end else selfSay('Desculpe, você não tem Treiner Coins suficientes.', cid) end else selfSay('Desculpe, você não tem Treiner Coins suficientes.', cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'gender')) then selfSay('Quer comprar trocar de sexo por 1 Treiner Coin?', cid) talkState[talkUser] = 2 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2 and getPlayerItemCount(cid, 2159)) >= 1 then if doPlayerRemoveItem(cid, 2159, 1) == TRUE then doPlayerSetSex(cid, getPlayerSex(cid) == 0 and 1 or 0) selfSay('Pronto, pode trocar seu outfit.', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2 and getPlayerItemCount(cid, 2159)) < 1 then selfSay('Voce não tem o Treiner Coin.', cid) talkState[talkUser] = 0 elseif(msgcontains(msg, 'ofertas')) then selfSay('Posso trocar seu { gender } e tambem vendo { vip }.', cid) elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser])) then talkState[talkUser] = 0 selfSay('Ok então.', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) treiner.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Treiner Seller" script="treiner.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="Oi |PLAYERNAME|, vendo artigos por Treiner Coins. Veja minhas { ofertas }."/> </parameters> </npc> O erro apresentado é(aparece na gui): [27/02/2011 13:18:11] [Error - Npc interface] [27/02/2011 13:18:11] data/npc/scripts/treiner.lua:onCreatureSay [27/02/2011 13:18:11] Description: [27/02/2011 13:18:11] data/npc/scripts/treiner.lua:65: attempt to compare number with nil [27/02/2011 13:18:11] stack traceback: [27/02/2011 13:18:11] data/npc/scripts/treiner.lua:65: in function 'callback' [27/02/2011 13:18:11] data/npc/lib/npcsystem/npchandler.lua:390: in function 'onCreatureSay' [27/02/2011 13:18:11] data/npc/scripts/treiner.lua:8: in function <data/npc/scripts/treiner.lua:8> Então é isso, seria bom se vocês me ajudassem a resolver essa gambiarra esse npc que estou fazendo. Aguardo Respostas, Coyoty
  10. já vi varios tutoriais aque e ainda não consegui faze uma anihilator sou horrível em mexer com actions queria sabe se alguem pudesse me ajuda deis das actions id na alavanca até o script por que quando faço a alavanca se meche sem descer os players. do REP+ ops acho que postei lugar errado ;s
  11. Eaw galera! Descobri Um problemão no meu Ot de Pokemon.. O Fly e Ride System estão Bugados! Exemplo Do Bug: To voando com meu charizard, dai eu saio do voo, luto com algum pokemon, e o Charizard morre! Tpw o corpo dele fica no chão e vc pode usar ele denovo, Ou seja tenho um charizard infinito! (Obs:. Mais isso é com todos os pokes com Fly e Ride) É so usar Fly ou Ride antes de seu poke morrer, que ele "ressucita" Uso Server 8.54 Flash! Meus Scripts de Fly E ride pra quem precisar: Fly Ride :weight_lift: Galera Por favor me ajude!!! Galera Por favor é urgente!! me ajudem
  12. gorz

    Add Vip

    Gente,oq eu coloco nesse script pra APENAS gods poderem usar? function onSay(cid, words, param) -- configs access = 1 days = 30 -- end configs player = getPlayerByName(param) daysvalue = days*3600*24 storageplayer = getPlayerStorageValue(player,29000) timenow = os.time() if storageplayer == -1 or storageplayer == 0 then time = timenow+daysvalue else time = storageplayer+daysvalue end if param ~= "" then if getPlayerGroupId(cid) >= access then doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adcionados ".. days .." dias de VIP no seu character.") setPlayerStorageValue(player,29000,time) quantity = math.floor((getPlayerStorageValue(player,29000) - timenow)/(3600*24)) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Somente jogadores com acesso maior que "..access.." podem adcionar vips.") end end end
  13. Preciso de um script que o player colocara itens em cima de um tile e , dar use as peçar tranformara em um item (id:2342) Pos do tile: X:32807 Y: 32270 Z:12 ID das peças: 2335 2336 2337 2338 2339 2340 2341 E que quando ele fizer a fundição ele recebe uma storage pra não poder fazer mais. Espero respostas Vlw.
  14. Faaaala galera, aqui estou eu com mais outra magia, dessa vez uma magia mais simples, quando o player usar essa magia gastará uma determinada quantidade de Soul's, em troca disso ele vai regenerar todo o life e mana, por isso aconselho colocar para gastar toda soul. crie um arquivo com o nome Sacrifice.lua, e coloque isso dentro: function onCastSpell(cid, var) local soul = 200 -- quantidade de soul if getPlayerSoul(cid) >= soul then doCreatureAddMana(cid, getCreatureMaxMana(cid)) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) doSendAnimatedText(getPlayerPosition(cid), "Sacrifice", 210) doPlayerAddSoul(cid, -soul) local pos = getPlayerPosition(cid) local effectPositions = { {x = pos.x, y = pos.y - 3, z = pos.z}, {x = pos.x, y = pos.y + 3, z = pos.z}, {x = pos.x - 3, y = pos.y, z = pos.z}, {x = pos.x + 1, y = pos.y, z = pos.z}, {x = pos.x - 2, y = pos.y - 2, z = pos.z}, {x = pos.x + 2, y = pos.y - 2, z = pos.z}, {x = pos.x + 3, y = pos.y + 2, z = pos.z}, {x = pos.x - 3, y = pos.y + 2, z = pos.z} } for _, ePos in ipairs(effectPositions) do doSendDistanceShoot(pos, ePos, 30) doSendMagicEffect(ePos, 49) end else doPlayerSendCancel(cid, "Sorry, you need "..soul.." or more for use this spell.") end return FALSE end em seguida vá no spells.xml e coloque a seguinte tag: <instant name="Sacrificing Souls" words="utori ani" lvl="50" mana="0" prem="1" selftarget="1" blockwalls="1" exhaustion="5000" needlearn="0" script="Sacrifice.lua"> <vocation name="NOME DA VOCAÇÃO AQUI"/> <vocation name="NOME DA VOCAÇÃO AQUI"/> </instant> Pronto ! agora vo ensinar a mudar a quantidade de soul's, procure no script por essa função: local soul = 200 -- quantidade de soul Ai no caso estar 200, mude para quantidade que voçe quiser, até mais.
  15. Pokemon Inox Olá pessoal do XTibia! Estou aqui para divulgar o meu projeto, segue as informações: Sistemas: M1 á M12 = Desenvolvimento. Order: Move = 99% (Só falta o pokemon ficar parado.), Habilidades = Pronto. :button_ok: Pokedex (SVKE) = Pronto. :button_ok: Evoluções (SVKE) = Pronto. :button_ok: Vip System = Pronto. :button_ok: Box +1, +2, +3 e +4 (SVKE) = Pronto. :button_ok: Portrait System = Pronto. :button_ok: Nurse = Pronto. :button_ok: NPC: Box Quests = Desenvolvimento. NPC: VIP por Emerald = Pronto. :button_ok: Pokemon Collector = Pronto. :button_ok: Quest First Stone (Professor Burton) = Pronto. :button_ok: Catch (SVKE) = Pronto. :button_ok: Fishing = Pronto. :button_ok: Cargos: Hoster = Vago. Webmaster = Vago. Scripter = Vago. Quem estiver interessado em ajudar, favor enviar um formulário com as seguintes informações: Nome: Idade: MSN: Cargo: Experiência em tal cargo: Como pretende ajudar?:
  16. ADMTouya

    Kingbr - 1 Vaga.

    Bom Dia a todos sou o ADM Touya do Projeto KingBR, Bom vim aqui pois o Server está quase pronto porém, Nosso scripter saiu e levou com ele as magias. E com isso o KingBR abre vaga para Scripter. ~Algumas informações~ O KingBR conta com sistema de Resert em stages. - [0% Pronto] O KingBR Conta com um Mapa Próprio Feito por Danilo autor do Mapa Vancine 8.54. - [75% Pronto] O KingBR Conta com Novas Spells e 2ª Promoção, As magias estão todas no Papel, Só falta fazer. [20% Pronto] O KingBR Conta com Um Sistema de Doação onde ganha como gratificação ganha um Item valioso Chamado Esmerald [ 60% Pronto ] O KingBR Conta com Host pago de 500 Gb de HD/ 4 GB De memória / Com uma conexão a internet de 10 Mega. O KingBR Conta com um Site próprio sem copiar o Site do Tibia Global. Só estamos acabando o Shopping. [ 80% Pronto ] O KingBR Conta ainda com um fundo em R$ Para pagar anúncios Aqui no Xtibia e em outros Fóruns de Tibia e OT server. Em Uma barra onde o maximo é 100% o KingBR Está: 0% |||||||||| 75% ~Algumas ScreenShots do Mapa~ ~Equipe e Staff~ Equipe: Faz Tudo: ADM Queen & ADM Touya. Mappers : CM Psy Scripter : [Vaga] WebMaster : GM Renan Staff: ADMs: Amanda (ADM Queen) & Vinicius (ADM Touya) CMs: Danilo (CM Psy) & (Vago Scripter) GMs: GM Renan Tutores: Tutor Charles & Tutor Falling. Quer fazer parte dessa equipe? Então se inscreva. ~Videos~ Site: KingBR Bom por enquanto é só, A equipe do KingBR agradece a atenção. Assinado: ADM Touya.
  17. hamud

    Pokemon Red Life

    Ola galerinha do :XTibia_smile: sou novo aqui mais estou montando equipe para pokemon.... vagas para: Scripter: sprite: mapper: Não sera apenas um projeto séra uma familía até mais... bem galera irei faser um pequeno formulario para ser mais pratico para o pessoal: nome: nick: cargo desejado: quanto tempo de experiencia: OBS:é obrigado criar um skype se ja tiver me adcione no skype ou no msn skype:mohamadseife msn:mohamad_angra13@hotmail.com
  18. ALLan162

    Tibia Ex

    Bom, vim aqui apresentar o meu server de tibia, o Tibia EX, ele será um jogo que fará parte da Rede EX de games, a qual já possui um servidor de Ragnarok, inaugurando em aproximadamente um mês. A versão do servidor é provavelmente a 8.7 com TFS. .A Proposta Bom, a proposta de nosso server, é um servidor que lidaria com mitologia Greco-Romana, ou seja, os players, ao invés de se tornarem uma vocation, seria feito um sorteio totalmente randomico, para definí-lo como filho(a) de um dos(as) Deuses(as) da mitologia, sendo que cada Semideus(Meio-Humano/Meio-Deus), teria suas próprias magias, armas, habilidades, e diferenciais. Mas aí vem alguém e me diz: " A mas é só ficar criando vários chars até eu cair com o que eu queira. Duh." E aí está a solução, o player deveria upar vários níveis até poder escolher sua "vocation", resultando, que poucos teriam a paciência de upar vários chars para apenas pegarem uma "Vocation" decente, porém todos teriam sua habilidade única, ou seja, todos prestariam para alguma coisa, alguns melhores do que outros em determinados aspectos, mas todos seriam balanceados no geral. .Os Deuses Para quem não está familiarizado com a Mitologia Greco-Romana, vou colocar a relação dos 12 Deuses Olimpianos com seus nomes em Grego e Romano, respectivamente, assim como suas habilidades e seu símbolo representativo. Zeus ou Júpiter é o Deus dos céus e dos trovões e é também, o Rei dos Deuses, sendo também um dos Três Grandes. Seu símbolo é a Águia. Hera ou Juno é a Deusa do casamento e da família e é também, a Rainha dos Deuses. Seu símbolo é a Vaca. Poseidon ou Netuno é o Deus dos mares, dos terremotos e tempestades, e dos cavalos, sendo também um dos Três Grandes. Seu símbolo é o Tridente. Dionísio ou Baco é o Deus dos vinhos e das festas. Seu símbolo é a Vinha. Apollo é o Deus do arco e flecha, da luz, da poesia e dos oráculos. É também o irmão gêmeo de Ártemis. Seu símbolo é o Sol. Ártemis ou Diana é a Deusa do arco e flecha, da caça, da virgindade. É também a irmã gêmea de Apollo e uma das Deusas Donzelas. Seu símbolo é a Lua. Hermes ou Mercúrio é o Deus dos ladrões e comerciantes. É o mensageiro dos Deuses. Seu símbolo é o Caduceu, espécie de cajado com duas cobras enroladas. Athena ou Minerva é a Deusa da sabedoria e da estratégia. É uma das Deusas Donzelas. Seu símbolo é a Coruja. Ares ou Marte é o Deus da guerra, da violência e da carnificina. Seu símbolo é o Javali. Afrodite ou Vênus é a Deusa da beleza,do amor e da luxúria. Seu símbolo é a Pomba. Hefesto ou Vulcano é o Deus da forja e do fogo. É o ferreiro dos Deuses. Seu símbolo é o Fogo ou a Bigorna. Deméter ou Ceres é a Deusa da fertilidade, agricultura, e das estações. Seu símbolo é a Papoula ou o Trigo. Bom, aí estão os doze deuses do Olimpo, mas Hades não está aí percebem? Ele não faz parte do Olimpo devido a passar a maior parte do seu tempo no submundo. Hades ou Plutão é o Deus dos mortos e do submundo. É também um dos Três Grandes. Seu símbolo é a Caveira. .Glossário As Deusas Donzelas são aquelas que nunca deixaram de ser virgens. Como elas tiveram filhos é uma curiosidade à parte, lembrando que Ártemis nunca teve filhos ou filhas. Os Três Grandes são os Deuses mais poderosos, filhos diretos do Titã Cronos, são eles Zeus, Poseidon e Hades. .Vagas Scripter:[Vago][Vago] Mapper:[Vago][Vago] Spriter:[Vago][Vago][Vago] Programador:[Vago][Vago] Faz-tudo:[Allan162] Bem, como mostrado acima, sirvo um pouco para cada coisa, mas estou me especializando atualmente em Scripting, ou tentando pelo menos. .Formulário Nick: Cargo: Experiência: Porque deseja entrar na equipe: Trabalhos: .Agradecimentos Gostaria de agradecer a você que espero que tenha lido tudo, e aos meus amigos que me incentivaram a transformar o projeto em uma realidade. .Contato Para me contatarem, ou mandem PM ou postem aqui, procurarei estar sempre de olho no tópico. ~Att Allan162 Aka CrazY
  19. FerRbo

    Erro Com Exp Ring

    bem meo ot ée esse http://www.xtibia.com/forum/topic/136290-857sqlup-lvl-epic-server-17// so qe ta com outras dlls e exe. agr esta 8.60. eu criei um exp ring com este script http://www.xtibia.com/forum/topic/89371-moveevent-ring-de-extra-exp/ so que com o id 7697 so que eu do look ou jogo o ring o chao o ot fecha sozinho se alguem sabe como arruma isso pf me ajudem.
  20. Olá,gostaria de um script com as seguintes funções: Ao usar !buy bp sd o player compra 1 bp cheia de sd com cargas de 100x. Preço: 40k E também o comando !buy UHP(compra 100 UHP por 30k)!buy GHP(compra 100 GHP por 10k)!buy GMP(compra 100 GMP por 20k)! Condções: Para usar o comando precisa ser vip(uso sistema vip by Account). Não precisa estar em area pz. \o/
  21. Iae galera quero monta uma equip mais não e uma equip Qualquer e uma equip para posta o mapa para a galera do :XTibia_smile: porque tem muita jente que monta a equip para fazer um server para si mesmo eu quero fazer uma para a galera do :XTibia_smile: então vamos ao que entereça, o Mapa e o do Pokemon Dash V5.0 Os Moves Ja tenho Do M1~M9 Mais nem de todos pokemon mais isso eu edito. precizo desse ai mais se alguem mais quizer ajudar Agalera do :XTibia_smile: Agradece. Scripter (Eu),(Vago),(vago) Mapper (Ocupado),(ocupado)(vago) Vlw em Galera Pela atenção e Quem Quizer entra na equip para ajudar o pessoal do xtibia So add e fala comigo Passatempo248@hotmail.com
  22. Mesuko

    Pokémon Masters

    Eae , venho anunciar O Pokémon Masters . Vim pedir equipe , como vc ja deve ter percebido. Vou colocar alguma coisas que ja tem no Ot Move ( botton Order) Fly ( botton Order) ride ( botton Order) surf ( botton Order) M1 até M9 Mapa proprio Site com cadastro vo postar spoiler pra não deixar o topico muito grande. Tem cargo para Mapper scripter programador. Web disigner (site) e spriter (outfits) no spoiler o formulario Equipe: Obrigado. uppppppp
  23. nyuchiha

    Storage Por Time

    Eai gente, estou muito PUT... porque meu topico que deu tanto trabalho para criar e arrumar deu um bug e acabou deletando tudo ( n sei seh e bug ou eu que so burro SAUHSAHUSsahusauh ), o problema que n deu para arrumar pois n estava dando para usar e
  24. EmoBoy10

    Entre Para Equipe.

    Olá Xtibianos Estou aqui para forma uma equipe dedicada para criar um servidor totalmente diferente de todos esses que existe hoje em dia. A equipe precisa de menbros que tenho um nível de experiencia (Media/Avançada) Mapper [Eu] [Vago] Scripter [Vago] [Vago] WebMaster [Vago] Programador [Vago] [Vago] Os interesados para fazer parte da equipe entre em contato com meu perfil do Xtibia ou adicione esté msn "lele-103@hotmail.com" e fale que pe sobre a equipe. Para se inscrever para menbro da equipe responda o tópico. Nome: Idade: Cargo: Experiencia: Porque quer fazer parte destá equipe? Obrigado a todos do :XTibia_smile: .
  25. então pessoal eu até a pouco tempo(ontem) nao sabia desse bug fiquei sabendo pq um cara com a msm duvida veio me pedir ajuda eu tenho uma ideia de como arrumar mais nao sei se é possivel pois n sei mto de script é tipo que assim você sobe no pokemon (ride ou fly) ae beleza voce troca a pokebola do poke que ta no fly/ride pra uma que tenha um pokemon morto ae voce sai do fly/ride ele vai criar o pokemon que esta no seu slot feet, que seria o morto então ele cria o pokemon ae ele morre e aparece o corpo, ae é so vc captura ae gostaria de saber, se n tem como arrumar pra sair do fly/ride somente se o pokemon certo estiver no local que seria o slot feet caso precise vou postar o scrip de ride e fly: Fly: Ride:
×
×
  • Criar Novo...