ďťż

Ultimate SS z zapisywaniem do logów

Śpiąca Królewna.
OPIS:

Plugin który robi screeny graczowi, a dodatkowo w logach na serwerze w oddzielnym pliku txt, zapisują się informacje:


- kiedy były robione SS
- jaki admin zrobił SS
- komu były robione SS


PRZYKŁAD:


Admin wtf? zrobil screeny: ? data: 20100327 - rok, miesiąc, dzień

KOMENDA:


amx_ss "nick" "ilość SS"


PRZYKŁAD:


amx_ss "omg" "5"

CVARY:


amx_ss_max 5            //ile można maksymalnie zrobić sreenów graczowi
amx_ss_interval 1.0   //czas jaki musi minąc aby wykonać następny sreen
amx_ss_design 3      //wyświetlanie wiadomości (opcjonalnie 3)
amx_ss_site "www.cs-liplas.pl" //Podaj swoją stronę gdzie można wyjaśnić zrobione SS.


.sma


#include <amxmodx>
#include <amxmisc>
#include <cstrike>

new player
new ip[32]
new finish;

new maxscreens //max nr of ss to a player
new screeninterval //interval between 2 ss
new design //visual stuff
new site //the site/forum where a user can post ther pics to be unbanned

public plugin_init() 

    register_plugin("Ultimate SS", "1.2", "Hack")
     
    register_concmd("amx_ss", "concmd_screen", ADMIN_LEVEL_A, "<authid, nick or #userid> <screens>")
    register_clcmd("say /ip", "show_ip")
     
    maxscreens = register_cvar("amx_ss_max", "5")
    screeninterval = register_cvar("amx_ss_interval", "1.0")
    design = register_cvar("amx_ss_design", "3")
    site = register_cvar("amx_ss_site","www.promania.pl")
}

public concmd_screen(id, level, cid)
{
    if(!cmd_access(id, level, cid, 3)) //if the one who requests an ss isnt admin exit
    {
        return PLUGIN_HANDLED
    }
     
    new arg1[24], arg2[4]
    read_argv(1, arg1, 23)
    read_argv(2, arg2, 3)
     
    new screens = str_to_num(arg2)
    new maxss = get_pcvar_num(maxscreens)
     
    if(screens > maxss) //too many ss?
    {
        console_print(id, "[SS]Prea multe poze!")
         
        return PLUGIN_HANDLED
    }
     
    player = cmd_target(id, arg1, 1) 
    if (!player) //the player has exited the sv or he didnt existed
    {
        return PLUGIN_HANDLED
    }
    finish = screens
     
    new Float:interval = get_pcvar_float(screeninterval) //a set_task for each "amx_ss nickname nr_of_ss"
    new array[2]
    array[0] = id //save usefull data in a vector so it can be reused
    array[1] = player
    set_task(interval, "ss_propriuzis", 0, array,2, "a", screens)
     
    return PLUGIN_HANDLED
}

public ss_propriuzis(array[2])
{
    //take data and set them accordingly
    new player = array[1]
    new id = array[0]
     
    //save time,adminname,playername so that the player cant give us other ss's and because it LOOKS COOOL!
    new timestamp[32], timestampmsg[128], name[32], adminname[32]
    get_time("%m/%d/%Y - %H:%M:%S", timestamp, 31)
    get_user_name(player, name, 31)
    get_user_name(id, adminname, 31)
    get_user_ip(player, ip, 31)
     
    //Clasic Design
    if(get_pcvar_num(design) == 0)
    {
        client_print(player, print_chat, "** Screenshot zrobiony graczowi o nicku ^"%s^" by admin l ^"%s^" **", name, adminname)
        client_cmd(player, "snapshot") //ss
    }
    //Doar Playerului
    else if(get_pcvar_num(design) == 1)
    {
        client_print(player, print_chat, "** Screenshot zrobiony graczowi o nicku ^"%s^" by admin ^"%s^" (%s) **", name, adminname, timestamp)
        client_cmd(player, "snapshot") //ss
    }
    //HUD Message doar Playerului
    else if(get_pcvar_num(design) == 2)
    {
        set_hudmessage(player, 255, 0, -1.0, 0.3, 0, 0.25, 1.0, 0.0, 0.0, 4)
        format(timestampmsg, 127, "** TIME: - %s **", timestamp)
        show_hudmessage(player, timestampmsg)
         
        client_cmd(player, "snapshot") //ss
    }
    //Full
    else if(get_pcvar_num(design) == 3)
    {
        //HUD Timestamp Message
        set_hudmessage(player, 255, 0, -1.0, 0.3, 0, 0.25, 1.0, 0.0, 0.0, 4)
        format(timestampmsg, 127, "** PLAYER %s TIME: - %s **",name,timestamp)
        show_hudmessage(player, timestampmsg)
         
        client_print(0, print_chat, "** Screenshot zrobiony graczowi o nicku ^"%s^" by admin ^"%s^" (%s) **", name, adminname, timestamp)
         
        client_cmd(player, "snapshot") //ss
    }
    console_print(id, "[SS]%s 's ip is %s!",name,ip)
    console_print(id, "[SS]%s 's ip is %s!",name,ip)
    console_print(id, "[SS]%s 's ip is %s!",name,ip)
    finish = finish - 1;
     
    if(finish == 0)
    {
        client_cmd(player, "kill")
        cs_set_user_team(player,CS_TEAM_SPECTATOR);
        new forum[51];
        get_pcvar_string(site,forum,50)
        client_print(player, print_chat, "Wrzuc SS na stronke %s by Cie odbanowac", forum)
         
        new dir[128]
        new message[256]
        new data[9]
        get_time("%Y%m%d",data,8)
        get_basedir(dir,127)
        format(dir,127,"%s/logs/screeny_%s.log",dir,data)
        format(message, 255, "Admin %s zrobil screeny: %s data: %s", adminname, name, data)
        write_file(dir, message)
         
    }
     
    return PLUGIN_CONTINUE;
}

public show_ip(id)
{
    console_print(id, "[SS]Last Stored IP: %s!",ip)
}

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • super-siostry.pev.pl
  • Podobne
    Powered by wordpress | Theme: simpletex | © Śpiąca KrĂłlewna.