Смена клантега

Тема в разделе "Запросы", создана пользователем mihaput, 11 июн 2013.

Статус темы:
Закрыта.
  1. mihaput

    mihaput

    Сообщения:
    698
    Симпатии:
    175
    Собственно сабж. Можно ли реализовать смену клантега как на пиратке так и на стиме, в случае как например со сменой ника.
    Т.е в .cfg или еще где -то вписываются клантеги, которые впоследствии меняются на свой, указанный где либо ?
     
  2. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    893
    Симпатии:
    659
    На какой клан тег хочешь сменить? Кому хочешь сменить? Когда хочешь сменить?
     
  3. mihaput

    mihaput

    Сообщения:
    698
    Симпатии:
    175
    Ну например с "XXX" клантег меняется на Kristal-lab, ну и далее меняется с того что впишешь в конфиг.
    Т.е вписал XXX, YYY, и кто заходит с этими клантегами автоматом меняется на мой вписаный...
    Менять независимо, пиратка ли это, стим.
     
  4. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    893
    Симпатии:
    659
    PHP:
    #include <sourcemod>
    #include <cstrike>

    // Твой клан тег
    #define CLAN_TAG "Kristal-lab"

    new String:array_tag[][] = {"XXX""YYY"};

    new 
    size_array 0;

    public 
    OnPluginStart()
    {
        
    size_array sizeof(array_tag);
    }

    public 
    OnMapStart()
    {
        
    CreateTimer(25.0Timer_TIMER_FLAG_NO_MAPCHANGE TIMER_REPEAT);
    }

    public 
    Action:Timer(Handle:timer)
    {
        
    decl String:tag[25];
        for (new 
    1<= MaxClientsi++)
        {
            if (
    IsClientInGame(i) && !IsFakeClient(i))
            {
                
    CS_GetClientClanTag(itagsizeof(tag));

                for (new 
    0size_arrayj++)
                {
                    if (
    StrContains(tagarray_tag[j], false) > 0)
                    {
                        
    CS_SetClientClanTag(iCLAN_TAG);
                        break;
                    }
                }
            }
        }
    }

    Или попробовать с помощью массива, а то цикл в цикле - брр
     
  5. mihaput

    mihaput

    Сообщения:
    698
    Симпатии:
    175
    Ошибки при компеляции...

    Код:
    // F:\server1\cstrike\addons\sourcemod\scripting\clantegcleaner.sp(28) : error 0
    17: undefined symbol "CS_GetClientClanTag"
    // F:\server1\cstrike\addons\sourcemod\scripting\clantegcleaner.sp(28) : error 0
    92: number of arguments does not match definition
    // F:\server1\cstrike\addons\sourcemod\scripting\clantegcleaner.sp(34) : error 0
    17: undefined symbol "CS_SetClientClanTag"
    //
    // 3 Errors.
    //
    // Compilation Time: 0,09 sec
     
  6. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    893
    Симпатии:
    659
    Не может быть. Проверь cstrike.inc

    PHP:
    /**
     * vim: set ts=4 :
     * =============================================================================
     * SourceMod (C)2004-2008 AlliedModders LLC.  All rights reserved.
     * =============================================================================
     *
     * This file is part of the SourceMod/SourcePawn SDK.
     *
     * This program is free software; you can redistribute it and/or modify it under
     * the terms of the GNU General Public License, version 3.0, as published by the
     * Free Software Foundation.
     * 
     * This program is distributed in the hope that it will be useful, but WITHOUT
     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
     * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
     * details.
     *
     * You should have received a copy of the GNU General Public License along with
     * this program.  If not, see <http://www.gnu.org/licenses/>.
     *
     * As a special exception, AlliedModders LLC gives you permission to link the
     * code of this program (as well as its derivative works) to "Half-Life 2," the
     * "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software
     * by the Valve Corporation.  You must obey the GNU General Public License in
     * all respects for all other code used.  Additionally, AlliedModders LLC grants
     * this exception to all derivative works.  AlliedModders LLC defines further
     * exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007),
     * or <http://www.sourcemod.net/license.php>.
     *
     * Version: $Id$
     */

    #if defined _cstrike_included
      #endinput
    #endif
    #define _cstrike_included

    #define CS_TEAM_NONE        0    /**< No team yet. */
    #define CS_TEAM_SPECTATOR    1    /**< Spectators. */
    #define CS_TEAM_T             2    /**< Terrorists. */
    #define CS_TEAM_CT            3    /**< Counter-Terrorists. */

    #define CS_SLOT_PRIMARY        0    /**< Primary weapon slot. */
    #define CS_SLOT_SECONDARY    1    /**< Secondary weapon slot. */
    #define CS_SLOT_GRENADE        3    /**< Grenade slot (will only return one grenade). */
    #define CS_SLOT_C4            4    /**< C4 slot. */

    enum CSRoundEndReason
    {
        
    CSRoundEnd_TargetBombed 0,           // Target Successfully Bombed!
        
    CSRoundEnd_VIPEscaped,                 // The VIP has escaped!
        
    CSRoundEnd_VIPKilled,                  // VIP has been assassinated!
        
    CSRoundEnd_TerroristsEscaped,          // The terrorists have escaped!
        
    CSRoundEnd_CTStoppedEscape,            // The CTs have prevented most of the terrorists from escaping!
        
    CSRoundEnd_TerroristsStopped,          // Escaping terrorists have all been neutralized!
        
    CSRoundEnd_BombDefused,                // The bomb has been defused!
        
    CSRoundEnd_CTWin,                      // Counter-Terrorists Win!
        
    CSRoundEnd_TerroristWin,               // Terrorists Win!
        
    CSRoundEnd_Draw,                       // Round Draw!
        
    CSRoundEnd_HostagesRescued,            // All Hostages have been rescued!
        
    CSRoundEnd_TargetSaved,                // Target has been saved!
        
    CSRoundEnd_HostagesNotRescued,         // Hostages have not been rescued!
        
    CSRoundEnd_TerroristsNotEscaped,       // Terrorists have not escaped!
        
    CSRoundEnd_VIPNotEscaped,              // VIP has not escaped!
        
    CSRoundEnd_GameStart                   // Game Commencing!
    };

    enum CSWeaponID
    {
        
    CSWeapon_NONE,
        
    CSWeapon_P228,
        
    CSWeapon_GLOCK,
        
    CSWeapon_SCOUT,
        
    CSWeapon_HEGRENADE,
        
    CSWeapon_XM1014,
        
    CSWeapon_C4,
        
    CSWeapon_MAC10,
        
    CSWeapon_AUG,
        
    CSWeapon_SMOKEGRENADE,
        
    CSWeapon_ELITE,
        
    CSWeapon_FIVESEVEN,
        
    CSWeapon_UMP45,
        
    CSWeapon_SG550,
        
    CSWeapon_GALIL,
        
    CSWeapon_FAMAS,
        
    CSWeapon_USP,
        
    CSWeapon_AWP,
        
    CSWeapon_MP5NAVY,
        
    CSWeapon_M249,
        
    CSWeapon_M3,
        
    CSWeapon_M4A1,
        
    CSWeapon_TMP,
        
    CSWeapon_G3SG1,
        
    CSWeapon_FLASHBANG,
        
    CSWeapon_DEAGLE,
        
    CSWeapon_SG552,
        
    CSWeapon_AK47,
        
    CSWeapon_KNIFE,
        
    CSWeapon_P90,
        
    CSWeapon_SHIELD,
        
    CSWeapon_KEVLAR,
        
    CSWeapon_ASSAULTSUIT,
        
    CSWeapon_NIGHTVISION
    };
    /**
     * Called when a player attempts to purchase an item.
     * Return Plugin_Continue to allow the purchase or return a
     * higher action to deny.
     *
     * @param client    Client index
     * @param weapon    User input for weapon name
     */
    forward Action:CS_OnBuyCommand(client, const String:weapon[]);

    /**
     * Called when CSWeaponDrop is called
     * Return Plugin_Continue to allow the call or return a
     * higher action to deny.
     *
     * @param client    Client index
     * @param weapon    Weapon index
     */
    forward Action:CS_OnCSWeaponDrop(clientweaponIndex);

    /**
     * Called when game retrieves a weapon's price for a player.
     * Return Plugin_Continue to use default value or return a higher
     * action to use a newly-set price.
     * 
     * @note This can be called multiple times per weapon purchase
     * 
     * @param client    Client index
     * @param weapon    Weapon classname
     * @param price        Buffer param for the price of the weapon
     *
     * @note            Not all "weapons" call GetWeaponPrice. Example: c4, knife, vest, vest helmet, night vision.
     */
    forward Action:CS_OnGetWeaponPrice(client, const String:weapon[], &price);

    /**
     * Called when TerminateRound is called.
     * Return Plugin_Continue to ignore, return Plugin_Changed to continue,
     * using the given delay and reason, or return Plugin_Handled or a higher
     * action to block TerminateRound from firing.
     *
     * @param delay        Time (in seconds) until new round starts
     * @param reason    Reason for round end
     */
    forward Action:CS_OnTerminateRound(&Float:delay, &CSRoundEndReason:reason);

    /**
     * Respawns a player.
     *
     * @param client        Player's index.
     * @noreturn
     * @error            Invalid client index, client not in game.
     */
    native CS_RespawnPlayer(client);

    /**
     * Switches the player's team.
     *
     * @param client        Player's index.
     * @param team            Team index.
     * @noreturn
     * @error            Invalid client index, client not in game.
     */
    native CS_SwitchTeam(clientteam);

    /**
     * Forces a player to drop or toss their weapon
     *
     * @param client        Player's index.
     * @param weaponIndex    Index of weapon to drop.
     * @param toss            True to toss weapon (with velocity) or false to just drop weapon
     * @param blockhook        Set to true to stop the corresponding CS_OnCSWeaponDrop
     * 
     * @noreturn
     * @error                Invalid client index, client not in game, or invalid weapon index.
     */
    native CS_DropWeapon(clientweaponIndexbool:tossbool:blockhook false);

    /**
     * Forces round to end with a reason
     *
     * @param delay            Time (in seconds) to delay before new round starts
     * @param reason        Reason for the round ending
     * @param blockhook        Set to true to stop the corresponding CS_OnTerminateRound
     *                        forward from being called.
     * @noreturn
     */
    native CS_TerminateRound(Float:delayCSRoundEndReason:reasonbool:blockhook false);
     
    /**
     * Gets a weapon name from a weapon alias
     *
     * @param alias            Weapons alias to get weapon name for.
     * @param weapon        Buffer to store weapons name
     * @param size            Size of buffer to store the weapons name.
     * @noreturn
     *
     * @note                Will set the buffer to the original alias if it is not an alias to a weapon.
     */
    native CS_GetTranslatedWeaponAlias(const String:alias[], String:weapon[], size);
     
    /**
     * Gets a weapon's price
     *
     * @param client        Client to check weapon price for.
     * @param id            Weapon id for the weapon to check
     * @param defaultprice    Set to true to get defaultprice.
     * @return                Returns price of the weapon (even if modified)
     *
     * @error                Invalid client, failing to get weapon info, or failing to get price offset.
     * @note                c4, knife and shield will always return 0. vest, vest helmet and night vision will always return default price.
     */
    native CS_GetWeaponPrice(clientCSWeaponID:idbool:defaultprice false);
     
    /**
     * Gets a clients clan tag
     * @param client        Client index to get clan tag for.
     * @param buffer        Buffer to store clients clan tag in.
     * @param size            Size of the buffer.
     * @return                Number of non-null bytes written.
     *
     * @error                Invalid client.
     */
    native CS_GetClientClanTag(clientString:buffer[], size);

    /**
     * Sets a clients clan tag
     * @param client        Client index to set clan tag for.
     * @param tag            Tag to set clients clan tag as.
     * @noreturn
     *
     * @error                Invalid client.
     */
    native CS_SetClientClanTag(client, const String:tag[]);
     
    /**
     * Do not edit below this line!
     */
    public Extension:__ext_cstrike 
    {
        
    name "cstrike",
        
    file "games/game.cstrike.ext",
        
    autoload 0,
    #if defined REQUIRE_EXTENSIONS
        
    required 1,
    #else
        
    required 0,
    #endif
    };

    #if !defined REQUIRE_EXTENSIONS
    public __ext_cstrike_SetNTVOptional()
    {
        
    MarkNativeAsOptional("CS_RespawnPlayer");
        
    MarkNativeAsOptional("CS_SwitchTeam");
        
    MarkNativeAsOptional("CS_DropWeapon");
        
    MarkNativeAsOptional("CS_TerminateRound");
        
    MarkNativeAsOptional("CS_GetTranslatedWeaponAlias");
        
    MarkNativeAsOptional("CS_GetWeaponPrice");
        
    MarkNativeAsOptional("CS_GetClientClanTag");
        
    MarkNativeAsOptional("CS_SetClientClanTag");
    }
    #endif

     
    mihaput нравится это.
  7. mihaput

    mihaput

    Сообщения:
    698
    Симпатии:
    175
    Заменил cstrike.ink на твой, скомпелировалось... Благодарю...

    Добавлено через 43 минуты
    А куда вписать глантеги то ? Которые потом заменяются на мой клантег ?
     
    Последнее редактирование: 11 июн 2013
  8. CTe6eJIeK_vRn

    CTe6eJIeK_vRn Супер-модератор

    Сообщения:
    2.014
    Симпатии:
    1.797
    Вроде не первый день на форуме, а правила так и не знает.
     
Статус темы:
Закрыта.