The Smarthest само когато са умрели

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
Maverick
Извън линия
Рекламатор
Рекламатор
Мнения: 254
Регистриран на: 22 Окт 2016, 17:05
Местоположение: 93.123.18.81:27017
Се отблагодари: 34 пъти
Получена благодарност: 14 пъти
Обратна връзка:

The Smarthest само когато са умрели

Мнение от Maverick » 05 Сеп 2018, 09:48

Здравейте!
Наскоро влезнах в сървър подобен на моят и видях този плъгин. Днес го пробвах и има няколко неща, които бих искал различно.

Код за потвърждение: Избери целия код

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

#define PLUGIN "The Smartest"
#define VERSION "1.0"
#define AUTHOR "Krevedko"

//new string_nums
new question[131]
new answer[64]
new quest[64]
new nick_winner[32]
new results
new string_num
new random_quest
new SayText
new bool:HasC4[33]

// Cvar's
new red, green, blue
new money, awp, strip_weapon, health, armor, kevlar, sound

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_logevent("newround", 2, "1=Round_Start");
	red = register_cvar("sm_red","0");
	green = register_cvar("sm_green","255");
	blue = register_cvar("sm_blue","0");
	money = register_cvar("sm_money","3500");
	awp = register_cvar("sm_awp","1");
	sound = register_cvar("sm_sound","1");
	health = register_cvar("sm_health","15");
	armor = register_cvar("sm_armor","100");
	kevlar = register_cvar("sm_kevlar","1");
	strip_weapon = register_cvar("sm_strip","1");
	register_clcmd("say /vopros","resultats");
	register_clcmd("say /question","resultats");
	register_clcmd("say /winner", "winner");
	register_clcmd("say","check_results");
	register_clcmd("say_team","check_results");
	SayText = get_user_msgid("SayText");
	readfiles()
}

public plugin_precache() 
{
  precache_sound("the_smart/pipewarp.wav")
  return PLUGIN_CONTINUE
}

public readfiles()
{
	if (!file_exists("addons/amxmodx/configs/questions.ini"))
	{
	write_file("addons/amxmodx/configs/questions.ini", ";Това е файла с въпросите и техните отговори. Как трябва да изглежда файла:^n;^"въпрос^" ^"отговор^"^n^"1+1^" ^"2^"", -1) 
}
}

public newround()
{
	results = 0
	new txtlen
	string_num = file_size("addons/amxmodx/configs/questions.ini", 1)
	random_quest = random_num ( 1,string_num )
	read_file("addons/amxmodx/configs/questions.ini", random_quest, question, 130, txtlen)
	while ( (question[0] == ';' || equali(question,"")) )
	{
		random_quest = random_num ( 1,string_num )
		read_file("addons/amxmodx/configs/questions.ini", random_quest, question, 130, txtlen)
	}
	
	// парсим
	trim(question)
	
	parse(question, quest, sizeof(quest) , answer, sizeof(answer))
	
	
	set_hudmessage(get_pcvar_num(red), get_pcvar_num(green), get_pcvar_num(blue), 0.03, 0.55, 0, 6.0, 12.0, 0.2, 0.2, -1)
	show_hudmessage(0, "Конкурс: %s = ?", quest)
}



public check_results(id)
{

static chat[192];
read_args(chat, sizeof(chat) - 1);
remove_quotes(chat);

if ( results == 0 ) { // проверка за наличност на отговор

if (equali(chat, answer ))
{
go_nagrada(id)
}
} else
	 
if (chat[0] == '-' || chat[0] == '1' || chat[0] == '2' || chat[0] == '3' || chat[0] == '4' || chat[0] == '5' || chat[0] == '6' || chat[0] == '7' ||
chat[0] == '8' || chat[0] == '9' || chat[0] == '0')
print_col_chat(0, "^4К sorry player ^3%s ^4already I answered this question and received an award.", nick_winner) // 
}

