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

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

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

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

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

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

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

Hud_message

, Внутри...
Статус пользователя Fred Perry
сообщение 25.3.2012, 10:21
Сообщение #1


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

Стаж: 16 лет

Сообщений: 6594
Благодарностей: 2370
Полезность: 813

Всем здарова, в общем возникли такие проблемы:
На сервере установлен плагин "Самый Умный", где надо отвечать на примеры и получаешь бонусы. Сам пример "вопрос" задается в hud_message, вроде бы все нормально, но одна проблема, если включается еще один hud_message буквально за ним, то вопрос пропадает.
Как сделать чтобы другие hud_message не влиляли на заданный.

И еще, как можно сделать чтобы вопрос выпадал не сразу в начале раунда, а спустя 10 секунд.
Заранее спасибо.

Исходник
/* Plugin generated by AMXX-Studio

Установка: раскинуть файлы по папкам
Как задать свои вопросы? addons/amxmodx/configs/questions.ini
"ваш вопрос" "правильный ответ".

*/

#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]

// Квары
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","1500");
awp = register_cvar("sm_awp","0");
health = register_cvar("sm_health","0");
armor = register_cvar("sm_armor","30");
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()
{
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, 22.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Игрок ^3%s ^4уже ответил на вопрос и получил награду.", nick_winner) // Обламываем
}

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

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)
set_hudmessage(get_pcvar_num(red), get_pcvar_num(green), get_pcvar_num(blue), 0.03, 0.58, 0, 6.0, 3.0, 0.2, 0.2, -1)
show_hudmessage(id, "На вопрос первым ответил %s", nick_winner)
print_col_chat(0, "^4На вопрос первым ответил ^3%s ^4и получил^3 1500^4$,^3 30 ^4брони", nick_winner, get_pcvar_num(money), get_pcvar_num(health),
get_pcvar_num(armor))
if ( get_pcvar_num(awp) == 1)
print_col_chat(0, "")
}

public winner(id)
{
if ( results == 1 )
{
set_hudmessage(get_pcvar_num(red), get_pcvar_num(green), get_pcvar_num(blue), 0.03, 0.58, 0, 6.0, 3.0, 0.2, 0.2, -1)
show_hudmessage(id, "На вопрос первым ответил %s", nick_winner)
print_col_chat(id, "^4На вопрос первым ответил ^3%s ^4и получил^3 1500^4$,^3 30 ^4брони", nick_winner, get_pcvar_num(money), get_pcvar_num(health),
get_pcvar_num(armor))
if ( get_pcvar_num(awp) == 1)
print_col_chat(id, "")
}
}

public resultats(id)
{
set_hudmessage(get_pcvar_num(red), get_pcvar_num(green), get_pcvar_num(blue), 0.03, 0.55, 0, 6.0, 3.0, 0.2, 0.2, -1)
if ( results == 1 )
{
show_hudmessage(id, "Конкурс окончен, победитель есть")
print_col_chat(id, "^4На вопрос первым ответил ^3%s ^4и получил^3 1500^4$,^3 30 ^4брони", nick_winner, get_pcvar_num(money), get_pcvar_num(health),
get_pcvar_num(armor))
if ( get_pcvar_num(awp) == 1)
print_col_chat(id, "")
} else
{
show_hudmessage(id, "Конкурс: %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();
}
}
}
}


Отредактировал: Fred Perry, - 25.3.2012, 14:14


Гнилой фашистской нечисти
Загоним пулю в лоб,
Отродью человечества
Сколотим крепкий гроб!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Rejiser
сообщение 25.3.2012, 11:29
Сообщение #2


Стаж: 15 лет

Сообщений: 2261
Благодарностей: 1068
Полезность: 870

Исходник где?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя imba
сообщение 25.3.2012, 14:54
Сообщение #3
Стаж: 16 лет

Сообщений: 1677
Благодарностей: 735
Полезность: 571

переделай под dhudmessage


!
Запрет на ответ в темах до: 10.11.29392, 21:09
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 27.3.2012, 4:05
Сообщение #4


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

Стаж: 16 лет

Сообщений: 6594
Благодарностей: 2370
Полезность: 813

Цитата(imba @ 25.3.2012, 15:54) *
переделай под dhudmessage

А не легче помочь правильно set_task вставить?


Гнилой фашистской нечисти
Загоним пулю в лоб,
Отродью человечества
Сколотим крепкий гроб!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndrewZ
сообщение 27.3.2012, 8:55
Сообщение #5


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

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

Цитата
А не легче помочь правильно set_task вставить?

там с каналами проблема


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 27.3.2012, 10:01
Сообщение #6


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

Стаж: 16 лет

Сообщений: 6594
Благодарностей: 2370
Полезность: 813

Цитата(ZZZombiE @ 27.3.2012, 9:55) *
там с каналами проблема

Я не знаю что такое канал, но могу сказать своим языком...
Я вставлял все нормально, но только ХУД появлялся один раунд, надо как бы сделать чтобы каждый раунд появлялся...
Не знаю как, я не силен в этом, поэтому прошу помощи


Гнилой фашистской нечисти
Загоним пулю в лоб,
Отродью человечества
Сколотим крепкий гроб!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndrewZ
сообщение 27.3.2012, 10:09
Сообщение #7


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

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

отловить начало раунда и показывать худ


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 27.3.2012, 10:47
Сообщение #8


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

Стаж: 16 лет

Сообщений: 6594
Благодарностей: 2370
Полезность: 813

Вот блок с самого исходника по поводу начала раунда, мб его как то подредактирвоать?
Мб просто правилньо вставить set_task?
newround
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, 22.0, 0.2, 0.2, -1)
show_hudmessage(0, "Конкурс: %s = ?", quest)
}


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