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

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

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

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

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

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

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

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

Ошибки с зомби модом 1.6.1

Статус пользователя vetelek
сообщение 12.1.2015, 23:29
Сообщение #1
Стаж: 12 лет

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

Здравствуйте, Ребятки, большая просьба помогите пожалуйста очень прошу вас , у меня такая проблема , поставил ZombieMoD 1.6.1 сервер off , вот сиходник Прикрепленный файл  zmpladv.sma ( 418,28 килобайт ) Кол-во скачиваний: 4

вот логи


<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable"></div></div><div class="sp-body"><div class="sp-content">L 01/12/2015 - 08:50:14: Info (map "zm_flota_nuke") (file "addons/amxmodx/logs/error_20150112.log")
L 01/12/2015 - 08:50:14: [AMXX] Displaying debug trace (plugin "zmpladv.amxx")
L 01/12/2015 - 08:50:14: [AMXX] Run time error 4: index out of bounds
L 01/12/2015 - 08:50:14: [AMXX] [0] phpo9Pbuv.sma::fw_PlayerKilled (line 2518)
L 01/12/2015 - 09:41:48: [AMXX] Displaying debug trace (plugin "zmpladv.amxx")
L 01/12/2015 - 09:41:48: [AMXX] Run time error 4: index out of bounds
L 01/12/2015 - 09:41:48: [AMXX] [0] phpo9Pbuv.sma::fw_PlayerKilled (line 2518)
L 01/12/2015 - 10:56:42: Start of error session.
L 01/12/2015 - 10:56:42: Info (map "zm_dust") (file "addons/amxmodx/logs/error_20150112.log")
L 01/12/2015 - 10:56:42: [AMXX] Displaying debug trace (plugin "zmpladv.amxx")
L 01/12/2015 - 10:56:42: [AMXX] Run time error 4: index out of bounds
L 01/12/2015 - 10:56:42: [AMXX] [0] phpo9Pbuv.sma::fw_PlayerKilled (line 2518)
L 01/12/2015 - 11:05:56: [AMXX] Displaying debug trace (plugin "zmpladv.amxx")
L 01/12/2015 - 11:05:56: [AMXX] Run time error 4: index out of bounds
L 01/12/2015 - 11:05:56: [AMXX] [0] phpo9Pbuv.sma::fw_PlayerKilled (line 2518)
L 01/12/2015 - 11:11:03: String formatted incorrectly - parameter 7 (total 6)
L 01/12/2015 - 11:11:03: [AMXX] Displaying debug trace (plugin "zmpladv.amxx")
L 01/12/2015 - 11:11:03: [AMXX] Run time error 25: parameter error
L 01/12/2015 - 11:11:03: [AMXX] [0] phpo9Pbuv.sma::menu_info (line 5048)
L 01/12/2015 - 11:11:07: String formatted incorrectly - parameter 7 (total 6)
L 01/12/2015 - 11:11:07: [AMXX] Displaying debug trace (plugin "zmpladv.amxx")
L 01/12/2015 - 11:11:07: [AMXX] Run time error 25: parameter error
L 01/12/2015 - 11:11:07: [AMXX] [0] phpo9Pbuv.sma::menu_info (line 5048)
L 01/12/2015 - 22:57:07: [AMXX] Displaying debug trace (plugin "zmpladv.amxx")
L 01/12/2015 - 22:57:07: [AMXX] Run time error 10: native error (native "get_pcvar_num")
L 01/12/2015 - 22:57:07: [AMXX] [0] phpo9Pbuv.sma::command_human (line 11012)
L 01/12/2015 - 22:57:07: [AMXX] [1] phpo9Pbuv.sma::menu_player_list (line 5469)
L 01/12/2015 - 22:57:14: Invalid CVAR pointer
L 01/12/2015 - 22:57:14: [AMXX] Displaying debug trace (plugin "zmpladv.amxx")
L 01/12/2015 - 22:57:14: [AMXX] Run time error 10: native error (native "get_pcvar_num")
L 01/12/2015 - 22:57:14: [AMXX] [0] phpo9Pbuv.sma::command_human (line 11012)
L 01/12/2015 - 22:57:14: [AMXX] [1] phpo9Pbuv.sma::menu_player_list (line 5469)
L 01/12/2015 - 23:02:26: Invalid CVAR pointer
L 01/12/2015 - 23:02:26: [AMXX] Displaying debug trace (plugin "zmpladv.amxx")
L 01/12/2015 - 23:02:26: [AMXX] Run time error 10: native error (native "get_pcvar_num")
L 01/12/2015 - 23:02:26: [AMXX] [0] phpo9Pbuv.sma::command_human (line 11012)
L 01/12/2015 - 23:02:26: [AMXX] [1] phpo9Pbuv.sma::menu_player_list (line 5469)
L 01/12/2015 - 23:05:25: Invalid CVAR pointer
L 01/12/2015 - 23:05:25: [AMXX] Displaying debug trace (plugin "zmpladv.amxx")
L 01/12/2015 - 23:05:25: [AMXX] Run time error 10: native error (native "get_pcvar_num")
L 01/12/2015 - 23:05:25: [AMXX] [0] phpo9Pbuv.sma::command_respawn (line 11104)
L 01/12/2015 - 23:05:25: [AMXX] [1] phpo9Pbuv.sma::menu_player_list (line 5542)<div class="clear"></div></div></div></div>

