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

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

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

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

Исправить ошибку кода в плагине!

Статус пользователя default67
сообщение 2.3.2015, 14:33
Сообщение #1


Стаж: 11 лет

Сообщений: 121
Благодарностей: 11
Полезность: < 0

Всем Привет!)
В очередной обращаюсь за помощью, нужно исправить ошибку кода в плагине.
Ошибка такова:
В плагине я сделал так, что бы оружие можно было брать, с 2-го раунда, и с 3-го, но когда проходит 2 , 3 раунда, эти оружия всё-равно стоют не доступны и пишет что "Это оружие можно брать только с 2-го , 3-го раунда!".
Заранее Благодарю!)
Код:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <colorchat>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Роман"

new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_0
new rounds, vip_1[33], vip_2[33]

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)

register_menu("VipMenu1", keys, "Vip_Func")
register_clcmd("vipmenu", "VipMenu")
register_event("HLTV", "round_start", "a", "1=0", "2=0")
register_event("TextMsg", "EventRoundRestart", "a", "2&#Game_C", "2&#Game_w")
register_logevent("round_starts", 2, "1=Round_Start")
}

public round_starts()
{
for(new id = 0; id <= get_maxplayers(); id++)
{
if(vip_1[id] > 0) vip_1[id] =- 1
if(vip_2[id] > 0) vip_2[id] =- 1
}
}

public round_start()
rounds++

public EventRoundRestart()
rounds = 1

public VipMenu(id)
{
static menu[650], len
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
len = formatex(menu[len], charsmax(menu) - len, "\r[\yHotSiberia.Ru\r] \wVIP меню^n^n")

if(is_user_alive(id))
{
len += formatex(menu[len], charsmax(menu) - len, "\r1. \wВзять \r[\yHE,FLASH,SMOKE\r]^n")
keys |= MENU_KEY_1
} else {
len += formatex(menu[len], charsmax(menu) - len, "\r1. \dВзять [HE,FLASH,SMOKE]^n")
keys &= ~MENU_KEY_1
}
if(is_user_alive(id))
{
len += formatex(menu[len], charsmax(menu) - len, "\r2. \wВзять \r[\yAK-47\r]^n")
keys |= MENU_KEY_2
} else {
len += formatex(menu[len], charsmax(menu) - len, "\r2. \dВзять [AK-47]^n")
keys &= ~MENU_KEY_2
}
if(is_user_alive(id))
{
len += formatex(menu[len], charsmax(menu) - len, "\r3. \wВзять \r[\yM4A1\r]^n")
keys |= MENU_KEY_3
} else {
len += formatex(menu[len], charsmax(menu) - len, "\r3. \dВзять [M4A1]^n")
keys &= ~MENU_KEY_3
}
if(is_user_alive(id))
{
len += formatex(menu[len], charsmax(menu) - len, "\r4. \wВзять \r[\yAWP\r]^n")
keys |= MENU_KEY_4
} else {
len += formatex(menu[len], charsmax(menu) - len, "\r4. \dВзять [AWP]^n")
keys &= ~MENU_KEY_4
}
if(is_user_alive(id))
{
len += formatex(menu[len], charsmax(menu) - len, "\r5. \wВзять \r[\y3000$\r]^n^n")
keys |= MENU_KEY_5
} else {
len += formatex(menu[len], charsmax(menu) - len, "\r5. \dВзять [3000$]^n^n")
keys &= ~MENU_KEY_5
}
len += formatex(menu[len], charsmax(menu) - len, "\r0. \wВыход")
keys |= MENU_KEY_0

show_menu(id, keys, menu, -1, "VipMenu1")
return PLUGIN_HANDLED
} else {
ColorChat(id, NORMAL, "[^x04Вип меню^x01] ^x03У вас недостаточно прав для открытия этого меню!")
client_print(id, print_console, "У вас недостаточно прав для открытия этого меню!")
}
return PLUGIN_HANDLED
}