public go_nagrada(id) // Награда
{
results = 1 // записване на отговор

if (get_pcvar_num(sound) == 1) {
client_cmd(0, "spk the_smart/pipewarp" )
}

if (is_user_alive(id)) {
if (get_pcvar_num(awp) == 1)
{
if (get_pcvar_num(strip_weapon) == 1)
{

if (user_has_weapon(id, CSW_C4) && get_user_team(id) == 1)
HasC4[id] = true;
else
HasC4[id] = false;

strip_user_weapons(id)

if (HasC4[id])
{
give_item(id, "weapon_c4");
cs_set_user_plant( id );
}

give_item(id, "weapon_knife")
give_item(id, "weapon_deagle")
cs_set_user_bpammo( id, CSW_DEAGLE, 35 )

}
give_item(id, "weapon_awp")
cs_set_user_bpammo( id, CSW_AWP, 20 )
}
if ( get_pcvar_num(kevlar) == 1 ) {
give_item(id, "item_kevlar")
}
new give_health = get_user_health(id) + get_pcvar_num(health)
set_user_health(id, give_health)
new give_armor = get_pcvar_num(armor)
set_user_armor(id, give_armor)
}	
get_user_name(id,nick_winner,31);
new give_money = cs_get_user_money(id) + get_pcvar_num(money)
cs_set_user_money(id, give_money)
print_col_chat(0, "^4On question of the contest the first answer ^3%s ^4and received award! ^3%i ^4$, ^3%i ^4hp, ^3%i ^4arrmor", nick_winner, get_pcvar_num(money), get_pcvar_num(health),
get_pcvar_num(armor))
if ( get_pcvar_num(awp) == 1)
print_col_chat(0, "^4и ^3AWP")
}

public winner(id)
{
	if ( results == 1 )
	{
	print_col_chat(id, "^4On question of the contest the first answer ^3%s ^4and received award! ^3%i ^4$, ^3%i ^4hp, ^3%i ^4arrmor", nick_winner, get_pcvar_num(money), get_pcvar_num(health),
	get_pcvar_num(armor))
	if ( get_pcvar_num(awp) == 1)
	print_col_chat(id, "^4и ^3AWP")
	} else
	print_col_chat(id, "^4The winner yet. You'll be the first?")
}

public resultats(id)
{
set_hudmessage(get_pcvar_num(red), get_pcvar_num(green), get_pcvar_num(blue), 0.03, 0.55, 0, 6.0, 12.0, 0.2, 0.2, -1)
if ( results == 1 )
{
show_hudmessage(id, "The contest is over. Winner in chat")
print_col_chat(id, "^4On question of the contest the first answer ^3%s ^4and received award! ^3%i ^4$, ^3%i ^4hp, ^3%i ^4arrmor", nick_winner, get_pcvar_num(money), get_pcvar_num(health),
get_pcvar_num(armor))
if ( get_pcvar_num(awp) == 1)
print_col_chat(id, "^4и ^3AWP")
} else
{
show_hudmessage(id, "Contest: %s = ?", quest)
}
}

stock print_col_chat(const id, const input[], any:...) 
{ 
    new count = 1, players[32]; 
    static msg[191]; 
    vformat(msg, 190, input, 3); 
    replace_all(msg, 190, "!g", "^4"); // Green Color 
    replace_all(msg, 190, "!y", "^1"); // Default Color (у©°  湫) 
    replace_all(msg, 190, "!t", "^3"); // Team Color 
    if (id) players[0] = id; else get_players(players, count, "ch"); 
    { 
        for ( new i = 0; i < count; i++ ) 
        { 
            if ( is_user_connected(players[i]) ) 
            {
                message_begin(MSG_ONE_UNRELIABLE, SayText, _, players[i]); 
                write_byte(players[i]); 
                write_string(msg); 
                message_end();
            } 
        } 
    } 
}
Да го виждат само хората които са dead или spec и да им се появява веднага след като умрат.
Наградата да остане само парите.
Самият текст да е над чата и изравнен с него.

Изображение

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

The Smarthest само когато са умрели

Мнение от OciXCrom » 05 Сеп 2018, 16:05

Промених само кой да го вижда и малко позицията. За наградите имаш кварове. Текстът няма как да се изравни с чата, тъй като зависи от резолюцията на играта и монитора.

Преместих плъгина в неодобрени, тъй като толкова зле написан плъгин няма как да бъде одобрен.

Код за потвърждение: Избери целия код

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

#define PLUGIN "The Smartest"
#define VERSION "1.0"
#define AUTHOR "Krevedko"

//new string_nums
new question[131]
new answer[64]
new quest[64]
new nick_winner[32]
new results
new string_num
new random_quest
new SayText
new bool:HasC4[33]

// Cvar's
new red, green, blue
new money, awp, strip_weapon, health, armor, kevlar, sound

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_logevent("newround", 2, "1=Round_Start");
    red = register_cvar("sm_red","0");
    green = register_cvar("sm_green","255");
    blue = register_cvar("sm_blue","0");
    money = register_cvar("sm_money","3500");
    awp = register_cvar("sm_awp","1");
    sound = register_cvar("sm_sound","1");
    health = register_cvar("sm_health","15");
    armor = register_cvar("sm_armor","100");
    kevlar = register_cvar("sm_kevlar","1");
    strip_weapon = register_cvar("sm_strip","1");
    register_clcmd("say /vopros","resultats");
    register_clcmd("say /question","resultats");
    register_clcmd("say /winner", "winner");
    register_clcmd("say","check_results");
    register_clcmd("say_team","check_results");
    SayText = get_user_msgid("SayText");
    readfiles()
}