2. Как сделать сохранение зомби классов, то есть что бы когда вышел из игры и зашел через время, у тебя был тот зомби класс который ты выбрал, а не по дефолу ( 1 класс)
3. Есть зомби вип (ревенант айс ) он для випов , прописан на флаг H , на другом сервере все норм , но на маем не работает , то есть все игроки могут его брать вот исходник Прикрепленный файл  zp_zclass_revenant_ice.sma ( 12,63 килобайт ) Кол-во скачиваний: 4


вот список плагинов , но сдесь нету зомби вип , так как я его отключил
CODE
[ 1] Zombie Plague Advance 1.6.1 MeRcyLeZZ, @bdul zmpladv.amxx debug
[ 2] AMXBans: Core Gm 1.6 Larte Team amxbans_core.am running
[ 3] FreshBan 0.9.7b kanagava fresh_bans.amxx running
[ 4] Admin Chat 1.8.2 AMXX Dev Team adminchat.amxx running
[ 5] Info. Messages 1.8.2 AMXX Dev Team imessage.amxx running
[ 6] Maps Menu 1.8.2 AMXX Dev Team mapsmenu.amxx running
[ 7] Players Menu 1.8.2 AMXX Dev Team plmenu.amxx running
[ 8] Plugin Menu 1.8.2 AMXX Dev Team pluginmenu.amxx running
[ 9] TimeLeft 1.8.2 AMXX Dev Team timeleft.amxx running
[ 10] Scrolling Message 1.8.2 AMXX Dev Team scrollmsg.amxx running
[ 11] CS Misc. Stats 1.8.2 AMXX Dev Team miscstats.amxx running
[ 12] CS Stats Logging 1.8.2 AMXX Dev Team stats_logging.a running
[ 13] Admin Votes 1.8.2 AMXX Dev Team adminvote.amxx running
[ 14] fb_forwards 0.1.4 Kanagava & Realu fb_forwards.amx running
[ 15] Admins Online 1.0 FloRys admins_online.a running
[ 16] AMXX Gag 1.3 RC xPaw & Exolent amx_gagmenu.amx running
[ 17] VOTEBAN_BY_SLIMSHADY 3.0 SLIMSHADY_MOD voteban_by_slim running
[ 18] AntiBlock 1.2 pic antiblock.amxx running
[ 19] Admin Check 1.51 OneEyed admin_check.amx running
[ 20] +150ammo 0.1 [ EMPIRE ] - Emp 150_ammo.amxx running
[ 21] Stats Configuration 1.8.2 AMXX Dev Team statscfg.amxx running
[ 22] [ZP] Sub-Plugin: Parac 1.1 Random1, 93()|29 zp_sub_plugin_p running
[ 23] [ZP] Can Auto Save Amm 0.1.0 ZombArena.Ru zp_can_auto_sav running
[ 24] floodban 0.1 mazdan floodban.amxx running
[ 25] Fix AutoBuy Bug 1.4 PomanoB / UFPS.T autobuy_fix.amx running
[ 26] ZM VIP 1.6 aaarnas zm_vip_new.amxx running
[ 27] Time Presents 0.1 WPMG Team time_presents.a running
[ 28] [ZP] AmmoChange 1.0 ZETA [M|E|N] zp_ammochange.a running
[ 29] Super Mapchooser 2.0 Prayer super_mapchoose running
[ 30] Lite Translit 2.5.7b neygomon lite_translit.a running
[ 31] [ZP] Display Health 0.1.0 PomanoB zp_display_heal running
[ 32] NadeModes 11.2 Nomexous & OT nademodes.amxx running
[ 33] [ZP] WPN Minigun 1.65 CLLlAgOB zp_wpn_minigun. running
[ 34] StatsX GUI 1.8 AMXX Dev Team statsx_gui.amxx running
[ 35] Autoresponder/Advertis 0.5 MaximusBrood ad_manager.amxx running
[ 36] [ZP] Extra Item: Plasm 1.0 Sh0oT3R zp_extra_item_p running
[ 37] [ZP]ExtraDragonCannon 1.0 Arwel zp_extradragonc running
[ 38] Choose knifes 1.0 CHyC/4e/l zp_server_knife running
[ 39] [ZP] Donate Ammo Packs 1.0 r1laX , PomanoB zp_donate_ammo_ running
[ 40] [CSO] Weapon: Kriss 1.0 Crock / =) (Popr cso_weapon_kris running
[ 41] [CSO] PlasmaGun 1.0 Dias Leon cso_plasmagun.a running
[ 42] [ZP] Extra: Soul Eater 1.0 Crock / =) (Popr azp_weapon_skul running
[ 43] [ZP] Extra: Blaster [S 1.0 Crock / =) (Popr zp_extra_blaste running
[ 44] [ZP] Extra: PKM Total 1.0 Crock / =) (Popr zp_extra_pkm_to running
[ 45] [ZP] Extra: VSK94 1.0 Crock / =) (Popr zp_extra_vsk98. running
[ 46] [ZP] Extra: SKULL5 1.0 Crock / =) (Popr zp_extra_skull5 running
[ 47] [ZP] Extra: Golden Ak 1.1 AlejandroSk zp_goldenak.amx debug
[ 48] [ZP] Extra: Anti-Infec 1.0 MeRcyLeZZ zp_armor.amxx running
[ 49] [ZP] Extra: Unlimited 1.0 MeRcyLeZZ zp_extra_unlimi running
[ 50] [ZP] Kill Rewards 1.0 Doomsday zp_kill_rewards running
[ 51] [ZP] Addon: Extended G 2.0 [ru]In1ernal Err zp_addon_extend running
[ 52] High Ping Kicker RBS 14.08 SKAJIbnEJIb hpk_rbs.amxx running
[ 53] Gib Death 1.1 <VeCo> gib_death.amxx running
[ 54] blockmaker 4.01 Necro blockmaker.amxx running
[ 55] Amxmodmenu Public 0.1 MaYS.0n* amxmodmenu_publ running
[ 56] [ZP]ExtraDualInfinity 1.0 Arwel zp_extra_dual_i running
[ 57] [ZP] Infection Countdo 1.3 Dels zp_countdown_re running
[ 58] [ZP] Server addon: ZSp 5.3 Game over & Fint zp_zspawn_syste running
[ 59] AMXBans: Screens Gm 1.6 Larte Team amxbans_ssban.a running
[ 60] [ZP] Default Zombie Cl 4.3 MeRcyLeZZ zpa_zclasses40. running
[ 61] [ZP] Assassin vs Snipe 1.0 @bdul! zp_game_mode_ex running
61 plugins, 61 running


Отредактировал: XyLiGaN, - 13.1.2015, 22:55
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Immunity
сообщение 12.1.2015, 23:51
Сообщение #2
Стаж: 11 лет

Сообщений: 444
Благодарностей: 119
Полезность: 139

Дописать debug не судьба? [AMXX] Displaying debug trace (plugin "zmpladv.amxx")
2. Это платная услуга.
3. хз.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vetelek
сообщение 12.1.2015, 23:54
Сообщение #3
Стаж: 12 лет

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

Цитата(Immunity @ 12.1.2015, 23:51) *
Дописать debug не судьба? [AMXX] Displaying debug trace (plugin "zmpladv.amxx")
2. Это платная услуга.
3. хз.


внимательней смотри там прописано debug

[ 1] Zombie Plague Advance 1.6.1 MeRcyLeZZ, @bdul zmpladv.amxx debug

в 2 платно ? серьезно ) там же пару строк прописать , не знаю не скриптер так бы и сам сделал, пробывал так не получилось, но не думаю что это платно (
но все равно спасибо за ответ

Отредактировал: vetelek, - 12.1.2015, 23:54
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 12.1.2015, 23:55
Сообщение #4


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

Стаж: 16 лет

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

Если будет плагин сохранения классов - скинешь в тему.


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

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

Цитата(Fred Perry @ 12.1.2015, 23:55) *
Если будет плагин сохранения классов - скинешь в тему.

окей, но плагина на сколько я знаю нету, только "веб статистика" которая не работает, на данном форуме есть, Но тема закрыта )
и сможешь помочь с иходником :? плиз очень прошу серв падать надоел
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Machette
сообщение 13.1.2015, 1:08
Сообщение #6


Стаж: 14 лет

Сообщений: 546
Благодарностей: 419
Полезность: 947

vetelek, а инете помню была статья как сделать сохранение.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vetelek
сообщение 13.1.2015, 15:29
Сообщение #7
Стаж: 12 лет

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

Цитата(Machette @ 13.1.2015, 1:08) *
vetelek, а инете помню была статья как сделать сохранение.

Прописывал , не работает (
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя p9ta4ok
сообщение 13.1.2015, 22:53
Сообщение #8
Стаж: 12 лет

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

Цитата(vetelek @ 13.1.2015, 0:57) *
окей, но плагина на сколько я знаю нету, только "веб статистика" которая не работает


не знаю ,про какую ты статистику, но если есть у тебя MySQL- то попробуй zp_stats для этих целей. У меня раньше была она- работала, сохраняла, но по другим причинам потом пришлось отказаться.
рабочая вещь ,в общем)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя L0K0S
сообщение 13.1.2015, 23:33
Сообщение #9


Стаж: 12 лет

Сообщений: 173
Благодарностей: 164
Полезность: 576

L 01/12/2015 - 09:41:48: [AMXX] [0] phpo9Pbuv.sma::fw_PlayerKilled (line 2518) - Эта ошибка из-за разрыва на куски в моде ассасин, выключи в кфг, если напрягает.
2. Это надо делать в гл. моде.
По поводу пункта 2,3 могу дать скриптера, сделает недорого. Не думаю, что кто-то поможет тут бесплатно.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vetelek
сообщение 14.1.2015, 0:16
Сообщение #10
Стаж: 12 лет

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

Цитата(L0K0S @ 13.1.2015, 23:33) *
L 01/12/2015 - 09:41:48: [AMXX] [0] phpo9Pbuv.sma::fw_PlayerKilled (line 2518) - Эта ошибка из-за разрыва на куски в моде ассасин, выключи в кфг, если напрягает.
2. Это надо делать в гл. моде.
По поводу пункта 2,3 могу дать скриптера, сделает недорого. Не думаю, что кто-то поможет тут бесплатно.

во 1 где это можно выключить в кфг ? и просто сервер падает то и за этого
во 2 "недорого" сколько это?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Predat0r
сообщение 14.1.2015, 0:22
Сообщение #11
Стаж: 14 лет

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

Цитата(vetelek @ 13.1.2015, 0:54) *
в 2 платно ? серьезно ) там же пару строк прописать

