Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Правила раздела

Перед созданием новой темы убедитесь, не искал ли кто-нибудь подобный плагин до вас, для этого следует воспользоваться поиском.

Все вновь созданные темы, с названием типа "Помогите найти", "А что это за плагин", "Ищу плагин", "Нужен плагин", "Подскажите пожалуйста название плагина" - будут удалены.
При создании темы постарайтесь максимально понятно сформулировать её заголовок так, чтобы он соответствовал функциям плагина который Вы ищите. В том случае, если Вам не удается сформулировать мысль и правильно расписать всё в теме, воспользуйтесь графическим редактором, к примеру Paint, что бы примерно изобразить функции нужного Вам плагина.

Спектры на CSDM

Статус пользователя MYXA
сообщение 28.12.2013, 17:58
Сообщение #1


Стаж: 12 лет

Сообщений: 367
Благодарностей: 134
Полезность: 280

Добрый вечер уважаемые пользователи форума.
Ищу плагин для CSDM сервера,суть плагина игроки могут заходить за спектры и обратно неограниченное количество раундов.
С меня спасибка.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя csnet
сообщение 28.12.2013, 18:05
Сообщение #2
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

в csdm бесконечный раунд ...


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя MYXA
сообщение 28.12.2013, 18:09
Сообщение #3


Стаж: 12 лет

Сообщений: 367
Благодарностей: 134
Полезность: 280

Цитата(csnet @ 28.12.2013, 19:05) *
в csdm бесконечный раунд ...

Пост не по теме
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 28.12.2013, 18:15
Сообщение #4
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

раз не по теме, оставляю тебя париться в ней.


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
XyLiGaN
сообщение 28.12.2013, 18:16
Сообщение #5
Стаж: 13 лет
Город: Югорск

Сообщений: 11668
Благодарностей: 6450
Полезность: 1052

Меценат Меценат

Цитата(MYXA @ 28.12.2013, 22:09) *
Пост не по теме

Цитата
неограниченное количество раундов.

Тебе ответили.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 28.12.2013, 18:17
Сообщение #6
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

в чем проблема то опиши, не дает заходить в спект более 5 раза или что?

если просто попать в спектатор, достаточно register_clcmd("say /gospec","blabla")
public blabla(id) cs_set_user_team(id,CS_TEAM_SPECTATOR)

Отредактировал: csnet, - 28.12.2013, 18:25


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя MYXA
сообщение 28.12.2013, 18:53
Сообщение #7


Стаж: 12 лет

Сообщений: 367
Благодарностей: 134
Полезность: 280

Цитата(csnet @ 28.12.2013, 19:17) *
в чем проблема то опиши, не дает заходить в спект более 5 раза или что?

если просто попать в спектатор, достаточно register_clcmd("say /gospec","blabla")
public blabla(id) cs_set_user_team(id,CS_TEAM_SPECTATOR)

вообще не дает
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя igas
сообщение 28.12.2013, 18:55
Сообщение #8


Стаж: 13 лет

Сообщений: 107
Благодарностей: 52
Полезность: 361

MYXA, то что ты ищешь DeathMatch Spec Switch
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Templar
сообщение 28.12.2013, 20:04
Сообщение #9
Иконка группы

Стаж: 18 лет

Сообщений: 2680
Благодарностей: 978
Полезность: 860

Меценат Меценат

у меня такой есть но писал на заказ такюкак в нете нечего подобного не было за рублей 100 отдам, если не напишут дешевле ну или в нете не найдешь... пиши по контактам если что
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя MYXA
сообщение 28.12.2013, 20:04
Сообщение #10


Стаж: 12 лет

Сообщений: 367
Благодарностей: 134
Полезность: 280

Цитата(igas @ 28.12.2013, 19:55) *
MYXA, то что ты ищешь DeathMatch Spec Switch

Хоть один понял о чем я)
Спасибо большое)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Zep
сообщение 1.1.2014, 16:45
Сообщение #11
Стаж: 14 лет

Сообщений: 49
Благодарностей: 5
Полезность: 80

держи
Клик
Код
#include <amxmodx>
#include <amxmisc>
#include <message_const>
#include <cstrike>
#include <fakemeta>
#include <fakemeta_util>
#include <csdm>
//#include <respawn>

#pragma semicolon 1

