Ir para conteúdo

Baned

Membro
  • Registro em

  • Última visita

Tudo que Baned postou

  1. Olá, gostaria de que em uma determinada hora (globalevent) o script removesse um monk que está em uma determinada posição... tentei fazer o script, mas não sei se está correto, alguem me da uma força? local summon = {"MONK", {x=1115, y=1068, z=7}} function onTime(interval) doRemoveCreature(getThingfromPos(summon).uid) return true end
  2. Editei @luanluciano93, está correto agora?
  3. Olá, ontem postei um pedido de script e consegui o script, basicamente ele faz 4x4 teleportarem para uma WAR... Ele adiciona storage ao player e retira 500k de cada um, segue o script; local config = { positions = { {{x=535, y=1597, z=4}, {x=535, y=2000, z=4}}, {{x=535, y=1597, z=4}, {x=535, y=2000, z=4}}, {{x=535, y=1597, z=4}, {x=535, y=2000, z=4}}, {{x=535, y=1597, z=4}, {x=535, y=2000, z=4}}, }, positions2 = { {{x=535, y=1597, z=4}, {x=535, y=2000, z=4}}, {{x=535, y=1597, z=4}, {x=535, y=2000, z=4}}, {{x=535, y=1597, z=4}, {x=535, y=2000, z=4}}, {{x=535, y=1597, z=4}, {x=535, y=2000, z=4}}, }, storageTime1 = 10045, storageTime2 = 10046, money = 500,-- em k } function onUse(cid, item, fromPosition, item2, toPosition) -- Checando posições 1 for i = 1, #config.positions do local creature = getTopCreature(config.positions[i][1]).uid if not isPlayer(creature) then return doPlayerSendCancel(cid, "Nao existe players em todas as posicoes.") and doSendMagicEffect(getThingPos(cid), 2) end local guild1 = getPlayerGuildId(getTopCreature(config.positions[1][1]).uid) if getPlayerGuildId(creature) ~= guild1 then return doPlayerSendCancel(cid, "Algum player nao e da guild correta.") and doSendMagicEffect(getThingPos(cid), 2) end if getPlayerMoney(creature) < (config.money * 1000) then return doPlayerSendCancel(cid, "Algum player nao tem "..config.money.."k.") and doSendMagicEffect(getThingPos(cid), 2) end end -- Checando posições 2 for i = 1, #config.positions2 do local creature = getTopCreature(config.positions2[i][1]).uid if not isPlayer(creature) then return doPlayerSendCancel(cid, "Not enough players.") and doSendMagicEffect(getThingPos(cid), 2) end local guild2 = getPlayerGuildId(getTopCreature(config.positions2[1][1]).uid) if getPlayerGuildId(creature) ~= guild2 then return doPlayerSendCancel(cid, "Algum player nao e da guild correta.") and doSendMagicEffect(getThingPos(cid), 2) end if getPlayerMoney(creature) < (config.money * 1000) then return doPlayerSendCancel(cid, "Algum player nao tem "..config.money.."k.") and doSendMagicEffect(getThingPos(cid), 2) end end doBroadcastMessage("Começou uma batalha entre ".. getPlayerGuildName(getTopCreature(config.positions[1][1]).uid) .." e ".. getPlayerGuildName(getTopCreature(config.positions2[1][1]).uid) ..".", MESSAGE_STATUS_WARNING) -- Teleportando posições 1 for i = 1, #config.positions do local creature = getTopCreature(config.positions[i][1]).uid doTeleportThing(creature, config.positions[i][2]) doPlayerSendTextMessage(creature, 27, "You started the quest.") doSendMagicEffect(getThingPos(creature), 33) doPlayerRemoveMoney(creature, (config.money * 1000)) setPlayerStorageValue(creature, config.storageTime1, 1) end -- Teleportando posições 2 for i = 1, #config.positions2 do local creature = getTopCreature(config.positions2[i][1]).uid doTeleportThing(creature, config.positions2[i][2]) doPlayerSendTextMessage(creature, 27, "You started the quest.") doSendMagicEffect(getThingPos(creature), 33) doPlayerRemoveMoney(creature, (config.money * 1000)) setPlayerStorageValue(creature, config.storageTime2, 1) end return true end Bom agora gostaria de criar outro script, que fizesse o seguinte, os players já estão com suas storages, quando o primeiro time, matasse o ultimo do outro time, todos do time que venceu, seriam teleportados para o templo e ganhariam 1kk cada um, além disso, gostaria que só pudesse começar outra WAR se já tivesse terminado a anterior... é possivel?
  4. Não entendi qual está correto, o do luan ou tenho que ajeitar o do cara no do luan? E GOSTARIA DE POR pra só poder iniciar a WAR se a outra guild tiver terminado a WAR.... É a ultima coisa... JURO!!! SEUS LINDOS! ________________________________________________________________________________________________ - EDITADO: bom acredito que consegui, gostaria muito de outro script, que é a continuação desse, se alguem puder me ajudar, segue o link! http://www.tibiaking.com/forum/topic/57285-continua%C3%A7%C3%A3o-de-script/
  5. Luan, ainda não testei, mas tem como por um storage para o time 1 e outro storage pro time 2? Pro time da posição 1 colocar storage 10045 e pro time 2 colocar storage 10046? E se possivel pegar o nome da guild dos dois e mandar um BROADCAST do tipo, Iniciou uma batalha entre GUILDX VS GUILDX? E se possivel também, remover 500k de cada player, obrigaaaaaado, só se der!
  6. Quero uma alavanca que se tiver 4x4 players encima dos respectivos tiles, eles são teleportados para uma AREA X. E que esse script tenha um exhausted de 5 minutos! Eu sei que é possivel, mas nao manjo tanto, não é tão dificil acredito eu, quem puder me ajudar, REP +++ OBS: SE POSSIVEL VERIFICAR SE OS 4 PLAYERS SÃO DA MESMA GUILD... E os outros 4 SÃO DA MESMA GUILD TAMBÉM, pois é GUILD X GUILD Tentei fazer algo com isso: local cfg = { positions = { {{x=535, y=1597, z=4}, {x=535, y=2000, z=4}}, {{x=535, y=1597, z=4}, {x=535, y=2000, z=4}}, {{x=535, y=1597, z=4}, {x=535, y=2000, z=4}}, {{x=535, y=1597, z=4}, {x=535, y=2000, z=4}}, }, positions2 = { {{x=535, y=1597, z=4}, {x=535, y=2000, z=4}}, {{x=535, y=1597, z=4}, {x=535, y=2000, z=4}}, {{x=535, y=1597, z=4}, {x=535, y=2000, z=4}}, {{x=535, y=1597, z=4}, {x=535, y=2000, z=4}}, }, not_enough_players = xxx, --Efeito que aparecerá quando não tiver jogadores o suficiente. tp_effect = xxx, --Efeito que vai aparecer nos jogadores ao serem teleportados. } function onUse(cid, item, fromPosition, item2, toPosition) for i = 1, #cfg.positions do if not isPlayer(getTopCreature(cfg.positions[i][1]).uid) then for i = 1, #cfg.positions2 do if not isPlayer(getTopCreature(cfg.positions2[i][1]).uid) then return doPlayerSendCancel(cid, "Not enough players.") and doSendMagicEffect(getThingPos(cid), cfg.not_enough_players) end end for i = 1, #cfg.positions do local creature = getTopCreature(cfg.positions[i][1]).uid doTeleportThing(creature, cfg.positions[i][2]) local creature = getTopCreature(cfg.positions2[i][1]).uid doTeleportThing(creature, cfg.positions2[i][2]) doPlayerSendTextMessage(creature, 27, "You started the quest.") doSendMagicEffect(getThingPos(creature), cfg.tp_effect) end return true end
  7. Olá gostaria de saber se é possivel atraves de scripts, fazer com que uma determinada area fosse PVP ENFORCED, e desse XP ao matar players...
  8. Legal cara, mas acho que você deveria colocar automatico o evento, pra iniciar 1 vez por dia, entende?
  9. Olá amigos, alguns players estão reclamando que perde item mas a bp não cai, mas acontece isso raramente, vem um ou outro falar sabe? não sei se é mentira, mas aqui está a parte do meu config lua, alguem pode me ajudar e falar se é possivel ou não? blessings = true blessingOnlyPremium = false blessingReductionBase = 30 blessingReductionDecrement = 5 eachBlessReduction = 8 useFairfightReduction = true pvpBlessingThreshold = 40
  10. Olá, eu tenho esse script de comprar item, porem, eu gostaria que o player só pudesse comprar o ITEM se ele tivesse feito uma QUEST (storage)... o Storage é 43560, como eu faria? alguem pode me ajudar? local config = { money = 1000, -- Dinheiro que vai custar item = 7618, -- ID do item que vai vender count = 20, -- Quantidade } function onUse(cid, item, fromPosition, itemEx, toPosition) pos = getCreaturePosition(cid) if item.itemid == 1945 then if doPlayerRemoveMoney(cid, config.money) == TRUE then doPlayerAddItem(cid, config.item, config.count) doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Você acaba de comprar "..config.count.." "..getItemNameById(config.item)..".") doSendMagicEffect(pos, CONST_ME_MAGIC_BLUE) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Desculpe, mais você nao tem dinheiro suficiente.") doSendMagicEffect(pos, CONST_ME_POFF) end end end
  11. Olá, eu gostaria de um npc que adicionasse ao player 10 dias premiu, se ele tiver algumas quests completadas (storages), e ai se ele tiver todas as quests necessarias ele adicionaria 10 dias premium, e adicionasse uma outra storage pra não dar duas vezes os dias premium é claro! Obrigado! REP+++++++++
  12. Baned postou uma resposta no tópico em Suporte Tibia OTServer
    Olá estou precisando de exana death em meu servidor, porem tentei fazer o script, mas ele não tira o Death do player... É tipo exana flam, que tira o fogo, mas exana death que tira o death... OBS: tfs 0.3.6 (8.60) local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_CURSE) function onCastSpell(cid, var) return doCombat(cid, combat, var) end tentei usar isso! Obrigado desde já, REP ++
  13. Olá amigos, o que eu precisava era o que o luanluciano93 fez, agora já consegui, mas muito obrigado por tentarem arrumar o script, irei dar rep ++ a todos!
  14. Olá, estou com um script porem está dando erro, é um globalevent que sumona um monstro em uma determinada hora... local configInv = { ["07:43"] = {nome = "Demon", pos = {x=1115, y=1068, z=7}, monster = {"1 Demon"}}, } function onThink(interval, lastExecution) local hours = tostring(os.date("%X")):sub(1, 5) if configInv[hours] then if GlobalStorageValue(95473) == hours then return true end doBroadcastMessage(hours .. " - " .. tb.nome .. " iníciou.") for _,x in pairs(tb.monster) do for s = 1, tonumber(x:match("%d+")) do doSummonCreature(x:match("%s(.+)"), tb.pos) end end setGlobalStorageValue(95473, hours) end return true end e aqui está o erro: [Error - GlobalEvent Interface] data/globalevents/scripts/invasion.lua:onThink Description: data/globalevents/scripts/invasion.lua:7: attempt to call global 'GlobalStorageValue' (a nil value) stack traceback: data/globalevents/scripts/invasion.lua:7: in function <data/globalevents/scripts/invasion.lua:4> Por favor me ajude, rep ++
  15. Olá tive pesquisando e achei um topico parecido do que o que eu quero, segue o link: http://www.tibiaking.com/forum/topic/31713-pedido-item-dar-efeito-de-gelo/ Eu gostaria só do efeito em volta do player que está utilizando o ITEM X... Por exemplo, coloquei o item e começa em volta de mim sair um efeito nas seguintes posições ^ < Y > V Onde Y é o player e as setas são os efeitos, se alguem puder, agradeço muito!!!!!!!
  16. Olá, meu servidor está com um problema, ao criar guild não fica ninguem na guild impossibilitando de invitar outros players ou usa-la. Gostaria que quando criasse a guild o leader ficasse na guild como em todos os outros servidores. Script: <?PHP if(!defined('INITIALIZED')) exit; ############################################################# ECHO ' <div class="well">'; ############################################################# ############################################################# ########################## START ########################## ############################################################# if($action == '') { $world_id = $config['server']['worldId']; # WORDID IN CONFIG.LUA $guilds_list_database = new DatabaseList('Guild'); $filterWorld = new SQL_Filter(new SQL_Field('world_id', 'guilds'), SQL_Filter::EQUAL, $world_id); $guilds_list_database->setFilter($filterWorld); $guilds_list_database->addOrder(new SQL_Order(new SQL_Field('name'), SQL_Order::ASC)); ECHO '<h2> Guilds </h2>'; if(count($guilds_list_database) > 0) { ECHO '<table WIDTH=100%> <TR> <TD WIDTH=60%><B>&#160;Name</B></TD> <TD WIDTH=25%><B>Members</B></TD> <TD WIDTH=15%><B>Founded</B></TD> </TR></table> <BR> <table class="table table-condensed table-content table-striped">'; foreach($guilds_list_database as $guild) { ECHO '<TR> <TD WIDTH=60%><a href="guilds&action=show&guild='.$guild->getId().'"> '.htmlspecialchars($guild->getName()).'</a>'; if($group_id_of_acc_logged >= $config['site']['access_admin_panel']) { ECHO '&#160;<a href="guilds&action=deletebyadmin&guild='.$guild->getId().'"> <span class="label label-important"> DEL </span></a>'; } $guildMembers = $SQL->query('SELECT COUNT(`gr`.`id`) AS `total` FROM `players` AS `p` LEFT JOIN `guild_ranks` AS `gr` ON `gr`.`id` = `p`.`rank_id` WHERE `gr`.`guild_id` = '.$guild->getId() )->fetch(); ECHO '</TD> <td WIDTH=25%> '.$guildMembers['total'].' </td> <td WIDTH=15%> <SPAN class="label label-info">'.date("j.n.Y - G:i", $guild->getCreationData()).'</span> </td> </TR>'; } ECHO '</TABLE>'; } else { ECHO '<br> Currently there is no guild on server. <br> <br>'; } if($logged) { ECHO '<br><TABLE WIDTH=100%><TR> <TD WIDTH=30% VALIGN=bottom> <div class="pull-left"> <A HREF="guilds&action=createguild" CLASS="btn btn-primary">Create Guild</A></div></TD> </TR></TABLE><br>'; } else { ECHO '<br><TABLE WIDTH=100%><TR> <TD WIDTH=30% VALIGN=bottom> <div class="pull-left"> <A HREF="guilds&action=login" CLASS="btn btn-primary">Login</A></div></TD> </TR></TABLE><br>'; } } ############################################################# ############## SHOW GUILD PAGE #################### ############################################################# if($action == 'show') { $guild_id = (int) $_REQUEST['guild']; $guild = new Guild(); $guild->load($guild_id); if(!$guild->isLoaded()) { $guild_errors[] = 'Guild with ID <b>'.$guild_id.'</b> doesn\'t exist.'; } # ------------- SHOW ERRORS ------------ # if(!empty($guild_errors)) { ECHO '<b> The Following Errors Have Occurred: </b> <br>'; foreach($guild_errors as $guild_error) { ECHO '<li />'.$guild_error; } ECHO '<FORM ACTION=guilds METHOD=post> <BR><CENTER><TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0><TR><TD> <button class="btn btn-primary" NAME="Back">Back</button></TD></TR></TABLE></CENTER></FORM></div>'; ECHO '<meta http-equiv="refresh" content="10;URL=guilds"/>'; # REDIRECT } else { $guild_leader_char = $guild->getOwner(); $rank_list = $guild->getGuildRanksList(); $guild_leader = FALSE; $guild_vice = FALSE; if($logged) { $account_players = $account_logged->getPlayers(); foreach($account_players as $player) { $players_from_account_ids[] = $player->getId(); $player_rank = $player->getRank(); if(!empty($player_rank)) foreach($rank_list as $rank_in_guild) if($rank_in_guild->getId() == $player_rank->getId()) { $players_from_account_in_guild[] = $player->getName(); if($player_rank->getLevel() > 1) { $guild_vice = TRUE; $level_in_guild = $player_rank->getLevel(); } if($guild->getOwner()->getId() == $player->getId()) { $guild_vice = TRUE; $guild_leader = TRUE; } } } } # show guild page # $description = $guild->getDescription(); $newlines = array("\r\n", "\n", "\r"); $description_with_lines = str_replace($newlines, '<br />', $description, $count); if($count < $config['site']['guild_description_lines_limit']) $description = $description_with_lines; $guild_owner = $guild->getOwner(); if($guild_owner->isLoaded()) $guild_owner = $guild_owner->getName(); $guild_name = $guild->getName(); $guild_create_data = $guild->getCreationData(); # GUILD NAME ECHO '<h2> '.$guild_name.' <div style="float:right;"> <TABLE> <TR> <TD> <a class="btn btn-mini btn-danger" href="forum&action=show_board&id=4">Report Guild</a> </td> </TR></TABLE></div> </h2>'; # FOUNDED ECHO '<p> The guild was founded by <a href="characters&name='.$guild_owner.'"> <b>'.$guild_owner.'</b></a> on '.date("j.n.Y", $guild_create_data).'.</p>'; # DESCRIPTION ECHO '<p>'.$description.'</p>'; # GUILD MANAGER if($guild_leader) { ECHO '<br> <FORM ACTION="guilds&action=manager&guild='.$guild_id.'" METHOD=post> <button class="btn btn-primary" NAME="Manage Guild"> Manage Guild </button> </FORM> '; } else { ECHO '<br>'; } ######################## TABLE GUILD ######################## ECHO '<div class="tabbable"> <ul class="nav nav-tabs" style="margin-bottom:0px"> <li class="active"> <a href="#tab0" data-toggle="tab"> Guilds </a> </li> <li> <a href="#tab1" data-toggle="tab"> Statistic </a> </li>'; #<li><a href="#tab2" data-toggle="tab"> </a></li> #<li><a href="#tab3" data-toggle="tab"> </a></li>'; ECHO '</ul> </div>'; # TABLE ECHO '<div class="tab-content" style="background-color:white;border-left:1px solid #ddd;border-right:1px solid #ddd;border-bottom:1px solid #ddd;padding:10px 15px 10px 15px">'; ECHO '<div class="tab-pane active" id="tab0">'; # TABLE =- NAMES AND TITLE ECHO '<table border=0 width="100%"> <tr> <td width="21%"> <h4> Rank </h4> </td> <td> <h4> Name and Title </h4> </td> </tr> </table> <br>'; ECHO '<table border=0 width="100%">'; $showed_players = 1; foreach($rank_list as $rank) { $players_with_rank = $rank->getPlayersList(); $players_with_rank_number = count($players_with_rank); if($players_with_rank_number > 0) { ECHO '<tr> <TD valign="top">'.htmlspecialchars($rank->getName()).' </TD> <td> <table border=0 width="100%">'; foreach($players_with_rank as $player) { # NAME ECHO '<tr> <td> <FORM ACTION="guilds&action=changenick&name='.urlencode($player->getName()).'" METHOD="post"> <a href="characters&name='.urlencode($player->getName()).'"> '.htmlspecialchars($player->getName()).'</A>'; # TITLE CHANGE $guild_nick = $player->getGuildNick(); if($logged) { if(in_array($player->getId(), $players_from_account_ids)) { ECHO '&nbsp;(<input type="text" name="nick" value="'.htmlspecialchars($player->getGuildNick()).'" autocomplete="off"> <input type="submit" value="Change" />)'; } else { if(!empty($guild_nick)) { ECHO '&nbsp; ('.htmlspecialchars($player->getGuildNick()).')'; } } } else { if(!empty($guild_nick)) { ECHO '&nbsp; ('.htmlspecialchars($player->getGuildNick()).')'; } } # KICK PLAYER (LEADER OR VICE) if($level_in_guild > $rank->getLevel() || $guild_leader) if($guild_leader_char->getName() != $player->getName()) { ECHO '&nbsp; <a href="guilds&action=kickplayer&guild='.$guild->getId().'&name='.urlencode($player->getName()).'"><span class="label label-important"> KICK <span></a>'; } # STATUS ECHO ' <div class="pull-right"> '.($player->isOnline() ? '<span class="label label-success">Online</span>' : '<span class="label label-important">Offline</span>').'</div> </FORM> </td> </tr>'; } ECHO '</table> </td> </tr>'; } } ECHO '</table> <hr> '; # INVITE PLAYERS $invited_list = $guild->listInvites(); # TABLE - INVITE PLAYERS ECHO '<table> <tr> <td> <h4> Invited characters </h4> </td> </tr> </table> <br>'; # TABLE - NO INVITED PLAYERS ECHO '<table width=100% BORDER=0 class="table-striped table-condensed table-content">'; if(count($invited_list) == 0) { ECHO '<tr> <tD>No invited characters found.</tD> </tr>'; } else # TABLE - INVITED PLAYERS { $show_accept_invite = 0; $showed_invited = 1; foreach($invited_list as $invited_player) { if(count($account_players) > 0) foreach($account_players as $player_from_acc) if($player_from_acc->getName() == $invited_player->getName()) $show_accept_invite++; ECHO '<TR> <TD> <a href="characters&name='.urlencode($invited_player->getName()).'">'.htmlspecialchars($invited_player->getName()).'</a>'; if($guild_vice) { ECHO ' (<a href="guilds&action=deleteinvite&guild='.$guild_id.'&name='.urlencode($invited_player->getName()).'">Cancel Invitation</a>)'; } ECHO '</TD> </TR>'; } } ECHO '</TABLE>'; # TABLE - BUTTONS ECHO '<br> <br> <center> <table width=80% border=0 > <tr>'; # BUTTON LOGIN if(!$logged) { ECHO '<td> <FORM ACTION="guilds&action=login" METHOD=post> <center> <button class="btn btn-primary" NAME="Login"> Login </button> </center> </FORM> </td>'; } else { # BUTTON SHOW ACCEPT if($show_accept_invite > 0) { ECHO '<td> <FORM ACTION="guilds&action=acceptinvite&guild='.$guild_id.'" METHOD=post> <center> <button class="btn btn-primary" NAME="Back"> Accept Invite </button> </center> </FORM> </td>'; } # BUTTON INVITE PLAYERS AND CHANGE RANK if($guild_vice) { ECHO '<td> <FORM ACTION="guilds&action=invite&guild='.$guild_id.'" METHOD=post> <center> <button class="btn btn-primary" NAME="Back"> Invite Player </button> </center></FORM> </td>'; ECHO '<td> <FORM ACTION="guilds&action=changerank&guild='.$guild_id.'" METHOD=post> <center> <button class="btn btn-primary" NAME="Back"> Change Rank </button> </center> </FORM> </td>'; } # BUTTON LEAVE GUILD if($players_from_account_in_guild > 0) { ECHO '<td> <FORM ACTION="guilds&action=leaveguild&guild='.$guild_id.'" METHOD=post> <center> <button class="btn btn-primary" NAME="Back"> Leave Guild </button> </center> </FORM> </td>'; } } # BUTTON BACK ECHO '<td> <FORM ACTION=guilds METHOD=post> <center> <button class="btn btn-primary" NAME="Back"> Back </button> </center> </FORM> </td>'; ECHO '</tr> </table> </center>'; ECHO '</div>'; # END TABLE GUILDS ######################## TABLE STATISTIC ######################## ECHO '<div class="tab-pane" id="tab1">'; $guild_id = (int)$_GET['guild']; $guildMembers = $SQL->query( 'SELECT COUNT(`gr`.`id`) AS `total` FROM `players` AS `p` LEFT JOIN `guild_ranks` AS `gr` ON `gr`.`id` = `p`.`rank_id` WHERE `gr`.`guild_id` = '.$guild_id )->fetch( ); $allM = $SQL->query ('SELECT COUNT(1) as `people` FROM `players` WHERE `rank_id` IN (SELECT `id` FROM `guild_ranks` WHERE `guild_id` = '.$guild_id.') AND online = 1')->fetch(); $allM1 = $SQL->query ('SELECT SUM(`level`) as `level` FROM `players` WHERE `rank_id` IN (SELECT `id` FROM `guild_ranks` WHERE `guild_id` = '.$guild_id.') ')->fetch(); $allM2 = $SQL->query ('SELECT AVG(`level`) as `level` FROM `players` WHERE `rank_id` IN (SELECT `id` FROM `guild_ranks` WHERE `guild_id` = '.$guild_id.') ')->fetch(); $allM3 = $SQL->query ('SELECT `name` FROM `players` WHERE `rank_id` IN (SELECT `id` FROM `guild_ranks` WHERE `guild_id` = '.$guild_id.') ORDER BY `level` ASC LIMIT 1')->fetch(); $allM4 = $SQL->query ('SELECT `name` FROM `players` WHERE `rank_id` IN (SELECT `id` FROM `guild_ranks` WHERE `guild_id` = '.$guild_id.') ORDER BY `level` DESC LIMIT 1')->fetch(); $invite = $SQL->query( 'SELECT COUNT(*) FROM `guild_invites` WHERE `guild_id` = '.$guild_id.'')->fetch( ); if(empty($allM3)) { $lowest .= 'Guilds dont have members.'; } else { $lowest .= ' '.$allM3[0].' '; } if(empty($allM4)) { $highest .= 'Guilds dont have members.'; } else { $highest .= ' '.$allM4[0].' '; } ECHO '<table border=0 width=100%> <tr> <td width="40%"> <b> Type </b> </td> <td width="60%"> <b> Value </b> </td> </tr> </table> <br> <table class="table table-striped table-condensed table-content"> <tr> <td width="40%"> Number of Members in Guild</td> <td width="60%"> '.$guildMembers['total'].' </td> </tr> <tr> <td> Number of Members Online in Guild</td> <td> '.$allM[0].' </td> </tr> <tr> <td> Total Level in guild </td> <td>'.$allM1[0].'</td> </tr> <tr> <td> Avg Level in guild </td> <td> '.round($allM2[0]).' </td> </tr> <tr> <td> Lowest Level in guild </td> <td> '.$lowest.' </td> </tr> <tr> <td valign="top">Highest Level in guild</td> <td> '.$highest.' </td> </tr> <tr> <td valign="top">Number of Invited Members</td> <td> '.$invite[0].' </td> </tr> </table>'; ECHO '</div>'; # END TABLE STATISTICS ECHO '</div>'; # END TABLE MAIN } } ############################################################# ############## CHANGE RANK #################### ############################################################# if($action == 'changerank') { $guild_id = (int) $_REQUEST['guild']; if(!$logged) { $guild_errors[] = 'You are not logged in. You can\'t change rank.'; } if(empty($guild_errors)) { $guild = new Guild(); $guild->load($guild_id); if(!$guild->isLoaded()) { $guild_errors[] = 'Guild with ID <b>'.$guild_id.'</b> doesn\'t exist.'; } } if(!empty($guild_errors)) { ECHO ' <b>The Following Errors Have Occurred:</b> <br />'; foreach($guild_errors as $guild_error) ECHO '<li />'.$guild_error; ECHO '<FORM ACTION=guilds METHOD=post> <BR> <CENTER> <button class="btn btn-primary" NAME="Back"> Back </button> </CENTER> </FORM> '; } else { # Check is it vice or/and leader account (leader has vice + leader rights) $rank_list = $guild->getGuildRanksList(); $guild_leader = FALSE; $guild_vice = FALSE; $account_players = $account_logged->getPlayers(); foreach($account_players as $player) { $player_rank = $player->getRank(); if(!empty($player_rank)) foreach($rank_list as $rank_in_guild) if($rank_in_guild->getId() == $player_rank->getId()) { $players_from_account_in_guild[] = $player->getName(); if($player_rank->getLevel() > 1) { $guild_vice = TRUE; $level_in_guild = $player_rank->getLevel(); } if($guild->getOwner()->getId() == $player->getId()) { $guild_vice = TRUE; $guild_leader = TRUE; } } } if($guild_vice) { foreach($rank_list as $rank) { if($guild_leader || $rank->getLevel() < $level_in_guild) { $ranks[$rid]['0'] = $rank->getId(); $ranks[$rid]['1'] = $rank->getName(); $rid++; $players_with_rank = $rank->getPlayersList(); if(count($players_with_rank) > 0) { foreach($players_with_rank as $player) { if($guild->getOwner()->getId() != $player->getId() || $guild_leader) { $players_with_lower_rank[$sid]['0'] = htmlspecialchars($player->getName()); $players_with_lower_rank[$sid]['1'] = htmlspecialchars($player->getName()).' ('.htmlspecialchars($rank->getName()).')'; $sid++; } } } } } if($_REQUEST['todo'] == 'save') { $player_name = $_REQUEST['name']; $new_rank = (int) $_REQUEST['rankid']; if(!check_name($player_name)) { $change_errors[] = 'Invalid player name format.'; } $rank = new GuildRank(); $rank->load($new_rank); if(!$rank->isLoaded()) { $change_errors[] = 'Rank with this ID doesn\'t exist.'; } if($level_in_guild <= $rank->getLevel() && !$guild_leader) { $change_errors[] = 'You can\'t set ranks with equal or higher level than your.'; } if(empty($change_errors)) { $player_to_change = new Player(); $player_to_change->find($player_name); if(!$player_to_change->isLoaded()) { $change_errors[] = 'Player with name '.htmlspecialchars($player_name).'</b> doesn\'t exist.'; } else { $player_in_guild = FALSE; if($guild->getName() == $player_to_change->getRank()->getGuild()->getName() || $guild_leader) { $player_in_guild = TRUE; $player_has_lower_rank = FALSE; if($player_to_change->getRank()->getLevel() < $level_in_guild || $guild_leader) $player_has_lower_rank = TRUE; } } $rank_in_guild = FALSE; foreach($rank_list as $rank_from_guild) if($rank_from_guild->getId() == $rank->getId()) $rank_in_guild = TRUE; if(!$player_in_guild) $change_errors[] = 'This player isn\'t in your guild.'; if(!$rank_in_guild) $change_errors[] = 'This rank isn\'t in your guild.'; if(!$player_has_lower_rank) $change_errors[] = 'This player has higher rank in guild than you. You can\'t change his/her rank.'; } if(empty($change_errors)) { $player_to_change->setRank($rank); $player_to_change->save(); # TABLE - CHANGED RANK ECHO ' <table width=100% > <tr> <td> Rank of player <b>'.htmlspecialchars($player_to_change->getName()).'</b> has been changed to <b>'.htmlspecialchars($rank->getName()).'</b>. </td> </tr> </table> <br>'; unset($players_with_lower_rank); unset($ranks); $rid = 0; $sid= 0; foreach($rank_list as $rank) { if($guild_leader || $rank->getLevel() < $level_in_guild) { $ranks[$rid]['0'] = $rank->getId(); $ranks[$rid]['1'] = $rank->getName(); $rid++; $players_with_rank = $rank->getPlayersList(); if(count($players_with_rank) > 0) { foreach($players_with_rank as $player) { if($guild->getOwner()->getId() != $player->getId() || $guild_leader) { $players_with_lower_rank[$sid]['0'] = htmlspecialchars($player->getName()); $players_with_lower_rank[$sid]['1'] = htmlspecialchars($player->getName()).' ('.htmlspecialchars($rank->getName()).')'; $sid++; } } } } } } else { ECHO ' <b>The Following Errors Have Occurred:</b> <br />'; foreach($guild_errors as $guild_error) ECHO '<li />'.$guild_error; ECHO '<FORM ACTION=guilds METHOD=post> <BR> <CENTER> <button class="btn btn-primary" NAME="Back"> Back </button> </FORM> </CENTER></div>'; } } # TABLE - CHANGE RANK ECHO '<FORM ACTION="guilds&action=changerank&guild='.$guild_id.'&todo=save" METHOD=post> <TABLE> <TR> <TD>Name: <SELECT NAME="name">'; foreach($players_with_lower_rank as $player_to_list) { ECHO '<OPTION value="'.$player_to_list['0'].'">'.$player_to_list['1']; } ECHO '</SELECT>&nbsp;&nbsp;&nbsp;Rank:&nbsp;<SELECT NAME="rankid">'; foreach($ranks as $rank) { ECHO '<OPTION value="'.htmlspecialchars($rank['0']).'">'.htmlspecialchars($rank['1']); } ECHO '</SELECT></TD></TR> </TABLE> <br> <center> <TABLE width=30%><TR> <TD> <button class="btn btn-primary" NAME="Submit"> Submit </button> </FORM></TD> <FORM ACTION="guilds&action=show&guild='.$guild_id.'" METHOD=post> <TD> <button class="btn btn-primary" NAME="Back">Back</button> </TD> </TR> </FORM> </table> </center>'; } else { ECHO 'Error. You are not a leader or vice leader in guild '.htmlspecialchars($guild->getName()).'. <FORM ACTION="guilds&action=show&guild='.$guild_id.'" METHOD=post> <button class="btn btn-primary" NAME="Back">Back</button> </FORM>'; } } } ############################################################# ############## DELETE PLAYER INVITE #################### ############################################################# if($action == 'deleteinvite') { //set rights in guild $guild_id = (int) $_REQUEST['guild']; $name = $_REQUEST['name']; if(!$logged) { $guild_errors[] = 'You are not logged in. You can\'t delete invitations.'; } if(!check_name($name)) { $guild_errors[] = 'Invalid name format.'; } if(empty($guild_errors)) { $guild = new Guild(); $guild->load($guild_id); if(!$guild->isLoaded()) { $guild_errors[] = 'Guild with ID <b>'.$guild_id.'</b> doesn\'t exist.'; } } if(empty($guild_errors)) { $rank_list = $guild->getGuildRanksList(); $guild_leader = FALSE; $guild_vice = FALSE; $account_players = $account_logged->getPlayers(); foreach($account_players as $player) { $player_rank = $player->getRank(); if(!empty($player_rank)) { foreach($rank_list as $rank_in_guild) { if($rank_in_guild->getId() == $player_rank->getId()) { $players_from_account_in_guild[] = $player->getName(); if($player_rank->getLevel() > 1) { $guild_vice = TRUE; $level_in_guild = $player_rank->getLevel(); } if($guild->getOwner()->getId() == $player->getId()) { $guild_vice = TRUE; $guild_leader = TRUE; } } } } } } if(empty($guild_errors)) { $player = new Player(); $player->find($name); if(!$player->isLoaded()) { $guild_errors[] = 'Player with name <b>'.htmlspecialchars($name).'</b> doesn\'t exist.'; } } if(!$guild_vice) { $guild_errors[] = 'You are not a leader or vice leader of guild <b>'.htmlspecialchars($guild->getName()).'</b>.'; } if(empty($guild_errors)) { $invited_list = $guild->listInvites(); if(count($invited_list) > 0) { $is_invited = FALSE; foreach($invited_list as $invited) if($invited->getName() == $player->getName()) $is_invited = TRUE; if(!$is_invited) { $guild_errors[] = '<b>'.htmlspecialchars($player->getName()).'</b> isn\'t invited to your guild.'; } } else { $guild_errors[] = 'No one is invited to your guild.'; } } if(!empty($guild_errors)) { //show errors ECHO '<b>The Following Errors Have Occurred:</b><br/>'; foreach($guild_errors as $guild_error) { ECHO '<li>'.$guild_error; } ECHO '<br><FORM ACTION="guilds&action=show&guild='.$guild_id.'" METHOD=post> <CENTER><TABLE><TR> <TD><button class="btn btn-primary" NAME="Back"> Back </button></TD></TR></TABLE></CENTER></FORM>'; } else { if($_REQUEST['todo'] == 'save') { $guild->deleteInvite($player); ECHO '<h2> Delete player invitation </h2>'; ECHO 'Player with name <b>'.htmlspecialchars($player->getName()).'</b> has been deleted from "invites list". <br> <br>'; ECHO '<FORM ACTION="guilds&action=show&guild='.$guild_id.'" METHOD=post> <CENTER> <button class="btn btn-primary" NAME="Back"> Back </button> </CENTER> </FORM>'; } else { ECHO '<h2> Delete player invitation </h2>'; ECHO 'Are you sure you want to delete player with name <b>'.htmlspecialchars($player->getName()).'</b> from "invites list"? <br> <br> <FORM ACTION="guilds&action=deleteinvite&guild='.$guild_id.'&name='.urlencode($player->getName()).'&todo=save" METHOD=post>'; ECHO '<center> <TABLE> <tr> <td> <button type="submit" class="btn btn-primary"> Delete </button></form> <td>&#160;&#160;&#160;&#160;&#160;&#160; <FORM ACTION="guilds&action=show&guild='.$guild_id.'" METHOD=post></td> <td> <button class="btn btn-primary" NAME="Back"> Back </button></FORM> </td> </tr> </table> </center>'; } } } ############################################################# ############## INVITE PLAYER #################### ############################################################# if($action == 'invite') { //set rights in guild $guild_id = (int) $_REQUEST['guild']; $name = $_REQUEST['name']; if(!$logged) { $guild_errors[] = 'You are not logged in. You can\'t invite players.'; } if(empty($guild_errors)) { $guild = new Guild(); $guild->load($guild_id); if(!$guild->isLoaded()) { $guild_errors[] = 'Guild with ID <b>'.$guild_id.'</b> doesn\'t exist.'; } } if(empty($guild_errors)) { $rank_list = $guild->getGuildRanksList(); $guild_leader = FALSE; $guild_vice = FALSE; $account_players = $account_logged->getPlayers(); foreach($account_players as $player) { $player_rank = $player->getRank(); if(!empty($player_rank)) foreach($rank_list as $rank_in_guild) if($rank_in_guild->getId() == $player_rank->getId()) { $players_from_account_in_guild[] = $player->getName(); if($player_rank->getLevel() > 1) { $guild_vice = TRUE; $level_in_guild = $player_rank->getLevel(); } if($guild->getOwner()->getId() == $player->getId()) { $guild_vice = TRUE; $guild_leader = TRUE; } } } } if(!$guild_vice) { $guild_errors[] = 'You are not a leader or vice leader of guild ID <b>'.$guild_id.'</b>.'; } if($_REQUEST['todo'] == 'save') { if(!check_name($name)) { $guild_errors[] = 'Invalid name format.'; } if(empty($guild_errors)) { $player = new Player(); $player->find($name); if(!$player->isLoaded()) { $guild_errors[] = 'Player with name <b>'.htmlspecialchars($name).'</b> doesn\'t exist.'; } else { $rank_of_player = $player->getRank(); if(!empty($rank_of_player)) { $guild_errors[] = 'Player with name <b>'.htmlspecialchars($name).'</b> is already in guild. He must leave guild before you can invite him.'; } } } if(empty($guild_errors) && $guild->getWorld() != $player->getWorld()) { $guild_errors[] = '<b>'.htmlspecialchars($player->getName()).'</b> is from other world then your guild.'; } if(empty($guild_errors)) { $invited_list = $guild->listInvites(); if(count($invited_list) > 0) foreach($invited_list as $invited) if($invited->getName() == $player->getName()) { $guild_errors[] = '<b>'.htmlspecialchars($player->getName()).'</b> is already invited to your guild.'; } } } if(!empty($guild_errors)) { //show errors ECHO '<b>The Following Errors Have Occurred:</b><br/>'; foreach($guild_errors as $guild_error) { ECHO '<li>'.$guild_error; } ECHO '<br><FORM ACTION="guilds&action=show&guild='.$guild_id.'" METHOD=post> <CENTER><TABLE><TR> <TD><button class="btn btn-primary" NAME="Back"> Back </button></TD></TR></TABLE></CENTER></FORM>'; } else { if($_REQUEST['todo'] == 'save') { $guild->invite($player); ECHO '<h2> Invite player </h2>'; ECHO 'Player with name <b>'.htmlspecialchars($player->getName()).'</b> has been invited to your guild. <br> <br>'; ECHO '<BR> <FORM ACTION="guilds&action=show&guild='.$guild_id.'" METHOD=post> <CENTER> <button class="btn btn-primary" NAME="Back"> Back </button> </CENTER> </FORM>'; } else { ECHO '<h2> Invite player </h2>'; ECHO '<FORM ACTION="guilds&action=invite&guild='.$guild_id.'&todo=save" METHOD=post> Invite player with name: <input type="text" name="name" autocomplete="off" value="" size="25" maxlength="25"/> <br><br>'; ECHO '<center> <TABLE> <tr> <td> <button type="submit" class="btn btn-primary"> Invite </button></form> <td>&#160;&#160;&#160;&#160;&#160;&#160; <FORM ACTION="guilds&action=show&guild='.$guild_id.'" METHOD=post></td> <td> <button class="btn btn-primary" NAME="Back"> Back </button></FORM> </td> </tr> </table> </center>'; } } } ############################################################# ############## ACCEPT INVITE #################### ############################################################# if($action == 'acceptinvite') { //set rights in guild $guild_id = (int) $_REQUEST['guild']; $name = $_REQUEST['name']; if(!$logged) { $guild_errors[] = 'You are not logged in. You can\'t accept invitations.'; } if(empty($guild_errors)) { $guild = new Guild(); $guild->load($guild_id); if(!$guild->isLoaded()) { $guild_errors[] = 'Guild with ID <b>'.$guild_id.'</b> doesn\'t exist.'; } } if($_REQUEST['todo'] == 'save') { if(!check_name($name)) { $guild_errors[] = 'Invalid name format.'; } if(empty($guild_errors)) { $player = new Player(); $player->find($name); if(!$player->isLoaded()){ $guild_errors[] = 'Player with name <b>'.htmlspecialchars($name).'</b> doesn\'t exist.'; } else { $rank_of_player = $player->getRank(); if(!empty($rank_of_player)) { $guild_errors[] = 'Character with name <b>'.htmlspecialchars($name).'</b> is already in guild. You must leave guild before you join other guild.'; } } } } if($_REQUEST['todo'] == 'save') { if(empty($guild_errors)) { $is_invited = FALSE; $invited_list = $guild->listInvites(); if(count($invited_list) > 0) { foreach($invited_list as $invited) {if($invited->getName() == $player->getName()){$is_invited = TRUE;}} } if(!$is_invited) { $guild_errors[] = 'Character '.htmlspecialchars($player->getName()).' isn\'t invited to guild <b>'.htmlspecialchars($guild->getName()).'</b>.'; } } } else { if(empty($guild_errors)) { $acc_invited = FALSE; $account_players = $account_logged->getPlayers(); $invited_list = $guild->listInvites(); if(count($invited_list) > 0) { foreach($invited_list as $invited) { foreach($account_players as $player_from_acc) { if($invited->getName() == $player_from_acc->getName()) { $acc_invited = TRUE; $list_of_invited_players[] = $player_from_acc->getName(); } } } } } if(!$acc_invited) { $guild_errors[] = 'Any character from your account isn\'t invited to <b>'.htmlspecialchars($guild->getName()).'</b>.'; } } if(!empty($guild_errors)) { //show errors ECHO '<b>The Following Errors Have Occurred:</b><br/>'; foreach($guild_errors as $guild_error) { ECHO '<li>'.$guild_error; } ECHO '<br><FORM ACTION="guilds&action=show&guild='.$guild_id.'" METHOD=post> <CENTER><TABLE><TR> <TD><button class="btn btn-primary" NAME="Back"> Back </button></TD></TR></TABLE></CENTER></FORM>'; } else { if($_REQUEST['todo'] == 'save') { $guild->acceptInvite($player); ECHO '<h2> Accept invitation </h2>'; ECHO ' Player with name <b>'.htmlspecialchars($player->getName()).'</b> has been added to guild <b>'.htmlspecialchars($guild->getName()).'</b>. <br> <br>'; ECHO '<FORM ACTION="guilds&action=show&guild='.$guild_id.'" METHOD=post> <CENTER> <button class="btn btn-primary" NAME="Back"> Back </button> </CENTER> </FORM>'; } else { ECHO '<h2> Accept invitation </h2>'; ECHO '<form action="guilds&action=acceptinvite&guild='.$guild_id.'&todo=save" METHOD="post"> <table>'; sort($list_of_invited_players); foreach($list_of_invited_players as $invited_player_from_list) { ECHO '<tr> <td> <input type="radio" name="name" value="'.htmlspecialchars($invited_player_from_list).'" /> '.htmlspecialchars($invited_player_from_list).' </td> </tr>'; } ECHO '</table> <center> <TABLE> <tr> <td> <button type="submit" class="btn btn-primary"> Submit </button></form> <td>&#160;&#160;&#160;&#160;&#160;&#160; <FORM ACTION="guilds&action=show&guild='.$guild_id.'" METHOD=post></td> <td> <button class="btn btn-primary" NAME="Back"> Back </button></FORM> </td> </tr> </table> </center>'; } } } ############################################################# ############## KICK PLAYER #################### ############################################################# if($action == 'kickplayer') { //set rights in guild $guild_id = (int) $_REQUEST['guild']; $name = $_REQUEST['name']; if(!$logged) { $guild_errors[] = 'You are not logged in. You can\'t kick characters.'; } if(!check_name($name)) { $guild_errors[] = 'Invalid name format.'; } if(empty($guild_errors)) { $guild = new Guild(); $guild->load($guild_id); if(!$guild->isLoaded()) { $guild_errors[] = 'Guild with ID <b>'.$guild_id.'</b> doesn\'t exist.'; } } if(empty($guild_errors)) { $rank_list = $guild->getGuildRanksList(); $guild_leader = FALSE; $guild_vice = FALSE; $account_players = $account_logged->getPlayers(); foreach($account_players as $player) { $player_rank = $player->getRank(); if(!empty($player_rank)) { foreach($rank_list as $rank_in_guild) { if($rank_in_guild->getId() == $player_rank->getId()) { $players_from_account_in_guild[] = $player->getName(); if($player_rank->getLevel() > 1) { $guild_vice = TRUE; $level_in_guild = $player_rank->getLevel(); } if($guild->getOwner()->getId() == $player->getId()) { $guild_vice = TRUE; $guild_leader = TRUE; } } } } } } if(empty($guild_errors)) {if(!$guild_leader && $level_in_guild < 3) { $guild_errors[] = 'You are not a leader of guild <b>'.htmlspecialchars($guild->getName()).'</b>. You can\'t kick players.';} } if(empty($guild_errors)) { $player = new Player(); $player->find($name); if(!$player->isLoaded()) { $guild_errors[] = 'Character <b>'.htmlspecialchars($name).'</b> doesn\'t exist.'; } else {if($player->getRank()->getGuild()->getName() != $guild->getName()) { $guild_errors[] = 'Character <b>'.htmlspecialchars($name).'</b> isn\'t from your guild.';} } } if(empty($guild_errors)){if($player->getRank()->getLevel() >= $level_in_guild && !$guild_leader) { $guild_errors[] = 'You can\'t kick character <b>'.htmlspecialchars($name).'</b>. Too high access level.';} } if(empty($guild_errors)){if($guild->getOwner()->getName() == $player->getName()) { $guild_errors[] = 'It\'s not possible to kick guild owner!';} } if(!empty($guild_errors)) { //show errors ECHO '<b>The Following Errors Have Occurred:</b><br/>'; foreach($guild_errors as $guild_error) { ECHO '<li>'.$guild_error; } ECHO '<br><FORM ACTION="guilds&action=show&guild='.$guild_id.'" METHOD=post> <CENTER><TABLE><TR> <TD><button class="btn btn-primary" NAME="Back"> Back </button></TD></TR></TABLE></CENTER></FORM>'; } else { if($_REQUEST['todo'] == 'save') { $player->setRank(); $player->save(); ECHO '<h2> Kick player </h2>'; ECHO 'Player with name <b>'.htmlspecialchars($player->getName()).'</b> has been kicked from your guild. <br> <br>'; ECHO '<FORM ACTION="guilds&action=show&guild='.$guild_id.'" METHOD=post> <CENTER> <button class="btn btn-primary" NAME="Back"> Back </button> </CENTER> </FORM>'; } else { ECHO '<h2> Kick player </h2>'; ECHO 'Are you sure you want to kick player with name <b>'.htmlspecialchars($player->getName()).'</b> from your guild? <br> <br> <FORM ACTION="guilds&action=kickplayer&guild='.$guild_id.'&name='.urlencode($player->getName()).'&todo=save" METHOD=post>'; ECHO '<center> <TABLE> <tr> <td> <button type="submit" class="btn btn-primary"> Kick </button></form> <td>&#160;&#160;&#160;&#160;&#160;&#160; <FORM ACTION="guilds&action=show&guild='.$guild_id.'" METHOD=post></td> <td> <button class="btn btn-primary" NAME="Back"> Back </button></FORM> </td> </tr> </table> </center>'; } } } ############################################################# ############## LEAVE GUILD #################### ############################################################# if($action == 'leaveguild') { //set rights in guild $guild_id = (int) $_REQUEST['guild']; $name = $_REQUEST['name']; if(!$logged) { $guild_errors[] = 'You are not logged in. You can\'t leave guild.'; } if(empty($guild_errors)) { $guild = new Guild(); $guild->load($guild_id); if(!$guild->isLoaded()) { $guild_errors[] = 'Guild with ID <b>'.$guild_id.'</b> doesn\'t exist.'; } } if(empty($guild_errors)) { $guild_owner_id = $guild->getOwner()->getId(); if($_REQUEST['todo'] == 'save') { if(!check_name($name)) { $guild_errors[] = 'Invalid name format.'; } if(empty($guild_errors)) { $player = new Player(); $player->find($name); if(!$player->isLoaded()) { $guild_errors[] = 'Character <b>'.htmlspecialchars($name).'</b> doesn\'t exist.'; } else if($player->getAccount()->getId() != $account_logged->getId()) { $guild_errors[] = 'Character <b>'.htmlspecialchars($name).'</b> isn\'t from your account!';} } if(empty($guild_errors)) { $player_loaded_rank = $player->getRank(); if(!empty($player_loaded_rank) && $player_loaded_rank->isLoaded()) { if($player_loaded_rank->getGuild()->getId() != $guild->getId()) { $guild_errors[] = 'Character <b>'.htmlspecialchars($name).'</b> isn\'t from guild <b>'.htmlspecialchars($guild->getName()).'</b>.'; } } else { $guild_errors[] = 'Character <b>'.htmlspecialchars($name).'</b> isn\'t in any guild.'; } } if(empty($guild_errors)) if($guild_owner_id == $player->getId()) { $guild_errors[] = 'You can\'t leave guild. You are an owner of guild.'; } } else { $account_players = $account_logged->getPlayers(); foreach($account_players as $player_fac) { $player_rank = $player_fac->getRank(); if(!empty($player_rank)) if($player_rank->getGuild()->getId() == $guild->getId()) if($guild_owner_id != $player_fac->getId()) $array_of_player_ig[] = $player_fac->getName(); } } } if(!empty($guild_errors)) { //show errors ECHO '<b>The Following Errors Have Occurred:</b><br/>'; foreach($guild_errors as $guild_error) { ECHO '<li>'.$guild_error; } ECHO '<br><FORM ACTION="guilds&action=show&guild='.$guild_id.'" METHOD=post> <CENTER><TABLE><TR> <TD><button class="btn btn-primary" NAME="Back"> Back </button></TD></TR></TABLE></CENTER></FORM>'; } else { if($_REQUEST['todo'] == 'save') { $player->setRank(); $player->save(); ECHO '<h2> Leave guild </h2>'; ECHO 'Player with name <b>'.htmlspecialchars($player->getName()).'</b> leaved guild <b>'.htmlspecialchars($guild->getName()).'</b>. <br> <br>'; ECHO '<FORM ACTION="guilds&action=show&guild='.$guild_id.'" METHOD=post> <CENTER> <button class="btn btn-primary" NAME="Back"> Back </button> </CENTER> </FORM>'; } else { if(count($array_of_player_ig) > 0) { ECHO '<h2> Leave guild </h2>'; ECHO '<form action="guilds&action=leaveguild&guild='.$guild_id.'&todo=save" METHOD="post"> <table>'; sort($array_of_player_ig); foreach($array_of_player_ig as $player_to_leave) { ECHO '<tr> <td> <input type="radio" name="name" value="'.htmlspecialchars($player_to_leave).'" /> '.htmlspecialchars($player_to_leave).' </td> </tr>'; } ECHO '</table> <center> <TABLE> <tr> <td> <button type="submit" class="btn btn-primary"> Submit </button></form> <td>&#160;&#160;&#160;&#160;&#160;&#160; <FORM ACTION="guilds&action=show&guild='.$guild_id.'" METHOD=post></td> <td> <button class="btn btn-primary" NAME="Back"> Back </button></FORM> </td> </tr> </table> </center>'; } else { header('Location: guilds'); } } } } ############################################################# ############## CREATE GUILD #################### ############################################################# if($action == 'createguild') { $new_guild_name = trim($_REQUEST['guild']); $name = $_REQUEST['name']; $todo = $_REQUEST['todo']; if(!$logged) $guild_errors[] = 'You are not logged in. You can\'t create guild.'; if(empty($guild_errors)) { $account_players = $account_logged->getPlayers(); foreach($account_players as $player) { $player_rank = $player->getRank(); if(empty($player_rank)) if($player->getLevel() >= $config['site']['guild_need_level']) if(!$config['site']['guild_need_pacc'] || $account_logged->isPremium()) $array_of_player_nig[] = $player->getName(); } } if(count($array_of_player_nig) == 0) $guild_errors[] = 'On your account all characters are in guilds or have too low level to create new guild.'; if($todo == 'save') { if(!check_guild_name($new_guild_name)) { $guild_errors[] = 'Invalid guild name format.'; } if(!check_name($name)) { $guild_errors[] = 'Invalid character name format.'; } if(empty($guild_errors)) { $player = new Player(); $player->find($name); if(!$player->isLoaded()) $guild_errors[] = 'Character <b>'.htmlspecialchars($name).'</b> doesn\'t exist.'; } if(empty($guild_errors)) { $guild = new Guild(); $guild->find($new_guild_name); if($guild->isLoaded()) $guild_errors[] = 'Guild <b>'.htmlspecialchars($new_guild_name).'</b> already exist. Select other name.'; } if(empty($guild_errors)) { $bad_char = TRUE; foreach($array_of_player_nig as $nick_from_list) if($nick_from_list == $player->getName()) $bad_char = FALSE; if($bad_char) $guild_errors[] = 'Character <b>'.htmlspecialchars($name).'</b> isn\'t on your account or is already in guild.'; } if(empty($guild_errors)) { if($player->getLevel() < $config['site']['guild_need_level']) $guild_errors[] = 'Character <b>'.htmlspecialchars($name).'</b> has too low level. To create guild you need character with level <b>'.$config['site']['guild_need_level'].'</b>.'; if($config['site']['guild_need_pacc'] && !$account_logged->isPremium()) $guild_errors[] = 'Character <b>'.htmlspecialchars($name).'</b> is on FREE account. To create guild you need PREMIUM account.'; } } if(!empty($guild_errors)) { $main_content .= '<div class="SmallBox" > <div class="MessageContainer" > <div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif);" /></div> <div class="BoxFrameEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div> <div class="BoxFrameEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div> <div class="ErrorMessage" > <div class="BoxFrameVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></div> <div class="BoxFrameVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></div> <div class="AttentionSign" style="background-image:url('.$layout_name.'/images/content/attentionsign.gif);" /></div><b>The Following Errors Have Occurred:</b><br/>'; foreach($guild_errors as $guild_error) $main_content .= '<li>'.$guild_error.'</li>'; $main_content .= '</div> <div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif);" /></div> <div class="BoxFrameEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div> <div class="BoxFrameEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></div> </div></div><br>'; unset($todo); } if($todo == 'save') { $new_guild = new Guild(); $new_guild->setCreationData(time()); $new_guild->setName($new_guild_name); $new_guild->setOwner($player); $new_guild->setDescription('New guild. Leader must edit this text :)'); $new_guild->save(); $ranks = $new_guild->getGuildRanksList(true); foreach($ranks as $rank) if($rank->getLevel() == 3) { $player->setRank($rank); $player->save(); } ECHO '<h2> Created Guild </h2>'; ECHO '<b>Congratulations!</b> You have created guild <b>'.htmlspecialchars($new_guild_name).'</b>. <b>'.htmlspecialchars($player->getName()).'</b> is leader of this guild. Now you can invite players, change picture, description and motd of guild. Press submit to open guild manager. <br> <br>'; ECHO '<BR> <FORM ACTION=guilds&action=show&guild='.$new_guild->getId().' METHOD=post> <CENTER> <TABLE> <TR> <TD> <button class="btn btn-primary" NAME="Manage">Manage Guild</button></TD></TR></TABLE></CENTER></FORM>'; } else { ECHO '<h2> Create Guild </h2>'; ECHO 'Go create guild on '.$config['server']['serverName'].' and get ready for war! <BR> <BR> <FORM ACTION="guilds&action=createguild&todo=save" METHOD=post> <TABLE WIDTH=100% CELLPADDING=4>'; ECHO '<TR><TD width="150" valign="top"><B>Leader: </B></TD><TD> <SELECT name="name">'; if(count($array_of_player_nig) > 0) { sort($array_of_player_nig); foreach($array_of_player_nig as $nick){ ECHO '<OPTION>'.htmlspecialchars($nick).'</OPTION>'; } } ECHO '</SELECT> <font size="1" face="verdana,arial,helvetica">(Name of leader.)</font></TD></TR> <TR> <TD width="150" valign="top"><B>Guild name: </B></TD><TD> <INPUT NAME="guild" placeholder=" Here write name of your new guild." VALUE="" autocomplete="off" SIZE=31 MAXLENGTH=30 > </TD></TR> </TABLE> <BR>'; ECHO '<center> <TABLE> <tr> <td> <button type="submit" class="btn btn-primary">Submit</button></form> <td>&#160;&#160;&#160;&#160;&#160;&#160; <FORM ACTION="guilds" METHOD=post></td> <td> <button class="btn btn-primary" NAME="Back">Back</button></FORM></td></tr></table> </center>'; } } ############################################################# ############## MANAGE GUILD #################### ############################################################# if($action == 'manager') { $guild_id = (int) $_REQUEST['guild']; if(empty($guild_errors)) { $guild = new Guild(); $guild->load($guild_id); if(!$guild->isLoaded()) { $guild_errors[] = 'Guild with ID <b>'.$guild_id.'</b> doesn\'t exist.'; } } if(empty($guild_errors)) { if($logged) { $guild_leader_char = $guild->getOwner(); $rank_list = $guild->getGuildRanksList(); $guild_leader = FALSE; $account_players = $account_logged->getPlayers(); foreach($account_players as $player) { if($guild_leader_char->getId() == $player->getId()) { $guild_vice = TRUE; $guild_leader = TRUE; $level_in_guild = 3; } } if($guild_leader) { ECHO '<h2> Manage Guild </h2> '; ECHO ' <table border=1 cellpadding=5 cellspacing=0 width="100%"> <tr><td width="30%"><font color="red"><b>Option</b></font></td><td><font color="red"><b>Description</b></font></td></tr> <tr><td><b><a href="guilds&guild='.$guild_id.'&action=passleadership">Pass Leadership</a></b></td><td><b>Pass leadership of guild to other guild member.</b></td></tr> <tr><td><b><a href="guilds&guild='.$guild_id.'&action=deleteguild">Delete Guild</a></b></td><td><b>Delete guild, kick all members.</b></td></tr> <tr><td><b><a href="guilds&guild='.$guild_id.'&action=changedescription">Change Description</a></b></td><td><b>Change description of guild.</b></td></tr> <tr><td><b><a href="guilds&guild='.$guild_id.'&action=changemotd">Change MOTD</a></b></td><td><b>Change MOTD of guild.</b></td></tr> </table></table>'; ECHO '<br> <center> <form action="guilds&action=show&guild='.$guild_id.'" METHOD=post> <button class="btn btn-primary" NAME="back"> Back </button> </form></center>'; } else { $guild_errors[] = 'You are not a leader of guild!'; } } else { $guild_errors[] = 'You are not logged. You can\'t manage guild.'; } } if(!empty($guild_errors)) { //show errors ECHO '<b>The Following Errors Have Occurred:</b><br/>'; foreach($guild_errors as $guild_error) { ECHO '<li>'.$guild_error; } ECHO '<br> <FORM ACTION="guilds&action=show&guild='.$guild_id.'" METHOD=post> <CENTER> <button class="btn btn-primary" NAME="Back"> Back </button> </CENTER></FORM>'; } } ############################################################# ############## CHANGE DESCRIPTION #################### ############################################################# if($action == 'changedescription') { $guild_id = (int) $_REQUEST['guild']; if(empty($guild_errors)) { $guild = new Guild(); $guild->load($guild_id); if(!$guild->isLoaded()) { $guild_errors[] = 'Guild with ID <b>'.$guild_id.'</b> doesn\'t exist.'; } } if(empty($guild_errors)) { if($logged) { $guild_leader_char = $guild->getOwner(); $rank_list = $guild->getGuildRanksList(); $guild_leader = FALSE; $account_players = $account_logged->getPlayers(); foreach($account_players as $player) { if($guild->getOwner()->getId() == $player->getId()) { $guild_vice = TRUE; $guild_leader = TRUE; $level_in_guild = 3; } } if($guild_leader) { if($_REQUEST['todo'] == 'save') { $description = htmlspecialchars(substr(trim($_REQUEST['description']),0,$config['site']['guild_description_chars_limit'])); $guild->set('description', $description); $guild->save(); $saved = TRUE; } ECHO '<h2> Change guild description </h2>'; if($saved) { ECHO '<font color="red" size="3"><b>CHANGES HAS BEEN SAVED!</b></font><br><br>'; } ECHO 'Here you can change description of your guild. <br><br>'; ECHO '<form enctype="multipart/form-data" action="guilds&guild='.$guild_id.'&action=changedescription" method="POST"> <input type="hidden" name="todo" value="save" /> <textarea name="description" cols="60" rows="'.($config['site']['guild_description_lines_limit'] - 1).'">'.$guild->getDescription().'</textarea><br> (max. '.$config['site']['guild_description_lines_limit'].' lines, max. '.$config['site']['guild_description_chars_limit'].' chars) '; ECHO '<br> <table border=0 width="35%"> <tr> <td> <center> <button class="btn btn-primary" name="submit"> Save description </button> </center> </td> </form><br>'; ECHO '<br/> <form action="guilds&guild='.$guild_id.'&action=manager" METHOD=post> <CENTER> <td> <center> <button class="btn btn-primary" NAME="Back"> Back </button> </center> </td> </CENTER> </form> </tr> </table> '; } else { $guild_errors[] = 'You are not a leader of guild!'; } } else { $guild_errors[] = 'You are not logged. You can\'t manage guild.'; } } if(!empty($guild_errors)) { //show errors ECHO '<b>The Following Errors Have Occurred:</b><br/>'; foreach($guild_errors as $guild_error) { ECHO '<li>'.$guild_error; } ECHO '<br><FORM ACTION="guilds&action=show&guild='.$guild_id.'" METHOD=post> <CENTER> <button class="btn btn-primary" NAME="Back"> Back </button> </CENTER> </FORM>'; } } ############################################################# ############## PASS LEADERSHIP #################### ############################################################# if($action == 'passleadership') { $guild_id = (int) $_REQUEST['guild']; $pass_to = trim($_REQUEST['player']); if(empty($guild_errors)) { $guild = new Guild(); $guild->load($guild_id); if(!$guild->isLoaded()) { $guild_errors[] = 'Guild with ID <b>'.$guild_id.'</b> doesn\'t exist.'; } } if(empty($guild_errors)) { if($_POST['todo'] == 'save') { if(!check_name($pass_to)) { $guild_errors2[] = 'Invalid player name format.'; } if(empty($guild_errors2)) { $to_player = new Player(); $to_player->find($pass_to); if(!$to_player->isLoaded()) { $guild_errors2[] = 'Player with name <b>'.htmlspecialchars($pass_to).'</b> doesn\'t exist.'; } if(empty($guild_errors2)) { $to_player_rank = $to_player->getRank(); if(!empty($to_player_rank)) { $to_player_guild = $to_player_rank->getGuild(); if($to_player_guild->getId() != $guild->getId()) { $guild_errors2[] = 'Player with name <b>'.htmlspecialchars($to_player->getName()).'</b> isn\'t from your guild.'; } } else { $guild_errors2[] = 'Player with name <b>'.htmlspecialchars($to_player->getName()).'</b> isn\'t from your guild.'; } } } } } if(empty($guild_errors) && empty($guild_errors2)) { if($logged) { $guild_leader_char = $guild->getOwner(); $guild_leader = FALSE; $account_players = $account_logged->getPlayers(); foreach($account_players as $player) { if($guild_leader_char->getId() == $player->getId()) { $guild_vice = TRUE; $guild_leader = TRUE; $level_in_guild = 3; } } if($guild_leader) { if($_POST['todo'] == 'save') { $guild->setOwner($to_player); $guild->save(); $saved = TRUE; ECHO '<h2> Guild Deleted </h2> <table width=100%><tr><td><b>'.htmlspecialchars($to_player->getName()).'</b> is now a Leader of <b>'.htmlspecialchars($guild->getName()).'</b>.</td></tr> </table> <form action="guilds&guild='.$guild_id.'&action=show" METHOD=post> <button class="btn btn-primary" NAME="Back"> Back </button> </form>'; } else { ECHO '<h2> Pass leadership to: </h2> <form action="guilds&guild='.$guild_id.'&action=passleadership" METHOD=post> <input type="hidden" name="todo" value="save"> <input type="text" size="25" autocomplete="off" name="player">'; ECHO '<table border=0 width="30%"> <tr> <td> <center> <button class="btn btn-primary" name="save"> Save </button> </center> </td> </form>'; ECHO '<form action="guilds&guild='.$guild_id.'&action=manager" METHOD=post> <CENTER> <td> <center> <button class="btn btn-primary" NAME="Back"> Back </button> </center> </td> </CENTER> </form> </tr> </table> '; } } else { $guild_errors[] = 'You are not a leader of guild!'; } } else { $guild_errors[] = 'You are not logged. You can\'t manage guild.'; } } if(empty($guild_errors) && !empty($guild_errors2)) { ECHO '<b>The Following Errors Have Occurred:</b><br/>'; foreach($guild_errors2 as $guild_error2) {ECHO '<li>'.$guild_error2;} ECHO '<br><FORM ACTION="guilds&action=show&guild='.$guild_id.'" METHOD=post> <CENTER><TABLE><TR> <TD><button class="btn btn-primary" NAME="Back"> Back </button></TD></TR></TABLE></CENTER></FORM>'; } if(!empty($guild_errors)) { ECHO '<b>The Following Errors Have Occurred:</b><br/>'; foreach($guild_errors as $guild_error) { ECHO '<li>'.$guild_error; } if(!empty($guild_errors2)){foreach($guild_errors2 as $guild_error2) { ECHO '<li>'.$guild_error2;} } ECHO '<br><FORM ACTION="guilds&action=show&guild='.$guild_id.'" METHOD=post> <CENTER> <button class="btn btn-primary" NAME="Back"> Back </button> </CENTER> </FORM>'; } } ############################################################# ############## DELETE GUILD #################### ############################################################# if($action == 'deleteguild') { $guild_id = (int) $_REQUEST['guild']; if(empty($guild_errors)) { $guild = new Guild(); $guild->load($guild_id); if(!$guild->isLoaded()) { $guild_errors[] = 'Guild with ID <b>'.$guild_id.'</b> doesn\'t exist.'; } } if(empty($guild_errors)) { if($logged) { $guild_leader_char = $guild->getOwner(); $rank_list = $guild->getGuildRanksList(); $guild_leader = FALSE; $account_players = $account_logged->getPlayers(); foreach($account_players as $player) { if($guild->getOwner()->getId() == $player->getId()) { $guild_vice = TRUE; $guild_leader = TRUE; $level_in_guild = 3; } } if($guild_leader) { if($_POST['todo'] == 'save') { $guild->delete(); $saved = TRUE; } if($saved) { ECHO '<h2> Guild Deleted </h2> Guild with ID <b>'.$guild_id.'</b> has been deleted.'; ECHO '<br/><center><form action="guilds" METHOD=post> <button class="btn btn-primary" NAME="Back"> Back </button> </form></center>'; } else { ECHO '<h2> Guild Deleted </h2> Are you sure you want delete guild with ID <b>'.$guild_id.'</b>? <br> <form action="guilds&guild='.$guild_id.'&action=deleteguild" METHOD=post> <input type="hidden" name="todo" value="save" />'; ECHO ' <br/> <table border=0 width="35%"> <tr> <td> <center> <button class="btn btn-primary" name="submit"> Yes, delete </button> </center> </td> </form>'; ECHO '<form action="guilds&guild='.$guild_id.'&action=manager" METHOD=post> <CENTER> <td> <center> <button class="btn btn-primary" NAME="Back"> Back </button> </center> </td> </CENTER> </form> </tr> </table> '; } } else { $guild_errors[] = 'You are not a leader of guild!'; } } else { $guild_errors[] = 'You are not logged. You can\'t manage guild.'; } } if(!empty($guild_errors)) { ECHO '<b>The Following Errors Have Occurred:</b><br/>'; foreach($guild_errors as $guild_error) { ECHO '<li>'.$guild_error.'</li>'; } ECHO '<br><FORM ACTION="guilds&action=show&guild='.$guild_id.'" METHOD=post> <CENTER><TABLE><TR> <TD><button class="btn btn-primary" NAME="Back"> Back </button></TD></TR></TABLE></CENTER></FORM>'; } } ############################################################# ############## DELETE GUILD BY ADMIN #################### ############################################################# if($action == 'deletebyadmin') { $guild_id = (int) $_REQUEST['guild']; if(empty($guild_errors)) { $guild = new Guild(); $guild->load($guild_id); if(!$guild->isLoaded()) { $guild_errors[] = 'Guild with ID <b>'.$guild_id.'</b> doesn\'t exist.'; } } if(empty($guild_errors)) { if($logged) { if($group_id_of_acc_logged >= $config['site']['access_admin_panel']) { if($_POST['todo'] == 'save') { $guild->delete(); ECHO '<h2> Guild Deleted by Admin </h2> Guild with ID <b>'.$guild_id.'</b> has been deleted.'; ECHO '<form action="guilds" METHOD=post> <center> <button class="btn btn-primary" NAME="Back"> Back </button> </center> </form>'; } else { ECHO '<h2> Guild Deleted by Admin </h2> Are you sure you want delete guild <b>'.htmlspecialchars($guild->getName()).'</b>? <form action="guilds&guild='.$guild_id.'&action=deletebyadmin" METHOD=post> <input type="hidden" name="todo" value="save"> <input type="submit" value="Yes, delete"> </form> <form action="guilds" METHOD=post> <center> <button class="btn btn-primary" NAME="Back"> Back </button> </center> </form>'; } } else { $guild_errors[] = 'You are not an admin!'; } } else { $guild_errors[] = 'You are not logged. You can\'t delete guild.'; } } if(!empty($guild_errors)) { //show errors ECHO '<b>The Following Errors Have Occurred:</b><br/>'; foreach($guild_errors as $guild_error) { ECHO '<li>'.$guild_error.''; } ECHO '<br><FORM ACTION="guilds" METHOD=post> <button class="btn btn-primary" NAME="Back"> Back </button> </FORM>'; } } ############################################################# ############## CHANGE MOTD #################### ############################################################# if($action == 'changemotd') { $guild_id = (int) $_REQUEST['guild']; if(empty($guild_errors)) { $guild = new Guild(); $guild->load($guild_id); if(!$guild->isLoaded()) { $guild_errors[] = 'Guild with ID <b>'.$guild_id.'</b> doesn\'t exist.'; } } if(empty($guild_errors)) { if($logged) { $guild_leader_char = $guild->getOwner(); $rank_list = $guild->getGuildRanksList(); $guild_leader = FALSE; $account_players = $account_logged->getPlayers(); foreach($account_players as $player) if($guild->getOwner()->getId() == $player->getId()) { $guild_vice = TRUE; $guild_leader = TRUE; $level_in_guild = 3; } if($guild_leader) { if($_REQUEST['todo'] == 'save') { $motd = htmlspecialchars(substr(trim($_REQUEST['motd']),0,$config['site']['guild_motd_chars_limit'])); $guild->set('motd', $motd); $guild->save(); $saved = TRUE; } ECHO '<h2> Change guild MOTD </h2>'; if($saved) ECHO '<font color="red" size="3"><b>CHANGES HAS BEEN SAVED!</b></font><br>'; ECHO 'Here you can change MOTD (Message of the Day, showed in game!) of your guild.<BR>'; ECHO '<form enctype="multipart/form-data" action="guilds&guild='.$guild_id.'&action=changemotd" method="POST"> <input type="hidden" name="todo" value="save" /> <textarea name="motd" cols="60" rows="3">'.$guild->get('motd').'</textarea><br> (max. '.$config['site']['guild_motd_chars_limit'].' chars) <input type="submit" value="Save MOTD" /></form><br>'; ECHO '<br/> <form action="guilds&guild='.$guild_id.'&action=manager" METHOD=post> <center> <button class="btn btn-primary" NAME="Back"> Back </button> </center> </form>'; } else { $guild_errors[] = 'You are not a leader of guild!'; } } else { $guild_errors[] = 'You are not logged. You can\'t manage guild.'; } } if(!empty($guild_errors)) { ECHO '<b>The Following Errors Have Occurred:</b><br/>'; foreach($guild_errors as $guild_error) { ECHO '<li>'.$guild_error; } ECHO '<br><FORM ACTION="guilds" METHOD=post> <button class="btn btn-primary" NAME="Back"> Back </button> </FORM>'; } } ############################################################# ############## CHANGE NICK #################### ############################################################# if($action == 'changenick') { if($logged) { $player_n = $_REQUEST['name']; $new_nick = $_REQUEST['nick']; $player = new Player(); $player->find($player_n); $player_from_account = FALSE; if(strlen($new_nick) <= 30) { if($player->isLoaded()) { $account_players = $account_logged->getPlayersList(); if(count($account_players)) { foreach($account_players as $acc_player) { if($acc_player->getId() == $player->getId()) $player_from_account = TRUE; } if($player_from_account) { $player->setGuildNick($new_nick); $player->save(); ECHO '<center>Guild nick of player <b>'.htmlspecialchars($player->getName()).'</b> changed to <b>'.htmlspecialchars($new_nick).'</b>.</center>'; $addtolink = '&action=show&guild='.$player->getRank()->getGuild()->getId(); } else { ECHO 'This player is not from your account.'; } } else { ECHO 'This player is not from your account.'; } } else { ECHO 'Unknow error occured.'; } } else { ECHO 'Too long guild nick. Max. 30 chars, your: '.strlen($new_nick); } } else { ECHO 'You are not logged.'; } ECHO '<center><h3><a href="guilds'.$addtolink.'">BACK</a></h3></center>'; } ############################################################# ############## LOGIN #################### ############################################################# if($action == 'login') { ECHO '<h2> Please login in your account to see guilds. </h2> '; if(!$logged) { if(isset($isTryingToLogin)) { switch(Visitor::getLoginState()) { case Visitor::LOGINSTATE_NO_ACCOUNT: ECHO '<h4> <font color="red"> Account with that name doesn\'t exist.<br></font> </h4>'; break; case Visitor::LOGINSTATE_WRONG_PASSWORD: ECHO '<h4> <font color="red"> Wrong password to account. <br></font> </h4>'; break; } } ECHO ' <form action="guilds&action=login" method="post" > <table width="30%" > <tr> <td> Account Name: <input type="password" name="account_login" autocomplete="off" size="20" maxlength="15" ></td> </tr> <tr> <td> Password: <input type="password" name="password_login" autocomplete="off" size="20" maxlength="19" ></td> </tr> <br/><TR> <td> <div class="row-fluid"> <div class="span5"><button type="submit" class="btn btn-block btn-primary">Login</button></div> </form> <div class="span7"><a class="btn btn-block" href="lostaccount">Forgot password?</a></div> </div> </td> </tr> </table><br> '; } else { header('Location: guilds'); } } ############################################################# ECHO '</div>'; ############################################################# ############################################################# OBS: FAÇO DOAÇÃO NO PAGSEGURO PRA QUEM ME AJUDAR!
  17. Baned postou uma resposta no tópico em Suporte Tibia OTServer
    Olá uso tfs 1.0, estou tentando colocar defesa nas montarias igual elas tem speed por exemplo... tudo isso em mounts.xml <mount id="1" clientid="368" name="Widow Queen" speed="20" premium="no" /> Tentei por defesa por essa linha mesmo, mas infelizmente não deu, o que tentei foi isso... <mount id="1" clientid="368" name="Widow Queen" speed="20" defense="10" premium="no" /> Alguem sabe se é possivel desse jeito se tem algum tipo? Se não for possivel, é possivel criar um creaturescript dê a defesa quando colocarem a mountaria?? Obrigado por ler, aguardo respostas rep ++, pra quem conseguir me ajudar a resolver!
  18. data/movements/scripts/desertmovements.lua:3: in main chunk Lua Script Error: [Test Interface] data/movements/scripts/desertmovements.lua luaAddOutfitCondition(). Condition not found stack traceback: [C]: in function 'addOutfitCondition' data/movements/scripts/desertmovements.lua:6: in main chunk Lua Script Error: [MoveEvents Interface] data/movements/scripts/desertmovements.lua luaAddOutfitCondition(). Condition not found stack traceback: [C]: in function 'addOutfitCondition' data/movements/scripts/desertmovements.lua:3: in main chunk Lua Script Error: [MoveEvents Interface] data/movements/scripts/desertmovements.lua luaAddOutfitCondition(). Condition not found stack traceback: [C]: in function 'addOutfitCondition' data/movements/scripts/desertmovements.lua:6: in main chunk [Warning - MoveEvents::addEvent] Duplicate move event found: 0 Deixei assim agora; local conditionBlack = createConditionObject(CONDITION_OUTFIT) setConditionParam(conditionBlack, CONDITION_PARAM_TICKS, -1) addOutfitCondition(conditionBlack, 146, 114, 88, 88, 88) local conditionRed = createConditionObject(CONDITION_OUTFIT) setConditionParam(conditionRed, CONDITION_PARAM_TICKS, -1) addOutfitCondition(conditionRed, 146, 94, 94, 94, 94) function onStepIn(cid, item, position, fromPosition) ---------EDIT---- Saiu o erro depois de eu adicionar mais um 0 depois da ,
  19. Tirei e deu isso agora; [Warning - Event::checkScript] Can not load script: scripts/desertmovements.lua data/movements/scripts/desertmovements.lua:3: ')' expected near '=' [Warning - MoveEvents::addEvent] Duplicate move event found: 0 [Warning - MoveEvent::configureMoveEvent] Unknown slot type: pickupable [Warning - MoveEvent::configureMoveEvent] Unknown slot type: pickupable Linha 3 > addOutfitCondition(conditionBlack, lookType = 146, lookHead = 114, lookBody = 88, lookLegs = 88, lookFeet = 88)
  20. Se o lider da guild usa o comando fora do evento, os players que estão dentro do evento da guild dele, mudam o outfit =/ Mas se ele tiver dentro do evento ai não dá pra usar, alguem sabe?
  21. Olá, mudei o script do battle field para o tfs 1.0, porém o mesmo não encontra a condition dada antes de pedi-la, se algum scripter puder me ajudar agradeço, rep ++! Erro: Lua Script Error: [Test Interface] data/movements/scripts/desertmovements.lua luaAddOutfitCondition(). Condition not found stack traceback: [C]: in function 'addOutfitCondition' data/movements/scripts/desertmovements.lua:6: in main chunk Lua Script Error: [MoveEvents Interface] data/movements/scripts/desertmovements.lua luaAddOutfitCondition(). Condition not found stack traceback: [C]: in function 'addOutfitCondition' data/movements/scripts/desertmovements.lua:3: in main chunk Lua Script Error: [MoveEvents Interface] data/movements/scripts/desertmovements.lua luaAddOutfitCondition(). Condition not found stack traceback: [C]: in function 'addOutfitCondition' data/movements/scripts/desertmovements.lua:6: in main chunk [Warning - MoveEvents::addEvent] Duplicate move event found: 0 [Warning - MoveEvent::configureMoveEvent] Unknown slot type: pickupable [Warning - MoveEvent::configureMoveEvent] Unknown slot type: pickupable Parte do Script: local conditionBlack = createConditionObject(CONDITION_OUTFIT) setConditionParam(conditionBlack, CONDITION_PARAM_TICKS, -1) addOutfitCondition(conditionBlack, {lookType = 146, lookHead = 114, lookBody = 88, lookLegs = 88, lookFeet = 88}) local conditionRed = createConditionObject(CONDITION_OUTFIT) setConditionParam(conditionRed, CONDITION_PARAM_TICKS, -1) addOutfitCondition(conditionRed, {lookType = 146, lookHead = 94, lookBody = 94, lookLegs = 94, lookFeet = 94}) function onStepIn(cid, item, position, fromPosition) if getPlayerAccess(cid) > 3 then doTeleportThing(cid, _Lib_Desert_Info.TeamOne.pos) return false elseif getGlobalStorageValue(_Lib_Desert_Info.storage_count) > 0 then setGlobalStorageValue(_Lib_Desert_Info.storage_count, getGlobalStorageValue(_Lib_Desert_Info.storage_count)-1) end if getGlobalStorageValue(_Lib_Desert_Info.storage_count) >= 0 then if getGlobalStorageValue(_Lib_Desert_Info.TeamOne.storage) < getGlobalStorageValue(_Lib_Desert_Info.TeamTwo.storage) then setPlayerStorageValue(cid, _Lib_Desert_Info.TeamOne.storage, 1) doAddCondition(cid, conditionBlack) setGlobalStorageValue(_Lib_Desert_Info.TeamOne.storage, getGlobalStorageValue(_Lib_Desert_Info.TeamOne.storage)+1) doTeleportThing(cid, _Lib_Desert_Info.TeamOne.pos) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce entrou no time " .. _Lib_Desert_Info.TeamOne.name .. "!") else setPlayerStorageValue(cid, _Lib_Desert_Info.TeamTwo.storage, 1) doAddCondition(cid, conditionRed) setGlobalStorageValue(_Lib_Desert_Info.TeamTwo.storage, getGlobalStorageValue(_Lib_Desert_Info.TeamTwo.storage)+1) doTeleportThing(cid, _Lib_Desert_Info.TeamTwo.pos) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce entrou no time " .. _Lib_Desert_Info.TeamTwo.name .. "!") end end if getGlobalStorageValue(_Lib_Desert_Info.storage_count) == 0 then removeDesertTp() doBroadcastMessage("A barreira será destruida em 30 segundos, monte sua estrategia!") addEvent(doBroadcastMessage, 2*60*1000-500, "Arena War começou!") addEvent(OpenWallDesert, 1*30*1000) end return true end
  22. Storages estavam erradas, funcionou sim, vou testar se funciona se tiver um membro da guild no evento e o leader fora do evento...
  23. Também não night! [26/6/2014 20:5:31] >>> Loading custom_commands.xml ...[Error - ScriptManager::loadFromXml] Cannot load mod custom_commands.xml [26/6/2014 20:5:31] Line: 128, Info: Input is not proper UTF-8, indicate encoding ! linha 128; doPlayerSendCancel(cid, "Você não pode usar invisible durante o evento!")

Informação Importante

Confirmação de Termo