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

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

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

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

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

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

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

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

Ошибка компиляции xs.inc error 110

Статус пользователя DRIVE37
сообщение 19.4.2016, 20:11
Сообщение #1


Стаж: 11 лет

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

Посмотрел в интернете по поводу ошибки пишут что компилятор поменять, пробовал через множество компиляторов, но толку 0. Помогите пожалуйста.
Вот сама ошибка:

Код:
fatal error 110: assertion failed: 0


Вот плагин:

Код:
// ==================================== <Модули> ===============================================
#include <fakemeta_util>// Выдача скорости и гравитации и хп/брони (Установка точнее)
#include <dhudmessage> // Отвечает за Hud
#include <hamsandwich> // Отвечает за Ham''ы (Спавн плайер)
#include <fakemeta> // Вычесление, правда не помню чего ^-^
#include <amxmodx> // Core | Ядро
#include <amxmisc>
#include <cstrike>
#include <fun> // Отвечает за выдачу денег, хп и много чего (Аналог f_u)

native jbe_get_user_money(client); //Получить деньги игрока.
native jbe_set_user_money(client, count, flash); //Установить деньги игроку.

// ============================ Кординаты Худа==================================================
#define TEXT 255, 0, 100, 0.15, 0.2, 1, 0.0, 0.5, 1.0, 1.0 -1

// ============================== Меню (Регистрация) ===========================================
const KEYS = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN
U_KEY_8|MENU_KEY_9|MENU_KEY_0


// ###################### Регистрация Кваров, Таймера и Сброса цвета при спавне ###################################################
new money, armor, healt, svechka, counter /* Дальше регистрация кваров, отним. эффектов:*/, minus_armor, minus_healt, minus_money

// ################################ Регистрация Блока и Таймера ###################################################################
new block[33]
new arg[1]
new g_Block_1[33]
const Block_1 = 1 // .: Через сколько можно брать FreeRuletky для админов :. | 1 - через 1 раунд | .:

public plugin_init()
{
register_plugin("JBE_Рулетка", "3.3", "ToJI9IHGaa") // Регистрация плагина

//================ Отлов момента спавна игрока и переадресация на функцию =================
RegisterHam(Ham_Spawn, "player", "Spawns", 1)

//====================== Регистрация вызова меню рулетки ==================================
register_clcmd("say /ruletka", "Russian_Ruletka_1")
register_clcmd("say /baraban", "Russian_Ruletka_1")
register_clcmd("say /rul", "Russian_Ruletka_1")
register_clcmd("say /lox", "Russian_Ruletka_1")
register_clcmd("ruletka", "Russian_Ruletka_1")
register_clcmd("lox", "Russian_Ruletka_1")
register_clcmd("say /лохотрон", "Russian_Ruletka_1")
register_clcmd("say /рулетка", "Russian_Ruletka_1")
register_clcmd("say /барабан", "Russian_Ruletka_1")

//================== Регистрация Команды для сброса таймера (Админ кмд) ===================
register_clcmd("say /sbros", "admin_sbros")
register_clcmd("sbros", "admin_sbros")
register_clcmd("say /сброс", "admin_sbros")
//================ Регистрация Команды для сброса таймера (за деньги) =====================
register_clcmd("say /buysbros", "buysbros")
register_clcmd("buysbros", "buysbros")

//==================== Регистрация меню и кейсов ============================
register_menu("Russian_Ruletka", KEYS, "Russian_Ruletka_Case")
register_menu("opisanie", KEYS, "opisanie_case")

//================ Отлов старта раунда и переадресация на функцию ===========
register_logevent("round_block_1", 2, "1=Round_Start")

//========================== Регистрация кваров =============================
money = register_cvar("jb_money_ruletka", "10000") //Сколько давать денег в выиграше
armor = register_cvar("jb_armor_ruletka", "200") //Сколько давать брони в выиграше
healt = register_cvar("jb_healt_ruletka", "200") //Сколько давать жизней в выиграше
minus_healt = register_cvar("jb_minus_healt_ruletka", "20") //Сколько отнимать жизней в выиграше
minus_armor = register_cvar("jb_minus_armor_ruletka", "40") //Сколько отнимать жизней в выиграше
minus_money = register_cvar("jb_minus_money_ruletka", "4000") //Сколько отнимать жизней в выиграше

//================ Регистрация типа таймера и самого таймера ================
register_concmd("task_no_flag","jbe_otchet")
}

