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

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

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

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

Дублируются сообщения.

Статус пользователя TyTuKeT
сообщение 5.6.2017, 9:11
Сообщение #1


Стаж: 9 лет
Город: Чита

Сообщений: 74
Благодарностей: 4
Полезность: 41

Всем привет. Прошу помощи подправить плагина. Проблема в том что когда заходит админ и он находится в топ 1-3 то ему 2 раза пишет сообщение "Вы не участвуете в получении привилегий за топ." Так же если обычный игрок попадает в топ 1-3 ему пишет сначала "Вы занимаете 1 место в ранге, ваш бонус: vip - получен." потом "Вы не участвуете в получении привилегий за топ." Помогите исправить.
Код

Код:

#include < amxmodx >
#include < fun >
#include <colorchat>

#define MAX_ARM 5

new gMAXPLAYERS
new pFlagss

native get_user_stats(index, stats[8], bodyhits[8])
native cs_set_user_bpammo(index, weapon, amount)

public plugin_init()
{
register_plugin("TOP FIVE BONUS", "0.1", "fayting.ru")
register_logevent("round_start", 2, "0=World triggered", "1=Round_Start")
gMAXPLAYERS = get_maxplayers()
pFlagss = register_cvar( "top_flagss", "tn" )
}

public round_start()
{
for(new i; i <= gMAXPLAYERS; i++)

if( get_user_flags(i) & ADMIN_LEVEL_C ){
client_print_color(i, print_chat, "^1[^4 CS-Chita.Tk ^1] ^3Вы не участвуете в получении привилегий за ^4топ.");
}else{
if(is_user_hltv(i) || is_user_bot(i) || !is_user_connected(i))
continue

new stats[8], bodyhits[8]
new pARM = get_user_armor(i)
new pTOP = get_user_stats(i, stats, bodyhits)

new iFlagss = get_user_flags(i)
new szAddFlagss[16]
get_pcvar_string( pFlagss, szAddFlagss, 15 )
new iAddFlagss = read_flags(szAddFlagss)

if(pTOP == 1)
{
if(pARM < MAX_ARM)
set_user_flags( i, iFlagss | iAddFlagss )
client_print_color(i, print_chat, "^1[^4 CS-Chita.Tk ^1] ^3Вы занимаете ^4%d ^3место в ранге, ваш бонус: ^4vip ^3- получен.", pTOP)
}
if(pTOP == 2)
{
if(pARM < MAX_ARM)
set_user_flags( i, iFlagss | iAddFlagss )
client_print_color(i, print_chat, "^1[^4 CS-Chita.Tk ^1] ^3Вы занимаете ^4%d ^3место в ранге, ваш бонус: ^4vip ^3- получен.", pTOP)
}
if(pTOP == 3)
{
if(pARM < MAX_ARM)
set_user_flags( i, iFlagss | iAddFlagss )
client_print_color(i, print_chat, "^1[^4 CS-Chita.Tk ^1] ^3Вы занимаете ^4%d ^3место в ранге, ваш бонус: ^4vip ^3- получен.", pTOP)
}
}

}



Отредактировал: TyTuKeT, - 5.6.2017, 9:13
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя neverminde
сообщение 5.6.2017, 11:19
Сообщение #2


Стаж: 15 лет

Сообщений: 1133
Благодарностей: 595
Полезность: 576

TyTuKeT,
Нумерация игроков начинается с 1. Поэтому счетчик цикла должен начинаться с 1, иначе client_print ( 0, print_chat, "%s" ) отправит сообщение всем.
Код:

for(new i=1; i <= gMAXPLAYERS; i++)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя TyTuKeT
сообщение 5.6.2017, 12:03
Сообщение #3


Стаж: 9 лет
Город: Чита

Сообщений: 74
Благодарностей: 4
Полезность: 41

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