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

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

Новости

30-дек
29-дек
26-дек
15-дек

2 страниц V   1 2

ZP MiniBoss

Статус пользователя s0h
сообщение 5.10.2014, 14:17
Сообщение #21


Стаж: 8 лет 8 месяцев

Сообщений: 664
Благодарностей: 892
Полезность: 1108

Цитата(filip @ 5.10.2014, 13:34) *
Спасибо, т.е. в этом примере шанс 1 к 35, так?

Да
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Grims
сообщение 5.1.2015, 19:51
Сообщение #22
Стаж: 2 года 9 месяцев

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

попробую поставить smile.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 21.2.2015, 15:25
Сообщение #23


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

Стаж: 7 лет

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

Не компилируется
zp_set_user_money и zp_get_user_money не понимает, тут можно заменить на cs_set_user_money и cs_get_user_money
А это еще
Код:
// E:\srv\cstrike\addons\amxmodx\srv\include\fakemeta_const.inc(309) : error 021
: symbol already defined: "pev_origin"


Гнилой фашистской нечисти
Загоним пулю в лоб,
Отродью человечества
Сколотим крепкий гроб!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя s0h
сообщение 22.2.2015, 13:42
Сообщение #24


Стаж: 8 лет 8 месяцев

Сообщений: 664
Благодарностей: 892
Полезность: 1108

Цитата(Fred Perry @ 21.2.2015, 15:25) *
Не компилируется
zp_set_user_money и zp_get_user_money не понимает, тут можно заменить на cs_set_user_money и cs_get_user_money
А это еще
Код:
// E:\srv\cstrike\addons\amxmodx\srv\include\fakemeta_const.inc(309) : error 021
: symbol already defined: "pev_origin"

Всё компилируется. Библиотеку свою с деньгами подключи(и выруби myaddon30), и замени функции денег на свои.

Где ты pev_origin нашёл в этом плагине?
Прикрепленное изображение

Отредактировал: s0h, - 22.2.2015, 13:44
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 22.2.2015, 13:57
Сообщение #25


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

Стаж: 7 лет

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

s0h, Не знаю в чем прикол, но у меня не компилирует.


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


Стаж: 8 лет 8 месяцев

Сообщений: 664
Благодарностей: 892
Полезность: 1108

Цитата(Fred Perry @ 22.2.2015, 13:57) *
s0h, Не знаю в чем прикол, но у меня не компилирует.

Ванговать не могу. Кидай код :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 22.2.2015, 17:59
Сообщение #27


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

Стаж: 7 лет

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

s0h, я компилировал стандартный исходник даже

вот мой
Код:
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <zombieplague>
//#include <myaddon30>
#include <cstrike>
#include <fun>
#include <fakemeta>

//LOGS
#define LOGS //comment if don't wont logs
#define FILE_NAME "miniboss.txt"
//END LOGS

//ETC
#define KILL_MONEY 3000 //How much money give for player when he kill boss.
#define KILL_AMMOPACK 3 //How much AP give for player when he kill boss.
#define HP_MINIBOSS 5000 //Add HP to Mini Boss

new map[32]
new g_maxplayers;
new g_countminiboss;
new g_MiniBoss[33];
new count_zombieDie;

const OFFSET_LINUX = 5
const OFFSET_PAINSHOCK = 108 // ConnorMcLeod

public plugin_init()
{
register_plugin("Mini Boss", "1.0", "s0h")

RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage_Post", 1)

g_maxplayers = get_maxplayers()

#if defined LOGS
get_mapname(map, 31)
log_to_file(FILE_NAME, "START %s", map)
#endif
}

public plugin_natives()
register_native("szp_get_miniboss", "native_get_mboss", 1)

public native_get_mboss(id)
return g_MiniBoss[id]

public zp_round_ended()
{
for(new i = 1; i <= g_maxplayers; i++)
{
if(g_MiniBoss[i])
{
g_MiniBoss[i] = false;
g_countminiboss = 0;
}
}
}

public fw_TakeDamage_Post(id)
{
if (!is_user_alive(id) || !zp_get_user_zombie(id) || !g_MiniBoss[id])
return HAM_IGNORED

set_pdata_float(id, OFFSET_PAINSHOCK, 1.0, OFFSET_LINUX)

return HAM_IGNORED
}

public zp_user_humanized_pre(id)
{
if(g_MiniBoss[id])
{
g_MiniBoss[id] = false;
g_countminiboss = 0;
}
}

public fw_PlayerKilled(victim, attacker, shouldgib)
{
if(g_MiniBoss[victim])
{
g_MiniBoss[victim] = false;
g_countminiboss = 0;

cs_set_user_money(attacker, cs_get_user_money(attacker) + KILL_MONEY, 1)
zp_set_user_ammo_packs(attacker, zp_get_user_ammo_packs(attacker) + KILL_AMMOPACK)

new name[32]
get_user_name(attacker, name, charsmax(name));
print_col_chat( 0,"^4[ZP]^3 %s ^1убил ^4мини-босса^1. Награда:^4 %s$ ^1и ^4%s Аммо-Пака", name, KILL_MONEY, KILL_AMMOPACK + 3)

#if defined LOGS
log_to_file(FILE_NAME, "%s убил мини-босса [%s]",name, map)
#endif

}

if(zp_get_user_zombie(victim)) count_zombieDie++;
}


rnd_do(num1, num2, const res)
{
new rnd = random_num(num1, num2)

//client_print(0, print_chat, "DEBUG [NUM1: %d, NUM2: %d, RES: %d", num1, num2, rnd)

if(rnd == res)
{
#if defined LOGS
log_to_file(FILE_NAME, "Random true: (NUM1 - %d) (NUM2 - %d) (RES - %d) [%s]", num1, num2, res, map)
#endif

return true;
}
return false;
}

public zp_user_infected_post( id, infector, nemesis )
{
if ( nemesis ) return;

new bool:doLittleBoss = false;

if(count_zombieDie > 250)
{
if(rnd_do(0,15,15))
doLittleBoss = true;
}
else if(count_zombieDie > 100)
{
if(rnd_do(0,25,25))
doLittleBoss = true;
}
else if(count_zombieDie < 100)
{
if(rnd_do(0,35,35))
doLittleBoss = true;
}

if( doLittleBoss && (zp_get_human_count() >= 24) && g_countminiboss == 0 && zp_get_zombie_count() > 1)
{
new l_name[32];
get_user_name(id, l_name, 31);
g_MiniBoss[id] = true;
g_countminiboss++;

set_hudmessage(200, 66, 66, -1.0, 0.2, 0, 2.0, 4.0)
show_hudmessage(0, "%s стал МИНИ-БОССОМ!", l_name)

set_user_health(id, get_user_health(id) + HP_MINIBOSS)

#if defined LOGS
log_to_file(FILE_NAME, "%s стал МИНИ-БОССОМ [%s]",l_name, map)
#endif

set_task(0.1, "aura", id, _, _, "b");
}
}

public aura(id)
{
// Not nemesis, not in zombie madness
if (!g_MiniBoss[id])
{
// Task not needed anymore
remove_task();
return;
}
// Get player's origin
static origin[3]
get_user_origin(id, origin)

// Colored Aura
message_begin(MSG_PVS, SVC_TEMPENTITY, origin)
write_byte(TE_DLIGHT) // TE id
write_coord(origin[0]) // x
write_coord(origin[1]) // y
write_coord(origin[2]) // z
write_byte(12) // radius
write_byte(220) // r
write_byte(66) // g
write_byte(66) // b
write_byte(2) // life
write_byte(0) // decay rate
message_end()
}

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, get_user_msgid("SayText"), _, players[i]);
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}


Гнилой фашистской нечисти
Загоним пулю в лоб,
Отродью человечества
Сколотим крепкий гроб!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя s0h
сообщение 25.2.2015, 19:07
Сообщение #28


Стаж: 8 лет 8 месяцев

Сообщений: 664
Благодарностей: 892
Полезность: 1108

Цитата(Fred Perry @ 22.2.2015, 17:59) *
s0h, я компилировал стандартный исходник даже

вот мой
Код:
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <zombieplague>
//#include <myaddon30>
#include <cstrike>
#include <fun>
#include <fakemeta>

//LOGS
#define LOGS //comment if don't wont logs
#define FILE_NAME "miniboss.txt"
//END LOGS

//ETC
#define KILL_MONEY 3000 //How much money give for player when he kill boss.
#define KILL_AMMOPACK 3 //How much AP give for player when he kill boss.
#define HP_MINIBOSS 5000 //Add HP to Mini Boss

new map[32]
new g_maxplayers;
new g_countminiboss;
new g_MiniBoss[33];
new count_zombieDie;

const OFFSET_LINUX = 5
const OFFSET_PAINSHOCK = 108 // ConnorMcLeod

public plugin_init()
{
register_plugin("Mini Boss", "1.0", "s0h")

RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage_Post", 1)

g_maxplayers = get_maxplayers()

#if defined LOGS
get_mapname(map, 31)
log_to_file(FILE_NAME, "START %s", map)
#endif
}