public buysbros(id)
{
if(jbe_get_user_money(id) < 100)
{
ColorChat(id, "!y[!gРулетка!y]!g У Вас недостаточно денег, чтобы купить заряд рулетки. !t(Надо 100 Монеток)")
Russian_Ruletka_1(id)
}
else if(jbe_get_user_money(id) > 199)
{
jbe_set_user_money(id, jbe_get_user_money(id)-200, true);
ColorChat(id, "!y[!gРулетка!y]!y !y(Куплено) !gРулетка полностю !tзаряжена")
sbross(id)

}
}

public plugin_cfg()
{
/*
Всё это - регистрация кфг блокнота, для настройки кваров через блокнота.
Используется для удобной настройки, так же можно через сервер.
*/
new szCfgDir[64], szFile[192]
get_configsdir(szCfgDir, charsmax(szCfgDir))
formatex(szFile,charsmax(szFile),"%s/jb_ruletka.cfg",szCfgDir)

if(file_exists(szFile))
server_cmd("exec %s", szFile)
}

public client_authorized(id)
{

//=== При заходе игрока на сервер - включает лохотрон ===
block[id] = false
}

// |Таймер|
public jbe_otchet()
{
/*
Самая важная роль плагина - секундомер, отвечающий за доступ к использованию менюшки (Открытия)
Когда таймер достиг "240 сек." - переадресация на доступ к меню.
*/
arg[0] = 1
set_task(240.0, "exec_funciton", 1, arg, 1)
counter = 1
set_task(1.0, "timer", 0,_,_,"b")
}

public timer()
{
counter++
}


public exec_funciton(arg[],id)
{
if(arg[0] == 1)
{
sbross(id)
}
remove_task(0)
}

public sbross(id)
{
block[id] = false
}

public Russian_Ruletka_1(id)
{
new i_Menu = menu_create("[Меню рулетки]", "menu_handler111");
menu_additem(i_Menu, "\yВойти в \wменю \d~\rрулетки\d~", "1", 0);
menu_additem(i_Menu, "\yКупить \wзаряд \d~\rрулетки\d~ \d[\r10.000 \y$\d]", "2", 0);
menu_additem(i_Menu, "\rБесплатно \wзарядить \d~\rрулетку\d~ \d[\rАдмин\d]", "3", 0);

menu_setprop(i_Menu, MPROP_EXITNAME, "\d[\y|\r EXIT\y |\d]");

menu_display(id, i_Menu, 0)
}
public menu_handler111(id, menu, item) {
if( item < 0 ) return PLUGIN_CONTINUE;
new cmd[3], access, callback;
menu_item_getinfo(menu, item, access, cmd,2,_,_, callback);
new Choise = str_to_num(cmd)
switch (Choise) {
case 1: {
Russian_Ruletka(id)
}
case 2: {
client_cmd(id, "buysbros")
}
case 3: {
client_cmd(id, "sbros")
}
}
return PLUGIN_HANDLED;
}

public admin_sbros(id)
{
if(get_user_flags(id) & ADMIN_IMMUNITY)
{
if(g_Block_1[id] > 0) // Если блок больше 0, то напишет такое сообщение
{
ColorChat(id, "!y[!gАдмин Блок!y] Бесплатно зарядить барабан можно только 1 раз за раунд!!")
return;
}
else
if(g_Block_1[id] == 0)
{
sbross(id)
ColorChat(id, "!y[!gРулетка!y]!y !gРулетка полностю !tзаряжена!")
g_Block_1[id] = Block_1
}
}
else
{
ColorChat(id, "!y[!gАдмин Блок!y]!y У Вас нету !tАдминки")
}
}
/*###########################| Отнимание блока |##########################*/
public round_block_1()
{
for(new hui = 1; hui <=get_maxplayers(); hui++)
{
if(g_Block_1[hui] > 0) g_Block_1[hui]--
}
}
// ########################################################################

public Russian_Ruletka(id)
{
if(!is_user_alive(id))
{
ColorChat(id, "!y[!gРулетка!y] !gТолько для !tживых^1!")
return;
}

if(cs_get_user_team(id) == CS_TEAM_CT)
{
ColorChat(id, "!y[!gРулетка!y] !gДоступно только для зеков!")
return;
}
if(block[id])
{
ColorChat(id, "!y[!gРулетка!y] !gЭнергия рулетки восстановлена: !g%d!y/!g240 !y(!tСекунд!y)", counter/*, get_pcvar_num(cvar_time_ruletka)*/)
Russian_Ruletka_1(id)
return;
}
static menu[1000], len
len = 0

len += formatex(menu[len], charsmax(menu) - len, "\r [\yКрутить рулетку?\r]^n\yСтатус \rрулетки\w: \y[\rЗаряжена\y]^n^n");

len += formatex(menu[len], charsmax(menu) - len, "\w[\r1\w]\r Крутить!^n");
len += formatex(menu[len], charsmax(menu) - len, "\w[\r2\w]\r Выход^n^n");
len += formatex(menu[len], charsmax(menu) - len, "\w[\r3\w]\r Возможные эффекты^n^n");

show_menu(id, KEYS, menu, -1, "Russian_Ruletka_Case");
}

