Example #1
0
function tribe_processLeave($playerID, $tag, $db, $FORCE = 0)
{
    if (!$FORCE && !relation_leaveTribeAllowed($tag, $db)) {
        return -10;
    }
    if (!$FORCE && !tribe_changeTribeAllowedForPlayerID($playerID, $db)) {
        return -11;
    }
    if (tribe_isLeader($playerID, $tag, $db)) {
        if (!$FORCE && !tribe_unmakeLeader($playerID, $tag, $db)) {
            return -8;
        }
    }
    if (!($player = getPlayerFromID($playerID))) {
        return -4;
    }
    if (!tribe_leaveTribe($playerID, $tag, $db)) {
        return -4;
    }
    tribe_setBlockingPeriodPlayerID($playerID, $db);
    tribe_sendTribeMessage($tag, TRIBE_MESSAGE_MEMBER, "Spieleraustritt", "Der Spieler {$player['name']} ist soeben aus dem " . "Clan ausgetreten.");
    if (tribe_getNumberOfMembers($tag, $db) == 0) {
        // tribe has to be deleted
        tribe_deleteTribe($tag, $db, $FORCE);
        return 4;
    }
    return 2;
}
Example #2
0
function tribe_processKickMember($playerID, $tag, $db)
{
    // leader must not be kicked
    if (tribe_isLeaderOrJuniorLeader($playerID, $tag, $db)) {
        return -2;
    }
    // do not kick in wartime
    if (!relation_leaveTribeAllowed($tag, $db)) {
        return -15;
    }
    // blocked
    if (!tribe_changeTribeAllowedForPlayerID($playerID, $db)) {
        return -16;
    }
    // get player
    $player = getPlayerByID($playerID);
    // no such player
    if (!$player) {
        return -1;
    }
    // remove player
    if (!tribe_leaveTribe($playerID, $tag, $db)) {
        return -1;
    }
    Player::addHistoryEntry($db, $playerID, sprintf(_('wird aus dem Stamm \'%s\' geworfen'), $tag));
    // block player
    tribe_setBlockingPeriodPlayerID($playerID, $db);
    tribe_sendTribeMessage($tag, TRIBE_MESSAGE_MEMBER, "Spieler rausgeschmissen", "Der Spieler {$player['name']} wurde soeben vom Anführer aus dem Stamm " . "ausgeschlossen.");
    messages_sendSystemMessage($playerID, 8, "Clanausschluss.", "Sie wurden aus dem Clan {$tag} ausgeschlossen. Bitte loggen Sie sich aus " . "und melden Sie sich wieder an, damit das Stammesmenü bei Ihnen wieder " . "richtig funktioniert.", $db);
    return 1;
}
Example #3
0
function tribe_processKickMember($playerID, $tag)
{
    if (empty($playerID)) {
        return -38;
    }
    if (tribe_isLeader($playerID, $tag)) {
        return -39;
    }
    // do not kick in wartime
    if (!relation_leaveTribeAllowed($tag)) {
        return -40;
    }
    // blocked
    if (!tribe_changeTribeAllowedForPlayerID($playerID)) {
        return -3;
    }
    // get player
    $player = getPlayerByID($playerID);
    // no such player
    if (!$player) {
        return -41;
    }
    // remove player
    if (!tribe_leaveTribe($playerID, $tag)) {
        return -41;
    }
    Player::addHistoryEntry($playerID, sprintf(_("wird aus dem Stamm '%s' geworfen"), $tag));
    // block player
    tribe_setBlockingPeriodPlayerID($playerID);
    tribe_sendTribeMessage($tag, TRIBE_MESSAGE_MEMBER, "Spieler rausgeschmissen", "Der Spieler {$player['name']} wurde soeben vom Anführer aus dem Stamm ausgeschlossen.");
    $messagesClass = new Messages();
    $messagesClass->sendSystemMessage($playerID, 8, "Stammausschluss.", "Sie wurden aus dem Stamm {$tag} ausgeschlossen. Bitte loggen Sie sich aus und melden Sie sich wieder an, damit das Stammesmenü bei Ihnen wieder richtig funktioniert.");
    return 13;
}