public plugin_precache() 
{
  precache_sound("the_smart/pipewarp.wav")
  return PLUGIN_CONTINUE
}

public readfiles()
{
    if (!file_exists("addons/amxmodx/configs/questions.ini"))
    {
    write_file("addons/amxmodx/configs/questions.ini", ";Това е файла с въпросите и техните отговори. Как трябва да изглежда файла:^n;^"въпрос^" ^"отговор^"^n^"1+1^" ^"2^"", -1) 
}
}

public newround()
{
    results = 0
    new txtlen
    string_num = file_size("addons/amxmodx/configs/questions.ini", 1)
    random_quest = random_num ( 1,string_num )
    read_file("addons/amxmodx/configs/questions.ini", random_quest, question, 130, txtlen)
    while ( (question[0] == ';' || equali(question,"")) )
    {
        random_quest = random_num ( 1,string_num )
        read_file("addons/amxmodx/configs/questions.ini", random_quest, question, 130, txtlen)
    }
    
    // парсим
    trim(question)
    
    parse(question, quest, sizeof(quest) , answer, sizeof(answer))
    
    set_hudmessage(get_pcvar_num(red), get_pcvar_num(green), get_pcvar_num(blue), 0.02, 0.7, 0, 6.0, 12.0, 0.2, 0.2, -1)

    new iPlayers[32], iPnum
    get_players(iPlayers, iPnum, "be", "SPECTATOR")

    for(new i; i < iPnum; i++)
        show_hudmessage(iPlayers[i], "Конкурс: %s = ?", quest)
}



public check_results(id)
{

static chat[192];
read_args(chat, sizeof(chat) - 1);
remove_quotes(chat);

if ( results == 0 ) { // проверка за наличност на отговор

if (equali(chat, answer ))
{
go_nagrada(id)
}
} else
     
if (chat[0] == '-' || chat[0] == '1' || chat[0] == '2' || chat[0] == '3' || chat[0] == '4' || chat[0] == '5' || chat[0] == '6' || chat[0] == '7' ||
chat[0] == '8' || chat[0] == '9' || chat[0] == '0')
print_col_chat(0, "^4К sorry player ^3%s ^4already I answered this question and received an award.", nick_winner) // 
}

public go_nagrada(id) // Награда
{
results = 1 // записване на отговор

if (get_pcvar_num(sound) == 1) {
client_cmd(0, "spk the_smart/pipewarp" )
}

if (is_user_alive(id)) {
if (get_pcvar_num(awp) == 1)
{
if (get_pcvar_num(strip_weapon) == 1)
{

if (user_has_weapon(id, CSW_C4) && get_user_team(id) == 1)
HasC4[id] = true;
else
HasC4[id] = false;

strip_user_weapons(id)

if (HasC4[id])
{
give_item(id, "weapon_c4");
cs_set_user_plant( id );
}

give_item(id, "weapon_knife")
give_item(id, "weapon_deagle")
cs_set_user_bpammo( id, CSW_DEAGLE, 35 )

}
give_item(id, "weapon_awp")
cs_set_user_bpammo( id, CSW_AWP, 20 )
}
if ( get_pcvar_num(kevlar) == 1 ) {
give_item(id, "item_kevlar")
}
new give_health = get_user_health(id) + get_pcvar_num(health)
set_user_health(id, give_health)
new give_armor = get_pcvar_num(armor)
set_user_armor(id, give_armor)
}   
get_user_name(id,nick_winner,31);
new give_money = cs_get_user_money(id) + get_pcvar_num(money)
cs_set_user_money(id, give_money)
print_col_chat(0, "^4On question of the contest the first answer ^3%s ^4and received award! ^3%i ^4$, ^3%i ^4hp, ^3%i ^4arrmor", nick_winner, get_pcvar_num(money), get_pcvar_num(health),
get_pcvar_num(armor))
if ( get_pcvar_num(awp) == 1)
print_col_chat(0, "^4и ^3AWP")
}

public winner(id)
{
    if ( results == 1 )
    {
    print_col_chat(id, "^4On question of the contest the first answer ^3%s ^4and received award! ^3%i ^4$, ^3%i ^4hp, ^3%i ^4arrmor", nick_winner, get_pcvar_num(money), get_pcvar_num(health),
    get_pcvar_num(armor))
    if ( get_pcvar_num(awp) == 1)
    print_col_chat(id, "^4и ^3AWP")
    } else
    print_col_chat(id, "^4The winner yet. You'll be the first?")
}