public Vip_Func(id, key)
{
switch(key)
{
case 0:{
if(vip_1[id] == 0)
{
vip_1[id] = 1
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_smokegrenade")
} else {
ColorChat(id, NORMAL, "[^x04Вип^x01] ^x03Ждите новый раунд")
}
}
case 1:{
if(rounds < 2)
{
give_item(id, "weapon_ak47")
} else {
ColorChat(id, NORMAL, "[^x04Вип^x01] ^x03Это оружие можно брать только с^x04 2-го ^x03раунда!")
}
}
case 2:{
if(rounds < 2)
{
give_item(id, "weapon_m4a1")
} else {
ColorChat(id, NORMAL, "[^x04Вип^x01] ^x03Это оружие можно брать только с^x04 2-го ^x03раунда!")
}
}
case 3:{
if(rounds < 3)
{
give_item(id, "weapon_awp")
} else {
ColorChat(id, NORMAL, "[^x04Вип^x01] ^x03Это оружие можно брать только с^x04 3-го ^x03раунда!")
}
}
case 4:{
if(vip_2[id] == 0)
{
vip_2[id] = 3
cs_set_user_money(id, cs_get_user_money(id) + 3000)
} else {
ColorChat(id, NORMAL, "[^x04Вип^x01] ^x03Ждите ^x04%d ^x03раунд(ов)", vip_2[id])
}
}
}
}

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
voed
сообщение 2.3.2015, 14:36
Сообщение #2
Стаж: 11 лет

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

Код:
if(rounds < 2)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя default67
сообщение 2.3.2015, 14:37
Сообщение #3


Стаж: 11 лет

Сообщений: 121
Благодарностей: 11
Полезность: < 0

Цитата(voed @ 2.3.2015, 15:36) *
Код:
if(rounds < 2)

В этом и вся ошибка чтоли?
Я уже пытался изменять на 1-2-3, но всё-равно - не работает:(

Отредактировал: default67, - 2.3.2015, 14:38
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 2.3.2015, 14:39
Сообщение #4
Стаж: 11 лет

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

Цитата(default67 @ 2.3.2015, 14:37) *
В этом и вся ошибка чтоли?
Я уже пытался изменять на 1-2-3, но всё-равно - не работает:(

Условие выполняется, если кол-во раундов меньше двух
Пятый класс математики
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя default67
сообщение 2.3.2015, 14:41
Сообщение #5


Стаж: 11 лет

Сообщений: 121
Благодарностей: 11
Полезность: < 0

Цитата(voed @ 2.3.2015, 15:39) *
Условие выполняется, если кол-во раундов меньше двух
Пятый класс математики

То есть, если я хочу что бы оружие было доступно с 2-го раунда то нужно ставить значение "1"?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Dukkhaz0r
сообщение 2.3.2015, 14:43
Сообщение #6


Стаж: 12 лет

Сообщений: 343
Благодарностей: 294
Полезность: 812

Цитата
Условие выполняется, если кол-во раундов меньше двух

Цитата
Условие выполняется, если кол-во раундов меньше двух

Цитата
Условие выполняется, если кол-во раундов меньше двух

Цитата
Условие выполняется, если кол-во раундов меньше двух

Цитата
Условие выполняется, если кол-во раундов меньше двух




Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя default67
сообщение 2.3.2015, 14:44
Сообщение #7


Стаж: 11 лет

Сообщений: 121
Благодарностей: 11
Полезность: < 0

Как сделать что бы оружие можно было брать с 2-го раунда, какое значение ставить? обьясните для дундука. ubeysya.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Dukkhaz0r
сообщение 2.3.2015, 14:46
Сообщение #8


Стаж: 12 лет

Сообщений: 343
Благодарностей: 294
Полезность: 812

if(rounds > 2)


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Vaqtincha
сообщение 2.3.2015, 22:35
Сообщение #9
Стаж: 11 лет

Сообщений: 981
Благодарностей: 352
Полезность: < 0

Есть более адекватный вариант

меню оружейки
1 Galil
2 Famas
3 Ak47
4 M4a1
5 Awp
6 набор гранат

1-2 пункты доступно только 3-го раунда
3-4 доступно 4-го
5-6 только 5-го раунда будет доступным

* можно это легко изменить в исходнике

* можно пользоваться один раз за раунд.

* если у вас руках на данный момент напр. Famas вы не можете взять Famas(шанс не будет утеряна)

* админ флаг для доступа "n"
можно изменить в исходнике

комманда для вызова weaponmenu

удобно если забандит

bind v weaponmenu

основа кода от
Safety1st

* новая версия теперь плагин работает только "de_" и "cs_" картах


p.s не забудьте что я пока новичок и это бета версия
проверил через profiler ничего не нагружает.

Отредактировал: Vaqtincha, - 4.3.2015, 19:51
Прикрепленные файлы:
Прикрепленный файл  admin_weapon_menu.sma ( 6,78 килобайт ) Кол-во скачиваний: 4
Прикрепленный файл  admin_weapon_menu.sma ( 6,8 килобайт ) Кол-во скачиваний: 2
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: