Tudo que Baned postou
-
(Resolvido)Remover monstro X position
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
-
Script que teleporta e da recompensa e AJUDA em script
Editei @luanluciano93, está correto agora?
-
Script que teleporta e da recompensa e AJUDA em script
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?
-
(Resolvido){alavanca que teleporta 4x4 players}
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/
-
(Resolvido){alavanca que teleporta 4x4 players}
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!
-
(Resolvido){alavanca que teleporta 4x4 players}
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
-
Determinada area pvp enforced
UP
-
Determinada area pvp enforced
Olá gostaria de saber se é possivel atraves de scripts, fazer com que uma determinada area fosse PVP ENFORCED, e desse XP ao matar players...
-
[Event New] Últimos Sobreviventes
Legal cara, mas acho que você deveria colocar automatico o evento, pra iniciar 1 vez por dia, entende?
-
Bless e perde item raramente?
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
-
[PEDIDO] Script com pedido de Storage
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
-
[pedido] Npc adiciona Premium days!
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+++++++++
-
[Spell] Exana Death
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 ++
-
(Resolvido)Invasão diaria, erro no script
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!
-
(Resolvido)Invasão diaria, erro no script
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 ++
-
Item que dá efeito em volta.
up!
-
Item que dá efeito em volta.
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!!!!!!!
-
Erro criando guild (FAÇO DOAÇÃO PRA QUEM RESOLVER)
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> 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 ' <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 ' (<input type="text" name="nick" value="'.htmlspecialchars($player->getGuildNick()).'" autocomplete="off"> <input type="submit" value="Change" />)'; } else { if(!empty($guild_nick)) { ECHO ' ('.htmlspecialchars($player->getGuildNick()).')'; } } } else { if(!empty($guild_nick)) { ECHO ' ('.htmlspecialchars($player->getGuildNick()).')'; } } # KICK PLAYER (LEADER OR VICE) if($level_in_guild > $rank->getLevel() || $guild_leader) if($guild_leader_char->getName() != $player->getName()) { ECHO ' <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> Rank: <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>       <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>       <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>       <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>       <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>       <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>       <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!
-
Mounts Def
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!
-
(Resolvido)[TFS 1.0] Condition not found
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 ,
-
(Resolvido)[TFS 1.0] Condition not found
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)
-
Colocar pra não usar comando quando tiver evento
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?
-
(Resolvido)[TFS 1.0] Condition not found
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
-
Colocar pra não usar comando quando tiver evento
Storages estavam erradas, funcionou sim, vou testar se funciona se tiver um membro da guild no evento e o leader fora do evento...
-
Colocar pra não usar comando quando tiver evento
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!")