public resultats(id)
{
set_hudmessage(get_pcvar_num(red), get_pcvar_num(green), get_pcvar_num(blue), 0.03, 0.55, 0, 6.0, 12.0, 0.2, 0.2, -1)
if ( results == 1 )
{
show_hudmessage(id, "The contest is over. Winner in chat")
print_col_chat(id, "^4On question of the contest the first answer ^3%s ^4and received award! ^3%i ^4$, ^3%i ^4hp, ^3%i ^4arrmor", nick_winner, get_pcvar_num(money), get_pcvar_num(health),
get_pcvar_num(armor))
if ( get_pcvar_num(awp) == 1)
print_col_chat(id, "^4и ^3AWP")
} else
{
show_hudmessage(id, "Contest: %s = ?", quest)
}
}

stock print_col_chat(const id, const input[], any:...) 
{ 
    new count = 1, players[32]; 
    static msg[191]; 
    vformat(msg, 190, input, 3); 
    replace_all(msg, 190, "!g", "^4"); // Green Color 
    replace_all(msg, 190, "!y", "^1"); // Default Color (у©°  湫) 
    replace_all(msg, 190, "!t", "^3"); // Team Color 
    if (id) players[0] = id; else get_players(players, count, "ch"); 
    { 
        for ( new i = 0; i < count; i++ ) 
        { 
            if ( is_user_connected(players[i]) ) 
            {
                message_begin(MSG_ONE_UNRELIABLE, SayText, _, players[i]); 
                write_byte(players[i]); 
                write_string(msg); 
                message_end();
            } 
        } 
    } 
}

Аватар
Maverick
Извън линия
Рекламатор
Рекламатор
Мнения: 254
Регистриран на: 22 Окт 2016, 17:05
Местоположение: 93.123.18.81:27017
Се отблагодари: 34 пъти
Получена благодарност: 14 пъти
Обратна връзка:

The Smarthest само когато са умрели

Мнение от Maverick » 06 Сеп 2018, 11:08

Не може да се компилира. :confused:

Код за потвърждение: Избери целия код

//// sam_umniy.sma
// C:\Users\Maverick\Desktop\addons\amxmodx\scripting\sam_umniy.sma(1) : error 010: invalid function or declaration
//
// 1 Error.
// Could not locate output file compiled\sam_umniy.amx (compile failed).
//
// Compilation Time: 0.16 sec
// ----------------------------------------

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

The Smarthest само когато са умрели

Мнение от OciXCrom » 06 Сеп 2018, 15:10

Смени кодировката на файла на ANSI.

Аватар
Maverick
Извън линия
Рекламатор
Рекламатор
Мнения: 254
Регистриран на: 22 Окт 2016, 17:05
Местоположение: 93.123.18.81:27017
Се отблагодари: 34 пъти
Получена благодарност: 14 пъти
Обратна връзка:

The Smarthest само когато са умрели

Мнение от Maverick » 07 Сеп 2018, 22:14

Добре работи сега, но се показва само когато съм Spectator. Aко може го направи да се вижда и от умрелите. :mad:

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

The Smarthest само когато са умрели

Мнение от OciXCrom » 08 Сеп 2018, 01:29

Точно така съм го направил.

Аватар
Maverick
Извън линия
Рекламатор
Рекламатор
Мнения: 254
Регистриран на: 22 Окт 2016, 17:05
Местоположение: 93.123.18.81:27017
Се отблагодари: 34 пъти
Получена благодарност: 14 пъти
Обратна връзка:

The Smarthest само когато са умрели

Мнение от Maverick » 08 Сеп 2018, 22:10

Сега забелязах, че е видимо само в този момент, във всички други ситуации просто не се вижда.

Изображение

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

The Smarthest само когато са умрели

Мнение от OciXCrom » 09 Сеп 2018, 00:22

Сигурно имаш прекалено много HUD съобщения на екрана и няма място за това.

Код за потвърждение: Избери целия код

get_players(iPlayers, iPnum, "be", "SPECTATOR")
b означава мъртви играчи.
e означава отбор (в случая SPECTATOR).

Тъй че направено си е правилно.

Аватар
Maverick
Извън линия
Рекламатор
Рекламатор
Мнения: 254
Регистриран на: 22 Окт 2016, 17:05
Местоположение: 93.123.18.81:27017
Се отблагодари: 34 пъти
Получена благодарност: 14 пъти
Обратна връзка:

The Smarthest само когато са умрели

Мнение от Maverick » 25 Сеп 2018, 19:50

Не знам, но се вижда само когато съм SPECTATOR. Може би нещо друго не е в ред. :confused:

Публикувай отговор
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Заявки за плъгини”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 16 госта