#define PLUGIN "CSSB Quit In Afk DM"
#define VERSION "2.0"
#define AUTHOR "CSSB"

#define SPEC_CHECK_TEAM 30

// Menu keys
const KEYSMENU = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN
U_KEY_8|MENU_KEY_9|MENU_KEY_0;

const OFFSET_CSDEATHS = 444;
const OFFSET_CSTEAMS = 114;
const OFFSET_LINUX = 5;


new CsTeams:arrCsUserTeam[33];

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR);
    
    register_dictionary("cssbQuitInAfkDM.txt");
    
    register_clcmd("say", "cssbQuitInAfkDM");
    
    register_clcmd("chooseteam", "cssbChangeTeam");
    register_clcmd("jointeam", "cssbChangeTeam");

    // Menus
    new szNameMenu[256];
    format(szNameMenu, sizeof(szNameMenu) - 1, "%L",LANG_PLAYER,"CSSB_AFK_MENU_CHOOSE_TEAM");
    register_menu(szNameMenu, KEYSMENU, "cssbMenuGame");
    
    csdm_set_intromsg(0);
    
    if(!(task_exists(297546,0)))
        set_task(float(SPEC_CHECK_TEAM),"cssbCheckTeam",297546,_,_,"b");
    
}

// Block Team Change
public cssbChangeTeam(idUser)
{
     if(!is_user_alive(id) || !is_user_connected(id))
     {
         return PLUGIN_CONTINUE
     }
      
     else
      
     {
          
         new CsTeams:csTeamCurrentUser = cs_get_user_team(idUser);
          
         if (csTeamCurrentUser == CS_TEAM_UNASSIGNED || arrCsUserTeam [idUser]> CS_TEAM_SPECTATOR || csTeamCurrentUser == CS_TEAM_UNASSIGNED)
             return PLUGIN_CONTINUE;
          
         cssbShowMenuSelectTeam(idUser);
          
         return PLUGIN_HANDLED;
     }
}

// Select Team Menu
cssbShowMenuSelectTeam(idUser)
{
    new szMenu[250];
    new iLength = 0;
    
    new CsTeams:csTeamCurrentUser = cs_get_user_team(idUser);
    
    // Title
    iLength += formatex(szMenu[iLength], charsmax(szMenu) - iLength, "\y%L^n^n",LANG_PLAYER, "CSSB_AFK_MENU_CHOOSE_TEAM");
    
    // 1. Terrorist
    if( (csTeamCurrentUser != CS_TEAM_T && csTeamCurrentUser == CS_TEAM_CT) ||
        (csTeamCurrentUser != CS_TEAM_T &&  csTeamCurrentUser == CS_TEAM_SPECTATOR)
        )
        iLength += formatex(szMenu[iLength], charsmax(szMenu) - iLength, "\r1.\w %L^n", LANG_PLAYER, "CSSB_AFK_TERRORIST");
    else
        iLength += formatex(szMenu[iLength], charsmax(szMenu) - iLength, "\d1. %L^n", LANG_PLAYER, "CSSB_AFK_TERRORIST");
    
    // 2. Counter-Terrorist
    if( (csTeamCurrentUser != CS_TEAM_CT && csTeamCurrentUser == CS_TEAM_T) ||
        (csTeamCurrentUser != CS_TEAM_CT &&  csTeamCurrentUser == CS_TEAM_SPECTATOR)
        )
        iLength += formatex(szMenu[iLength], charsmax(szMenu) - iLength, "\r2.\w %L^n", LANG_PLAYER, "CSSB_AFK_COUNTER_TERRORIST");
    else
        iLength += formatex(szMenu[iLength], charsmax(szMenu) - iLength, "\d2. %L^n", LANG_PLAYER, "CSSB_AFK_COUNTER_TERRORIST");
    
    // 3. Spectator
    if( (csTeamCurrentUser != CS_TEAM_SPECTATOR && csTeamCurrentUser == CS_TEAM_T) ||
        (csTeamCurrentUser != CS_TEAM_SPECTATOR &&  csTeamCurrentUser == CS_TEAM_CT)
        )
        iLength += formatex(szMenu[iLength], charsmax(szMenu) - iLength, "\r3.\w %L^n", LANG_PLAYER,"CSSB_AFK_SPECTR");
    else
        iLength += formatex(szMenu[iLength], charsmax(szMenu) - iLength, "\d3. %L^n", LANG_PLAYER,"CSSB_AFK_SPECTR");
    
    // 0. Exit
    iLength += formatex(szMenu[iLength], charsmax(szMenu) - iLength, "^n^n\r0.\w %L", LANG_PLAYER, "CSSB_MENU_EXIT");
    
    new szNameMenu[256];
    format(szNameMenu, sizeof(szNameMenu) - 1, "%L",LANG_PLAYER,"CSSB_AFK_MENU_CHOOSE_TEAM");
    show_menu(idUser, KEYSMENU, szMenu, -1, szNameMenu);

}


