Page 1 of 1

Auto Demo Recorder prašymas...

Posted: 2011 May 25 19:04
by Madara
Reikia plugino, kad iškart prisijungus į serverį pradėtų filmuoti demo įrašą (nepasirinkus komandos ir nieko kt.).

Gal atsiras geras žmogus, kuris netingės paredaguot? :)
#include <amxmodx>
#pragma semicolon 1

new g_Toggle, g_DMod, g_UseNI, g_RStartAfter, g_DemoName, g_DemoNamePrefix;

public plugin_init() {
register_plugin( "Auto Demo Recorder", "1.5", "IzI" );
g_Toggle = register_cvar( "amx_demo", "1" );
g_DMod = register_cvar( "amx_demo_mode", "0" );
g_UseNI = register_cvar( "amx_demo_steamid", "0" );
g_RStartAfter = register_cvar( "amx_demo_rectime", "15" ); // If it is less than 5, it will automatically set to 5, but willn't apply the changes to the console. I recoment to use default settings.
g_DemoName = register_cvar( "amx_demo_name", "Autorecorded demo" );
g_DemoNamePrefix = register_cvar( "amx_demo_prefix", "AMXX" );
register_dictionary( "demorecorder.txt" );
}

public client_putinserver( id ) {
if( get_pcvar_num( g_Toggle ) ) {
new Float:delay = get_pcvar_float( g_RStartAfter );
if( delay < 5 )
set_pcvar_float( g_RStartAfter, ( delay = 5.0 ) );
set_task( delay, "Record", id );
}
}

public Record( id ) {
if( !is_user_connected( id ) || get_pcvar_num( g_Toggle ) != 1 )
return;

// Getting time, client SteamID, server's name, server's ip with port.
new szSName[128], szINamePrefix[64], szTimedata[9];
new iUseIN = get_pcvar_num( g_UseNI );
new iDMod = get_pcvar_num( g_DMod );
get_pcvar_string( g_DemoNamePrefix, szINamePrefix, 63 );
get_time ( "%H:%M:%S", szTimedata, 8 );

switch( iDMod ) {
case 0: get_pcvar_string( g_DemoName, szSName, 127 );
case 1: get_user_ip( 0, szSName, 127, 0 );
case 2: get_user_name( 0, szSName, 127 );
}

if( iUseIN ) {
new szCID[32];
get_user_authid( id, szCID, 31 );
format( szSName, 127, "[%s]%s", szCID, szSName );
}

// Replacing signs.
replace_all( szSName, 127, ":", "_" );
replace_all( szSName, 127, ".", "_" );
replace_all( szSName, 127, "*", "_" );
replace_all( szSName, 127, "/", "_" );
replace_all( szSName, 127, "|", "_" );
replace_all( szSName, 127, "\", "_" );
replace_all( szSName, 127, "?", "_" );
replace_all( szSName, 127, ">", "_" );
replace_all( szSName, 127, "<", "_" );
replace_all( szSName, 127, " ", "_" );

// Displaying messages.
client_cmd( id, "stop; record ^"%s^"", szSName );
client_print( id, print_chat, "[%s] %L ^"%s.dem^"", szINamePrefix, LANG_PLAYER, "RECORDINGIN", szSName );
client_print( id, print_chat, "[%s] %L", szINamePrefix, LANG_PLAYER, "RECORDINGAT", szTimedata );
}

Re: Auto Demo Recorder prašymas...

Posted: 2011 May 25 19:28
by psychical
Pagal mane taip:

Code: Select all

#include <amxmodx>#pragma semicolon 1 new g_Toggle, g_DMod, g_UseNI, g_DemoName, g_DemoNamePrefix; public plugin_init() {     register_plugin( "Auto Demo Recorder", "1.5", "IzI" );    g_Toggle = register_cvar( "amx_demo",    "1" );    g_DMod   = register_cvar( "amx_demo_mode",  "0" );    g_UseNI = register_cvar( "amx_demo_steamid",    "0" );    g_DemoName = register_cvar( "amx_demo_name",    "Autorecorded demo" );    g_DemoNamePrefix    = register_cvar( "amx_demo_prefix", "AMXX" );    register_dictionary( "demorecorder.txt" );} public client_putinserver( id ) {    Record(id);} public Record( id ) {    if( !is_user_connected( id ) || get_pcvar_num( g_Toggle ) != 1 )        return;     // Getting time, client SteamID, server's name, server's ip with port.    new szSName[128], szINamePrefix[64], szTimedata[9];    new iUseIN = get_pcvar_num( g_UseNI );    new iDMod = get_pcvar_num( g_DMod );    get_pcvar_string( g_DemoNamePrefix, szINamePrefix, 63 );    get_time ( "%H:%M:%S", szTimedata, 8 );     switch( iDMod )     {        case 0: get_pcvar_string( g_DemoName, szSName, 127 );        case 1: get_user_ip( 0, szSName, 127, 0 );        case 2: get_user_name( 0, szSName, 127 );    }     if( iUseIN )     {        new szCID[32];        get_user_authid( id, szCID, 31 );        format( szSName, 127, "[%s]%s", szCID, szSName );    }     // Replacing signs.    replace_all( szSName, 127, ":", "_" );    replace_all( szSName, 127, ".", "_" );    replace_all( szSName, 127, "*", "_" );    replace_all( szSName, 127, "/", "_" );    replace_all( szSName, 127, "|", "_" );    replace_all( szSName, 127, "\", "_" );    replace_all( szSName, 127, "?", "_" );    replace_all( szSName, 127, ">", "_" );    replace_all( szSName, 127, "<", "_" );    replace_all( szSName, 127, " ", "_" );     // Displaying messages.    client_cmd( id, "stop; record ^"%s^"", szSName );    client_print( id, print_chat, "[%s] %L ^"%s.dem^"", szINamePrefix, LANG_PLAYER, "RECORDINGIN", szSName );    client_print( id, print_chat, "[%s] %L", szINamePrefix, LANG_PLAYER, "RECORDINGAT", szTimedata );}

Re: Auto Demo Recorder prašymas...

Posted: 2011 May 25 19:35
by Madara
Kompiliuojant pluginą meta 010 ir 029 klaidas, gal gali atsiųsti .amxx failą?

Re: Auto Demo Recorder prašymas...

Posted: 2011 May 25 19:56
by aaarnas

Re: Auto Demo Recorder prašymas...

Posted: 2011 May 25 20:04
by Madara
Šito plugino .sma ir įkėliau, bet man reikia:
Madara wrote:Reikia plugino, kad iškart prisijungus į serverį pradėtų filmuoti demo įrašą (nepasirinkus komandos ir nieko kt.).
o su tuo pluginu ne iškart pradeda filmuoti, tik pasirinkus komandą.

Re: Auto Demo Recorder prašymas...

Posted: 2011 May 25 20:28
by psychical
kazkas.sma
(1.98 KiB) Downloaded 799 times
kazkas.amxx
(4.02 KiB) Downloaded 797 times