public Russian_Ruletka_Case(id, key)
{
switch(key)
{
case 0:
{
{
new name[32], randomic
get_user_name(id,name,31)

randomic = random_num(0, 221)

set_dhudmessage(TEXT)

if (randomic < 50)
{
show_dhudmessage(0, "%s покрутил барабан и выиграл: Смерть", name)
ColorChat(id, "!y[!gРулетка!y] !gИзвините, Вам выпала !tсмерть")

user_kill(id)
}
else
if (randomic > 50 && randomic < 65)
{
show_dhudmessage(0, "%s покрутил барабан и выиграл: [%d брони] и [%d здоровья]", name, get_pcvar_num(armor), get_pcvar_num(healt))
ColorChat(id, "!y[!gРулетка!y] !gВы выиграли !t%d брони и %d здоровья", get_pcvar_num(armor), get_pcvar_num(healt))
fm_set_user_armor(id, get_pcvar_num(armor))
fm_set_user_health(id, get_pcvar_num(healt))
}
else
if (randomic > 65 && randomic < 70)
{
show_dhudmessage(0, "%s покрутил барабан и выиграл: Глок", name)
ColorChat(id, "!y[!gРулетка!y] !gВы выиграли !tГлок")
fm_give_item(id, "weapon_glock18")
}
else
if (randomic > 70 && randomic < 90)
{
show_dhudmessage(0, "%s покрутил барабан и выиграл: Набор гранат", name)
ColorChat(id, "!y[!gРулетка!y] !gВы выиграли !tВсе гранаты")

fm_give_item(id, "weapon_hegrenade")
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_smokegrenade")
}
else
if (randomic > 90 && randomic < 120)
{
show_dhudmessage(0, "%s покрутил барабан и выиграл: Случайное свечение", name)

ColorChat(id, "!y[!gРулетка!y] !gВы выиграли !tсвечение")
set_user_rendering(id, kRenderFxGlowShell, random_num(0, 255), random_num(0, 255), random_num(0, 255), kRenderNormal, random_num(0, 255) );
svechka = true
}
else
if (randomic > 120 && randomic < 135)
{
show_dhudmessage(0, "%s покрутил барабан и выиграл: Скорость", name)

ColorChat(id, "!y[!gРулетка!y] !gВы выиграли !tСкорость")
set_user_maxspeed(id, 300.0)
}
else
if (randomic > 135 && randomic < 150)
{
show_dhudmessage(0, "%s покрутил барабан и выиграл: Гравитацию", name)

ColorChat(id, "!y[!gРулетка!y] !gВы выиграли !tГравитацию")
set_user_gravity( id, 0.7)
}
else
if (randomic > 150 && randomic < 155)
{
show_dhudmessage(0, "%s покрутил барабан и выиграл: [%d денег]", name, get_pcvar_num(money))

ColorChat(id, "!y[!gРулетка!y] !gВы выиграли !t%d денег", get_pcvar_num(money))
jbe_set_user_money(client, jbe_get_user_money(client)+get_pcvar_num(money), true);
}
else
if (randomic > 150 && randomic < 190)
{
show_dhudmessage(0, "%s покрутил барабан и выиграл: бублик :C", name)

ColorChat(id, "!y[!gРулетка!y] !gВы выиграли !tН И Ч Е Г О !g:C")
}
else
if (randomic > 190 && randomic < 210)
{
show_dhudmessage(0, "%s покрутил барабан и выиграл: -%d здоровья и -%d брони", name, get_pcvar_num(minus_healt), get_pcvar_num(minus_armor))

ColorChat(id, "!y[!gРулетка!y] !gВы выиграли !t -%d здоровья и -%d брони !g:C", get_pcvar_num(minus_healt), get_pcvar_num(minus_armor))
set_user_health(id,get_user_health(id)-get_pcvar_num(minus_healt))
set_user_armor(id,get_user_armor(id)-get_pcvar_num(minus_armor))
}
else
if (randomic > 210 && randomic < 220)
{
show_dhudmessage(0, "%s покрутил барабан и выиграл: -%d $", name, get_pcvar_num(minus_money))

ColorChat(id, "!y[!gРулетка!y] !gВы выиграли !t-%d $!g:C", get_pcvar_num(minus_money))
jbe_set_user_money(client, jbe_get_user_money(client)-get_pcvar_num(minus_money), true);
}
else
if (randomic > 220 && randomic < 221)
{
show_dhudmessage(0, "%s покрутил барабан и выиграл: JACKPOT!!! С шансом 1 процент!!!", name)

ColorChat(id, "!y[!gРулетка!y] !gВы выиграли JACKPOT!! - !yПолучаете все эффекты в двойне C:")
jbe_set_user_money(client, jbe_get_user_money(client)+300, true);

fm_set_user_armor(id, 255)
fm_set_user_health(id, 255)
fm_give_item(id, "weapon_hegrenade")
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_smokegrenade")
fm_give_item(id, "weapon_galil")
set_user_maxspeed(id, 311.0)
set_user_gravity( id, 0.9)


}
}
remove_task(0)
block[id] = true
jbe_otchet()
}
case 1:
{
ColorChat(id, "!y[!gРулетка!y] !gНу ничего, боишься - не играй.")
}
case 2:
{
opisanie(id)
}
}
}

//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
public opisanie(id)
{

static menu[1000], len
len = 0

len += formatex(menu[len], charsmax(menu) - len, "\d[\rМеню \yэффектов\d]^n");
len += formatex(menu[len], charsmax(menu) - len, "\w[\r1\w] Позитивные эффекты^n\w[\r2\w] Негативные эффекты^n\w[\r3\w] Назад в рулетку^n^n");

show_menu(id, KEYS, menu, -1, "opisanie_case");
}

public opisanie_case(id, key)
{
switch(key)
{
case 0:
{
pozitif(id)
}
case 1:
{
negatif(id)
}
case 2:
{
client_cmd(id, "say /lox")
}
}
}
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
public pozitif(id)
{

static menu[1000], len
len = 0



len += formatex(menu[len], charsmax(menu) - len, "\d[\rМеню \yпозитивных эффектов\d]^n");

len += formatex(menu[len], charsmax(menu) - len, "\w[\r1\w] Позитивные эффекты^n\w[\r2\w] Негативные эффекты^n\w[\r3\w] Назад в рулетку^n^n");

len = formatex(menu[len], charsmax(menu) - len, "\d[01]\r JACKPOT - все бонусы в двойне^n\d[30] \rСвечение^n\d[15] \r%d брони и %d здоровья^n\d[05] \rДвойные пистолеты^n\d[20] \rНабор гранат^n\d[15]\r Гравитация^n\d[15]\r Скорость^n\d[05]\r %d $^n^n^n", get_pcvar_num(armor), get_pcvar_num(healt), get_pcvar_num(money));

show_menu(id, KEYS, menu, -1, "opisanie_case");
}


//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
public negatif(id)
{

static menu[1000], len
len = 0



len += formatex(menu[len], charsmax(menu) - len, "\d[\rМеню \yнегативных эффектов\d]^n");

len += formatex(menu[len], charsmax(menu) - len, "\w[\r1\w] Позитивные эффекты^n\w[\r2\w] Негативные эффекты^n\w[\r3\w] Назад в рулетку^n^n");

len = formatex(menu[len], charsmax(menu) - len, "\d[50] \rСмерть ^n\d[40] \rНичего^n\d[20]\r -%d здоровья^n\d[20]\r -%d брони^n\d[10]\r -%d $", get_pcvar_num(minus_armor), get_pcvar_num(minus_healt), get_pcvar_num(minus_money));

show_menu(id, KEYS, menu, -1, "opisanie_case");
}

//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

public Spawns(id)
{
// (Когда отловили спавн игрока) Выдаёт данную функцию:
if(!svechka)
{
return;
}
else
{
set_task(0.1, "offsvechka", id)
}
}

public offsvechka(id)
{
// При спавне игрока, даёт стандарт цвет, чтобы не багалось если выпало свечение
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderNormal, 25 );
}

// Замена колор чата, у меня с ним проблемы, решил делать по старому
stock ColorChat(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, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}


Отредактировал: iShot, - 19.4.2016, 21:09
Причина: Выдано устное предупреждение!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя DRIVE37
сообщение 21.4.2016, 19:27
Сообщение #2


Стаж: 11 лет

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

Размер массива пробовал менять тоже толку ноль, просто так подсказали, инклуд тоже ставил другой, не в нем дело. Ребят помогите пожалуйста
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mapcreator
сообщение 22.4.2016, 16:24
Сообщение #3


Стаж: 11 лет

Сообщений: 42
Благодарностей: 31
Полезность: 530

Cкрытый текст
1) готово. просто ошибка была в последовательности включения инклудов:
#include <amxmodx> - должен первым идти
2) во вторых были ошибки при компиляции. вроде пофиксил. скомпилируй и тести

Код:
#include <amxmodx>   // Core | Ядро
#include <amxmisc>
#include <cstrike>
#include <fun> // Отвечает за выдачу денег, хп и много чего (Аналог f_u)
#include <fakemeta_util>// Выдача скорости и гравитации и хп/брони (Установка точнее)
#include <dhudmessage> // Отвечает за Hud
#include <hamsandwich> // Отвечает за Ham''ы (Спавн плайер)
#include <fakemeta> // Вычесление, правда не помню чего ^-^

native jbe_get_user_money(client); //Получить деньги игрока.
native jbe_set_user_money(client, count, flash); //Установить деньги игроку.

// ============================ Кординаты Худа==================================================
#define TEXT 255, 0, 100, 0.15, 0.2, 1, 0.0, 0.5, 1.0, 1.0 -1

// ============================== Меню (Регистрация) ===========================================
const KEYS = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN
U_KEY_8|MENU_KEY_9|MENU_KEY_0


// ###################### Регистрация Кваров, Таймера и Сброса цвета при спавне ###################################################
new money, armor, healt, svechka, counter /* Дальше регистрация кваров, отним. эффектов:*/, minus_armor, minus_healt, minus_money

// ################################ Регистрация Блока и Таймера ###################################################################
new block[33]
new arg[1]
new g_Block_1[33]
const Block_1 = 1 // .: Через сколько можно брать FreeRuletky для админов :. | 1 - через 1 раунд | .:

public plugin_init()
{
register_plugin("JBE_Рулетка", "3.3", "ToJI9IHGaa") // Регистрация плагина

//================ Отлов момента спавна игрока и переадресация на функцию =================
RegisterHam(Ham_Spawn, "player", "Spawns", 1)

//====================== Регистрация вызова меню рулетки ==================================
register_clcmd("say /ruletka", "Russian_Ruletka_1")
register_clcmd("say /baraban", "Russian_Ruletka_1")
register_clcmd("say /rul", "Russian_Ruletka_1")
register_clcmd("say /lox", "Russian_Ruletka_1")
register_clcmd("ruletka", "Russian_Ruletka_1")
register_clcmd("lox", "Russian_Ruletka_1")
register_clcmd("say /лохотрон", "Russian_Ruletka_1")
register_clcmd("say /рулетка", "Russian_Ruletka_1")
register_clcmd("say /барабан", "Russian_Ruletka_1")

//================== Регистрация Команды для сброса таймера (Админ кмд) ===================
register_clcmd("say /sbros", "admin_sbros")
register_clcmd("sbros", "admin_sbros")
register_clcmd("say /сброс", "admin_sbros")
//================ Регистрация Команды для сброса таймера (за деньги) =====================
register_clcmd("say /buysbros", "buysbros")
register_clcmd("buysbros", "buysbros")

//==================== Регистрация меню и кейсов ============================
register_menu("Russian_Ruletka", KEYS, "Russian_Ruletka_Case")
register_menu("opisanie", KEYS, "opisanie_case")

//================ Отлов старта раунда и переадресация на функцию ===========
register_logevent("round_block_1", 2, "1=Round_Start")

//========================== Регистрация кваров =============================
money = register_cvar("jb_money_ruletka", "10000") //Сколько давать денег в выиграше
armor = register_cvar("jb_armor_ruletka", "200") //Сколько давать брони в выиграше
healt = register_cvar("jb_healt_ruletka", "200") //Сколько давать жизней в выиграше
minus_healt = register_cvar("jb_minus_healt_ruletka", "20") //Сколько отнимать жизней в выиграше
minus_armor = register_cvar("jb_minus_armor_ruletka", "40") //Сколько отнимать жизней в выиграше
minus_money = register_cvar("jb_minus_money_ruletka", "4000") //Сколько отнимать жизней в выиграше

//================ Регистрация типа таймера и самого таймера ================
register_concmd("task_no_flag","jbe_otchet")
}

public buysbros(id)
{
if(jbe_get_user_money(id) < 100)
{
ColorChat(id, "!y[!gРулетка!y]!g У Вас недостаточно денег, чтобы купить заряд рулетки. !t(Надо 100 Монеток)")
Russian_Ruletka_1(id)
}
else if(jbe_get_user_money(id) > 199)
{
jbe_set_user_money(id, jbe_get_user_money(id)-200, true);
ColorChat(id, "!y[!gРулетка!y]!y !y(Куплено) !gРулетка полностю !tзаряжена")
sbross(id)

}
}

