Все вопросы по скриптингу для 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
Что нужно изменить или добавить?
- Код: Выделить всё
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_MapName, charsmax(g_MapName));
if(containi(g_MapName, "as_") != -1) g_VIPMap = true;
}
public ShowMenu(id)
{
new szMenu[512], iLen = formatex(szMenu, charsmax(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_CT) iLen += 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(id, iKeys, szMenu, -1, "Team Menu");
}
public HandleMenu(id, iKey)
{
switch(iKey)
{
case 0:
{
set_pdata_int(id, 125, get_pdata_int(id, 125) & ~(1<<8));
engclient_cmd(id, "jointeam", "1");
}
case 1:
{
set_pdata_int(id, 125, get_pdata_int(id, 125) & ~(1<<8));
engclient_cmd(id, "jointeam", "2");
}
case 2:
{
set_pdata_int(id, 125, get_pdata_int(id, 125) & ~(1<<8));
engclient_cmd(id, "jointeam", "3");
}
case 4:
{
set_pdata_int(id, 125, get_pdata_int(id, 125) & ~(1<<8));
engclient_cmd(id, "jointeam", "5");
}
case 5:
{
user_kill(id, 1);
engclient_cmd(id, "jointeam", "6");
}
}
return PLUGIN_HANDLED;
}
public MessageShowMenu(iMsgId, iMsgDest, iReceiver)
{
static szArg4[20]; get_msg_arg_string(4, szArg4, charsmax(szArg4));
if(equal(szArg4, "#Team_Select", 12) || equal(szArg4, "#IG_Team_Select", 15) || equal(szArg4, "#IG_VIP_Team_Select", 19))
{
set_pdata_int(iReceiver, 205, 0);
return ShowMenu(iReceiver);
}
return PLUGIN_CONTINUE;
}
public MessageVGUIMenu(iMsgId, iMsgDest, iReceiver)
{
if(get_msg_arg_int(1) == 2)
{
set_pdata_int(iReceiver, 205, 0);
return ShowMenu(iReceiver);
}
return PLUGIN_CONTINUE;
}
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
Andrey777
-
- Сообщения: 147
- Зарегистрирован: 09 янв 2012, 03:38
- Благодарил (а): 35 раз.
- Поблагодарили: 8 раз.
-
KOTOKU » 13 апр 2017, 16:56
Этот плагин никакого отношения к деньгам не имеет
-
KOTOKU
-
- Сообщения: 766
- Зарегистрирован: 10 фев 2013, 00:53
- Благодарил (а): 10 раз.
- Поблагодарили: 117 раз.
Andrey777 » 13 апр 2017, 19:01
KOTOKU, И как сделать что бы деньги не обнулялись. При переходе в наблюдатели и обратно?
-
Andrey777
-
- Сообщения: 147
- Зарегистрирован: 09 янв 2012, 03:38
- Благодарил (а): 35 раз.
- Поблагодарили: 8 раз.
-
KOTOKU » 13 апр 2017, 19:11
Попробуй так
- Код: Выделить всё
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_MapName, charsmax(g_MapName));
if(containi(g_MapName, "as_") != -1) g_VIPMap = true;
}
public client_disconnect(id) g_iMoney[id] = 0;
public ShowMenu(id)
{
new szMenu[512], iLen = formatex(szMenu, charsmax(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_CT) iLen += 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(id, iKeys, szMenu, -1, "Team Menu");
}
public HandleMenu(id, iKey)
{
new iTeam = get_pdata_int(id, 114, 5);
switch(iKey)
{
case 0:
{
if(iTeam != 1 && iTeam != 2)
cs_set_user_money(id, g_iMoney[id]);
set_pdata_int(id, 125, get_pdata_int(id, 125) & ~(1<<8));
engclient_cmd(id, "jointeam", "1");
}
case 1:
{
if(iTeam != 1 && iTeam != 2)
cs_set_user_money(id, g_iMoney[id]);
set_pdata_int(id, 125, get_pdata_int(id, 125) & ~(1<<8));
engclient_cmd(id, "jointeam", "2");
}
case 2:
{
g_iMoney[id] = cs_get_user_money(id);
set_pdata_int(id, 125, get_pdata_int(id, 125) & ~(1<<8));
engclient_cmd(id, "jointeam", "3");
}
case 4:
{
g_iMoney[id] = cs_get_user_money(id);
set_pdata_int(id, 125, get_pdata_int(id, 125) & ~(1<<8));
engclient_cmd(id, "jointeam", "5");
}
case 5:
{
g_iMoney[id] = cs_get_user_money(id);
user_kill(id, 1);
engclient_cmd(id, "jointeam", "6");
}
}
return PLUGIN_HANDLED;
}
public MessageShowMenu(iMsgId, iMsgDest, iReceiver)
{
static szArg4[20]; get_msg_arg_string(4, szArg4, charsmax(szArg4));
if(equal(szArg4, "#Team_Select", 12) || equal(szArg4, "#IG_Team_Select", 15) || equal(szArg4, "#IG_VIP_Team_Select", 19))
{
set_pdata_int(iReceiver, 205, 0);
return ShowMenu(iReceiver);
}
return PLUGIN_CONTINUE;
}
public MessageVGUIMenu(iMsgId, iMsgDest, iReceiver)
{
if(get_msg_arg_int(1) == 2)
{
set_pdata_int(iReceiver, 205, 0);
return ShowMenu(iReceiver);
}
return PLUGIN_CONTINUE;
}
Последний раз редактировалось
KOTOKU 13 апр 2017, 19:29, всего редактировалось 1 раз.
-
KOTOKU
-
- Сообщения: 766
- Зарегистрирован: 10 фев 2013, 00:53
- Благодарил (а): 10 раз.
- Поблагодарили: 117 раз.
Andrey777 » 13 апр 2017, 19:17
KOTOKU, Ошибка вроде.
Screenshot_1.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
Andrey777
-
- Сообщения: 147
- Зарегистрирован: 09 янв 2012, 03:38
- Благодарил (а): 35 раз.
- Поблагодарили: 8 раз.
-
KOTOKU » 13 апр 2017, 19:29
Andrey777 писал(а):KOTOKU, Ошибка вроде.
Screenshot_1.jpg
Исправил код выше, вместо g_iMoney[id] написал g_iMoney
Пост выше обновлён*
-
KOTOKU
-
- Сообщения: 766
- Зарегистрирован: 10 фев 2013, 00:53
- Благодарил (а): 10 раз.
- Поблагодарили: 117 раз.
Andrey777 » 13 апр 2017, 20:12
KOTOKU, Уже вроде похоже, если был за теров и перехожу в наблюдатели и обратно за теров, то деньги сохраняются, если из спектров перехожу за кт то сбрасываются
-
Andrey777
-
- Сообщения: 147
- Зарегистрирован: 09 янв 2012, 03:38
- Благодарил (а): 35 раз.
- Поблагодарили: 8 раз.
-
KOTOKU » 13 апр 2017, 20:18
Имеешь ввиду, если у тебя вообще не было команды и ты зашел за спектров?
-
KOTOKU
-
- Сообщения: 766
- Зарегистрирован: 10 фев 2013, 00:53
- Благодарил (а): 10 раз.
- Поблагодарили: 117 раз.
Andrey777 » 13 апр 2017, 20:22
KOTOKU, Не не, играл за теров, перешел в спектры, а потом со спектров за другую команду, за кт, тогда сбрасываются.
-
Andrey777
-
- Сообщения: 147
- Зарегистрирован: 09 янв 2012, 03:38
- Благодарил (а): 35 раз.
- Поблагодарили: 8 раз.
-
KOTOKU » 13 апр 2017, 20:28
Уверен? Перепроверь еще раз
Кстати, какая версия amxmodx?
-
KOTOKU
-
- Сообщения: 766
- Зарегистрирован: 10 фев 2013, 00:53
- Благодарил (а): 10 раз.
- Поблагодарили: 117 раз.
Вернуться в Скриптинг
Кто сейчас на конференции
Сейчас этот форум просматривают: Bing [Bot], sb123 и гости: 14