// Game Menu
public cssbMenuGame(idUser, key)
{
    
    new CsTeams:csTeamCurrentUser = cs_get_user_team(idUser);
                    
    switch (key)
    {
        case 0: //Join Terrorist
        {
            if(csTeamCurrentUser != CS_TEAM_T)
            {                
                cs_set_user_team(idUser, CS_TEAM_T,CS_DONTCHANGE);
                fm_user_kill(idUser, 1);
                csdm_respawn(idUser);
            }
            else
            {
                cssbColoredPrint(idUser, "^x01[^x03 !^x01 ]^x04 %L", LANG_PLAYER, "CSSB_CMD_NOT");
                cssbShowMenuSelectTeam(idUser);
                
            }
            
        }
        case 1: //Join Counter-Terrorist
        {

            if(csTeamCurrentUser != CS_TEAM_CT)
            {                
                cs_set_user_team(idUser, CS_TEAM_CT,CS_DONTCHANGE);
                fm_user_kill(idUser, 1);
                csdm_respawn(idUser);
            }
            else
            {
                cssbColoredPrint(idUser, "^x01[^x03 !^x01 ]^x04 %L", LANG_PLAYER, "CSSB_CMD_NOT");
                cssbShowMenuSelectTeam(idUser);
            }

        }
        case 2: //Join Spectator
        {
            
            if(csTeamCurrentUser != CS_TEAM_SPECTATOR)
            {                
                arrCsUserTeam[idUser] = cs_get_user_team(idUser);
                
                new iNumDeath = cs_get_user_deaths(idUser);
                new iNumFrags = get_user_frags(idUser);
                
                cs_set_user_team(idUser, CS_TEAM_SPECTATOR);
                fm_user_kill(idUser, 1);
                
            
                fm_cs_set_user_deaths(idUser, iNumDeath);
                set_user_frags(idUser,iNumFrags);

                
                RemoveEntityAll("trigger_body");
            }
            else
            {
                cssbColoredPrint(idUser, "^x01[^x03 !^x01 ]^x04 %L", LANG_PLAYER, "CSSB_CMD_NOT");
                cssbShowMenuSelectTeam(idUser);
            }
        
        }
        case 3:{cssbShowMenuSelectTeam(idUser);}        
        case 4:{cssbShowMenuSelectTeam(idUser);}
        case 5:{cssbShowMenuSelectTeam(idUser);}
        case 6:{cssbShowMenuSelectTeam(idUser);}
        case 7:{cssbShowMenuSelectTeam(idUser);}
        case 8:{cssbShowMenuSelectTeam(idUser);}
        
        
    }
    
    return PLUGIN_HANDLED;
}

cssbColoredPrint(target, const message[], any:...)
{
    static buffer[512], i, argscount;
    argscount = numargs();
    
    // Send to everyone
    if (!target)
    {
        static player;
        for (player = 1; player <= get_maxplayers(); player++)
        {
            // Not connected
            if (!is_user_connected(player))
                continue;
            
            // Remember changed arguments
            static changed[5], changedcount; // [5] = max LANG_PLAYER occurencies
            changedcount = 0;
            
            // Replace LANG_PLAYER with player id
            for (i = 2; i < argscount; i++)
            {
                if (getarg(i) == LANG_PLAYER)
                {
                    setarg(i, 0, player);
                    changed[changedcount] = i;
                    changedcount++;
                }
            }
            
            // Format message for player
            vformat(buffer, charsmax(buffer), message, 3);
            
            // Send it
            message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, player);
            write_byte(player);
            write_string(buffer);
            message_end();
            
            // Replace back player id's with LANG_PLAYER
            for (i = 0; i < changedcount; i++)
                setarg(changed[i], 0, LANG_PLAYER);
        }
    }
    // Send to specific target
    else
    {
        
        
        // Format message for player
        vformat(buffer, charsmax(buffer), message, 3);
        
        // Send it
        message_begin(MSG_ONE, get_user_msgid("SayText"), _, target);
        write_byte(target);
        write_string(buffer);
        message_end();
    }
}