public plugin_cfg()
{
/*
Всё это - регистрация кфг блокнота, для настройки кваров через блокнота.
Используется для удобной настройки, так же можно через сервер.
*/
new szCfgDir[64], szFile[192]
get_configsdir(szCfgDir, charsmax(szCfgDir))
formatex(szFile,charsmax(szFile),"%s/jb_ruletka.cfg",szCfgDir)

if(file_exists(szFile))
server_cmd("exec %s", szFile)
}

public client_authorized(id)
{

//=== При заходе игрока на сервер - включает лохотрон ===
block[id] = false
}

// |Таймер|
public jbe_otchet()
{
/*
Самая важная роль плагина - секундомер, отвечающий за доступ к использованию менюшки (Открытия)
Когда таймер достиг "240 сек." - переадресация на доступ к меню.
*/
arg[0] = 1
set_task(240.0, "exec_funciton", 1, arg, 1)
counter = 1
set_task(1.0, "timer", 0,_,_,"b")
}

public timer()
{
counter++
}


public exec_funciton(arg[],id)
{
if(arg[0] == 1)
{
sbross(id)
}
remove_task(0)
}

public sbross(id)
{
block[id] = false
}

public Russian_Ruletka_1(id)
{
new i_Menu = menu_create("[Меню рулетки]", "menu_handler111");
menu_additem(i_Menu, "\yВойти в \wменю \d~\rрулетки\d~", "1", 0);
menu_additem(i_Menu, "\yКупить \wзаряд \d~\rрулетки\d~ \d[\r10.000 \y$\d]", "2", 0);
menu_additem(i_Menu, "\rБесплатно \wзарядить \d~\rрулетку\d~ \d[\rАдмин\d]", "3", 0);

menu_setprop(i_Menu, MPROP_EXITNAME, "\d[\y|\r EXIT\y |\d]");

menu_display(id, i_Menu, 0)
}
public menu_handler111(id, menu, item) {
if( item < 0 ) return PLUGIN_CONTINUE;
new cmd[3], access, callback;
menu_item_getinfo(menu, item, access, cmd,2,_,_, callback);
new Choise = str_to_num(cmd)
switch (Choise) {
case 1: {
Russian_Ruletka(id)
}
case 2: {
client_cmd(id, "buysbros")
}
case 3: {
client_cmd(id, "sbros")
}
}
return PLUGIN_HANDLED;
}

public admin_sbros(id)
{
if(get_user_flags(id) & ADMIN_IMMUNITY)
{
if(g_Block_1[id] > 0) // Если блок больше 0, то напишет такое сообщение
{
ColorChat(id, "!y[!gАдмин Блок!y] Бесплатно зарядить барабан можно только 1 раз за раунд!!")
return;
}
else
if(g_Block_1[id] == 0)
{
sbross(id)
ColorChat(id, "!y[!gРулетка!y]!y !gРулетка полностю !tзаряжена!")
g_Block_1[id] = Block_1
}
}
else
{
ColorChat(id, "!y[!gАдмин Блок!y]!y У Вас нету !tАдминки")
}
}
/*###########################| Отнимание блока |##########################*/
public round_block_1()
{
for(new hui = 1; hui <=get_maxplayers(); hui++)
{
if(g_Block_1[hui] > 0) g_Block_1[hui]--
}
}
// ########################################################################

public Russian_Ruletka(id)
{
if(!is_user_alive(id))
{
ColorChat(id, "!y[!gРулетка!y] !gТолько для !tживых^1!")
return;
}

if(cs_get_user_team(id) == CS_TEAM_CT)
{
ColorChat(id, "!y[!gРулетка!y] !gДоступно только для зеков!")
return;
}
if(block[id])
{
ColorChat(id, "!y[!gРулетка!y] !gЭнергия рулетки восстановлена: !g%d!y/!g240 !y(!tСекунд!y)", counter/*, get_pcvar_num(cvar_time_ruletka)*/)
Russian_Ruletka_1(id)
return;
}
static menu[1000], len
len = 0

len += formatex(menu[len], charsmax(menu) - len, "\r [\yКрутить рулетку?\r]^n\yСтатус \rрулетки\w: \y[\rЗаряжена\y]^n^n");

len += formatex(menu[len], charsmax(menu) - len, "\w[\r1\w]\r Крутить!^n");
len += formatex(menu[len], charsmax(menu) - len, "\w[\r2\w]\r Выход^n^n");
len += formatex(menu[len], charsmax(menu) - len, "\w[\r3\w]\r Возможные эффекты^n^n");

show_menu(id, KEYS, menu, -1, "Russian_Ruletka_Case");
}

public Russian_Ruletka_Case(id, key)
{
switch(key)
{
case 0:
{
{
new name[32], randomic
get_user_name(id,name,31)

randomic = random_num(0, 221)

set_dhudmessage(TEXT)

if (randomic < 50)
{
show_dhudmessage(0, "%s покрутил барабан и выиграл: Смерть", name)
ColorChat(id, "!y[!gРулетка!y] !gИзвините, Вам выпала !tсмерть")

user_kill(id)
}
else
if (randomic > 50 && randomic < 65)
{
show_dhudmessage(0, "%s покрутил барабан и выиграл: [%d брони] и [%d здоровья]", name, get_pcvar_num(armor), get_pcvar_num(healt))
ColorChat(id, "!y[!gРулетка!y] !gВы выиграли !t%d брони и %d здоровья", get_pcvar_num(armor), get_pcvar_num(healt))
fm_set_user_armor(id, get_pcvar_num(armor))
fm_set_user_health(id, get_pcvar_num(healt))
}
else
if (randomic > 65 && randomic < 70)
{
show_dhudmessage(0, "%s покрутил барабан и выиграл: Глок", name)
ColorChat(id, "!y[!gРулетка!y] !gВы выиграли !tГлок")
fm_give_item(id, "weapon_glock18")
}
else
if (randomic > 70 && randomic < 90)
{
show_dhudmessage(0, "%s покрутил барабан и выиграл: Набор гранат", name)
ColorChat(id, "!y[!gРулетка!y] !gВы выиграли !tВсе гранаты")

fm_give_item(id, "weapon_hegrenade")
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_smokegrenade")
}
else
if (randomic > 90 && randomic < 120)
{
show_dhudmessage(0, "%s покрутил барабан и выиграл: Случайное свечение", name)

ColorChat(id, "!y[!gРулетка!y] !gВы выиграли !tсвечение")
set_user_rendering(id, kRenderFxGlowShell, random_num(0, 255), random_num(0, 255), random_num(0, 255), kRenderNormal, random_num(0, 255) );
svechka = true
}
else
if (randomic > 120 && randomic < 135)
{
show_dhudmessage(0, "%s покрутил барабан и выиграл: Скорость", name)

ColorChat(id, "!y[!gРулетка!y] !gВы выиграли !tСкорость")
set_user_maxspeed(id, 300.0)
}
else
if (randomic > 135 && randomic < 150)
{
show_dhudmessage(0, "%s покрутил барабан и выиграл: Гравитацию", name)

ColorChat(id, "!y[!gРулетка!y] !gВы выиграли !tГравитацию")
set_user_gravity( id, 0.7)
}
else
if (randomic > 150 && randomic < 155)
{
show_dhudmessage(0, "%s покрутил барабан и выиграл: [%d денег]", name, get_pcvar_num(money))

ColorChat(id, "!y[!gРулетка!y] !gВы выиграли !t%d денег", get_pcvar_num(money))
jbe_set_user_money(id, jbe_get_user_money(id)+get_pcvar_num(money), true);
}
else
if (randomic > 150 && randomic < 190)
{
show_dhudmessage(0, "%s покрутил барабан и выиграл: бублик :C", name)

ColorChat(id, "!y[!gРулетка!y] !gВы выиграли !tН И Ч Е Г О !g:C")
}
else
if (randomic > 190 && randomic < 210)
{
show_dhudmessage(0, "%s покрутил барабан и выиграл: -%d здоровья и -%d брони", name, get_pcvar_num(minus_healt), get_pcvar_num(minus_armor))

ColorChat(id, "!y[!gРулетка!y] !gВы выиграли !t -%d здоровья и -%d брони !g:C", get_pcvar_num(minus_healt), get_pcvar_num(minus_armor))
set_user_health(id,get_user_health(id)-get_pcvar_num(minus_healt))
set_user_armor(id,get_user_armor(id)-get_pcvar_num(minus_armor))
}
else
if (randomic > 210 && randomic < 220)
{
show_dhudmessage(0, "%s покрутил барабан и выиграл: -%d $", name, get_pcvar_num(minus_money))

ColorChat(id, "!y[!gРулетка!y] !gВы выиграли !t-%d $!g:C", get_pcvar_num(minus_money))
jbe_set_user_money(id, jbe_get_user_money(id)-get_pcvar_num(minus_money), true);
}
else
if (randomic > 220 && randomic < 221)
{
show_dhudmessage(0, "%s покрутил барабан и выиграл: JACKPOT!!! С шансом 1 процент!!!", name)

ColorChat(id, "!y[!gРулетка!y] !gВы выиграли JACKPOT!! - !yПолучаете все эффекты в двойне C:")
jbe_set_user_money(id, jbe_get_user_money(id)+300, true);

fm_set_user_armor(id, 255)
fm_set_user_health(id, 255)
fm_give_item(id, "weapon_hegrenade")
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_smokegrenade")
fm_give_item(id, "weapon_galil")
set_user_maxspeed(id, 311.0)
set_user_gravity( id, 0.9)


}
}
remove_task(0)
block[id] = true
jbe_otchet()
}
case 1:
{
ColorChat(id, "!y[!gРулетка!y] !gНу ничего, боишься - не играй.")
}
case 2:
{
opisanie(id)
}
}
}

//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
public opisanie(id)
{

static menu[1000], len
len = 0

len += formatex(menu[len], charsmax(menu) - len, "\d[\rМеню \yэффектов\d]^n");
len += formatex(menu[len], charsmax(menu) - len, "\w[\r1\w] Позитивные эффекты^n\w[\r2\w] Негативные эффекты^n\w[\r3\w] Назад в рулетку^n^n");

show_menu(id, KEYS, menu, -1, "opisanie_case");
}

public opisanie_case(id, key)
{
switch(key)
{
case 0:
{
pozitif(id)
}
case 1:
{
negatif(id)
}
case 2:
{
client_cmd(id, "say /lox")
}
}
}
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
public pozitif(id)
{

static menu[1000], len
len = 0



len += formatex(menu[len], charsmax(menu) - len, "\d[\rМеню \yпозитивных эффектов\d]^n");

len += formatex(menu[len], charsmax(menu) - len, "\w[\r1\w] Позитивные эффекты^n\w[\r2\w] Негативные эффекты^n\w[\r3\w] Назад в рулетку^n^n");

len = formatex(menu[len], charsmax(menu) - len, "\d[01]\r JACKPOT - все бонусы в двойне^n\d[30] \rСвечение^n\d[15] \r%d брони и %d здоровья^n\d[05] \rДвойные пистолеты^n\d[20] \rНабор гранат^n\d[15]\r Гравитация^n\d[15]\r Скорость^n\d[05]\r %d $^n^n^n", get_pcvar_num(armor), get_pcvar_num(healt), get_pcvar_num(money));

show_menu(id, KEYS, menu, -1, "opisanie_case");
}


//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
public negatif(id)
{

static menu[1000], len
len = 0



len += formatex(menu[len], charsmax(menu) - len, "\d[\rМеню \yнегативных эффектов\d]^n");

len += formatex(menu[len], charsmax(menu) - len, "\w[\r1\w] Позитивные эффекты^n\w[\r2\w] Негативные эффекты^n\w[\r3\w] Назад в рулетку^n^n");

len = formatex(menu[len], charsmax(menu) - len, "\d[50] \rСмерть ^n\d[40] \rНичего^n\d[20]\r -%d здоровья^n\d[20]\r -%d брони^n\d[10]\r -%d $", get_pcvar_num(minus_armor), get_pcvar_num(minus_healt), get_pcvar_num(minus_money));

show_menu(id, KEYS, menu, -1, "opisanie_case");
}

//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

public Spawns(id)
{
// (Когда отловили спавн игрока) Выдаёт данную функцию:
if(!svechka)
{
return;
}
else
{
set_task(0.1, "offsvechka", id)
}
}

public offsvechka(id)
{
// При спавне игрока, даёт стандарт цвет, чтобы не багалось если выпало свечение
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderNormal, 25 );
}

// Замена колор чата, у меня с ним проблемы, решил делать по старому
stock ColorChat(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, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}


Отредактировал: iShot, - 22.4.2016, 17:10
Причина: Выдано устное предупреждение!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndrewZ
сообщение 22.4.2016, 16:33
Сообщение #4


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

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


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

И в какой же строке ошибка


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mapcreator
сообщение 22.4.2016, 16:50
Сообщение #5


Стаж: 11 лет

Сообщений: 42
Благодарностей: 31
Полезность: 530

какую именно ошибку имеешь в виду?
эту?
fatal error 110: assertion failed: 0
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя hookigood
сообщение 7.7.2016, 22:56
Сообщение #6
Стаж: 10 лет

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

Ошибка полагала в том, что модули не правильно были расписаны!
Прикрепленное изображение


Подробные изменения -> https://www.diffchecker.com/tu5yht6z
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: