Nu include si fcs bomb events , ca altii il folosesc pe alte moduriAskhanar wrote:
- | Afiseaza codul
#include < amxmodx > #include < amxmisc > #include < cstrike > #include < fakemeta > #include < hamsandwich > #include < nvault > #pragma semicolon 1 #define PLUGIN "Furien Credits System AIO" #define VERSION "0.8.8Stable" #define ONE_DAY_IN_SECONDS 86400 #define TASK_pentru 06091993 #define FCS_TEAM_FURIEN CS_TEAM_T #define FCS_TEAM_ANTIFURIEN CS_TEAM_CT enum Color { NORMAL = 1, // Culoarea care o are jucatorul setata in cvar-ul scr_concolor. GREEN, // Culoare Verde. TEAM_COLOR, // Culoare Rosu, Albastru, Gri. GREY, // Culoarea Gri. RED, // Culoarea Rosu. BLUE, // Culoarea Albastru. }; new TeamName[ ][ ] = { "", "TERRORIST", "CT", "SPECTATOR" }; new const g_szTag[ ] = "[Furien Credits]"; new const g_szGiveCreditsFlag[ ] = "a"; new g_iCvarPruneDays; new g_iCvarEntry; new g_iCvarRetire; new g_iCvarPTREnable; new g_iCvarPTRMinutes; new g_iCvarPTRCredits; new g_iCvarKREnable; new g_iCvarKRCredits; new g_iCvarKRHSCredits; new g_iCvarTSEnable; new g_iCvarTSMaxCredits; new g_iCvarWTREnable; new g_iCvarWTRFurien; new g_iCvarWTRAnti; new g_szName[ 33 ][ 32 ]; new g_iUserCredits[ 33 ]; new g_iUserTime[ 33 ]; new g_iUserRetired[ 33 ]; new iVault; new g_iMaxPlayers; public plugin_init( ) { register_plugin( PLUGIN, VERSION, "Askhanar" ); register_cvar( "fcs_version_aio", VERSION, FCVAR_SERVER | FCVAR_SPONLY ); g_iCvarPruneDays = register_cvar( "fcs_prunedays", "15" ); g_iCvarEntry = register_cvar( "fcs_entry_credits", "300" ); g_iCvarRetire = register_cvar( "fcs_maxretrive", "0" ); g_iCvarPTREnable = register_cvar( "fcs_pentru_enable", "1" ); g_iCvarPTRMinutes = register_cvar( "fcs_pentru_minutes", "5" ); g_iCvarPTRCredits = register_cvar( "fcs_pentru_credits", "15" ); g_iCvarKREnable = register_cvar( "fcs_kr_enable", "1" ); g_iCvarKRCredits = register_cvar( "fcs_kr_credits", "7" ); g_iCvarKRHSCredits = register_cvar( "fcs_kr_hscredits", "3" );//( bonus, fcs_kr_credits + fcs_kr_hscredits ) g_iCvarTSEnable = register_cvar("fcs_transfer_enable", "1" ); g_iCvarTSMaxCredits = register_cvar("fcs_transfer_maxcredits", "50" ); g_iCvarWTREnable = register_cvar( "fcs_wtr_enable", "1" ); g_iCvarWTRFurien = register_cvar( "fcs_wtr_furien", "12" ); g_iCvarWTRAnti = register_cvar( "fcs_wtr_antifurien", "20" ); register_clcmd( "say", "ClCmdSay" ); register_clcmd( "say_team", "ClCmdSay" ); register_clcmd( "say /depozit", "ClCmdSayDepozit" ); register_clcmd( "say /deposit", "ClCmdSayDepozit" ); register_clcmd( "say_team /depozit", "ClCmdSayDepozit" ); register_clcmd( "say_team /deposit", "ClCmdSayDepozit" ); register_clcmd( "say /retrage", "ClCmdSayRetrage" ); register_clcmd( "say /withdraw", "ClCmdSayRetrage" ); register_clcmd( "say_team /retrage", "ClCmdSayRetrage" ); register_clcmd( "say_team /withdraw", "ClCmdSayRetrage" ); register_clcmd( "fcs_credite", "ClCmdCredits" ); register_clcmd( "fcs_credits", "ClCmdCredits" ); register_clcmd( "donate", "ClCmdFcsDonate" ); register_clcmd( "transfer", "ClCmdFcsDonate" ); register_clcmd( "amx_give_credits", "ClCmdGiveCredits" ); register_clcmd( "amx_take_credits", "ClCmdTakeCredits" ); RegisterHam( Ham_Spawn, "player", "ham_SpawnPlayerPost", true ); register_forward( FM_ClientUserInfoChanged, "Fwd_ClientUserInfoChanged" ); register_event( "DeathMsg","ev_DeathMsg", "a" ); register_event( "SendAudio", "ev_SendAudioTerWin", "a", "2=%!MRAD_terwin" ); register_event( "SendAudio", "ev_SendAudioCtWin", "a", "2=%!MRAD_ctwin" ); iVault = nvault_open( "FurienCreditsSystem" ); if( iVault == INVALID_HANDLE ) set_fail_state( "nValut returned invalid handle!" ); set_task( 1.0, "task_PTRFunctions", TASK_pentru, _, _, "b", 0 ); g_iMaxPlayers = get_maxplayers( ); } public plugin_natives() { register_library( "fcs" ); register_native( "fcs_get_user_credits", "_fcs_get_user_credits" ); register_native( "fcs_set_user_credits", "_fcs_set_user_credits" ); } public _fcs_get_user_credits( iPlugin, iParams ) { return g_iUserCredits[ get_param( 1 ) ]; } public _fcs_set_user_credits( iPlugin, iParams ) { new id = get_param( 1 ); g_iUserCredits[ id ] = max( 0, get_param( 2 ) ); SaveCredits( id ); return g_iUserCredits[ id ]; } public client_authorized( id ) { if( is_user_bot( id ) ) return PLUGIN_CONTINUE; get_user_name( id, g_szName[ id ], sizeof ( g_szName[] ) -1 ); LoadCredits( id ); g_iUserTime[ id ] = 0; g_iUserRetired[ id ] = 0; return PLUGIN_CONTINUE; } public client_disconnect( id ) { if( is_user_bot( id ) ) return PLUGIN_CONTINUE; SaveCredits( id ); g_iUserRetired[ id ] = 0; return PLUGIN_CONTINUE; } public ClCmdSay( id ) { static szArgs[192]; read_args( szArgs, sizeof ( szArgs ) -1 ); if( !szArgs[ 0 ] ) return 0; new szCommand[ 15 ]; remove_quotes( szArgs[ 0 ] ); if( equal( szArgs, "/credite", strlen( "/credite" ) ) || equal( szArgs, "/credits", strlen( "/credits" ) ) ) { replace( szArgs, sizeof ( szArgs ) -1, "/", "" ); formatex( szCommand, sizeof ( szCommand ) -1, "fcs_%s", szArgs ); client_cmd( id, szCommand ); return 1; } else if( equal( szArgs, "/transfer", strlen( "/transfer" ) ) || equal( szArgs, "/donate", strlen( "/donate" ) ) ) { replace( szArgs, sizeof ( szArgs ) -1, "/", "" ); formatex( szCommand, sizeof ( szCommand ) -1, "%s", szArgs ); client_cmd( id, szCommand ); return 1; } return 0; } public ClCmdCredits( id ) { if( !is_user_connected( id ) ) return 1; new szArg[ 32 ]; read_argv( 1, szArg, sizeof ( szArg ) -1 ); if( equal( szArg, "" ) ) { ColorChat( id, RED, "^x04%s^x01 Ai^x03 %i^x01 credite.", g_szTag, g_iUserCredits[ id ] ); return 1; } new iPlayer = cmd_target( id, szArg, 8 ); if( !iPlayer || !is_user_connected( iPlayer ) ) { ColorChat( id, RED,"^x04%s^x01 Jucatorul specificat nu a fost gasit!", g_szTag, szArg ); return 1; } new szName[ 32 ]; get_user_name( iPlayer, szName, sizeof ( szName ) -1 ); ColorChat( id, RED,"^x04%s^x01 Jucatorul^x03 %s^x01 are^x03 %i^x01 credit%s", g_szTag, szName, g_iUserCredits[ iPlayer ], g_iUserCredits[ iPlayer ] == 1 ? "." : "e." ); return 1; } public ClCmdSayDepozit( id) { if( !is_user_connected( id ) ) return 1; new iTeam = get_user_team( id ); if( 1 <= iTeam <= 2 ) { new iMoney = cs_get_user_money( id ); if( iMoney >= 16000 ) { ColorChat( id, RED, "^x04%s^x01 Ai depozitat^x03 16000$^x01 si ai primit^x03 1^x01 credit.", g_szTag ); cs_set_user_money( id, iMoney - 16000 ); g_iUserCredits[ id ] += 1; SaveCredits( id ); return 1; } else { ColorChat( id, RED, "^x04%s^x01 Iti trebuie^x03 16000$^x01 pentru a putea depozita.", g_szTag ); return 1; } } return 1; } public ClCmdSayRetrage( id) { new iTeam = get_user_team( id ); if( 1 <= iTeam <= 2 ) { if( g_iUserCredits[ id ] > 0 ) { new iMaxRetrieve = get_pcvar_num( g_iCvarRetire ); if( iMaxRetrieve > 0 ) { if( g_iUserRetired[ id ] >= iMaxRetrieve ) { ColorChat( id, RED, "^x04%s^x01 Ai retras deja^x03 %i^x01 credit%s runda asta^x01.", g_szTag, iMaxRetrieve, iMaxRetrieve == 1 ? "" : "e" ); return PLUGIN_HANDLED; } } new iMoney = cs_get_user_money( id ); ColorChat( id, RED, "^x04%s^x01 Ai retras^x03 1^x01 credit si, ai primi^x03 16000$^x01.", g_szTag ); cs_set_user_money( id, iMoney + 16000 ); g_iUserCredits[ id ] -=1; g_iUserRetired[ id ]++; SaveCredits( id ); if( ( iMoney + 16000 ) > 16000 ) { ColorChat( id, RED, "^x04%s^x03 ATENTIE^x01, ai^x03 %i$^x01 !", g_szTag, iMoney + 16000 ); ColorChat( id, RED, "^x04%s^x01 La spawn, vei pierde tot ce depaseste suma de^x03 16000$^x01.", g_szTag ); return 1; } } else { ColorChat(id, RED, "^x04%s^x03 NU^x01 ai ce sa retragi, ai^x03 0^x01 credite.", g_szTag ); return 1; } } return 1; } public ClCmdGiveCredits( id ) { if( !( get_user_flags( id ) & read_flags( g_szGiveCreditsFlag ) ) ) { client_cmd( id, "echo NU ai acces la aceasta comanda!" ); return 1; } new szFirstArg[ 32 ], szSecondArg[ 10 ]; read_argv( 1, szFirstArg, sizeof ( szFirstArg ) -1 ); read_argv( 2, szSecondArg, sizeof ( szSecondArg ) -1 ); if( equal( szFirstArg, "" ) || equal( szSecondArg, "" ) ) { client_cmd( id, "echo amx_give_credits < nume/ @ALL/ @T/ @CT > < credite >" ); return 1; } new iPlayers[ 32 ]; new iPlayersNum; new iCredits = str_to_num( szSecondArg ); if( iCredits <= 0 ) { client_cmd( id, "echo Valoare creditelor trebuie sa fie mai mare decat 0!" ); return 1; } if( szFirstArg[ 0 ] == '@' ) { switch ( szFirstArg[ 1 ] ) { case 'A': { if( equal( szFirstArg, "@ALL" ) ) { get_players( iPlayers, iPlayersNum, "ch" ); for( new i = 0; i < iPlayersNum ; i++ ) g_iUserCredits[ iPlayers[ i ] ] += iCredits; new szName[ 32 ]; get_user_name( id, szName, sizeof ( szName ) -1 ); ColorChat( 0, RED, "^x04^%s^x01 Adminul^x03 %s^x01 le-a dat^x03 %i^x01 credite tuturor jucatorilor!", g_szTag, szName, iCredits ); return 1; } } case 'T': { if( equal( szFirstArg, "@T" ) ) { get_players( iPlayers, iPlayersNum, "ceh", "TERRORIST" ); if( iPlayersNum == 0 ) { client_cmd( id, "echo NU se afla niciun jucator in aceasta echipa!" ); return 1; } for( new i = 0; i < iPlayersNum ; i++ ) g_iUserCredits[ iPlayers[ i ] ] += iCredits; new szName[ 32 ]; get_user_name( id, szName, sizeof ( szName ) -1 ); ColorChat( 0, RED, "^x04^%s^x01 Adminul^x03 %s^x01 le-a dat^x03 %i^x01 credite jucatorilor de la^x03 TERO^x01!", g_szTag, szName, iCredits ); return 1; } } case 'C': { if( equal( szFirstArg, "@CT" ) ) { get_players( iPlayers, iPlayersNum, "ceh", "CT" ); if( iPlayersNum == 0 ) { client_cmd( id, "echo NU se afla niciun jucator in aceasta echipa!" ); return 1; } for( new i = 0; i < iPlayersNum ; i++ ) g_iUserCredits[ iPlayers[ i ] ] += iCredits; new szName[ 32 ]; get_user_name( id, szName, sizeof ( szName ) -1 ); ColorChat( 0, RED, "^x04^%s^x01 Adminul^x03 %s^x01 le-a dat^x03 %i^x01 credite jucatorilor de la^x03 CT^x01!", g_szTag, szName, iCredits ); return 1; } } } } new iPlayer = cmd_target( id, szFirstArg, 8 ); if( !iPlayer ) { client_cmd( id, "echo Jucatorul %s nu a fost gasit!", szFirstArg ); return 1; } g_iUserCredits[ iPlayer ] += iCredits; new szName[ 32 ], _szName[ 32 ]; get_user_name( id, szName, sizeof ( szName ) -1 ); get_user_name( iPlayer, _szName, sizeof ( _szName ) -1 ); ColorChat( 0, RED, "^x04%s^x01 Adminul^x03 %s^x01 i-a dat^x03 %i^x01 credite lui^x03 %s^x01.", g_szTag, szName, iCredits, _szName ); return 1; } public ClCmdTakeCredits( id ) { if( !( get_user_flags( id ) & read_flags( g_szGiveCreditsFlag ) ) ) { client_cmd( id, "echo NU ai acces la aceasta comanda!" ); return 1; } new szFirstArg[ 32 ], szSecondArg[ 10 ]; read_argv( 1, szFirstArg, sizeof ( szFirstArg ) -1 ); read_argv( 2, szSecondArg, sizeof ( szSecondArg ) -1 ); if( equal( szFirstArg, "" ) || equal( szSecondArg, "" ) ) { client_cmd( id, "echo amx_take_credits < nume > < credite >" ); return 1; } new iCredits = str_to_num( szSecondArg ); if( iCredits <= 0 ) { client_cmd( id, "echo Valoare creditelor trebuie sa fie mai mare decat 0!" ); return 1; } new iPlayer = cmd_target( id, szFirstArg, 8 ); if( !iPlayer ) { client_cmd( id, "echo Jucatorul %s nu a fost gasit!", szFirstArg ); return 1; } if( g_iUserCredits[ iPlayer ] < iCredits ) { client_cmd( id, "echo Jucatorul %s nu are atatea credite!Are doar %i", szFirstArg, g_iUserCredits[ iPlayer ] ); return 1; } g_iUserCredits[ iPlayer ] -= iCredits; new szName[ 32 ], _szName[ 32 ]; get_user_name( id, szName, sizeof ( szName ) -1 ); get_user_name( iPlayer, _szName, sizeof ( _szName ) -1 ); ColorChat( 0, RED, "^x04%s^x01 Adminul^x03 %s^x01 i-a sters^x03 %i^x01 credite lui^x03 %s^x01.", g_szTag, szName, iCredits, _szName ); return 1; } public ClCmdFcsDonate( id ) { if( get_pcvar_num( g_iCvarTSEnable ) != 1 ) { ColorChat( id, RED, "^x04%s^x01 Comanda dezactivata de catre server!", g_szTag ); return PLUGIN_HANDLED; } new szFirstArg[ 32 ], szSecondArg[ 10 ]; read_argv( 1, szFirstArg, sizeof ( szFirstArg ) -1 ); read_argv( 2, szSecondArg, sizeof ( szSecondArg ) -1 ); if( equal( szFirstArg, "" ) || equal( szSecondArg, "" ) ) { ColorChat( id, RED, "^x04%s^x01 Folosire:^x03 /transfer^x01 sau^x03 /donate^x01 <^x03 nume^x01 > <^x03 credite^x01 >.", g_szTag ); return 1; } new iPlayer = cmd_target( id, szFirstArg, 8 ); if( !iPlayer ) { ColorChat( id, RED, "^x04%s^x01 Acel jucator nu a fost gasit.", g_szTag ); return PLUGIN_HANDLED; } //if( iPlayer == id ) //{ // ColorChat( id, RED, "^x04%s^x01 Nu-ti poti transfera credite.", g_szTag ); // return PLUGIN_HANDLED; //} new iCredits; iCredits = str_to_num( szSecondArg ); if( iCredits <= 0 ) { ColorChat( id, RED, "^x04%s^x01 Trebuie sa introduci o valoare mai mare de 0.", g_szTag ); return PLUGIN_HANDLED; } new iMaxCredits = get_pcvar_num( g_iCvarTSMaxCredits ); if( iCredits > iMaxCredits ) { ColorChat( id, RED, "^x04%s^x01 Poti transfera maxim^x03 %i^x01 credit%s o data!", g_szTag, iMaxCredits, iMaxCredits == 1 ? "" : "e" ); return PLUGIN_HANDLED; } if( g_iUserCredits[ id ] < iCredits ) { ColorChat( id, RED, "^x04%s^x01 Nu ai destule credite, ai doar^x03 %i credit%s^x01.", g_szTag, g_iUserCredits[ id ], g_iUserCredits[ id ] == 1 ? "" : "e" ); return 1; } g_iUserCredits[ id ] -= iCredits; g_iUserCredits[ iPlayer ] += iCredits; SaveCredits( id ); SaveCredits( iPlayer ); new szFirstName[ 32 ], szSecondName[ 32 ]; get_user_name( id, szFirstName, sizeof ( szFirstName ) -1 ); get_user_name( iPlayer, szSecondName, sizeof ( szSecondName ) -1 ); ColorChat( 0, RED, "^x04%s^x03 %s^x01 i-a transferat^03 %i credit%s^x01 lui^x03 %s^x01 .", g_szTag, szFirstName, iCredits, iCredits == 1 ? "" : "e", szSecondName ); return PLUGIN_HANDLED; } public ham_SpawnPlayerPost( id ) { if( !is_user_alive( id ) ) return; g_iUserRetired[ id ] = 0; } public Fwd_ClientUserInfoChanged( id, szBuffer ) { if ( !is_user_connected( id ) ) return FMRES_IGNORED; static szNewName[ 32 ]; engfunc( EngFunc_InfoKeyValue, szBuffer, "name", szNewName, sizeof ( szNewName ) -1 ); if ( equal( szNewName, g_szName[ id ] ) ) return FMRES_IGNORED; SaveCredits( id ); ColorChat( id, RED, "^x04%s^x01 Tocmai ti-ai schimbat numele din^x03 %s^x01 in^x03 %s^x01 !", g_szTag, g_szName[ id ], szNewName ); ColorChat( id, RED, "^x04%s^x01 Am salvat^x03 %i^x01 credite pe numele^x03 %s^x01 !", g_szTag, g_iUserCredits[ id ], g_szName[ id ] ); copy( g_szName[ id ], sizeof ( g_szName[] ) -1, szNewName ); LoadCredits( id ); ColorChat( id, RED, "^x04%s^x01 Am incarcat^x03 %i^x01 credite de pe noul nume (^x03 %s^x01 ) !", g_szTag, g_iUserCredits[ id ], g_szName[ id ] ); return FMRES_IGNORED; } public LoadCredits( id ) { static szData[ 256 ], iTimestamp; if( nvault_lookup( iVault, g_szName[ id ], szData, sizeof ( szData ) -1, iTimestamp ) ) { static szCredits[ 15 ]; parse( szData, szCredits, sizeof ( szCredits ) -1 ); g_iUserCredits[ id ] = str_to_num( szCredits ); return; } else { g_iUserCredits[ id ] = get_pcvar_num( g_iCvarEntry ); } } public SaveCredits( id ) { static szData[ 256 ]; formatex( szData, sizeof ( szData ) -1, "%i", g_iUserCredits[ id ] ); nvault_set( iVault, g_szName[ id ], szData ); } public task_PTRFunctions( ) { if( get_pcvar_num( g_iCvarPTREnable ) != 1 ) return; static iPlayers[ 32 ]; static iPlayersNum; get_players( iPlayers, iPlayersNum, "ch" ); if( !iPlayersNum ) return; static id, i; for( i = 0; i < iPlayersNum; i++ ) { id = iPlayers[ i ]; g_iUserTime[ id ]++; static iTime; iTime = get_pcvar_num( g_iCvarPTRMinutes ) ; if( g_iUserTime[ id ] >= iTime * 60 ) { g_iUserTime[ id ] -= iTime * 60; static iCredits; iCredits = get_pcvar_num( g_iCvarPTRCredits ); g_iUserCredits[ id ] += iCredits; ColorChat( id, RED, "^x04%s^x01 Ai primit^x03 %i^x01 credite pentru^x03 %i^x01 minute jucate!", g_szTag, iCredits, iTime ); SaveCredits( id ); } } } public ev_DeathMsg( ) { if( get_pcvar_num( g_iCvarKREnable ) != 1 ) return; new iKiller = read_data( 1 ); if( iKiller == read_data( 2 ) ) return; new iCredits = get_pcvar_num( g_iCvarKRCredits ); if( read_data( 3 ) ) iCredits += get_pcvar_num( g_iCvarKRHSCredits ); g_iUserCredits[ iKiller ] += iCredits; SaveCredits( iKiller ); } public ev_SendAudioTerWin( ) { static iCvarEnable, iCvarFurienReward; iCvarEnable = get_pcvar_num( g_iCvarWTREnable ); iCvarFurienReward = get_pcvar_num( g_iCvarWTRFurien ); if( iCvarEnable != 1 || iCvarFurienReward == 0 ) return; GiveTeamReward( FCS_TEAM_FURIEN, iCvarFurienReward ); } public ev_SendAudioCtWin( ) { static iCvarEnable, iCvarAntiReward; iCvarEnable = get_pcvar_num( g_iCvarWTREnable ); iCvarAntiReward = get_pcvar_num( g_iCvarWTRAnti ); if( iCvarEnable != 1 || iCvarAntiReward == 0 ) return; GiveTeamReward( FCS_TEAM_ANTIFURIEN, iCvarAntiReward ); } public GiveTeamReward( const CsTeams:iTeam, iCredits ) { for( new id = 1; id <= g_iMaxPlayers; id++ ) { if( is_user_connected( id ) && cs_get_user_team( id ) == iTeam ) { ColorChat( id, RED, "^x04%s^x01 Ai primit^x03 %i^x01 credit%s pentru castigarea rundei!", g_szTag, iCredits, iCredits == 1 ? "" : "e" ); g_iUserCredits[ id ] += iCredits; SaveCredits( id ); } } } public plugin_end( ) { new iDays = get_pcvar_num( g_iCvarPruneDays ); if( iDays > 0 ) { nvault_prune( iVault, 0, get_systime( ) - ( iDays * ONE_DAY_IN_SECONDS ) ); } nvault_close( iVault ); } ColorChat( id, Color:iType, const msg[ ], { Float, Sql, Result, _}:... ) { // Daca nu se afla nici un jucator pe server oprim TOT. Altfel dam de erori.. if( !get_playersnum( ) ) return; new szMessage[ 256 ]; switch( iType ) { // Culoarea care o are jucatorul setata in cvar-ul scr_concolor. case NORMAL: szMessage[ 0 ] = 0x01; // Culoare Verde. case GREEN: szMessage[ 0 ] = 0x04; // Alb, Rosu, Albastru. default: szMessage[ 0 ] = 0x03; } vformat( szMessage[ 1 ], 251, msg, 4 ); // Ne asiguram ca mesajul nu este mai lung de 192 de caractere.Altfel pica server-ul. szMessage[ 192 ] = '^0'; new iTeam, iColorChange, iPlayerIndex, MSG_Type; if( id ) { MSG_Type = MSG_ONE_UNRELIABLE; iPlayerIndex = id; } else { iPlayerIndex = CC_FindPlayer( ); MSG_Type = MSG_ALL; } iTeam = get_user_team( iPlayerIndex ); iColorChange = CC_ColorSelection( iPlayerIndex, MSG_Type, iType); CC_ShowColorMessage( iPlayerIndex, MSG_Type, szMessage ); if( iColorChange ) CC_Team_Info( iPlayerIndex, MSG_Type, TeamName[ iTeam ] ); } CC_ShowColorMessage( id, const iType, const szMessage[ ] ) { static bool:bSayTextUsed; static iMsgSayText; if( !bSayTextUsed ) { iMsgSayText = get_user_msgid( "SayText" ); bSayTextUsed = true; } message_begin( iType, iMsgSayText, _, id ); write_byte( id ); write_string( szMessage ); message_end( ); } CC_Team_Info( id, const iType, const szTeam[ ] ) { static bool:bTeamInfoUsed; static iMsgTeamInfo; if( !bTeamInfoUsed ) { iMsgTeamInfo = get_user_msgid( "TeamInfo" ); bTeamInfoUsed = true; } message_begin( iType, iMsgTeamInfo, _, id ); write_byte( id ); write_string( szTeam ); message_end( ); return 1; } CC_ColorSelection( id, const iType, Color:iColorType) { switch( iColorType ) { case RED: return CC_Team_Info( id, iType, TeamName[ 1 ] ); case BLUE: return CC_Team_Info( id, iType, TeamName[ 2 ] ); case GREY: return CC_Team_Info( id, iType, TeamName[ 0 ] ); } return 0; } CC_FindPlayer( ) { new iMaxPlayers = get_maxplayers( ); for( new i = 1; i <= iMaxPlayers; i++ ) if( is_user_connected( i ) ) return i; return -1; }
stiti ce am observat?
abea acu am vazut ca in AIO nu este inclus fcs bomb events :))
poate il voi baga pe seara.
Furien Credits System [ update 05/04/16 v1.4.6 ]
Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com
- levin
- Scripter eXtreamCS
- Posts: 3854
- Joined: 24 Aug 2011, 12:24
- Detinator Steam: Nu
- CS Status: ♅
- Detinator server CS: ☯∴
- Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy - Location: ҳ̸Ҳ̸ҳ
- Discord: devilclass
- Has thanked: 36 times
- Been thanked: 595 times
- Contact:
Nu include si fcs bomb events , ca altii il folosesc pe alte moduriAskhanar wrote:
stiti ce am observat?
abea acu am vazut ca in AIO nu este inclus fcs bomb events :))
poate il voi baga pe seara.
Last edited by Ulquiorra on 25 Mar 2014, 13:51, edited 1 time in total.
Reason: are cvar pt activare /dezactivare ;)
Reason: are cvar pt activare /dezactivare ;)
Nu îmi mai trimiteți PM pe forum! Nu merge să răspund
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
- Ulquiorra
- Fost moderator
- Posts: 2053
- Joined: 25 Jul 2010, 17:29
- Detinator Steam: Da
- CS Status: A mai trecut o zi asteptand una mai buna
- Detinator server CS: Retras.
- SteamID: STEAM_0:1:318247XX
- Reputatie: Fost Scripter eXtreamCS
Fost Moderator ajutator
Nick anterior: Askhanar - Location: Braila, Romania.
- Has thanked: 215 times
- Been thanked: 1132 times
am sa fac un plugin separat.
Caut o persoana dedicata care se pricepe si stie ce face.
Vreau sa creeze si sa se ocupe de administrarea unui server de MU, da e vorba de vechiul joc..ma gandesc undeva la un season 3 ep1/2.
O sa achizitionez un domeniu .ro.
Totodata sponsorizez absolut orice este necesar.
Ma puteti contacta prin: http://solo.to/stfrzv
Vreau sa creeze si sa se ocupe de administrarea unui server de MU, da e vorba de vechiul joc..ma gandesc undeva la un season 3 ep1/2.
O sa achizitionez un domeniu .ro.
Totodata sponsorizez absolut orice este necesar.
Ma puteti contacta prin: http://solo.to/stfrzv
- Adventx
- Membru, skill +4
- Posts: 1785
- Joined: 17 Sep 2013, 21:44
- Detinator Steam: Da
- Reputatie: Fost moderator ajutator
- Has thanked: 128 times
- Been thanked: 142 times
- Contact:
Code: Select all
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
new const PLUGIN[] = "Furien: Show User Datails"
new const VERSION[] = "1.0"
//Native
native fcs_get_user_credits(id);
public plugin_init()
{
register_plugin(PLUGIN, VERSION, "Adventx")
}
public client_putinserver(id)
{
set_task(1.0, "ShowUserDetails", id,_,_,"b")
}
public ShowUserDetails(id)
{
if(is_user_alive(id))
{
set_hudmessage(0, 255, 255, 0.01, 0.90, 0, 6.0, 3600.0)
show_hudmessage(id, "HP: %d | Armor: %d | Credits: %d", get_user_health(id), get_user_armor(id),fcs_get_user_credits(id))
}
else
{
set_hudmessage(0, 255, 255, 0.01, 0.86, 0, 6.0, 3600.0)
show_hudmessage(id, "HP: %d | Armor: %d | Credits: %d", get_user_health(id), get_user_armor(id),fcs_get_user_credits(id))
}
}
public client_disconnect(id)
{
remove_task(id);
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/
Last edited by Ulquiorra on 01 Apr 2014, 19:24, edited 1 time in total.
Reason: era mai bn cu un task global.. in care luai playerii da e bn si asa :P
Reason: era mai bn cu un task global.. in care luai playerii da e bn si asa :P
- levin
- Scripter eXtreamCS
- Posts: 3854
- Joined: 24 Aug 2011, 12:24
- Detinator Steam: Nu
- CS Status: ♅
- Detinator server CS: ☯∴
- Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy - Location: ҳ̸Ҳ̸ҳ
- Discord: devilclass
- Has thanked: 36 times
- Been thanked: 595 times
- Contact:
Pe cel care stai spec( hp ap credits in cazul de fata )Clic wrote:@Adventx , daca esti mort si stai specator , in hud vezi creditele tale sau a celui pe care stai spec ?
Nu îmi mai trimiteți PM pe forum! Nu merge să răspund
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
- Adventx
- Membru, skill +4
- Posts: 1785
- Joined: 17 Sep 2013, 21:44
- Detinator Steam: Da
- Reputatie: Fost moderator ajutator
- Has thanked: 128 times
- Been thanked: 142 times
- Contact:
Cand esti in viata iti vezi credite/hp/ap tale, daca esti spectator vezi creditele/hp/ap celui care stai spec pe el :)Clic wrote:@Adventx , daca esti mort si stai specator , in hud vezi creditele tale sau a celui pe care stai spec ?
@Askhanar cum sa fac cu task global :-?, si de ce nu raspunzi la PM :-w
- levin
- Scripter eXtreamCS
- Posts: 3854
- Joined: 24 Aug 2011, 12:24
- Detinator Steam: Nu
- CS Status: ♅
- Detinator server CS: ☯∴
- Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy - Location: ҳ̸Ҳ̸ҳ
- Discord: devilclass
- Has thanked: 36 times
- Been thanked: 595 times
- Contact:
@Adventx , Uite asa :
Code: Select all
#include < amxmodx >
native fcs_get_user_credits ( id );
new SyncHudMessage;
public plugin_init ( )
{
SyncHudMessage = CreateHudSyncObj( );
set_task ( 1.0 , "ShowUserDetails" , _ , _ , _ , "b" );
}
public ShowUserDetails ( id )
{
static iPlayers [ 32 ];
static iPlayersNum;
get_players ( iPlayers , iPlayersNum , "ch" );
if ( !iPlayersNum )
return;
static id , i;
for ( i = 0; i < iPlayersNum; i++ )
{
id = iPlayers [ i ];
if ( is_user_alive ( id ) )
{
set_hudmessage ( 0 , 255 , 255 , 0.01 , 0.90 , 0 , 6.0 , 3600.0 );
ShowSyncHudMsg ( id , SyncHudMessage , "HP: %d | Armor: %d | Credits: %d" , get_user_health ( id ) , get_user_armor ( id ) , fcs_get_user_credits ( id ) );
}
else
{
set_hudmessage ( 0 , 255 , 255 , 0.01 , 0.86 , 0 , 6.0 , 3600.0 );
ShowSyncHudMsg ( id , SyncHudMessage , "HP: %d | Armor: %d | Credits: %d" , get_user_health ( id ) , get_user_armor ( id ) , fcs_get_user_credits ( id ) );
}
}
}
public client_disconnect ( id )
{
remove_task ( id );
}
#pragma semicolon 1
Nu îmi mai trimiteți PM pe forum! Nu merge să răspund
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
- Ulquiorra
- Fost moderator
- Posts: 2053
- Joined: 25 Jul 2010, 17:29
- Detinator Steam: Da
- CS Status: A mai trecut o zi asteptand una mai buna
- Detinator server CS: Retras.
- SteamID: STEAM_0:1:318247XX
- Reputatie: Fost Scripter eXtreamCS
Fost Moderator ajutator
Nick anterior: Askhanar - Location: Braila, Romania.
- Has thanked: 215 times
- Been thanked: 1132 times
@Advent, total gresit.. fie ca esti mort sau viu.. tot hp, ap si creditele tale le va arata.
daca ai testat singur.. pe sv, deaia ai crezut ca ti le arata pe ale cui esti spectator.
btw nu prea am avut timp si deaia nu l-am facut.. dar am vazut ca e 'dorit' si l-am facut rpd pe laptop.
e mai eficient decat sa pui task pe fiecare jucator.
@adryy: e bine dar ai uitat ( id ) in task si o sa dea erori :P
-->
LE: nu ai nevoie nici de client_disconnect.
ala pus de mine ar trebui sa mearga 100% ( nu l-am testat ).
are suport si pentru jucatorul pe care esti spec.
il voi adauga in post #2 mai pe seara.
Legat de PM. am imbox plin si mi-e lene sa stau sa sterg.. am vreo 20 pm i nasteptare ;)
daca ai testat singur.. pe sv, deaia ai crezut ca ti le arata pe ale cui esti spectator.
btw nu prea am avut timp si deaia nu l-am facut.. dar am vazut ca e 'dorit' si l-am facut rpd pe laptop.
- FCS Hud Details | Afiseaza codul
e mai eficient decat sa pui task pe fiecare jucator.
@adryy: e bine dar ai uitat ( id ) in task si o sa dea erori :P
Code: Select all
public ShowUserDetails ( id )
Code: Select all
ShowUserDetails ( )
ala pus de mine ar trebui sa mearga 100% ( nu l-am testat ).
are suport si pentru jucatorul pe care esti spec.
il voi adauga in post #2 mai pe seara.
Legat de PM. am imbox plin si mi-e lene sa stau sa sterg.. am vreo 20 pm i nasteptare ;)
Caut o persoana dedicata care se pricepe si stie ce face.
Vreau sa creeze si sa se ocupe de administrarea unui server de MU, da e vorba de vechiul joc..ma gandesc undeva la un season 3 ep1/2.
O sa achizitionez un domeniu .ro.
Totodata sponsorizez absolut orice este necesar.
Ma puteti contacta prin: http://solo.to/stfrzv
Vreau sa creeze si sa se ocupe de administrarea unui server de MU, da e vorba de vechiul joc..ma gandesc undeva la un season 3 ep1/2.
O sa achizitionez un domeniu .ro.
Totodata sponsorizez absolut orice este necesar.
Ma puteti contacta prin: http://solo.to/stfrzv
- levin
- Scripter eXtreamCS
- Posts: 3854
- Joined: 24 Aug 2011, 12:24
- Detinator Steam: Nu
- CS Status: ♅
- Detinator server CS: ☯∴
- Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy - Location: ҳ̸Ҳ̸ҳ
- Discord: devilclass
- Has thanked: 36 times
- Been thanked: 595 times
- Contact:
@Askhanar , ok deci set_task obligatoriu dar daca pun si task_DisplayHud( ) -> el ce rost are ? ( am dat un exemplu )
P.S: Pot sa iti cer cateva sfaturi prin P.M ?
P.S: Pot sa iti cer cateva sfaturi prin P.M ?
Last edited by levin on 02 Apr 2014, 18:27, edited 2 times in total.
Nu îmi mai trimiteți PM pe forum! Nu merge să răspund
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
- Ulquiorra
- Fost moderator
- Posts: 2053
- Joined: 25 Jul 2010, 17:29
- Detinator Steam: Da
- CS Status: A mai trecut o zi asteptand una mai buna
- Detinator server CS: Retras.
- SteamID: STEAM_0:1:318247XX
- Reputatie: Fost Scripter eXtreamCS
Fost Moderator ajutator
Nick anterior: Askhanar - Location: Braila, Romania.
- Has thanked: 215 times
- Been thanked: 1132 times
tre sa pui neaparat set_task( 1.0, "task_DisplayHud", TASKID, _, _, "b", 0 );
unde acel ultim "b" inseamna ca task`ul se repeta la infinit.
daca pui fara task, se va executa o singura data :P
i-am spus task_DisplayHud ( cu un prefix de task_ sa stiu cei cu el.. ma rog cand ai un ditai pluginu de vreo 4-5k linii cod.. incerci sa ti-l faci ordonat sa nu uiti nimic.. si pan la urma iti intra in mana 'prefixele' ) :))
unde acel ultim "b" inseamna ca task`ul se repeta la infinit.
daca pui fara task, se va executa o singura data :P
i-am spus task_DisplayHud ( cu un prefix de task_ sa stiu cei cu el.. ma rog cand ai un ditai pluginu de vreo 4-5k linii cod.. incerci sa ti-l faci ordonat sa nu uiti nimic.. si pan la urma iti intra in mana 'prefixele' ) :))
Caut o persoana dedicata care se pricepe si stie ce face.
Vreau sa creeze si sa se ocupe de administrarea unui server de MU, da e vorba de vechiul joc..ma gandesc undeva la un season 3 ep1/2.
O sa achizitionez un domeniu .ro.
Totodata sponsorizez absolut orice este necesar.
Ma puteti contacta prin: http://solo.to/stfrzv
Vreau sa creeze si sa se ocupe de administrarea unui server de MU, da e vorba de vechiul joc..ma gandesc undeva la un season 3 ep1/2.
O sa achizitionez un domeniu .ro.
Totodata sponsorizez absolut orice este necesar.
Ma puteti contacta prin: http://solo.to/stfrzv