Slaylosers

Сообщения
160
Реакции
170
Помог
1 раз(а)
Ошибка
Ошибок нет,плагин компилируется.
ОС
Linux
Билд
Exe version 1.0.0.3/Stdio (czero)
ReHLDS version: 3.4.0.648-dev
Build date: 06:35:57 May 6 2018 (1485)
ReGamedll
ReGameDLL version: 5.7.0.301-dev
Build date: 00:28:14 Apr 9 2018
Список метамодулей
[ 1] AMX Mod X     RUN   -    amxmodx_mm_i386.so        v1.8.3-Re       ini  Start ANY
[ 2] Ham Sandwich RUN - hamsandwich_amxx_i386.so v1.8.3-Re pl1 ANY ANY
[ 3] CSX RUN - csx_amxx_i386.so v1.8.3-Re pl1 ANY ANY
[ 4] FakeMeta RUN - fakemeta_amxx_i386.so v1.8.3-Re pl1 ANY ANY
[ 5] Engine RUN - engine_amxx_i386.so v1.8.3-Re pl1 ANY ANY
[ 6] CStrike RUN - cstrike_amxx_i386.so v1.8.3-Re pl1 ANY ANY
[ 7] Fun RUN - fun_amxx_i386.so v1.8.3-Re pl1 ANY ANY
[ 8] ReAPI RUN - reapi_amxx_i386.so v5.6.0.156-dev pl1 ANY Never
Список плагинов
[  1] Admin Base              1.8.3-Re    AMXX Dev Team     admin.amxx       running
[ 2] Admin Commands 1.8.3-Re AMXX Dev Team admincmd.amxx running
[ 3] Menus Front-End 1.8.3-Re AMXX Dev Team menufront.amxx running
[ 4] Commands Menu 1.8.3-Re AMXX Dev Team cmdmenu.amxx running
[ 5] Players Menu 1.8.3-Re AMXX Dev Team plmenu.amxx running
[ 6] Maps Menu 1.8.3-Re AMXX Dev Team mapsmenu.amxx running
[ 7] Plugin Menu 1.8.3-Re AMXX Dev Team pluginmenu.amxx running
[ 8] Admin Votes 1.8.3-Re AMXX Dev Team adminvote.amxx running
[ 9] TimeLeft 1.8.3-Re AMXX Dev Team timeleft.amxx running
[ 10] Stats Configuration 1.8.3-Re AMXX Dev Team statscfg.amxx running
[ 11] Restrict Weapons 1.8.3-Re AMXX Dev Team restmenu.amxx running
[ 12] StatsX 1.8.3-Re AMXX Dev Team statsx.amxx running
[ 13] [CS] AWP Limit 0.1 81x08 cs_awp_limit.am running
[ 14] Lie Flat Optimized 1.1 Nomexous lie_flat_optimi running
[ 15] AMX Slay Losers 1.2 [email protected] slaylosers.amxx running
[ 16] Admin Spectator ESP 1.6 KoST admin_spec_esp_ running
[ 17] Anti DoubleDuck 1.7 Numb antidoubleduck. running
[ 18] Ban Shield 0.2 Flash banshield.amxx running
[ 19] 'Fire in the hole' blo 1.0 xPaw hidefireintheho running
[ 20] Reset Score 0.0.2 Vaqtincha resetscore_fix. running
[ 21] Ping Faker 1.5a MeRcyLeZZ bot_ping.amxx running
[ 22] Bot Features 0.0.5 Vaqtincha BotFeatures.amx running
[ 23] Drop Pistols on Death 0.0.2 Vaqtincha reapi_dead_pist running
[ 24] pman checker 0.03f wopox pman_checker.am running
[ 25] WeaponState Remember 0.0.2 Vaqtincha weaponstate_rem running
[ 26] Always Gib if Killed b 0.1 Safety1st always_gib.amxx running
[ 27] Super Bunny Hopper 1.2 Cheesy Peteza bhop.amxx running
[ 28] Use Sound Block 1.0 DJ_WEST usesoundblock.a running
28 plugins, 28 running
Исходный код
#include <amxmodx> 
#include <amxmisc>
#include <fun>
#include <csx>


new white
new lightning
new g_sModelIndexSmoke

new g_SlayMsg[4][] =
{
"KILL_MSG_1",
"SLAY_MSG_2",
"SLAY_MSG_3",
"SLAY_MSG_4"
}

public plugin_init(){

register_plugin("AMX Slay Losers","1.2","[email protected]")
register_event("SendAudio","end_round","a","2=%!MRAD_terwin","2=%!MRAD_ctwin","2=%!MRAD_rounddraw")
register_dictionary("slaylosers.txt")

register_cvar("mp_slaylosers","1",FCVAR_SERVER)

return PLUGIN_CONTINUE
}


public end_round(){

// “олько активный, если CVAR не равен 0
if( get_cvar_num("mp_slaylosers") ){
new parm[32]
new len = read_data(2,parm,31)
set_task(1.0,"slay_those_losers",0,parm, len + 1)
}

return PLUGIN_CONTINUE
}

// ”бивает каждого игрока, который был не в состо¤нии мешать другой команде закончить цель.
// —лучайное убивает метод, выбран дл¤ каждого игрока.
public slay_those_losers(parm[]) {
new origin[3], srco[3]
new player[32], playersnum
new id

get_players(player,playersnum,"ea",(parm[7] == 't') ? "CT" : "TERRORIST" )

for(new i = 0; i < playersnum; ++i){
id = player[i]
get_user_origin(id,origin)
origin[2] -= 26
srco[0]=origin[0]+150
srco[1]=origin[1]+150
srco[2]=origin[2]+800
switch(random_num(1,3)){
case 1:{
slay_lightning(srco,origin)
emit_sound(id,CHAN_ITEM, "ambience/thunder_clap.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
}
case 2:{
slay_blood(origin)
emit_sound(id,CHAN_ITEM, "weapons/headshot2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
}
case 3: {
slay_explode(origin)
emit_sound(id,CHAN_ITEM, "weapons/explode3.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
}
}
set_hudmessage(178, 14, 41, -1.0, -0.4, 1, 0.5, 1.7, 0.2, 0.2,5);
show_hudmessage(0, "%L", LANG_PLAYER, g_SlayMsg[random_num(0, 3)]);
user_kill(id,1)
set_user_frags(id, get_user_frags(id)+1)
}
}


slay_explode(vec1[3]) {
// круги взрыва
message_begin( MSG_BROADCAST,SVC_TEMPENTITY,vec1)
write_byte( 21 )
write_coord(vec1[0])
write_coord(vec1[1])
write_coord(vec1[2] + 16)
write_coord(vec1[0])
write_coord(vec1[1])
write_coord(vec1[2] + 1936)
write_short( white )
write_byte( 0 ) // startframe
write_byte( 0 ) // framerate
write_byte( 2 ) // life
write_byte( 16 ) // width
write_byte( 0 ) // noise
write_byte( 188 ) // r
write_byte( 220 ) // g
write_byte( 255 ) // b
write_byte( 255 ) //brightness
write_byte( 0 ) // speed
message_end()
//¬зрыв2
message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
write_byte( 12 )
write_coord(vec1[0])
write_coord(vec1[1])
write_coord(vec1[2])
write_byte( 188 ) // byte (scale in 0.1's)
write_byte( 10 ) // byte (framerate)
message_end()
//ƒым
message_begin( MSG_BROADCAST,SVC_TEMPENTITY,vec1)
write_byte( 5 )
write_coord(vec1[0])
write_coord(vec1[1])
write_coord(vec1[2])
write_short( g_sModelIndexSmoke )
write_byte( 2 )
write_byte( 10 )
message_end()
}

slay_blood(vec1[3]) {
//¬—ѕЋ≈— Ћј¬џ
message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
write_byte( 10 )
write_coord(vec1[0])
write_coord(vec1[1])
write_coord(vec1[2])
message_end()
}

slay_lightning(vec1[3],vec2[3]) {
//молни¤
message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
write_byte( 0 )
write_coord(vec1[0])
write_coord(vec1[1])
write_coord(vec1[2])
write_coord(vec2[0])
write_coord(vec2[1])
write_coord(vec2[2])
write_short( lightning )
write_byte( 1 ) // framestart
write_byte( 5 ) // framerate
write_byte( 2 ) // life
write_byte( 20 ) // width
write_byte( 30 ) // noise
write_byte( 200 ) // r, g, b
write_byte( 200 ) // r, g, b
write_byte( 200 ) // r, g, b
write_byte( 200 ) // brightness
write_byte( 200 ) // speed
message_end()
//искра
message_begin( MSG_PVS, SVC_TEMPENTITY,vec2)
write_byte( 9 )
write_coord( vec2[0] )
write_coord( vec2[1] )
write_coord( vec2[2] )
message_end()
//ƒым
message_begin( MSG_BROADCAST,SVC_TEMPENTITY,vec2)
write_byte( 5 )
write_coord(vec2[0])
write_coord(vec2[1])
write_coord(vec2[2])
write_short( g_sModelIndexSmoke )
write_byte( 10 )
write_byte( 10 )
message_end()
}


public plugin_precache() {

g_sModelIndexSmoke = precache_model("sprites/steam1.spr")
lightning = precache_model("sprites/lgtning.spr")
white = precache_model("sprites/white.spr")
precache_sound( "ambience/thunder_clap.wav")
precache_sound( "weapons/headshot2.wav")
precache_sound( "weapons/explode3.wav")


return PLUGIN_CONTINUE
}
Плагин наказания за невыполнение задания.
После наказания ,со следующего спавна сразу следует наказание .Короче спавн->смерть->спавн->смерть, эффекты при наказании воспроизводятся.
 
Последнее редактирование:
Сообщения
80
Реакции
54
Помог
1 раз(а)
mr_CHikAZ, я не скриптер, поэтому поправить плагин не смогу. Как-то раз тоже была такая проблема, но не помню, как она решалась. Возможно, если поразмышлять вместе, то что-нибудь вспомню.
Если не принципиальны эффекты при смерти, можешь использовать версию Неугомона на реапи
C++:
#include <amxmodx>
#include <reapi>

new g_iMaxClients;

public plugin_init()
{
    register_plugin("[ReAPI] Slay Loosers", "1.1", "neugomon");
    RegisterHookChain(RG_RoundEnd, "fwdRoundEnd", true);

    g_iMaxClients = get_member_game(m_nMaxPlayers);
}

public fwdRoundEnd(WinStatus:status, ScenarioEventEndRound:event, Float:tmDelay)
{
    switch(event)
    {
        case ROUND_TARGET_BOMB,
            ROUND_VIP_ASSASSINATED,
            ROUND_CTS_PREVENT_ESCAPE,
            ROUND_HOSTAGE_NOT_RESCUED,
            ROUND_VIP_NOT_ESCAPED: KillLosers(2);
        case ROUND_VIP_ESCAPED,
            ROUND_TERRORISTS_ESCAPED,
            ROUND_BOMB_DEFUSED,
            ROUND_TARGET_SAVED,
            ROUND_ALL_HOSTAGES_RESCUED: KillLosers(1);
    }
}

KillLosers(team)
{
    new szTeam[32], iKilledIndex;
    for(new id = 1; id <= g_iMaxClients; id++)
    {
        if(is_user_alive(id) && get_member(id, m_iTeam) == team)
        {
            iKilledIndex = id;
            user_kill(id, 1);
        }   
    }
    if(iKilledIndex)
    {
        switch(team)
        {
            case 1: szTeam = "Террористы";
            case 2: szTeam = "Контр-террористы";
        }
        
        new szMsg[190];
        formatex(szMsg, charsmax(szMsg), "^3%s ^1не выполнили миссию карты! ^4Сдохните, Раки!", szTeam);
        message_begin(MSG_ALL, 76);
        write_byte(iKilledIndex);
        write_string(szMsg);
        message_end();
    }   
}
 
Сообщения
160
Реакции
170
Помог
1 раз(а)
Leshiy,
Спасибо за плагин конечно,но с хотелось бы с эффектами,просто привыкли как то уже.Пока не к спеху, подожду может кто нибудь из скриптеров
или разработчиков что нибудь подскажет.Плагин ведь прекрасно работает на:

Protocol version 48
Exe version 1.0.0.3/Stdio (czero)
Exe build: 19:18:26 Nov 1 2016 (934)
ReHLDS API version 2.13

"game_version" is "0.2.126"

AMX Mod X 1.8.3-Re
Authors (ReHLDS Team):
"Adidasman", "s1lent"
Compiled: Sep 5 2016 07:11:05
Build ID: 5

Просто решил обновить сервак с нуля с последними Re.
И если не найду решения ,закажу на реапи с эффектами.
 
Сообщения
2,288
Реакции
1,739
Помог
31 раз(а)
Leshiy, там вроде баг с подсчетом побед команд
 
Сообщения
160
Реакции
170
Помог
1 раз(а)
Проблема в ReGameDLL cs.so (bugfixed) , ставлю (pure) и все норм работает.
 
Сообщения
2,751
Реакции
3,014
Помог
61 раз(а)
mr_CHikAZ, скинь под спойлер и тэг кода ответ сервера от команды в консоли "cvarlist mp_”
 
Сообщения
160
Реакции
170
Помог
1 раз(а)
wopox1337,
"CVar List"
mp_allowmonsters : 0, sv
mp_autokick : 0, sv
mp_autokick_timeout : -1, sv
mp_autoteambalance : 1, sv
mp_buytime : 0.3, sv
mp_c4timer : 35, sv
mp_chattime : 0, sv
mp_consistency : 1, sv
mp_drop_pistols : 1
mp_fadetoblack : 0, sv
mp_flashlight : 1, sv
mp_footsteps : 1, sv
mp_forcecamera : 0, sv
mp_forcechasecam : 0, sv
mp_fragsleft : 0, sv
mp_freezetime : 0, sv
mp_friendlyfire : 1, sv
mp_ghostfrequency : 0.1, sv
mp_hostagepenalty : 4, sv
mp_kickpercent : 0.66, sv
mp_limitteams : 2, sv
mp_logdetail : 3, sv
mp_logecho : 1
mp_logfile : 1, sv
mp_logmessages : 1, sv
mp_mapvoteratio : 0.66, sv
mp_maxrounds : 0, sv
mp_mirrordamage : 0, sv
mp_playerid : 1, sv
mp_roundtime : 2, sv
mp_slaylosers : 1, sv
mp_startmoney : 160000, sv
mp_timeleft : 0, sv
mp_timelimit : 20, sv
mp_tkpunish : 0, sv
mp_windifference : 1, sv
mp_winlimit : 0, sv
 
Сообщения
957
Реакции
1,185
Помог
52 раз(а)
Diff:
-set_task(1.0,"slay_those_losers",0,parm, len + 1)
+slay_those_losers(parm)
 
Сообщения
160
Реакции
170
Помог
1 раз(а)
Sonyx,
slaylosers.sma(37) : warning 204: symbol is assigned a value that is never used: "len"
 
Сообщения
2,143
Реакции
1,225
Помог
44 раз(а)
mr_CHikAZ, это варн, что данная переменная, которая была объявлена, нигде не используется. На работоспособность не влияет.
 
Сообщения
160
Реакции
170
Помог
1 раз(а)
Minni,
Не знаю по какой причине он вчера не компилировался , однако влияет.
Короче плагин работает, но эффекты отсутствуют.Насколько я понимаю,конфликт с регейм (bugfixed) происходит
в куске кода отвечающем за рандомное отображения эффектов. А вот в каком из них, плагина или сошки?:dntknw: .
 
Сообщения
957
Реакции
1,185
Помог
52 раз(а)
mr_CHikAZ, почему я вообще не наблюдаю плагин в списке 1 сообщения? Его положение тоже весьма критично для работоспособности
 
Сообщения
160
Реакции
170
Помог
1 раз(а)
Sonyx,
Поправил.Хотя и знал что положение плагина в списке имеет значение,короче моя ошибка.
Админы добавьте в шаблон первого поста пункт meta version, как выясняется он тоже обязателен.Сейчас времени нет
вечером отпишусь более подробно.
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу