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

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

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

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

show team money

, Сообщение о количестве денег тимэйтам
Статус пользователя ncux0Zz
сообщение 26.3.2016, 14:31
Сообщение #1


Стаж: 14 лет

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

Привет всем! Искал плагин для CW сервера вывод информации о количестве денег у тимэйтов.
Нашел только вот этот плагин:
Show teammate's money 1.3.1
Код:
#include <amxmodx>
#include <cstrike>
#include <hamsandwich>

#define NAME "show teammate's money"
#define VERSION "1.3.1"
#define AUTHOR "K.K.Lv"

new g_max_players, g_sync_creat_statustext, g_sync_creat_list

new bool:g_teammate[33]

new cvar_plugin_on
new cvar_status_on

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

RegisterHam(Ham_Spawn, "player", "player_spawn", 1)

register_clcmd("say /money", "clcmd_money")

register_event("StatusValue", "show_teammate_money", "be", "1=2", "2!0")
register_event("StatusValue", "set_team", "be", "1=1")

cvar_plugin_on = register_cvar("stm_on", "1")
cvar_status_on = register_cvar("stm_st_on", "1")

g_max_players = get_maxplayers()
g_sync_creat_statustext = CreateHudSyncObj()
g_sync_creat_list = CreateHudSyncObj()
}

public clcmd_money(client)
{
if (!get_pcvar_num(cvar_plugin_on))
{
client_print(client, print_chat, "[AMXX]: Show Teammate's Money was off.")
return PLUGIN_HANDLED
}
show_money(client)
return PLUGIN_CONTINUE
}

public player_spawn(client)
{
remove_task(client)
if (is_user_alive(client) && get_pcvar_num(cvar_plugin_on))
{
set_task(1.0, "show_money", client)
}
}

public show_money(client)
{
static message[1024];
static name[32];

new money, id, len;

len = format(message, charsmax(message), "The teammate's money:^n");
for (id = 1; id <= g_max_players; id++)
{
if (id != client && is_user_connected(id) && cs_get_user_team(id) == cs_get_user_team(client))
{
money = cs_get_user_money(id);
get_user_name(id, name, 31);
len += format(message[len], charsmax(message) - len, "%-22.22s: %d^n", name, money);
}
}
set_hudmessage(100, 200, 0, 0.05, 0.35, 0, 0.02, 5.0, 0.1, 0.2, 2);
ShowSyncHudMsg(client, g_sync_creat_list, message);
}

public set_team(id)
g_teammate[id] = bool:(read_data(2) == 1);

public show_teammate_money(id)
{
if (!get_pcvar_num(cvar_plugin_on))
return PLUGIN_HANDLED
if(!is_user_bot(id) && is_user_connected(id) && get_pcvar_num(cvar_status_on))
{
static name[32]

new pid = read_data(2)
new red = 0, blue = 0

if (cs_get_user_team(pid) == CS_TEAM_T)
red = 255
else if(cs_get_user_team(pid) == CS_TEAM_CT)
blue = 255

get_user_name(pid, name, charsmax(name))
new money = cs_get_user_money(pid)
if (g_teammate[id])
{
set_hudmessage(red, 50, blue, -1.0, 0.60, 1, 0.01, 0.6, 0.01, 0.01, 8)
ShowSyncHudMsg(id, g_sync_creat_statustext, "Friend:%s -- Money:%d", name, money)
}
else {
set_hudmessage(red, 50, blue, -1.0, 0.60, 1, 0.01, 0.6, 0.01, 0.01, 8)
ShowSyncHudMsg(id, g_sync_creat_statustext, "Enemy:%s", name)
}
}
return PLUGIN_CONTINUE
}

public client_disconnect(client)
{
remove_task(client)
}


В плагине на мой взгляд много лишнего! Помогите убрать все квары, переменные и вывод сообщений в ХАД. Хочу упростить плагин до банального, как на fastcup'e. Чтобы в начале каждого раунда не приходилось нажимать "/money", а автоматически в чате выводилось сообщение в командный чат о количестве денег тимэйтам, наподобие:
Пример

Квар "/money" можно и не убирать, а лишь переделать, чтобы при вводе его повторно выводилось сообщение о деньгах в командный чат, желательно только на время фриз-тайма. Если это сложно сделать, то можно и не делать,а просто убрать.

На мой взгляд данный плагин является очень удобным дополнением для CW сервера :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя ssx
сообщение 26.3.2016, 15:02
Сообщение #2


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Для кв сервера лучше в начале раунда выводить информацию в худ с обновлением инфы каждую секунду.