public cssbCheckTeam()
{
    new iPlayersNum;
    new arrPlayers[32];
    get_players(arrPlayers,iPlayersNum, "ach");
    
    for(new i = 0; i < iPlayersNum; i++)
    {
        new idUser = arrPlayers[i];
        
        if(is_user_alive(idUser))
        {
            new CsTeams:csTeamCurrentUser = cs_get_user_team(idUser);
        
            if(csTeamCurrentUser == CS_TEAM_T)
                arrCsUserTeam[idUser]  = CS_TEAM_T;    
            
            if(csTeamCurrentUser == CS_TEAM_CT)
                arrCsUserTeam[idUser]  = CS_TEAM_CT;

        }
        
    }
}

stock fm_cs_set_user_deaths(id, value)
{
    set_pdata_int(id, OFFSET_CSDEATHS, value, OFFSET_LINUX);
}

stock set_user_frags(index, frags)
{
    set_pev(index, pev_frags, float(frags));

    return 1;
}

public cssbQuitInAfkDM(idUser)
{

    new  szLeft[6], szRight[123];
    new  szNameUser[32];
    new szSaid[192];
    
    read_args(szSaid,192);
    remove_quotes(szSaid);
    strbreak(szSaid, szLeft, 4, szRight, 122);
    
    get_user_name(idUser,szNameUser,31);
            
    if (equali(szLeft, "/afk"))
    {

        if (cs_get_user_team(idUser) == CS_TEAM_SPECTATOR)
        {
            cs_set_user_team(idUser, arrCsUserTeam[idUser]);
            csdm_respawn(idUser);
    
        }
        else
        {
    
            if(is_user_alive(idUser))
            {
                arrCsUserTeam[idUser]  = cs_get_user_team(idUser);
        
                new iNumDeath = cs_get_user_deaths(idUser);
                new iNumFrags = get_user_frags(idUser);
    
                cs_set_user_team(idUser, CS_TEAM_SPECTATOR);
                fm_user_kill(idUser, 1);
                
            
                fm_cs_set_user_deaths(idUser, iNumDeath);
                set_user_frags(idUser,iNumFrags);
                
                
                
            }

        }
        
    }

    return PLUGIN_CONTINUE;

}

stock RemoveEntityAll(name[])
{
    new ent = engfunc(EngFunc_FindEntityByString, 0, "classname", name);
    new temp;
    while (ent)
    {
        temp = engfunc(EngFunc_FindEntityByString, ent, "classname", name);
        engfunc(EngFunc_RemoveEntity, ent);
        ent = temp;
    }
}

public print_message(idUser, msg[],iMsg)
{
    message_begin(iMsg, get_user_msgid("SayText"), {0,0,0}, idUser);
    write_byte(idUser);
    write_string(msg);
    message_end();
}


public cssbInfoOnClient(idUser)
{
    new szMessage[256];
            
    format(szMessage, 255, "^x03%L ^x04%L",
            LANG_PLAYER,"CSSB_AFK_DM",
            LANG_PLAYER,"CSSB_AFK_SAY");
            
    print_message(idUser, szMessage,MSG_ONE);
    
    return PLUGIN_CONTINUE;
}

public client_putinserver(idUser)
{    
      set_task(30.0,"cssbInfoOnClient",idUser);

      return PLUGIN_CONTINUE;
}

public client_connect(idUser)
{
    arrCsUserTeam[idUser] = CsTeams;
}

public client_disconnect(idUser)
{
    arrCsUserTeam[idUser] = CsTeams;
}


Отредактировал: Zep, - 1.1.2014, 16:46
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 1.1.2014, 16:55
Сообщение #12
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

гениально

Код:


if(!is_user_alive(id) || !is_user_connected(id))
{
return PLUGIN_CONTINUE
}



если весь cssb так написан.


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: