Все вопросы по работе и настройке AMXX и его плагинов.
Модератор: liFe iS GoOD
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
В данном разделе форума разрешено создавать темы, касающие только вопросов по AMX Mod X и его плагинам.
Graviti » 03 фев 2018, 09:15
Что не так в коде, что примеры не работают. Когда пишешь ответ ничего не происходит
- Код: Выделить всё
const TaskOne = 5005;
const TaskTwo = 5006;
new iAnswer, ExampleRandom, gMaxPlayers, PrizeRandom, iMoney;
new iSum[MaxExp];
new sMessage[156];
new NameWinner[32];
new bool: ExampleOnly;
const Float: TimeExample = 180.0; const RewardMoneyMin = 50; const RewardMoneyMax = 200; const RewardHealth = 165; public plugin_precache()
{
precache_sound("examples/Start.wav");
precache_sound("examples/Reward.wav");
}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("say", "HookSay");
register_clcmd("say_team", "HookSay");
set_task(TimeExample, "StartExampleEvent", TaskOne, _, _, "b");
set_task(1.0, "StartHudMessage", TaskOne, _, _, "b");
gMaxPlayers = get_maxplayers();
}
public StartExampleEvent()
{
client_cmd(0, "spk examples/Start");
for(new iExp; iExp < MaxExp; iExp++)
{
iSum[iExp] = random_num(1, 50);
}
ExampleOnly = true;
ExampleRandom = random_num(0, 5);
switch(ExampleRandom)
{
case 0:
{
iAnswer = iSum[0] + iSum[1] + iSum[2] + iSum[3] + iSum[4];
formatex(sMessage, 155, "Пример:^n%i + %i + %i + %i + %i = ?", iSum[0], iSum[1], iSum[2], iSum[3], iSum[4]);
}
case 1:
{
iAnswer = iSum[0] + iSum[1] - iSum[2] + iSum[3] - iSum[4];
formatex(sMessage, 155, "Пример:^n%i + %i - %i + %i - %i = ?", iSum[0], iSum[1], iSum[2], iSum[3], iSum[4]);
}
case 2:
{
iAnswer = iSum[0] - iSum[1] + iSum[2] - iSum[3] + iSum[4];
formatex(sMessage, 155, "Пример:^n%i - %i + %i - %i + %i = ?", iSum[0], iSum[1], iSum[2], iSum[3], iSum[4]);
}
case 3:
{
iAnswer = iSum[0] + iSum[1] - iSum[2] - iSum[3] - iSum[4];
formatex(sMessage, 155, "Пример:^n%i + %i - %i - %i - %i = ?", iSum[0], iSum[1], iSum[2], iSum[3], iSum[4]);
}
case 4:
{
iAnswer = iSum[0] - iSum[1] - iSum[2] - iSum[3] + iSum[4];
formatex(sMessage, 155, "Пример:^n%i - %i - %i - %i + %i = ?", iSum[0], iSum[1], iSum[2], iSum[3], iSum[4]);
}
case 5:
{
iAnswer = iSum[0] + iSum[1] + iSum[2] - iSum[3] + iSum[4];
formatex(sMessage, 155, "Пример:^n%i + %i + %i - %i + %i = ?", iSum[0], iSum[1], iSum[2], iSum[3], iSum[4]);
}
}
}
public StartHudMessage()
{
if(!ExampleOnly)
return;
for(new id = 1; id <= gMaxPlayers; id++)
{
if(!is_user_connected(id))
continue;
set_dhudmessage(0, 255, 255, 0.01, 0.65, 0, 1.0, 1.0, 1.0, 1.0, false);
show_dhudmessage(id, "%s", sMessage);
}
}
public HookSay(id)
{
if(!is_user_connected(id))
return;
if(!ExampleOnly)
return;
new String[256], Answer[32];
read_args(String, 255);
remove_quotes(String);
num_to_str(iAnswer, Answer, 31);
if(equali(String, Answer))
{
ExampleOnly = false;
set_task(2.0, "RewardEvent", id)
}
}
public RewardEvent(id)
{
if(!is_user_connected(id))
return;
get_user_name(id, NameWinner, 31);
client_cmd(0, "spk examples/Reward");
iMoney = random_num(RewardMoneyMin, RewardMoneyMax);
if(is_user_alive(id))
{
if(get_user_health(id) < 100)
{
PrizeRandom = random_num(0, 2);
switch(PrizeRandom)
{
case 0:
{
cs_set_user_money(id, cs_get_user_money(id) + iMoney);
formatex(sMessage, 155, "Победитель: %s^nОтвет: %i^nНаграда: %i$", NameWinner, iAnswer, iMoney);
}
case 1:
{
set_user_health(id, RewardHealth);
formatex(sMessage, 155, "Победитель: %s^nОтвет: %i^nНаграда: Пополнение здоровья", NameWinner, iAnswer);
}
case 2:
{
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
formatex(sMessage, 155, "Победитель: %s^nОтвет: %i^nНаграда: Набор гранат", NameWinner, iAnswer);
}
}
}else{
PrizeRandom = random_num(0, 2);
switch(PrizeRandom)
{
case 0:
{
cs_set_user_money(id, cs_get_user_money(id) + iMoney);
formatex(sMessage, 155, "Победитель: %s^nОтвет: %i^nНаграда: %i$", NameWinner, iAnswer, iMoney);
}
case 1:
{
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
formatex(sMessage, 155, "Победитель: %s^nОтвет: %i^nНаграда: Набор гранат", NameWinner, iAnswer);
}
}
}
}else{
cs_set_user_money(id, cs_get_user_money(id) + iMoney);
formatex(sMessage, 155, "Победитель: %s^nОтвет: %i^nНаграда: %i$", NameWinner, iAnswer, iMoney);
}
set_dhudmessage(0, 255, 255, 0.01, 0.65, 0, 1.0, 2.0, 1.0, 1.0, false)
show_dhudmessage(0, "%s", sMessage);
}
Последний раз редактировалось
Graviti 03 фев 2018, 12:26, всего редактировалось 1 раз.
-
Graviti
-
- Сообщения: 35
- Зарегистрирован: 29 янв 2018, 16:11
- Благодарил (а): 0 раз.
- Поблагодарили: 0 раз.
- Опыт программирования: Около 6 месяцев
- Языки программирования: Pawn
Php
HTML
CSS
Java
Subb98 » 03 фев 2018, 09:16
Graviti, добрый день. Пожалуйста, измените название темы на информативное, в соответствии с
Вы должны зарегистрироваться, чтобы видеть ссылки.. Если вы не сделаете этого в течение суток, я изменю название темы сам, однако в этом случае вам будет выдано предупреждение в профиль.
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
-
Subb98
-
- Сообщения: 5485
- Зарегистрирован: 24 мар 2011, 19:42
- Откуда: г. Пермь
- Благодарил (а): 1329 раз.
- Поблагодарили: 2343 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: PHP
Graviti » 03 фев 2018, 11:07
Как это сделать?
Последний раз редактировалось
Subb98 04 фев 2018, 13:21, всего редактировалось 1 раз.
Причина: Не нужно цитировать предыдущее сообщение, оверквотинг не приветствуется
-
Graviti
-
- Сообщения: 35
- Зарегистрирован: 29 янв 2018, 16:11
- Благодарил (а): 0 раз.
- Поблагодарили: 0 раз.
- Опыт программирования: Около 6 месяцев
- Языки программирования: Pawn
Php
HTML
CSS
Java
Subb98 » 03 фев 2018, 14:21
С помощью кнопки "правка", я вижу, вы ею уже воспользовались.
Добавлено спустя 4 минуты 4 секунды:Re: Ошибка плагина ExamplesДобавьте в этот участок кода
- Код: Выделить всё
if(equali(String, Answer))
{
ExampleOnly = false;
set_task(2.0, "RewardEvent", id)
}
новую строку
- Код: Выделить всё
log_amx("right answer!");
Должно получиться так
- Код: Выделить всё
if(equali(String, Answer))
{
ExampleOnly = false;
set_task(2.0, "RewardEvent", id)
log_amx("right answer!");
}
и смотрите, есть ли в логах AMXX это сообщение при верном ответе.
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
-
Subb98
-
- Сообщения: 5485
- Зарегистрирован: 24 мар 2011, 19:42
- Откуда: г. Пермь
- Благодарил (а): 1329 раз.
- Поблагодарили: 2343 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: PHP
Graviti » 04 фев 2018, 10:01
Как смотреть в логах?
Последний раз редактировалось
Subb98 04 фев 2018, 13:19, всего редактировалось 1 раз.
Причина: Не нужно цитировать предыдущее сообщение, оверквотинг не приветствуется
-
Graviti
-
- Сообщения: 35
- Зарегистрирован: 29 янв 2018, 16:11
- Благодарил (а): 0 раз.
- Поблагодарили: 0 раз.
- Опыт программирования: Около 6 месяцев
- Языки программирования: Pawn
Php
HTML
CSS
Java
Subb98 » 04 фев 2018, 13:20
Переходите в каталог addons/amxmodx/logs, открываете крайний по дате .log файл и смотрите, есть ли в нём такое сообщение.
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
-
Subb98
-
- Сообщения: 5485
- Зарегистрирован: 24 мар 2011, 19:42
- Откуда: г. Пермь
- Благодарил (а): 1329 раз.
- Поблагодарили: 2343 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: PHP
Graviti » 04 фев 2018, 13:36
Subb98 писал(а):Переходите в каталог addons/amxmodx/logs, открываете крайний по дате .log файл и смотрите, есть ли в нём такое сообщение.
Нету
-
Graviti
-
- Сообщения: 35
- Зарегистрирован: 29 янв 2018, 16:11
- Благодарил (а): 0 раз.
- Поблагодарили: 0 раз.
- Опыт программирования: Около 6 месяцев
- Языки программирования: Pawn
Php
HTML
CSS
Java
Subb98 » 04 фев 2018, 13:39
Graviti, не нужно цитировать предыдущее сообщение. Прочтите про
Вы должны зарегистрироваться, чтобы видеть ссылки.. Мне надоело редактировать ваши посты. -_- Если такого сообщения нет, значит, условие не выполнилось, следовательно, был дан неверный ответ на вопрос плагина.
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
-
Subb98
-
- Сообщения: 5485
- Зарегистрирован: 24 мар 2011, 19:42
- Откуда: г. Пермь
- Благодарил (а): 1329 раз.
- Поблагодарили: 2343 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: PHP
Вернуться в Вопросы по AMXX и его плагинам
Кто сейчас на конференции
Сейчас этот форум просматривают: Google [Bot] и гости: 6