То есть появились в начале раунда - циклом по команде проверяем cs_get_user_money(id) и записываем в массив текст (ник: кол-во денег)
Далее этот массив после цикла выводим ХУДом на 1 сек. Каждую 1 сек проделывать эту функцию вплоть до +2 сек от конца фризтайма.

Если же для паблика и т д то лучше при наведении на игрока выводить ХУД или же при нажатии Е (+use)


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ncux0Zz
сообщение 26.3.2016, 15:35
Сообщение #3


Стаж: 14 лет

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

ssx, почему лучше в ХУД?
На фасткапе удобно...я так же хотел)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 26.3.2016, 15:43
Сообщение #4


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Цитата(ncux0Zz @ 26.3.2016, 15:35) *
ssx, почему лучше в ХУД?
На фасткапе удобно...я так же хотел)

я не знаю как там на каких-то фасткфапах, но подозреваю что там 5 сообщений (строчек) в чат пишет.
Что не есть гуд ибо перебивает чат.



[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя adva
сообщение 26.3.2016, 15:49
Сообщение #5


Иконка группы

Стаж: 12 лет

Сообщений: 2543
Благодарностей: 1676
Полезность: 819

Меценат Меценат

ssx, Какой чат в начала раунда? Что там перебивает? Ты на ФК играл? На КВ серверах народ общается через ТС .
В начале рануда все смотрят на бабло тиммейтов и в ТС решают покупать или сливаться. Общение в чате не происходит. В крайних случаях только.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ncux0Zz
сообщение 26.3.2016, 16:33
Сообщение #6


Стаж: 14 лет

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

Да да, ни кто не перебивает, это ведь не паблик. Мне бы так по проще, чтобы только в командный чат.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 26.3.2016, 16:34
Сообщение #7


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

*adva
Какой чат в начале раунда ? мало того что это будет не ФК где все ПРО с микро так есть большая вероятность что в чат кто-то захочет написать что-то в начале раунда или не успеет прочитать что либо .
+ в чат хpень полная , по моему мнению, ибо лучше когда будет в реальном времени (с изменениями каждые 1сек) вывод денег, что бы можно было видеть сколько денег на данный момент у тиммейтов + после закупки ими видеть остаток и включать мозг для анализирования сколько возможно будет бабла у команды в случае если выиграет\проиграет.. и капитану проще будет оценивать и прогнозировать дальнейшую тактику закупа. У меня по этому поводу ВСЁ!

По моей задумке, набросал вообщем вот такой быдлокод ..

код
Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>

new gMaxPlayers

public plugin_init() {
register_plugin("team Money", "1.0", "SSX")
gMaxPlayers=get_maxplayers();
register_logevent("RoundStart", 2, "1=Round_Start")
register_clcmd("say /t","TASK")
}

public RoundStart()
{
set_task(1.25, "TASK")
}

public TASK()
{
static szHudT[1102];//32*33+45
static szHudCT[1102];//32*33+45
static szName[34];

for(new alive=1;alive<=gMaxPlayers;alive++)
{
if(!is_user_alive(alive))
continue;

get_user_name(alive, szName, 32);
new szMoney = cs_get_user_money(alive);

if(cs_get_user_team(alive) == CS_TEAM_T)
{
format(szHudT, 1024, "^n^nНик: %s Деньги: %d", szName, szMoney);
}
else if(cs_get_user_team(alive) == CS_TEAM_CT)
{
format(szHudCT, 1024, "^n^nНик: %s Деньги: %d^n", szName, szMoney);
}
}

set_hudmessage(255, 255, 255, 0.05, -1.0, 0, 0.0, 5.07, 0.0, 0.0, -1)

new szPlayers[32], Count
get_players(szPlayers, Count, "che", "TERRORIST")

for(new i; i < Count; ++i)
{
show_hudmessage(i, szHudT);
}

new szPlayersCT[32], CountCT
get_players(szPlayersCT, CountCT, "che", "CT")

for(new i; i < CountCT; ++i)
{
show_hudmessage(i, szHudCT);
}

}


Проблема: показывает только одну строку с последним зашедшим тиммейтом.

Пока что для тестов такой код.. в идеале сделаю что бы каждые 1сек обновлялась инфа в ХУД и ХУД выводился от начало раунда и до +2 сек конца фризтайма.

Давайте вместе доделаем плагин.


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ncux0Zz
сообщение 26.3.2016, 16:36
Сообщение #8


Стаж: 14 лет

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

ssx, спс, но можно как-нибудь всё таки сделать, в чат командный? Мне правда так удобнее, да и многим кто играл на ФК. Буду благодарен! :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Timajkee
сообщение 26.3.2016, 16:44
Сообщение #9
Стаж: 10 лет
Город: Узбекистан

Сообщений: 96
Благодарностей: 12
Полезность: 18

Цитата(ncux0Zz @ 26.3.2016, 19:36) *
ssx, спс, но можно как-нибудь всё таки сделать, в чат командный? Мне правда так удобнее, да и многим кто играл на ФК. Буду благодарен! :)