Цитата(vetelek @ 13.1.2015, 0:54) *
не знаю не скриптер

ЛОЛ.
Цитата(L0K0S @ 14.1.2015, 0:33) *
2. Это надо делать в гл. моде.

Не надоело вам в ~14-к строчках уга ковыряться?

Отредактировал: Predat0r, - 14.1.2015, 0:22
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vetelek
сообщение 14.1.2015, 2:38
Сообщение #12
Стаж: 12 лет

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

Цитата(Predat0r @ 14.1.2015, 0:22) *
ЛОЛ.

Не надоело вам в ~14-к строчках уга ковыряться?


дружище а ты сможешь мне помочь ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 20.1.2015, 16:00
Сообщение #13


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

Стаж: 16 лет

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

Вот нашел плагин, с сохранением классов.
Код:
#include < amxmodx >
#include < zombieplague >

new const PLUGIN_NAME[ ] = "[ ZP ] [ Save ] Zombies";
new const PLUGIN_VERSION[ ] = "0.1";
new const PLUGIN_AUTHOR[ ] = "Bos93";

#define STATS_FILE "ZP_SaveZombies.dat"

enum _:STATS
{
STATS_AUTH[32],
STATS_ZOMBIES,

STATS_END
}

new Array: g_ArrayStats;

public plugin_init( )
{
register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR );

Load_ZOMBIES_Stats( );
}

public client_putinserver( iPlayer )
{
set_task ( 3.0 , "CTask__ReturnZombies", iPlayer);
}
public CTask__ReturnZombies( iPlayer )
{
Load_User_ZOMBIES( iPlayer );
}

public client_disconnect( iPlayer )
{
Update_ZOMBIES_Stats(iPlayer);
Save_ZOMBIES_Stats();
}

public plugin_end()
{
Save_ZOMBIES_Stats();
ArrayDestroy(g_ArrayStats);
}


Load_ZOMBIES_Stats()
{
g_ArrayStats = ArrayCreate(STATS);

new filepath[512]; get_configsdir(filepath, charsmax(filepath));
format(filepath, charsmax(filepath), "%s/%s", filepath, STATS_FILE);

new file = fopen(filepath, "r");
if(!file) return;

new data[42], auth[32], ZOMBIES[10], stats[STATS];
while(!feof(file))
{
fgets(file, data, charsmax(data));

if (!strlen(data))
continue;

parse(data, auth, charsmax(auth), ZOMBIES, charsmax(ZOMBIES));

stats[STATS_ZOMBIES] = str_to_num(ZOMBIES);
copy(stats[STATS_AUTH], charsmax(stats[STATS_AUTH]), auth);

ArrayPushArray(g_ArrayStats, stats);
}

fclose(file);
}

