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

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

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

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

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

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

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

Reset Score (изменить)

, reset_score_plus
Статус пользователя izymcs
сообщение 21.12.2013, 11:15
Сообщение #1


Стаж: 12 лет

Сообщений: 203
Благодарностей: 9
Полезность: 48

CODE

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

#define PLUGIN "Reset Score Plus"
#define AUTHOR "allo"
#define VERSION "v1.0"

new Float:g_time

new rounds_stat
new t_scoresave[33] = {0,...}
new sfrags[33] = {0,...}
new sdeaths[33] = {0,...}
new useretry[33] = {0,...}
new ips[33][24]

new gi_Round_Counter[33]
new gi_Rs_Save
new gi_Round_Block

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

register_clcmd("say /resetscore", "cmd_say")
register_clcmd("say /rs", "cmd_say")

gi_Round_Block = register_cvar("rs_block_rounds", "1") // На сколько раундов блокировать ввод /rs
gi_Rs_Save = register_cvar("rs_reconnect_time", "0") // На какое время (секунды) сохранять счет при выходе из игры

register_event("HLTV", "RoundStart", "a", "1=0", "2=0")
RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
register_event("TeamInfo","outspec","a")
}

public RoundStart(id){
rounds_stat++

new iPlayer[32], iNum
get_players(iPlayer, iNum)
g_time = get_gametime()

for(new i; i < iNum; i++)
{
gi_Round_Counter[iPlayer[i]]++
}
}

public cmd_say(id){
static text[70],arg1[32]
read_args(text,sizeof(text)-1)
remove_quotes(text)
arg1[0] = '^0'
parse(text,arg1,sizeof(arg1)-1)

if (equali(arg1,"/rs") || equali(arg1,"/resetscore"))
{
reset_score(id)
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}

public reset_score(id){
if(gi_Round_Counter[id] >= get_pcvar_num(gi_Round_Block))
{
set_user_frags(id, 0)
cs_set_user_deaths(id, 0)

new name[32]
get_user_name(id, name, 31)
ColorChat(0,GREY,"^x04[Сервер] ^x03Игрок %s ^x04обнулил свой счёт!", name)
set_hudmessage(255, 193, 37, -1.0, 0.71, 2, 6.0, 3.0, 0.1, 1.5 )
show_hudmessage(id, "%s, Вы успешно сбросили счёт :)", name)


gi_Round_Counter[id] = 0
}else{
ColorChat(id,GREY,"^x04[Сервер] ^x03Ввод данной команды станет доступен через %d раунд!",get_pcvar_num(gi_Round_Block)-gi_Round_Counter[id])
}
}

public client_connect(id){
new ip[24]
get_user_ip(id,ip,23,0)
new Float:endTime = get_gametime()

if (t_scoresave[id] <= endTime)
{
gi_Round_Counter[id] = 100
sfrags[id] = 0
sdeaths[id] = 0
useretry[id] = 0
}
}

public player_spawn(id){
new Float:finishTime = get_gametime() - g_time
if((finishTime > 10) && !(rounds_stat == 1) && is_user_alive(id))
{
user_kill(id)
ColorChat(id,GREY,"^x04[Сервер] ^x03Время захода в игру закончилось, поэтому Вы были убиты!")
}
return PLUGIN_CONTINUE
}

public outspec(){
new id = read_data(1)

if ((useretry[id] == 1) && is_user_connected(id))
{
set_user_frags(id,sfrags[id])
cs_set_user_deaths(id,sdeaths[id])
sfrags[id] = 0
sdeaths[id] = 0
useretry[id] = 0
}
return PLUGIN_CONTINUE
}

public client_disconnect(id){
new maxstata = get_pcvar_num(gi_Rs_Save)
new Float:startTime = get_gametime()
t_scoresave[id] = floatround(startTime) + maxstata

get_user_ip(id,ips[id],23,0)
{
sfrags[id] = get_user_frags(id)
sdeaths[id] = get_user_deaths(id)
useretry[id] = 1
}
}


Вот исходник плагина.
При команде /rs он обнуляет счет, выдает HUD сообщение игроку, и пишет в чат [Сервер] Игрок %s обнулил свой счёт! Но это уведомление видят все все видят, что игрок обнулил счет.
Кто-нибудь может поставить так, чтобы в чат показывало только игроку?
Будьте добры, помогите, пожалуйста.

Отредактировал: izymcs, - 21.12.2013, 11:18
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 21.12.2013, 11:17
Сообщение #2


Стаж: 13 лет

Сообщений: 1087
Благодарностей: 433
Полезность: 718

Код:
 ColorChat(0,GREY,"^x04[Сервер] ^x03Игрок %s ^x04обнулил свой счёт!", name)

на
Код:
 ColorChat(id,GREY,"^x04[Сервер] ^x03Игрок %s ^x04обнулил свой счёт!", name)


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя izymcs
сообщение 21.12.2013, 11:27
Сообщение #3


Стаж: 12 лет

Сообщений: 203
Благодарностей: 9
Полезность: 48

Цитата(vovan4ik1997 @ 21.12.2013, 13:17) *
Код:
 ColorChat(0,GREY,"^x04[Сервер] ^x03Игрок %s ^x04обнулил свой счёт!", name)

на
Код:
 ColorChat(id,GREY,"^x04[Сервер] ^x03Игрок %s ^x04обнулил свой счёт!", name)


Благодарю!
Но почему то, когда вводят /rs, то самой команды не видно.
И как можно HUD заменить на DHUD?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 21.12.2013, 11:29
Сообщение #4


Стаж: 13 лет

Сообщений: 1087
Благодарностей: 433
Полезность: 718

izymcs,
здесь нету худ, это сообщение выводится в чат, а если ты про это:
Код:
set_hudmessage(255, 193, 37, -1.0, 0.71, 2, 6.0, 3.0, 0.1, 1.5 )
show_hudmessage(id, "%s, Вы успешно сбросили счёт :)", name)

То просто сделай так
Код:
set_dhudmessage(255, 193, 37, -1.0, 0.71, 2, 6.0, 3.0, 0.1, 1.5 )
show_dhudmessage(id, "%s, Вы успешно сбросили счёт :)", name)

И подключи в самом начале
#include <dhudmessage>


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя izymcs
сообщение 21.12.2013, 11:35
Сообщение #5


Стаж: 12 лет

Сообщений: 203
Благодарностей: 9
Полезность: 48

#include <dhudmessage>
#include <amxmodx>
#include <colorchat>
#include <fun>
#include <hamsandwich>
#include <cstrike>

Какой-нибудь нужно отключить?
А почему, когда игрок вводит /rs, то не показывает, что он набрал команду /rs?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 21.12.2013, 11:35
Сообщение #6
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

Цитата(izymcs @ 21.12.2013, 13:27) *
Но почему то, когда вводят /rs, то самой команды не видно.
Из-за return PLUGIN_HANDLED на 61 строке, как вариант заменить на return PLUGIN_CONTINUE.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя izymcs
сообщение 21.12.2013, 11:46
Сообщение #7


Стаж: 12 лет

Сообщений: 203
Благодарностей: 9
Полезность: 48

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