Cкрытый текст
#include <amxmodx>
#include <cstrike>
#include <amxmisc>
#include <hamsandwich>
#define PLUGIN "show_money"
#define VERSION "1.0"
#define AUTHOR "Weejee & n2k"

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /money", "cmd_money")
register_clcmd("say_team /money", "cmd_money")
RegisterHam(Ham_Spawn, "player", "cmd_money", 1)
}

public cmd_money(id) {
new iMoney;
new money_Buffer[100+1];
iMoney = cs_get_user_money(id);
format( money_Buffer, 100, "$%d", iMoney );
engclient_cmd( id, "say_team", money_Buffer );
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ssx
сообщение 26.3.2016, 17:09
Сообщение #10


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Тестовый код работает нормально:
Cкрытый текст
Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>

new gMaxPlayers

public plugin_init() {
register_plugin("team Money", "1.0", "SSX")
gMaxPlayers=get_maxplayers();
register_logevent("RoundStart", 2, "1=Round_Start")
register_clcmd("say /t","RoundStart")
}

public RoundStart()
{
set_task(0.25, "TASK")
}

public TASK()
{
new szHudT[1102];//32*33+45
new szHudCT[1102];//32*33+45
static szName[34];

for(new alive=1;alive<=gMaxPlayers;alive++)
{
if(!is_user_alive(alive))
continue;

get_user_name(alive, szName, 32);
new szMoney = cs_get_user_money(alive);

if(cs_get_user_team(alive) == CS_TEAM_T)
{
format(szHudT, 256, "%s ^nНик: %s Деньги: %d", szHudT, szName, szMoney);
}
else if(cs_get_user_team(alive) == CS_TEAM_CT)
{
format(szHudCT, 256, "%s ^nНик: %s Деньги: %d", szHudCT, szName, szMoney);
}
}

set_hudmessage(255, 255, 255, 0.05, -1.0, 0, 0.0, 5.07, 0.0, 0.0, -1)

for(new alive=1;alive<=gMaxPlayers;alive++)
{
if(!is_user_alive(alive))
continue;

if(cs_get_user_team(alive) == CS_TEAM_T)
{
show_hudmessage(alive, szHudT);
}
else if(cs_get_user_team(alive) == CS_TEAM_CT)
{
show_hudmessage(alive, szHudCT);
}

}
}


Сейчас буду причёсывать до финальной версии, так как и задумывал. Т.е. каждую секунду обновлять инфу во время вывода на экран.


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ncux0Zz
сообщение 26.3.2016, 20:24
Сообщение #11


Стаж: 14 лет

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

Timajkee, а можно к плагину дописать квар, который контролирует задержку вывода сообщения в начале раунда (в секундах)?
А то там накладка получается небольшая... :)
Либо сделать, чтобы после рестарта не выводил сообщение, потому что у всех после рестарта и так 800 $, а лучше с начала второго раунда - это лучше всего будет :)

Отредактировал: ncux0Zz, - 26.3.2016, 20:25
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Zylex
сообщение 26.3.2016, 20:45
Сообщение #12


Стаж: 10 лет

Сообщений: 128
Благодарностей: 6
Полезность: 40

Цитата(ncux0Zz @ 26.3.2016, 21:24) *
Timajkee, а можно к плагину дописать квар, который контролирует задержку вывода сообщения в начале раунда (в секундах)?
А то там накладка получается небольшая... :)
Либо сделать, чтобы после рестарта не выводил сообщение, потому что у всех после рестарта и так 800 $, а лучше с начала второго раунда - это лучше всего будет :)

используй set_task
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 26.3.2016, 21:16
Сообщение #13


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Цитата(ncux0Zz @ 26.3.2016, 20:24) *
у всех после рестарта и так 800 $, а лучше с начала второго раунда - это лучше всего будет :)

Я себе запилил через ХУД (8 обновлений каждую секунду в начале раунда )

К примеру если и 800$ у всех так сразу кто-то чего-то да купит .. и в моем случае тиммейты будут сразу видеть кто сколько потратил.
При желании можно запилить еще вывод кто что купил в раунде и кто что имеет.


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Timajkee
сообщение 27.3.2016, 7:28
Сообщение #14
Стаж: 10 лет
Город: Узбекистан

Сообщений: 96
Благодарностей: 12
Полезность: 18

Цитата(ncux0Zz @ 27.3.2016, 0:24) *
Timajkee, а можно к плагину дописать квар, который контролирует задержку вывода сообщения в начале раунда (в секундах)?
А то там накладка получается небольшая... :)
Либо сделать, чтобы после рестарта не выводил сообщение, потому что у всех после рестарта и так 800 $, а лучше с начала второго раунда - это лучше всего будет :)

Держи не проверил еще но должен работать
Прикрепленные файлы:
Прикрепленный файл  show_money.sma ( 684 байт ) Кол-во скачиваний: 155
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ncux0Zz
сообщение 24.11.2016, 9:44
Сообщение #15


Стаж: 14 лет

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

Как сделать, чтобы при вводе в чат команды "/m" показывало деньги не свои, а только своих тимейтов и было видно только тому, кто ввел команду?
И как сделать, чтобы в начале раунда показывало деньги только тимейтов, свои не показывало?
show_money.sma
Код:
#include <amxmodx>
#include <cstrike>
#include <amxmisc>
#include <hamsandwich>
#define PLUGIN "show_money"
#define VERSION "1.0"
#define AUTHOR "Weejee & n2k"

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /m", "cmd_money")
register_clcmd("say_team /m", "cmd_money")
RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
}
public player_spawn(id)
{
if (is_user_alive(id))
{
set_task(0.5, "cmd_money", id)
}
}
public cmd_money(id) {
new iMoney;
new money_Buffer[100+1];
iMoney = cs_get_user_money(id);
format( money_Buffer, 100, "$%d", iMoney );
engclient_cmd( id, "say_team", money_Buffer );
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 28.3.2017, 14:40
Сообщение #16


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

Цитата
Могли бы вы скинуть исходник плагина, который вы написали?
show team money

пока что вот такой.

В идеале, надо переписать под reAPI , оптимизировать код (убрать счетчик тасков и сделать таск 8 раз) .

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

team Money.sma
Код:
#include <amxmodx>
#include <cstrike>

new gMaxPlayers, Task_Counter

public plugin_init() {
register_plugin("team Money", "1.0", "SSX")
gMaxPlayers=get_maxplayers();
register_event("HLTV", "RoundStart", "a", "1=0", "2=0")
register_clcmd("say /t","RoundStart")
}

public RoundStart()
{
Task_Counter = 0
set_task(0.15, "TASK")
}

public TASK()
{
Task_Counter++

new szHudT[1102];//32*33+45
new szHudCT[1102];//32*33+45
static szName[34];

for(new alive=1;alive<=gMaxPlayers;alive++)
{
if(!is_user_alive(alive))
continue;

get_user_name(alive, szName, 32);
new szMoney = cs_get_user_money(alive);

if(cs_get_user_team(alive) == CS_TEAM_T)
{
format(szHudT, 256, "%s%d$ %s^n", szHudT, szMoney, szName);
}
else if(cs_get_user_team(alive) == CS_TEAM_CT)
{
format(szHudCT, 256, "%s%d$ %s^n", szHudT, szMoney, szName);
}
}

set_hudmessage(255, 255, 255, 0.02, 0.23, 0, 0.0, 1.01, 0.0, 0.0, -1)

for(new alive=1;alive<=gMaxPlayers;alive++)
{
if(!is_user_alive(alive))
continue;

if(cs_get_user_team(alive) == CS_TEAM_T)
{
show_hudmessage(alive, szHudT);
}
else if(cs_get_user_team(alive) == CS_TEAM_CT)
{
show_hudmessage(alive, szHudCT);
}

}

if(Task_Counter <= 8)
{
set_task(1.0, "TASK", 666)
}
}


Отредактировал: ssx, - 28.3.2017, 14:40


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 28.3.2017, 15:06
Сообщение #17


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836



немного оптимизировал:
Код:
#include <amxmodx>
#include <cstrike>

new gMaxPlayers

public plugin_init() {
register_plugin("team Money", "1.1", "SSX")
gMaxPlayers=get_maxplayers();
register_event("HLTV", "RoundStart", "a", "1=0", "2=0")
register_clcmd("say /t","RoundStart")
}

public RoundStart()
{
set_task(0.1, "TASK")
set_task(1.0,"TASK",2,"",1, "a",8)
}

public TASK()
{
new szHudT[1102]
new szHudCT[1102]
static szName[34]

for(new alive=1;alive<=gMaxPlayers;alive++)
{
if(!is_user_alive(alive))
continue

get_user_name(alive, szName, 32)
new szMoney = cs_get_user_money(alive)

switch (cs_get_user_team(alive))
{
case CS_TEAM_T: format(szHudT, 256, "%s%d$ %s^n", szHudT, szMoney, szName)
case CS_TEAM_CT: format(szHudCT, 256, "%s%d$ %s^n", szHudT, szMoney, szName)
}
}

set_hudmessage(255, 255, 255, 0.02, 0.23, 0, 0.0, 1.04, 0.0, 0.0, -1)

for(new alive=1;alive<=gMaxPlayers;alive++)
{
if(!is_user_alive(alive))
continue

switch (cs_get_user_team(alive))
{
case CS_TEAM_T: show_hudmessage(alive, szHudT)
case CS_TEAM_CT: show_hudmessage(alive, szHudCT)
}
}
}


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя fl0werD
сообщение 28.3.2017, 15:42
Сообщение #18
Стаж: 9 лет 2 месяца

Сообщений: 155
Благодарностей: 114
Полезность: 692

На вашем фасткрапе свои деньги тоже показывает. Так что вот:
Код:
#include < amxmodx >
#include < fakemeta >


public plugin_init( )
{
register_plugin( "Team Money", "Best", "whore (fl0wer)" );

register_event( "HLTV", "EV_HLTV", "a", "1=0", "2=0" );
}

public EV_HLTV( )
{
#define MAX_CW_CLIENTS 10
#define m_iAccount 115

new sBuffer[ 190 ];

for( new iPlayer = MAX_CW_CLIENTS; iPlayer > 0; iPlayer-- )
{
if( pev_valid( iPlayer ) != 2 )
continue;

format( sBuffer, 189, "$%d", get_pdata_int( iPlayer, m_iAccount ) );
engclient_cmd( iPlayer, "say_team", sBuffer );
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя esterio
сообщение 28.3.2017, 15:56
Сообщение #19
Стаж: 13 лет
Город: Украина

Сообщений: 266
Благодарностей: 215
Полезность: 627

Не тестировал
Код

Код
#include <amxmodx>
#include <cstrike>

#if AMXX_VERSION_NUM < 183
#define MAX_PLAYERS 32
#define MAX_NAME_LENGTH 32
#endif

new const TeamNames[][] = {
    "TERRORIST",
    "CT"
}

new const TeamChannels[][] = {
   "#Cstrike_Chat_T",
   "#Cstrike_Chat_CT"
}

new g_SayText;
new pcv_Timeout;

public plugin_init() {
   register_plugin("Team Money Informer", "0.1", "F@nt0M");
   register_event("HLTV", "EventRoundStart", "a", "1=0", "2=0");
   pcv_Timeout = register_cvar("tmi_timeout", "1.0");
   g_SayText = get_user_msgid("SayText");
}

public EventRoundStart() {
   set_task(get_pcvar_float(pcv_Timeout), "TaskShowMoney");
}

public TaskShowMoney() {
   for (new players[MAX_PLAYERS], num, i, j; i <= 1; i++) {
      get_players(players, num, "bhe", TeamNames[i]);
      for (j = 0; j < num; j++) {
         sendMessage(players[j], players, num, i, "%i$", cs_get_user_money(players[j]));
      }
   }
}

sendMessage(id, const players[MAX_PLAYERS], num, channel, const msg[], any:...) {
   new name[MAX_NAME_LENGTH], message[190];
   get_user_name(id, name, charsmax(name));
   vformat(message, charsmax(message), msg, 6);

   for (new i = 0; i < num; i++) {
      message_begin(MSG_ONE, g_SayText, _, players[i]);
      write_byte(id);
      write_string(TeamChannels[channel]);
      write_string(name);
      write_string(message);
      message_end();
   }
}



Отредактировал: esterio, - 28.3.2017, 15:57


Ми будемо вбивати росіян у будь-якій точці світу до повної перемоги України
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ncux0Zz
сообщение 13.10.2018, 12:06
Сообщение #20


Стаж: 14 лет

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

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