Русское сообщество по скриптингу

Не сохраняются деньги при переходе в наблюдатели  [Решено]

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Не сохраняются деньги при переходе в наблюдатели

Сообщение Andrey777 » 13 апр 2017, 14:59

Подскажите что тут не так, при переходе в наблюдатели, не сохраняются деньги. Становится 0
Что нужно изменить или добавить?
Код: Выделить всё
#include <amxmodx>
#include <cstrike>
#include <fakemeta>

#pragma semicolon 1

new g_MapName[32], bool:g_VIPMap false;

public 
plugin_init()
{
    
register_plugin("Change Team""1.1""neygomon & Alienware");
    
register_clcmd("chooseteam""ShowMenu");
    
register_menucmd(register_menuid("Team Menu"), MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_5|MENU_KEY_6|MENU_KEY_0"HandleMenu");
    
register_message(96"MessageShowMenu");
    
register_message(114"MessageVGUIMenu");
    
get_mapname(g_MapNamecharsmax(g_MapName));
    if(
containi(g_MapName"as_") != -1g_VIPMap true;
}

public 
ShowMenu(id)
{
    new 
szMenu[512], iLen formatex(szMenucharsmax(szMenu), "\rВыбор команды \wby \yRB|18+|:^n^n"), iKeys MENU_KEY_0;
    new 
CsTeams:iTeam cs_get_user_team(id);
    
    
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\y1. \rТеррористы^n");
    
iKeys |= MENU_KEY_1;

    
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\y2. \wКонтр-террористы^n^n");
    
iKeys |= MENU_KEY_2;

    if(
g_VIPMap) {
        if(
iTeam != CS_TEAM_CTiLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\y3. \dСтать VIP^n^n");
        else {
            
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\y3. \wСтать VIP^n^n");
            
iKeys |= MENU_KEY_3;
        }
    }

    
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\y5. \rСлучайный \yвыбор^n");
    
iKeys |= MENU_KEY_5;

    
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\y6. \wНаблюдение^n^n^n");
    
iKeys |= MENU_KEY_6;
    
formatex(szMenu[iLen], charsmax(szMenu) - iLen"\y0. \rВыход");
    return 
show_menu(idiKeysszMenu, -1"Team Menu");
}

public 
HandleMenu(idiKey)
{
    switch(
iKey)
    {
        case 
0:
        {
            
set_pdata_int(id125get_pdata_int(id125) & ~(1<<8));
            
engclient_cmd(id"jointeam""1");
        }
        case 
1:
        {
            
set_pdata_int(id125get_pdata_int(id125) & ~(1<<8));
            
engclient_cmd(id"jointeam""2");
        }
        case 
2:
        {
            
set_pdata_int(id125get_pdata_int(id125) & ~(1<<8));
            
engclient_cmd(id"jointeam""3");
        }
        case 
4:
        {
            
set_pdata_int(id125get_pdata_int(id125) & ~(1<<8));
            
engclient_cmd(id"jointeam""5");
        }
        case 
5:
        {
            
user_kill(id1);
            
engclient_cmd(id"jointeam""6");
        }
    }
    return 
PLUGIN_HANDLED;
}

public 
MessageShowMenu(iMsgIdiMsgDestiReceiver)
{
    static 
szArg4[20]; get_msg_arg_string(4szArg4charsmax(szArg4));
    if(
equal(szArg4"#Team_Select"12) || equal(szArg4"#IG_Team_Select"15) || equal(szArg4"#IG_VIP_Team_Select"19))
    {
        
set_pdata_int(iReceiver2050);
        return 
ShowMenu(iReceiver);
    }
    return 
PLUGIN_CONTINUE;
}

public 
MessageVGUIMenu(iMsgIdiMsgDestiReceiver)
{
    if(
get_msg_arg_int(1) == 2)
    {
        
set_pdata_int(iReceiver2050);
        return 
ShowMenu(iReceiver);
    }
    return 
PLUGIN_CONTINUE;
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Andrey777
 
Сообщения: 147
Зарегистрирован: 09 янв 2012, 03:38
Благодарил (а): 35 раз.
Поблагодарили: 8 раз.

Re: Не сохраняются деньги при переходе в наблюдатели

Сообщение KOTOKU » 13 апр 2017, 16:56

Этот плагин никакого отношения к деньгам не имеет
Аватара пользователя
KOTOKU
 
Сообщения: 766
Зарегистрирован: 10 фев 2013, 00:53
Благодарил (а): 10 раз.
Поблагодарили: 117 раз.

Re: Не сохраняются деньги при переходе в наблюдатели

Сообщение Andrey777 » 13 апр 2017, 19:01

KOTOKU, И как сделать что бы деньги не обнулялись. При переходе в наблюдатели и обратно?
Аватара пользователя
Andrey777
 
Сообщения: 147
Зарегистрирован: 09 янв 2012, 03:38
Благодарил (а): 35 раз.
Поблагодарили: 8 раз.

Re: Не сохраняются деньги при переходе в наблюдатели

Сообщение KOTOKU » 13 апр 2017, 19:11

Попробуй так

Код: Выделить всё
#include <amxmodx>
#include <cstrike>
#include <fakemeta>

#pragma semicolon 1

new g_iMoney[33];
new 
g_MapName[32], bool:g_VIPMap false;

public 
plugin_init()
{
    
register_plugin("Change Team""1.1""neygomon & Alienware");
    
register_clcmd("chooseteam""ShowMenu");
    
register_menucmd(register_menuid("Team Menu"), MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_5|MENU_KEY_6|MENU_KEY_0"HandleMenu");
    
register_message(96"MessageShowMenu");
    
register_message(114"MessageVGUIMenu");
    
get_mapname(g_MapNamecharsmax(g_MapName));
    if(
containi(g_MapName"as_") != -1g_VIPMap true;
}

public 
client_disconnect(idg_iMoney[id] = 0;

public 
ShowMenu(id)
{
    new 
szMenu[512], iLen formatex(szMenucharsmax(szMenu), "\rВыбор команды \wby \yRB|18+|:^n^n"), iKeys MENU_KEY_0;
    new 
CsTeams:iTeam cs_get_user_team(id);
    
    
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\y1. \rТеррористы^n");
    
iKeys |= MENU_KEY_1;

    
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\y2. \wКонтр-террористы^n^n");
    
iKeys |= MENU_KEY_2;

    if(
g_VIPMap) {
        if(
iTeam != CS_TEAM_CTiLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\y3. \dСтать VIP^n^n");
        else {
            
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\y3. \wСтать VIP^n^n");
            
iKeys |= MENU_KEY_3;
        }
    }

    
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\y5. \rСлучайный \yвыбор^n");
    
iKeys |= MENU_KEY_5;

    
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\y6. \wНаблюдение^n^n^n");
    
iKeys |= MENU_KEY_6;
    
formatex(szMenu[iLen], charsmax(szMenu) - iLen"\y0. \rВыход");
    return 
show_menu(idiKeysszMenu, -1"Team Menu");
}

public 
HandleMenu(idiKey)
{
    new 
iTeam get_pdata_int(id1145);
    switch(
iKey)
    {
        case 
0:
        {
            if(
iTeam != && iTeam != 2)
            
cs_set_user_money(idg_iMoney[id]);
            
set_pdata_int(id125get_pdata_int(id125) & ~(1<<8));
            
engclient_cmd(id"jointeam""1");
        }
        case 
1:
        {
            if(
iTeam != && iTeam != 2)
            
cs_set_user_money(idg_iMoney[id]);
            
set_pdata_int(id125get_pdata_int(id125) & ~(1<<8));
            
engclient_cmd(id"jointeam""2");
        }
        case 
2:
        {
            
g_iMoney[id] = cs_get_user_money(id);
            
set_pdata_int(id125get_pdata_int(id125) & ~(1<<8));
            
engclient_cmd(id"jointeam""3");
        }
        case 
4:
        {
            
g_iMoney[id] = cs_get_user_money(id);
            
set_pdata_int(id125get_pdata_int(id125) & ~(1<<8));
            
engclient_cmd(id"jointeam""5");
        }
        case 
5:
        {
            
g_iMoney[id] = cs_get_user_money(id);
            
user_kill(id1);
            
engclient_cmd(id"jointeam""6");
        }
    }
    return 
PLUGIN_HANDLED;
}

public 
MessageShowMenu(iMsgIdiMsgDestiReceiver)
{
    static 
szArg4[20]; get_msg_arg_string(4szArg4charsmax(szArg4));
    if(
equal(szArg4"#Team_Select"12) || equal(szArg4"#IG_Team_Select"15) || equal(szArg4"#IG_VIP_Team_Select"19))
    {
        
set_pdata_int(iReceiver2050);
        return 
ShowMenu(iReceiver);
    }
    return 
PLUGIN_CONTINUE;
}

public 
MessageVGUIMenu(iMsgIdiMsgDestiReceiver)
{
    if(
get_msg_arg_int(1) == 2)
    {
        
set_pdata_int(iReceiver2050);
        return 
ShowMenu(iReceiver);
    }
    return 
PLUGIN_CONTINUE;
}  
Последний раз редактировалось KOTOKU 13 апр 2017, 19:29, всего редактировалось 1 раз.
Аватара пользователя
KOTOKU
 
Сообщения: 766
Зарегистрирован: 10 фев 2013, 00:53
Благодарил (а): 10 раз.
Поблагодарили: 117 раз.

Re: Не сохраняются деньги при переходе в наблюдатели

Сообщение Andrey777 » 13 апр 2017, 19:17

KOTOKU, Ошибка вроде.
Screenshot_1.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Andrey777
 
Сообщения: 147
Зарегистрирован: 09 янв 2012, 03:38
Благодарил (а): 35 раз.
Поблагодарили: 8 раз.

Re: Не сохраняются деньги при переходе в наблюдатели

Сообщение KOTOKU » 13 апр 2017, 19:29

Andrey777 писал(а):KOTOKU, Ошибка вроде.
Screenshot_1.jpg

Исправил код выше, вместо g_iMoney[id] написал g_iMoney :dance2:
Пост выше обновлён*
Аватара пользователя
KOTOKU
 
Сообщения: 766
Зарегистрирован: 10 фев 2013, 00:53
Благодарил (а): 10 раз.
Поблагодарили: 117 раз.

Re: Не сохраняются деньги при переходе в наблюдатели

Сообщение Andrey777 » 13 апр 2017, 20:12

KOTOKU, Уже вроде похоже, если был за теров и перехожу в наблюдатели и обратно за теров, то деньги сохраняются, если из спектров перехожу за кт то сбрасываются
Аватара пользователя
Andrey777
 
Сообщения: 147
Зарегистрирован: 09 янв 2012, 03:38
Благодарил (а): 35 раз.
Поблагодарили: 8 раз.

Re: Не сохраняются деньги при переходе в наблюдатели

Сообщение KOTOKU » 13 апр 2017, 20:18

Имеешь ввиду, если у тебя вообще не было команды и ты зашел за спектров?
Аватара пользователя
KOTOKU
 
Сообщения: 766
Зарегистрирован: 10 фев 2013, 00:53
Благодарил (а): 10 раз.
Поблагодарили: 117 раз.

Re: Не сохраняются деньги при переходе в наблюдатели

Сообщение Andrey777 » 13 апр 2017, 20:22

KOTOKU, Не не, играл за теров, перешел в спектры, а потом со спектров за другую команду, за кт, тогда сбрасываются.
Аватара пользователя
Andrey777
 
Сообщения: 147
Зарегистрирован: 09 янв 2012, 03:38
Благодарил (а): 35 раз.
Поблагодарили: 8 раз.

Re: Не сохраняются деньги при переходе в наблюдатели

Сообщение KOTOKU » 13 апр 2017, 20:28

Уверен? Перепроверь еще раз
Кстати, какая версия amxmodx?
Аватара пользователя
KOTOKU
 
Сообщения: 766
Зарегистрирован: 10 фев 2013, 00:53
Благодарил (а): 10 раз.
Поблагодарили: 117 раз.

След.

Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot], sb123 и гости: 14