Save_ZOMBIES_Stats()
{
new filepath[512]; get_configsdir(filepath, charsmax(filepath));
format(filepath, charsmax(filepath), "%s/%s", filepath, STATS_FILE);

new file = fopen(filepath, "w+");
if(!file) return;

new stats[STATS], size = ArraySize(g_ArrayStats);
for (new i; i < size; i++)
{
ArrayGetArray(g_ArrayStats, i, stats);

fprintf(file, "^"%s^" %d^n", stats[STATS_AUTH], stats[STATS_ZOMBIES]);
}

fclose(file);
}

Update_ZOMBIES_Stats(id)
{
new auth[32]; get_user_authid(id, auth, charsmax(auth));
new stats[STATS], found, size = ArraySize(g_ArrayStats);

for (new i; i < size; i++)
{
ArrayGetArray(g_ArrayStats, i, stats);

if (equal(stats[STATS_AUTH], auth))
{
stats[STATS_ZOMBIES] = zp_get_user_zombie(id)
copy(stats[STATS_AUTH], charsmax(stats[STATS_AUTH]), auth);

ArraySetArray(g_ArrayStats, i, stats);

found = 1;
break;
}
}

if (!found)
{
stats[STATS_ZOMBIES] = zp_get_user_zombie(id);
copy(stats[STATS_AUTH], charsmax(stats[STATS_AUTH]), auth);

ArrayPushArray(g_ArrayStats, stats);
}
}

Load_User_ZOMBIES(id)
{
new auth[32]; get_user_authid(id, auth, charsmax(auth));
new stats[STATS], size = ArraySize(g_ArrayStats);

for (new i; i < size; i++)
{
ArrayGetArray(g_ArrayStats, i, stats);

if (equal(stats[STATS_AUTH], auth))
{
zp_set_user_zombie_class(id, stats[STATS_ZOMBIES])

break;
}
}
}

stock get_configsdir(name[],len)
{
return get_localinfo("amxx_configsdir",name,len);
}


Гнилой фашистской нечисти
Загоним пулю в лоб,
Отродью человечества
Сколотим крепкий гроб!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя vetelek
сообщение 22.1.2015, 2:28
Сообщение #14
Стаж: 12 лет

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

Цитата(Fred Perry @ 20.1.2015, 16:00) *
Вот нашел плагин, с сохранением классов.
Код:
#include < amxmodx >
#include < zombieplague >

new const PLUGIN_NAME[ ] = "[ ZP ] [ Save ] Zombies";
new const PLUGIN_VERSION[ ] = "0.1";
new const PLUGIN_AUTHOR[ ] = "Bos93";

#define STATS_FILE "ZP_SaveZombies.dat"

enum _:STATS
{
STATS_AUTH[32],
STATS_ZOMBIES,

STATS_END
}

new Array: g_ArrayStats;

public plugin_init( )
{
register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR );

Load_ZOMBIES_Stats( );
}

public client_putinserver( iPlayer )
{
set_task ( 3.0 , "CTask__ReturnZombies", iPlayer);
}
public CTask__ReturnZombies( iPlayer )
{
Load_User_ZOMBIES( iPlayer );
}

public client_disconnect( iPlayer )
{
Update_ZOMBIES_Stats(iPlayer);
Save_ZOMBIES_Stats();
}

public plugin_end()
{
Save_ZOMBIES_Stats();
ArrayDestroy(g_ArrayStats);
}


Load_ZOMBIES_Stats()
{
g_ArrayStats = ArrayCreate(STATS);

new filepath[512]; get_configsdir(filepath, charsmax(filepath));
format(filepath, charsmax(filepath), "%s/%s", filepath, STATS_FILE);

new file = fopen(filepath, "r");
if(!file) return;

new data[42], auth[32], ZOMBIES[10], stats[STATS];
while(!feof(file))
{
fgets(file, data, charsmax(data));

if (!strlen(data))
continue;

parse(data, auth, charsmax(auth), ZOMBIES, charsmax(ZOMBIES));

stats[STATS_ZOMBIES] = str_to_num(ZOMBIES);
copy(stats[STATS_AUTH], charsmax(stats[STATS_AUTH]), auth);

ArrayPushArray(g_ArrayStats, stats);
}

fclose(file);
}

Save_ZOMBIES_Stats()
{
new filepath[512]; get_configsdir(filepath, charsmax(filepath));
format(filepath, charsmax(filepath), "%s/%s", filepath, STATS_FILE);

new file = fopen(filepath, "w+");
if(!file) return;

new stats[STATS], size = ArraySize(g_ArrayStats);
for (new i; i < size; i++)
{
ArrayGetArray(g_ArrayStats, i, stats);

fprintf(file, "^"%s^" %d^n", stats[STATS_AUTH], stats[STATS_ZOMBIES]);
}

fclose(file);
}

Update_ZOMBIES_Stats(id)
{
new auth[32]; get_user_authid(id, auth, charsmax(auth));
new stats[STATS], found, size = ArraySize(g_ArrayStats);

for (new i; i < size; i++)
{
ArrayGetArray(g_ArrayStats, i, stats);

if (equal(stats[STATS_AUTH], auth))
{
stats[STATS_ZOMBIES] = zp_get_user_zombie(id)
copy(stats[STATS_AUTH], charsmax(stats[STATS_AUTH]), auth);

ArraySetArray(g_ArrayStats, i, stats);

found = 1;
break;
}
}

if (!found)
{
stats[STATS_ZOMBIES] = zp_get_user_zombie(id);
copy(stats[STATS_AUTH], charsmax(stats[STATS_AUTH]), auth);

ArrayPushArray(g_ArrayStats, stats);
}
}

Load_User_ZOMBIES(id)
{
new auth[32]; get_user_authid(id, auth, charsmax(auth));
new stats[STATS], size = ArraySize(g_ArrayStats);

for (new i; i < size; i++)
{
ArrayGetArray(g_ArrayStats, i, stats);

if (equal(stats[STATS_AUTH], auth))
{
zp_set_user_zombie_class(id, stats[STATS_ZOMBIES])

break;
}
}
}

stock get_configsdir(name[],len)
{
return get_localinfo("amxx_configsdir",name,len);
}


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