public plugin_natives()
register_native("szp_get_miniboss", "native_get_mboss", 1)

public native_get_mboss(id)
return g_MiniBoss[id]

public zp_round_ended()
{
for(new i = 1; i <= g_maxplayers; i++)
{
if(g_MiniBoss[i])
{
g_MiniBoss[i] = false;
g_countminiboss = 0;
}
}
}

public fw_TakeDamage_Post(id)
{
if (!is_user_alive(id) || !zp_get_user_zombie(id) || !g_MiniBoss[id])
return HAM_IGNORED

set_pdata_float(id, OFFSET_PAINSHOCK, 1.0, OFFSET_LINUX)

return HAM_IGNORED
}

public zp_user_humanized_pre(id)
{
if(g_MiniBoss[id])
{
g_MiniBoss[id] = false;
g_countminiboss = 0;
}
}

public fw_PlayerKilled(victim, attacker, shouldgib)
{
if(g_MiniBoss[victim])
{
g_MiniBoss[victim] = false;
g_countminiboss = 0;

cs_set_user_money(attacker, cs_get_user_money(attacker) + KILL_MONEY, 1)
zp_set_user_ammo_packs(attacker, zp_get_user_ammo_packs(attacker) + KILL_AMMOPACK)

new name[32]
get_user_name(attacker, name, charsmax(name));
print_col_chat( 0,"^4[ZP]^3 %s ^1убил ^4мини-босса^1. Награда:^4 %s$ ^1и ^4%s Аммо-Пака", name, KILL_MONEY, KILL_AMMOPACK + 3)

#if defined LOGS
log_to_file(FILE_NAME, "%s убил мини-босса [%s]",name, map)
#endif

}

if(zp_get_user_zombie(victim)) count_zombieDie++;
}


rnd_do(num1, num2, const res)
{
new rnd = random_num(num1, num2)

//client_print(0, print_chat, "DEBUG [NUM1: %d, NUM2: %d, RES: %d", num1, num2, rnd)

if(rnd == res)
{
#if defined LOGS
log_to_file(FILE_NAME, "Random true: (NUM1 - %d) (NUM2 - %d) (RES - %d) [%s]", num1, num2, res, map)
#endif

return true;
}
return false;
}

public zp_user_infected_post( id, infector, nemesis )
{
if ( nemesis ) return;

new bool:doLittleBoss = false;

if(count_zombieDie > 250)
{
if(rnd_do(0,15,15))
doLittleBoss = true;
}
else if(count_zombieDie > 100)
{
if(rnd_do(0,25,25))
doLittleBoss = true;
}
else if(count_zombieDie < 100)
{
if(rnd_do(0,35,35))
doLittleBoss = true;
}

if( doLittleBoss && (zp_get_human_count() >= 24) && g_countminiboss == 0 && zp_get_zombie_count() > 1)
{
new l_name[32];
get_user_name(id, l_name, 31);
g_MiniBoss[id] = true;
g_countminiboss++;

set_hudmessage(200, 66, 66, -1.0, 0.2, 0, 2.0, 4.0)
show_hudmessage(0, "%s стал МИНИ-БОССОМ!", l_name)

set_user_health(id, get_user_health(id) + HP_MINIBOSS)

#if defined LOGS
log_to_file(FILE_NAME, "%s стал МИНИ-БОССОМ [%s]",l_name, map)
#endif

set_task(0.1, "aura", id, _, _, "b");
}
}

public aura(id)
{
// Not nemesis, not in zombie madness
if (!g_MiniBoss[id])
{
// Task not needed anymore
remove_task();
return;
}
// Get player's origin
static origin[3]
get_user_origin(id, origin)

// Colored Aura
message_begin(MSG_PVS, SVC_TEMPENTITY, origin)
write_byte(TE_DLIGHT) // TE id
write_coord(origin[0]) // x
write_coord(origin[1]) // y
write_coord(origin[2]) // z
write_byte(12) // radius
write_byte(220) // r
write_byte(66) // g
write_byte(66) // b
write_byte(2) // life
write_byte(0) // decay rate
message_end()
}

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, get_user_msgid("SayText"), _, players[i]);
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}

Компильнул. Ошибок нет.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Excessus
сообщение 25.2.2015, 20:08
Сообщение #29


Стаж: 3 года 9 месяцев

Сообщений: 240
Благодарности: выкл.

Цитата(Fred Perry @ 22.2.2015, 15:57) *
s0h, Не знаю в чем прикол, но у меня не компилирует.

Может инклюда не хватает?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
2 страниц V   1 2
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: