Ore jucate

Categoria cu cereri de pluginuri si nu numai.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Forum rules
Accesează link-ul pentru a putea vedea regulile forumului

Daca doriti sa vi se modifice un plugin, va rugam postati aici .
AnonymousJunior1
Membru, skill 0
Membru, skill 0
Posts: 29
Joined: 19 Jun 2012, 16:43
Detinator Steam: Da
CS Status: Tepai merita sa fie aruncati la gunoi!!!
Detinator server CS: ****.tepari.ro
Has thanked: 13 times
Been thanked: 5 times
Contact:

25 Feb 2014, 16:12

Nickname: Anonym
Numele pluginului cerut: ore jucate
Descriere plugin cerut: Doresc un plugin ce poate inregistra orele jucatorilor online
Alte informatii: Cu alte cuvinte doresc plugin ul orejucate
Last edited by AnonymousJunior1 on 26 Feb 2014, 14:27, edited 1 time in total.
Read rules.
RoyalServer
User avatar
Ulquiorra
Fost moderator
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

25 Feb 2014, 21:59

nu e public.. dar daca tot nu il mai folosesc.. si nu mai sunt activ am zis sa fac o fapta buna ;)
| Afiseaza codul
/* Plugin generated by AMXX-Studio */

#include < amxmodx >
#include < amxmisc >
#include < nvault >
#include < fakemeta >
#include < hamsandwich >

#include < CC_ColorChat >

#pragma semicolon 1

#define PLUGIN "Furien Time Rewards"
#define VERSION "0.3.2"

#define MAX_STEPS	6

enum
{
	SECONDS = 0,
	MINUTES,
	HOURS,
	
	MAX_TIMEINFO
}

new g_iHoursSteps[ MAX_STEPS ] =
{
	50,
	80,
	150,
	200,
	250,
	300
};

new const g_szTag[ ] = "[Furien Time Rewards]";
new const g_szClassName[ ] = "Askhanar'sMagicEntity";

new g_iMagicEntity;
new g_iVault;

new g_iUsersPlayedTime[ 33 ][ MAX_TIMEINFO ];
new g_szName[ 33 ][ 32 ];

public plugin_init( )
{
	register_plugin(PLUGIN, VERSION, "Askhanar" );
	
	register_clcmd( "say", "HookClCmdSay" );
	register_clcmd( "say_team", "HookClCmdSay" );
	
	register_clcmd( "pentru_ore", "ClCmdSayOre" );
	
	register_forward( FM_ClientUserInfoChanged, "Fwd_ClientUserInfoChanged" );
	
	g_iVault  =  nvault_open(  "PlayedTimeRewards"  );
		
	if(  g_iVault  ==  INVALID_HANDLE  )
	{
		set_fail_state(  "nValut returned invalid handle!"  );
	}
	
	
	new iEnt;
	CreateMagicEntity:
	
	iEnt = engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, "info_target" ) );
	if( !iEnt || !pev_valid( iEnt ) )
		goto CreateMagicEntity;
	
	set_pev( iEnt, pev_classname, g_szClassName );
	set_pev( iEnt, pev_nextthink, get_gametime(  ) + 0.3 );
	register_forward( FM_Think, "FM_MagicEntityThink" );
	
	g_iMagicEntity = iEnt;
}

public HookClCmdSay( id )
{
	static szSaid[ 192 ];
	read_args( szSaid, sizeof ( szSaid ) -1 );
	
	if( !szSaid[ 0 ] )
		return 0;
	
	new szCommand[ 15 ];
	remove_quotes( szSaid );
	
	if( equal( szSaid, "/ore", strlen( "/ore" ) ) )
	{
		replace( szSaid, sizeof ( szSaid ) -1, "/", "" );
		formatex( szCommand, sizeof ( szCommand ) -1, "pentru_%s", szSaid );
		client_cmd( id, szCommand );
	}
	
	return 0;
}
public ClCmdSayOre( id )
{
	new szFirstArg[ 32 ];
	read_argv( 1, szFirstArg, sizeof ( szFirstArg ) -1 );
	
	if( equal( szFirstArg, "" )  )
	{
		
		ShowUsersPT( id, id );
		return 1;	
	}

	new iPlayer = cmd_target( id, szFirstArg, 8 );
	
	if( !iPlayer || !is_user_connected( iPlayer ) )
	{
		ColorChat( id, RED,"^x04%s^x01 Jucatorul^x03 %s^x01 nu a fost gasit!", g_szTag, szFirstArg );
		return 1;
	}
	
	ShowUsersPT( id, iPlayer );
	
	return 0;
	
}

public ShowUsersPT( id, iPlayer )
{
	new szMessage[ 128 ];
	new bool:bUseFormat = false;
	
	if( g_iUsersPlayedTime[ iPlayer ][ SECONDS ] )
	{
		formatex( szMessage, sizeof ( szMessage ) -1, "^x03%i^x01 secund%s", g_iUsersPlayedTime[ iPlayer ][ SECONDS ], g_iUsersPlayedTime[ iPlayer ][ SECONDS ] == 1 ? "a" : "e" );
			
		bUseFormat = true;
	}
	if( g_iUsersPlayedTime[ iPlayer ][ MINUTES ] )
	{
		if( bUseFormat )
		{
			format( szMessage, sizeof ( szMessage ) -1, "%s,^x03 %i^x01 minut%s", szMessage,
				g_iUsersPlayedTime[ iPlayer ][ MINUTES ], g_iUsersPlayedTime[ iPlayer ][ MINUTES ] == 1 ? "" : "e" );
		}
		else
		{
			formatex( szMessage, sizeof ( szMessage ) -1, "^x03%i^x01 minut%s",
				g_iUsersPlayedTime[ iPlayer ][ MINUTES ], g_iUsersPlayedTime[ iPlayer ][ MINUTES ] == 1 ? "" : "e" );
		
			bUseFormat = true;
		}
	}
	if( g_iUsersPlayedTime[ iPlayer ][ HOURS ] )
	{
		if( bUseFormat )
		{
			format( szMessage, sizeof ( szMessage ) -1, "%s,^x03 %i^x01 or%s", szMessage,
				g_iUsersPlayedTime[ iPlayer ][ HOURS ], g_iUsersPlayedTime[ iPlayer ][ HOURS ] == 1 ? "a" : "e" );
		}
		else
		{
			formatex( szMessage, sizeof ( szMessage ) -1, "^x03%i^x01 or%s",
				g_iUsersPlayedTime[ iPlayer ][ HOURS ], g_iUsersPlayedTime[ iPlayer ][ HOURS ] == 1 ? "a" : "e" );
		
			bUseFormat = true;
		}
	}
	
	if( bUseFormat )
	{
		ColorChat( id, RED, "^x04%s^x01Jucatorul^x03 %s^x01 a acumulat pana acum:", g_szTag, g_szName[ iPlayer ] );
		ColorChat( id, RED, "^x04%s^x01 %s^x01 .", g_szTag, szMessage );
	}
	else
	{
		ColorChat( id, RED, "^x04%s^x01Jucatorul^x03 %s^x01 a acumulat pana acum:", g_szTag, g_szName[ iPlayer ] );
		ColorChat( id, RED, "^x04%s^x03 0^x01 ore^x03 0^x01 minute^x03 0^x01 secunde .", g_szTag );
	}
}

public client_putinserver( id )
{
	if( is_user_bot( id ) )
		return 0;
		
	get_user_name( id, g_szName[ id ], sizeof ( g_szName[] ) -1 );
	LoadUsersData( id );
	
	return 0;
}

public client_disconnect( id )
{
	if( is_user_bot( id ) )
		return 0;
		
	SaveUsersData( id );
	
	return 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;
	
	copy( g_szName[ id ], sizeof ( g_szName[] ) -1, szNewName );
	LoadUsersData( id );
	
	return FMRES_IGNORED;
}

public FM_MagicEntityThink( iEnt )
{
	
	if( iEnt != g_iMagicEntity || !pev_valid( iEnt ) )
		return;
		
	set_pev( iEnt, pev_nextthink, get_gametime(  ) + 1.0 );
	
	static szHour[ 5 ], iHour;
	
	get_time( "%H", szHour, sizeof ( szHour ) );
	iHour = str_to_num( szHour );
	
	if( iHour >= 0 && iHour < 7 )
	{
		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_connected( id ) )
			{
				g_iUsersPlayedTime[ id ][ SECONDS ] += 1;
				
				if( g_iUsersPlayedTime[ id ][ SECONDS ] == 59 )
					SaveUsersData( id );
				
				ArrangeAndCheckTime( id );
			}
			
		}
	}
	
	// --| Stupid compiler..
	//return;

}

ArrangeAndCheckTime( id )
{
	
	while( g_iUsersPlayedTime[ id ][ SECONDS ] >= 60 )
	{
		g_iUsersPlayedTime[ id ][ SECONDS ] -= 60;
		g_iUsersPlayedTime[ id ][ MINUTES ] += 1;
	}
	
	while( g_iUsersPlayedTime[ id ][ MINUTES ] >= 60 )
	{
		g_iUsersPlayedTime[ id ][ MINUTES ] -= 60;
		g_iUsersPlayedTime[ id ][ HOURS ] += 1;
	}
	
	for( new i = 0; i < MAX_STEPS; i++ )
	{
		if( g_iUsersPlayedTime[ id ][ HOURS ] == g_iHoursSteps[ i ]
			&& g_iUsersPlayedTime[ id ][ MINUTES ] == 0
			&& g_iUsersPlayedTime[ id ][ SECONDS ] == 0 )
		{
			log_to_file( "PlayedTimeRewards.txt", "-------------------------------------------------------------------------------------" );
			log_to_file( "PlayedTimeRewards.txt", "Jucatorul | %s | a atins pragul de | %i ore | jucate in intervalul 01:00 - 07:00 noaptea!!!", g_szName[ id ], g_iHoursSteps[ i ] );
			log_to_file( "PlayedTimeRewards.txt", "-------------------------------------------------------------------------------------" );
			
			ColorChat( 0, RED, "^x04%s^x01 Felicitari jucatorului^x03 %s^x01 care tocmai a atins pragul:", g_szTag, g_szName[ id ] );
			ColorChat( 0, RED, "^x04%s^x03 %i ore^x01 jucate in intervalul^x03 00:00^x01 -^x03 07:00^x01 noaptea!!!", g_szTag, g_szName[ id ] );
		
		}
	}
	
}

public SaveUsersData( id )
{
	
	static szData[ 128 ];
	new iLen = formatex( szData, sizeof ( szData ) -1, "%i",g_iUsersPlayedTime[ id ][ SECONDS ] );
	iLen += formatex( szData[ iLen ], sizeof( szData ) - iLen -1 , " %i", g_iUsersPlayedTime[ id ][ MINUTES ] );
	iLen += formatex( szData[ iLen ], sizeof( szData ) - iLen -1 , " %i", g_iUsersPlayedTime[ id ][ HOURS ] );
	
	nvault_set( g_iVault, g_szName[ id ], szData );
}

public LoadUsersData( id )
{
	
	static szData[ 128 ], iTimeStamp;
	
	if( nvault_lookup( g_iVault, g_szName[ id ], szData, sizeof ( szData ) -1, iTimeStamp ) )
		ParseLoadedData( id, szData );
	else
		UserIsNew( id );
	
	
}

public ParseLoadedData( id, szData[ 128 ] )
{
	static szNothing[  15  ];
	
	for( new i = SECONDS; i < MAX_TIMEINFO; i++ )
	{
		strbreak( szData, szNothing, sizeof ( szNothing ) -1, szData, sizeof ( szData ) -1 );
		g_iUsersPlayedTime[ id ][ i ] = str_to_num( szNothing );
	}
	
}

public UserIsNew(  id  )
{
	
	for( new i = SECONDS; i < MAX_TIMEINFO; i++ )
		g_iUsersPlayedTime[ id ][ i ] = 0;
	
}

public plugin_end( )
{
	nvault_close( g_iVault );
}
cand un jucator atinge un 'prag' adica are x ore ( puse sus in .sma la g_iHoursSteps ) va fi trecut intr`un fisier .txt ( PlayedTimeRewards.txt din logs ) cum ca a atins acel prag.

in rest comenzi:
/ore si /ore <nume>
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
User avatar
anaconda cs
Membru, skill +3
Membru, skill +3
Posts: 1045
Joined: 13 Nov 2012, 06:39
Detinator Steam: Da
Detinator server CS: Dr.InDungi.Ro
SteamID: anaconda_indungi
Location: Iasi
Has thanked: 49 times
Been thanked: 45 times
Contact:

25 Feb 2014, 22:11

interesant si frumos
ai putea sa il faci sa se salveze mereu ? adica sa nu aiba un fisier in care se salveaza, sau daca da sa se salveze odata la 30 ore.. si cam asta dar jucatorii sa poata face ore in continuare si sa se salveze pe nume
ai avea idee cum :-?
ms
Image
Image
Cosmin
Fost moderator
Fost moderator
Posts: 9362
Joined: 06 Jul 2013, 22:08
Detinator Steam: Da
Detinator server CS: Nu
Reputatie: Fost eXtream Mod
Fost Scripter eXtreamCS
Nume anterior: scosmynnnn
Has thanked: 492 times
Been thanked: 547 times

25 Feb 2014, 22:50

Eu numai am server de ceva timp si nici nu imi trebuie acest plugin dar iti multumesc ca l-ai postat ;) Respect.
User avatar
Ulquiorra
Fost moderator
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

26 Feb 2014, 09:58

anaconda..orele sunt salvate pe nume. chiar daca ai atins acel prag.. orele se vor salva in continuare.
pluginul foloseste nvault, in acel.txt sunt trecute doar 'logurile' cu c ei ce au atins vreun prag..
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
TrrrQ
Fost moderator
Fost moderator
Posts: 2594
Joined: 04 Feb 2013, 00:31
Detinator Steam: Da
Reputatie: Membru Club eXtreamCS (3 luni)
Restrictie moderator!
Unban achitat (x2)
Fost moderator
Fond eXtream: 8
Has thanked: 135 times
Been thanked: 67 times
Contact:

26 Feb 2014, 11:06

poţi te rog să-l editezi să înregistreze ore şi ziua şi noaptea?
Filme Online HD subtitrate fără reclame automate: https://filmeonline-hd.com
Prezentarea site-ului: https://www.youtube.com/watch?v=k4K3tgEkYjw
User avatar
anaconda cs
Membru, skill +3
Membru, skill +3
Posts: 1045
Joined: 13 Nov 2012, 06:39
Detinator Steam: Da
Detinator server CS: Dr.InDungi.Ro
SteamID: anaconda_indungi
Location: Iasi
Has thanked: 49 times
Been thanked: 45 times
Contact:

26 Feb 2014, 20:04

da dar am observat ca pana la ora 1 nu iti salveaza orele, ai putea sa il faci sa se salveze non stop?
Image
Image
AnonymousJunior1
Membru, skill 0
Membru, skill 0
Posts: 29
Joined: 19 Jun 2012, 16:43
Detinator Steam: Da
CS Status: Tepai merita sa fie aruncati la gunoi!!!
Detinator server CS: ****.tepari.ro
Has thanked: 13 times
Been thanked: 5 times
Contact:

02 Mar 2014, 14:20

askahanar dc dau acceste erori

Code: Select all

ore.sma(115) : error 017: undefined symbol "ColorChat"
ore.sma(115) : warning 215: expression has no effect
ore.sma(115) : warning 215: expression has no effect
ore.sma(115) : warning 215: expression has no effect
ore.sma(115) : error 001: expected token: ";", but found ")"
ore.sma(115) : error 029: invalid expression, assumed zero
ore.sma(115) : fatal error 107: too many error messages on one

Read rules.
User avatar
NuRoFeN [;x]
Membru, skill +2
Membru, skill +2
Posts: 828
Joined: 21 Aug 2012, 15:47
Detinator Steam: Da
CS Status: Inactiv !
Detinator server CS: DR.CS1.RO
SteamID: eualexandru
Reputatie: Fost moderator
Location: Rm.Valcea
Has thanked: 66 times
Been thanked: 61 times
Contact:

02 Mar 2014, 14:55

AnonymousJunior1 wrote:askahanar dc dau acceste erori

Code: Select all

ore.sma(115) : error 017: undefined symbol "ColorChat"
ore.sma(115) : warning 215: expression has no effect
ore.sma(115) : warning 215: expression has no effect
ore.sma(115) : warning 215: expression has no effect
ore.sma(115) : error 001: expected token: ";", but found ")"
ore.sma(115) : error 029: invalid expression, assumed zero
ore.sma(115) : fatal error 107: too many error messages on one

N-ati mai invatat ca tre sa aveti fisierul colorchat.inc in scripting/include ?
User avatar
GhosT ***
Membru, skill +2
Membru, skill +2
Posts: 604
Joined: 04 Dec 2013, 21:52
Detinator Steam: Da
CS Status: Morphin . [ Retras ]
SteamID: Mutulica1428
Reputatie: Fost Moderator ajutator
Location: Dumesti.
Has thanked: 40 times
Been thanked: 99 times
Contact:

02 Mar 2014, 15:01

NuRoFeN [;x] wrote:
AnonymousJunior1 wrote:askahanar dc dau acceste erori

Code: Select all

ore.sma(115) : error 017: undefined symbol "ColorChat"
ore.sma(115) : warning 215: expression has no effect
ore.sma(115) : warning 215: expression has no effect
ore.sma(115) : warning 215: expression has no effect
ore.sma(115) : error 001: expected token: ";", but found ")"
ore.sma(115) : error 029: invalid expression, assumed zero
ore.sma(115) : fatal error 107: too many error messages on one

N-ati mai invatat ca tre sa aveti fisierul colorchat.inc in scripting/include ?
Defapt daca erai atent la erori nu e de la include ..

Asa merge :
| Afiseaza codul
/* Plugin generated by AMXX-Studio */

#include < amxmodx >
#include < amxmisc >
#include < nvault >
#include < fakemeta >
#include < hamsandwich >

#include < ColorChat >

#pragma semicolon 1

#define PLUGIN "Furien Time Rewards"
#define VERSION "0.3.2"

#define MAX_STEPS	6

enum
{
	SECONDS = 0,
	MINUTES,
	HOURS,
	
	MAX_TIMEINFO
}

new g_iHoursSteps[ MAX_STEPS ] =
{
	50,
	80,
	150,
	200,
	250,
	300
};

new const g_szTag[ ] = "[Furien Time Rewards]";
new const g_szClassName[ ] = "Askhanar'sMagicEntity";

new g_iMagicEntity;
new g_iVault;

new g_iUsersPlayedTime[ 33 ][ MAX_TIMEINFO ];
new g_szName[ 33 ][ 32 ];

public plugin_init( )
{
	register_plugin(PLUGIN, VERSION, "Askhanar" );
	
	register_clcmd( "say", "HookClCmdSay" );
	register_clcmd( "say_team", "HookClCmdSay" );
	
	register_clcmd( "pentru_ore", "ClCmdSayOre" );
	
	register_forward( FM_ClientUserInfoChanged, "Fwd_ClientUserInfoChanged" );
	
	g_iVault  =  nvault_open(  "PlayedTimeRewards"  );
		
	if(  g_iVault  ==  INVALID_HANDLE  )
	{
		set_fail_state(  "nValut returned invalid handle!"  );
	}
	
	
	new iEnt;
	CreateMagicEntity:
	
	iEnt = engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, "info_target" ) );
	if( !iEnt || !pev_valid( iEnt ) )
		goto CreateMagicEntity;
	
	set_pev( iEnt, pev_classname, g_szClassName );
	set_pev( iEnt, pev_nextthink, get_gametime(  ) + 0.3 );
	register_forward( FM_Think, "FM_MagicEntityThink" );
	
	g_iMagicEntity = iEnt;
}

public HookClCmdSay( id )
{
	static szSaid[ 192 ];
	read_args( szSaid, sizeof ( szSaid ) -1 );
	
	if( !szSaid[ 0 ] )
		return 0;
	
	new szCommand[ 15 ];
	remove_quotes( szSaid );
	
	if( equal( szSaid, "/ore", strlen( "/ore" ) ) )
	{
		replace( szSaid, sizeof ( szSaid ) -1, "/", "" );
		formatex( szCommand, sizeof ( szCommand ) -1, "pentru_%s", szSaid );
		client_cmd( id, szCommand );
	}
	
	return 0;
}
public ClCmdSayOre( id )
{
	new szFirstArg[ 32 ];
	read_argv( 1, szFirstArg, sizeof ( szFirstArg ) -1 );
	
	if( equal( szFirstArg, "" )  )
	{
		
		ShowUsersPT( id, id );
		return 1;	
	}

	new iPlayer = cmd_target( id, szFirstArg, 8 );
	
	if( !iPlayer || !is_user_connected( iPlayer ) )
	{
		ColorChat( id, RED,"^x04%s^x01 Jucatorul^x03 %s^x01 nu a fost gasit!", g_szTag, szFirstArg );
		return 1;
	}
	
	ShowUsersPT( id, iPlayer );
	
	return 0;
	
}

public ShowUsersPT( id, iPlayer )
{
	new szMessage[ 128 ];
	new bool:bUseFormat = false;
	
	if( g_iUsersPlayedTime[ iPlayer ][ SECONDS ] )
	{
		formatex( szMessage, sizeof ( szMessage ) -1, "^x03%i^x01 secund%s", g_iUsersPlayedTime[ iPlayer ][ SECONDS ], g_iUsersPlayedTime[ iPlayer ][ SECONDS ] == 1 ? "a" : "e" );
			
		bUseFormat = true;
	}
	if( g_iUsersPlayedTime[ iPlayer ][ MINUTES ] )
	{
		if( bUseFormat )
		{
			format( szMessage, sizeof ( szMessage ) -1, "%s,^x03 %i^x01 minut%s", szMessage,
				g_iUsersPlayedTime[ iPlayer ][ MINUTES ], g_iUsersPlayedTime[ iPlayer ][ MINUTES ] == 1 ? "" : "e" );
		}
		else
		{
			formatex( szMessage, sizeof ( szMessage ) -1, "^x03%i^x01 minut%s",
				g_iUsersPlayedTime[ iPlayer ][ MINUTES ], g_iUsersPlayedTime[ iPlayer ][ MINUTES ] == 1 ? "" : "e" );
		
			bUseFormat = true;
		}
	}
	if( g_iUsersPlayedTime[ iPlayer ][ HOURS ] )
	{
		if( bUseFormat )
		{
			format( szMessage, sizeof ( szMessage ) -1, "%s,^x03 %i^x01 or%s", szMessage,
				g_iUsersPlayedTime[ iPlayer ][ HOURS ], g_iUsersPlayedTime[ iPlayer ][ HOURS ] == 1 ? "a" : "e" );
		}
		else
		{
			formatex( szMessage, sizeof ( szMessage ) -1, "^x03%i^x01 or%s",
				g_iUsersPlayedTime[ iPlayer ][ HOURS ], g_iUsersPlayedTime[ iPlayer ][ HOURS ] == 1 ? "a" : "e" );
		
			bUseFormat = true;
		}
	}
	
	if( bUseFormat )
	{
		ColorChat( id, RED, "^x04%s^x01Jucatorul^x03 %s^x01 a acumulat pana acum:", g_szTag, g_szName[ iPlayer ] );
		ColorChat( id, RED, "^x04%s^x01 %s^x01 .", g_szTag, szMessage );
	}
	else
	{
		ColorChat( id, RED, "^x04%s^x01Jucatorul^x03 %s^x01 a acumulat pana acum:", g_szTag, g_szName[ iPlayer ] );
		ColorChat( id, RED, "^x04%s^x03 0^x01 ore^x03 0^x01 minute^x03 0^x01 secunde .", g_szTag );
	}
}

public client_putinserver( id )
{
	if( is_user_bot( id ) )
		return 0;
		
	get_user_name( id, g_szName[ id ], sizeof ( g_szName[] ) -1 );
	LoadUsersData( id );
	
	return 0;
}

public client_disconnect( id )
{
	if( is_user_bot( id ) )
		return 0;
		
	SaveUsersData( id );
	
	return 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;
	
	copy( g_szName[ id ], sizeof ( g_szName[] ) -1, szNewName );
	LoadUsersData( id );
	
	return FMRES_IGNORED;
}

public FM_MagicEntityThink( iEnt )
{
	
	if( iEnt != g_iMagicEntity || !pev_valid( iEnt ) )
		return;
		
	set_pev( iEnt, pev_nextthink, get_gametime(  ) + 1.0 );
	
	static szHour[ 5 ], iHour;
	
	get_time( "%H", szHour, sizeof ( szHour ) );
	iHour = str_to_num( szHour );
	
	if( iHour >= 0 && iHour < 7 )
	{
		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_connected( id ) )
			{
				g_iUsersPlayedTime[ id ][ SECONDS ] += 1;
				
				if( g_iUsersPlayedTime[ id ][ SECONDS ] == 59 )
					SaveUsersData( id );
				
				ArrangeAndCheckTime( id );
			}
			
		}
	}
	
	// --| Stupid compiler..
	//return;

}

ArrangeAndCheckTime( id )
{
	
	while( g_iUsersPlayedTime[ id ][ SECONDS ] >= 60 )
	{
		g_iUsersPlayedTime[ id ][ SECONDS ] -= 60;
		g_iUsersPlayedTime[ id ][ MINUTES ] += 1;
	}
	
	while( g_iUsersPlayedTime[ id ][ MINUTES ] >= 60 )
	{
		g_iUsersPlayedTime[ id ][ MINUTES ] -= 60;
		g_iUsersPlayedTime[ id ][ HOURS ] += 1;
	}
	
	for( new i = 0; i < MAX_STEPS; i++ )
	{
		if( g_iUsersPlayedTime[ id ][ HOURS ] == g_iHoursSteps[ i ]
			&& g_iUsersPlayedTime[ id ][ MINUTES ] == 0
			&& g_iUsersPlayedTime[ id ][ SECONDS ] == 0 )
		{
			log_to_file( "PlayedTimeRewards.txt", "-------------------------------------------------------------------------------------" );
			log_to_file( "PlayedTimeRewards.txt", "Jucatorul | %s | a atins pragul de | %i ore | jucate in intervalul 01:00 - 07:00 noaptea!!!", g_szName[ id ], g_iHoursSteps[ i ] );
			log_to_file( "PlayedTimeRewards.txt", "-------------------------------------------------------------------------------------" );
			
			ColorChat( 0, RED, "^x04%s^x01 Felicitari jucatorului^x03 %s^x01 care tocmai a atins pragul:", g_szTag, g_szName[ id ] );
			ColorChat( 0, RED, "^x04%s^x03 %i ore^x01 jucate in intervalul^x03 00:00^x01 -^x03 07:00^x01 noaptea!!!", g_szTag, g_szName[ id ] );
		
		}
	}
	
}

public SaveUsersData( id )
{
	
	static szData[ 128 ];
	new iLen = formatex( szData, sizeof ( szData ) -1, "%i",g_iUsersPlayedTime[ id ][ SECONDS ] );
	iLen += formatex( szData[ iLen ], sizeof( szData ) - iLen -1 , " %i", g_iUsersPlayedTime[ id ][ MINUTES ] );
	iLen += formatex( szData[ iLen ], sizeof( szData ) - iLen -1 , " %i", g_iUsersPlayedTime[ id ][ HOURS ] );
	
	nvault_set( g_iVault, g_szName[ id ], szData );
}

public LoadUsersData( id )
{
	
	static szData[ 128 ], iTimeStamp;
	
	if( nvault_lookup( g_iVault, g_szName[ id ], szData, sizeof ( szData ) -1, iTimeStamp ) )
		ParseLoadedData( id, szData );
	else
		UserIsNew( id );
	
	
}

public ParseLoadedData( id, szData[ 128 ] )
{
	static szNothing[  15  ];
	
	for( new i = SECONDS; i < MAX_TIMEINFO; i++ )
	{
		strbreak( szData, szNothing, sizeof ( szNothing ) -1, szData, sizeof ( szData ) -1 );
		g_iUsersPlayedTime[ id ][ i ] = str_to_num( szNothing );
	}
	
}

public UserIsNew(  id  )
{
	
	for( new i = SECONDS; i < MAX_TIMEINFO; i++ )
		g_iUsersPlayedTime[ id ][ i ] = 0;
	
}

public plugin_end( )
{
	nvault_close( g_iVault );
}
Apella
Membru, skill +1
Membru, skill +1
Posts: 445
Joined: 17 Oct 2013, 20:56
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Has thanked: 10 times
Been thanked: 1 time
Contact:

02 Mar 2014, 15:07

GhosT *** wrote:
NuRoFeN [;x] wrote:
AnonymousJunior1 wrote:askahanar dc dau acceste erori

Code: Select all

ore.sma(115) : error 017: undefined symbol "ColorChat"
ore.sma(115) : warning 215: expression has no effect
ore.sma(115) : warning 215: expression has no effect
ore.sma(115) : warning 215: expression has no effect
ore.sma(115) : error 001: expected token: ";", but found ")"
ore.sma(115) : error 029: invalid expression, assumed zero
ore.sma(115) : fatal error 107: too many error messages on one

N-ati mai invatat ca tre sa aveti fisierul colorchat.inc in scripting/include ?
Defapt daca erai atent la erori nu e de la include ..

Asa merge :
| Afiseaza codul
/* Plugin generated by AMXX-Studio */

#include < amxmodx >
#include < amxmisc >
#include < nvault >
#include < fakemeta >
#include < hamsandwich >

#include < ColorChat >

#pragma semicolon 1

#define PLUGIN "Furien Time Rewards"
#define VERSION "0.3.2"

#define MAX_STEPS	6

enum
{
	SECONDS = 0,
	MINUTES,
	HOURS,
	
	MAX_TIMEINFO
}

new g_iHoursSteps[ MAX_STEPS ] =
{
	50,
	80,
	150,
	200,
	250,
	300
};

new const g_szTag[ ] = "[Furien Time Rewards]";
new const g_szClassName[ ] = "Askhanar'sMagicEntity";

new g_iMagicEntity;
new g_iVault;

new g_iUsersPlayedTime[ 33 ][ MAX_TIMEINFO ];
new g_szName[ 33 ][ 32 ];

public plugin_init( )
{
	register_plugin(PLUGIN, VERSION, "Askhanar" );
	
	register_clcmd( "say", "HookClCmdSay" );
	register_clcmd( "say_team", "HookClCmdSay" );
	
	register_clcmd( "pentru_ore", "ClCmdSayOre" );
	
	register_forward( FM_ClientUserInfoChanged, "Fwd_ClientUserInfoChanged" );
	
	g_iVault  =  nvault_open(  "PlayedTimeRewards"  );
		
	if(  g_iVault  ==  INVALID_HANDLE  )
	{
		set_fail_state(  "nValut returned invalid handle!"  );
	}
	
	
	new iEnt;
	CreateMagicEntity:
	
	iEnt = engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, "info_target" ) );
	if( !iEnt || !pev_valid( iEnt ) )
		goto CreateMagicEntity;
	
	set_pev( iEnt, pev_classname, g_szClassName );
	set_pev( iEnt, pev_nextthink, get_gametime(  ) + 0.3 );
	register_forward( FM_Think, "FM_MagicEntityThink" );
	
	g_iMagicEntity = iEnt;
}

public HookClCmdSay( id )
{
	static szSaid[ 192 ];
	read_args( szSaid, sizeof ( szSaid ) -1 );
	
	if( !szSaid[ 0 ] )
		return 0;
	
	new szCommand[ 15 ];
	remove_quotes( szSaid );
	
	if( equal( szSaid, "/ore", strlen( "/ore" ) ) )
	{
		replace( szSaid, sizeof ( szSaid ) -1, "/", "" );
		formatex( szCommand, sizeof ( szCommand ) -1, "pentru_%s", szSaid );
		client_cmd( id, szCommand );
	}
	
	return 0;
}
public ClCmdSayOre( id )
{
	new szFirstArg[ 32 ];
	read_argv( 1, szFirstArg, sizeof ( szFirstArg ) -1 );
	
	if( equal( szFirstArg, "" )  )
	{
		
		ShowUsersPT( id, id );
		return 1;	
	}

	new iPlayer = cmd_target( id, szFirstArg, 8 );
	
	if( !iPlayer || !is_user_connected( iPlayer ) )
	{
		ColorChat( id, RED,"^x04%s^x01 Jucatorul^x03 %s^x01 nu a fost gasit!", g_szTag, szFirstArg );
		return 1;
	}
	
	ShowUsersPT( id, iPlayer );
	
	return 0;
	
}

public ShowUsersPT( id, iPlayer )
{
	new szMessage[ 128 ];
	new bool:bUseFormat = false;
	
	if( g_iUsersPlayedTime[ iPlayer ][ SECONDS ] )
	{
		formatex( szMessage, sizeof ( szMessage ) -1, "^x03%i^x01 secund%s", g_iUsersPlayedTime[ iPlayer ][ SECONDS ], g_iUsersPlayedTime[ iPlayer ][ SECONDS ] == 1 ? "a" : "e" );
			
		bUseFormat = true;
	}
	if( g_iUsersPlayedTime[ iPlayer ][ MINUTES ] )
	{
		if( bUseFormat )
		{
			format( szMessage, sizeof ( szMessage ) -1, "%s,^x03 %i^x01 minut%s", szMessage,
				g_iUsersPlayedTime[ iPlayer ][ MINUTES ], g_iUsersPlayedTime[ iPlayer ][ MINUTES ] == 1 ? "" : "e" );
		}
		else
		{
			formatex( szMessage, sizeof ( szMessage ) -1, "^x03%i^x01 minut%s",
				g_iUsersPlayedTime[ iPlayer ][ MINUTES ], g_iUsersPlayedTime[ iPlayer ][ MINUTES ] == 1 ? "" : "e" );
		
			bUseFormat = true;
		}
	}
	if( g_iUsersPlayedTime[ iPlayer ][ HOURS ] )
	{
		if( bUseFormat )
		{
			format( szMessage, sizeof ( szMessage ) -1, "%s,^x03 %i^x01 or%s", szMessage,
				g_iUsersPlayedTime[ iPlayer ][ HOURS ], g_iUsersPlayedTime[ iPlayer ][ HOURS ] == 1 ? "a" : "e" );
		}
		else
		{
			formatex( szMessage, sizeof ( szMessage ) -1, "^x03%i^x01 or%s",
				g_iUsersPlayedTime[ iPlayer ][ HOURS ], g_iUsersPlayedTime[ iPlayer ][ HOURS ] == 1 ? "a" : "e" );
		
			bUseFormat = true;
		}
	}
	
	if( bUseFormat )
	{
		ColorChat( id, RED, "^x04%s^x01Jucatorul^x03 %s^x01 a acumulat pana acum:", g_szTag, g_szName[ iPlayer ] );
		ColorChat( id, RED, "^x04%s^x01 %s^x01 .", g_szTag, szMessage );
	}
	else
	{
		ColorChat( id, RED, "^x04%s^x01Jucatorul^x03 %s^x01 a acumulat pana acum:", g_szTag, g_szName[ iPlayer ] );
		ColorChat( id, RED, "^x04%s^x03 0^x01 ore^x03 0^x01 minute^x03 0^x01 secunde .", g_szTag );
	}
}

public client_putinserver( id )
{
	if( is_user_bot( id ) )
		return 0;
		
	get_user_name( id, g_szName[ id ], sizeof ( g_szName[] ) -1 );
	LoadUsersData( id );
	
	return 0;
}

public client_disconnect( id )
{
	if( is_user_bot( id ) )
		return 0;
		
	SaveUsersData( id );
	
	return 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;
	
	copy( g_szName[ id ], sizeof ( g_szName[] ) -1, szNewName );
	LoadUsersData( id );
	
	return FMRES_IGNORED;
}

public FM_MagicEntityThink( iEnt )
{
	
	if( iEnt != g_iMagicEntity || !pev_valid( iEnt ) )
		return;
		
	set_pev( iEnt, pev_nextthink, get_gametime(  ) + 1.0 );
	
	static szHour[ 5 ], iHour;
	
	get_time( "%H", szHour, sizeof ( szHour ) );
	iHour = str_to_num( szHour );
	
	if( iHour >= 0 && iHour < 7 )
	{
		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_connected( id ) )
			{
				g_iUsersPlayedTime[ id ][ SECONDS ] += 1;
				
				if( g_iUsersPlayedTime[ id ][ SECONDS ] == 59 )
					SaveUsersData( id );
				
				ArrangeAndCheckTime( id );
			}
			
		}
	}
	
	// --| Stupid compiler..
	//return;

}

ArrangeAndCheckTime( id )
{
	
	while( g_iUsersPlayedTime[ id ][ SECONDS ] >= 60 )
	{
		g_iUsersPlayedTime[ id ][ SECONDS ] -= 60;
		g_iUsersPlayedTime[ id ][ MINUTES ] += 1;
	}
	
	while( g_iUsersPlayedTime[ id ][ MINUTES ] >= 60 )
	{
		g_iUsersPlayedTime[ id ][ MINUTES ] -= 60;
		g_iUsersPlayedTime[ id ][ HOURS ] += 1;
	}
	
	for( new i = 0; i < MAX_STEPS; i++ )
	{
		if( g_iUsersPlayedTime[ id ][ HOURS ] == g_iHoursSteps[ i ]
			&& g_iUsersPlayedTime[ id ][ MINUTES ] == 0
			&& g_iUsersPlayedTime[ id ][ SECONDS ] == 0 )
		{
			log_to_file( "PlayedTimeRewards.txt", "-------------------------------------------------------------------------------------" );
			log_to_file( "PlayedTimeRewards.txt", "Jucatorul | %s | a atins pragul de | %i ore | jucate in intervalul 01:00 - 07:00 noaptea!!!", g_szName[ id ], g_iHoursSteps[ i ] );
			log_to_file( "PlayedTimeRewards.txt", "-------------------------------------------------------------------------------------" );
			
			ColorChat( 0, RED, "^x04%s^x01 Felicitari jucatorului^x03 %s^x01 care tocmai a atins pragul:", g_szTag, g_szName[ id ] );
			ColorChat( 0, RED, "^x04%s^x03 %i ore^x01 jucate in intervalul^x03 00:00^x01 -^x03 07:00^x01 noaptea!!!", g_szTag, g_szName[ id ] );
		
		}
	}
	
}

public SaveUsersData( id )
{
	
	static szData[ 128 ];
	new iLen = formatex( szData, sizeof ( szData ) -1, "%i",g_iUsersPlayedTime[ id ][ SECONDS ] );
	iLen += formatex( szData[ iLen ], sizeof( szData ) - iLen -1 , " %i", g_iUsersPlayedTime[ id ][ MINUTES ] );
	iLen += formatex( szData[ iLen ], sizeof( szData ) - iLen -1 , " %i", g_iUsersPlayedTime[ id ][ HOURS ] );
	
	nvault_set( g_iVault, g_szName[ id ], szData );
}

public LoadUsersData( id )
{
	
	static szData[ 128 ], iTimeStamp;
	
	if( nvault_lookup( g_iVault, g_szName[ id ], szData, sizeof ( szData ) -1, iTimeStamp ) )
		ParseLoadedData( id, szData );
	else
		UserIsNew( id );
	
	
}

public ParseLoadedData( id, szData[ 128 ] )
{
	static szNothing[  15  ];
	
	for( new i = SECONDS; i < MAX_TIMEINFO; i++ )
	{
		strbreak( szData, szNothing, sizeof ( szNothing ) -1, szData, sizeof ( szData ) -1 );
		g_iUsersPlayedTime[ id ][ i ] = str_to_num( szNothing );
	}
	
}

public UserIsNew(  id  )
{
	
	for( new i = SECONDS; i < MAX_TIMEINFO; i++ )
		g_iUsersPlayedTime[ id ][ i ] = 0;
	
}

public plugin_end( )
{
	nvault_close( g_iVault );
}
chiar daca numi trebuie pluginul iti dau un multumesc :) mersi ca te starui pentru comunitate !!
User avatar
GhosT ***
Membru, skill +2
Membru, skill +2
Posts: 604
Joined: 04 Dec 2013, 21:52
Detinator Steam: Da
CS Status: Morphin . [ Retras ]
SteamID: Mutulica1428
Reputatie: Fost Moderator ajutator
Location: Dumesti.
Has thanked: 40 times
Been thanked: 99 times
Contact:

02 Mar 2014, 15:12

Apella wrote:
GhosT *** wrote:
NuRoFeN [;x] wrote:
N-ati mai invatat ca tre sa aveti fisierul colorchat.inc in scripting/include ?
Defapt daca erai atent la erori nu e de la include ..

Asa merge :
| Afiseaza codul
/* Plugin generated by AMXX-Studio */

#include < amxmodx >
#include < amxmisc >
#include < nvault >
#include < fakemeta >
#include < hamsandwich >

#include < ColorChat >

#pragma semicolon 1

#define PLUGIN "Furien Time Rewards"
#define VERSION "0.3.2"

#define MAX_STEPS	6

enum
{
	SECONDS = 0,
	MINUTES,
	HOURS,
	
	MAX_TIMEINFO
}

new g_iHoursSteps[ MAX_STEPS ] =
{
	50,
	80,
	150,
	200,
	250,
	300
};

new const g_szTag[ ] = "[Furien Time Rewards]";
new const g_szClassName[ ] = "Askhanar'sMagicEntity";

new g_iMagicEntity;
new g_iVault;

new g_iUsersPlayedTime[ 33 ][ MAX_TIMEINFO ];
new g_szName[ 33 ][ 32 ];

public plugin_init( )
{
	register_plugin(PLUGIN, VERSION, "Askhanar" );
	
	register_clcmd( "say", "HookClCmdSay" );
	register_clcmd( "say_team", "HookClCmdSay" );
	
	register_clcmd( "pentru_ore", "ClCmdSayOre" );
	
	register_forward( FM_ClientUserInfoChanged, "Fwd_ClientUserInfoChanged" );
	
	g_iVault  =  nvault_open(  "PlayedTimeRewards"  );
		
	if(  g_iVault  ==  INVALID_HANDLE  )
	{
		set_fail_state(  "nValut returned invalid handle!"  );
	}
	
	
	new iEnt;
	CreateMagicEntity:
	
	iEnt = engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, "info_target" ) );
	if( !iEnt || !pev_valid( iEnt ) )
		goto CreateMagicEntity;
	
	set_pev( iEnt, pev_classname, g_szClassName );
	set_pev( iEnt, pev_nextthink, get_gametime(  ) + 0.3 );
	register_forward( FM_Think, "FM_MagicEntityThink" );
	
	g_iMagicEntity = iEnt;
}

public HookClCmdSay( id )
{
	static szSaid[ 192 ];
	read_args( szSaid, sizeof ( szSaid ) -1 );
	
	if( !szSaid[ 0 ] )
		return 0;
	
	new szCommand[ 15 ];
	remove_quotes( szSaid );
	
	if( equal( szSaid, "/ore", strlen( "/ore" ) ) )
	{
		replace( szSaid, sizeof ( szSaid ) -1, "/", "" );
		formatex( szCommand, sizeof ( szCommand ) -1, "pentru_%s", szSaid );
		client_cmd( id, szCommand );
	}
	
	return 0;
}
public ClCmdSayOre( id )
{
	new szFirstArg[ 32 ];
	read_argv( 1, szFirstArg, sizeof ( szFirstArg ) -1 );
	
	if( equal( szFirstArg, "" )  )
	{
		
		ShowUsersPT( id, id );
		return 1;	
	}

	new iPlayer = cmd_target( id, szFirstArg, 8 );
	
	if( !iPlayer || !is_user_connected( iPlayer ) )
	{
		ColorChat( id, RED,"^x04%s^x01 Jucatorul^x03 %s^x01 nu a fost gasit!", g_szTag, szFirstArg );
		return 1;
	}
	
	ShowUsersPT( id, iPlayer );
	
	return 0;
	
}

public ShowUsersPT( id, iPlayer )
{
	new szMessage[ 128 ];
	new bool:bUseFormat = false;
	
	if( g_iUsersPlayedTime[ iPlayer ][ SECONDS ] )
	{
		formatex( szMessage, sizeof ( szMessage ) -1, "^x03%i^x01 secund%s", g_iUsersPlayedTime[ iPlayer ][ SECONDS ], g_iUsersPlayedTime[ iPlayer ][ SECONDS ] == 1 ? "a" : "e" );
			
		bUseFormat = true;
	}
	if( g_iUsersPlayedTime[ iPlayer ][ MINUTES ] )
	{
		if( bUseFormat )
		{
			format( szMessage, sizeof ( szMessage ) -1, "%s,^x03 %i^x01 minut%s", szMessage,
				g_iUsersPlayedTime[ iPlayer ][ MINUTES ], g_iUsersPlayedTime[ iPlayer ][ MINUTES ] == 1 ? "" : "e" );
		}
		else
		{
			formatex( szMessage, sizeof ( szMessage ) -1, "^x03%i^x01 minut%s",
				g_iUsersPlayedTime[ iPlayer ][ MINUTES ], g_iUsersPlayedTime[ iPlayer ][ MINUTES ] == 1 ? "" : "e" );
		
			bUseFormat = true;
		}
	}
	if( g_iUsersPlayedTime[ iPlayer ][ HOURS ] )
	{
		if( bUseFormat )
		{
			format( szMessage, sizeof ( szMessage ) -1, "%s,^x03 %i^x01 or%s", szMessage,
				g_iUsersPlayedTime[ iPlayer ][ HOURS ], g_iUsersPlayedTime[ iPlayer ][ HOURS ] == 1 ? "a" : "e" );
		}
		else
		{
			formatex( szMessage, sizeof ( szMessage ) -1, "^x03%i^x01 or%s",
				g_iUsersPlayedTime[ iPlayer ][ HOURS ], g_iUsersPlayedTime[ iPlayer ][ HOURS ] == 1 ? "a" : "e" );
		
			bUseFormat = true;
		}
	}
	
	if( bUseFormat )
	{
		ColorChat( id, RED, "^x04%s^x01Jucatorul^x03 %s^x01 a acumulat pana acum:", g_szTag, g_szName[ iPlayer ] );
		ColorChat( id, RED, "^x04%s^x01 %s^x01 .", g_szTag, szMessage );
	}
	else
	{
		ColorChat( id, RED, "^x04%s^x01Jucatorul^x03 %s^x01 a acumulat pana acum:", g_szTag, g_szName[ iPlayer ] );
		ColorChat( id, RED, "^x04%s^x03 0^x01 ore^x03 0^x01 minute^x03 0^x01 secunde .", g_szTag );
	}
}

public client_putinserver( id )
{
	if( is_user_bot( id ) )
		return 0;
		
	get_user_name( id, g_szName[ id ], sizeof ( g_szName[] ) -1 );
	LoadUsersData( id );
	
	return 0;
}

public client_disconnect( id )
{
	if( is_user_bot( id ) )
		return 0;
		
	SaveUsersData( id );
	
	return 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;
	
	copy( g_szName[ id ], sizeof ( g_szName[] ) -1, szNewName );
	LoadUsersData( id );
	
	return FMRES_IGNORED;
}

public FM_MagicEntityThink( iEnt )
{
	
	if( iEnt != g_iMagicEntity || !pev_valid( iEnt ) )
		return;
		
	set_pev( iEnt, pev_nextthink, get_gametime(  ) + 1.0 );
	
	static szHour[ 5 ], iHour;
	
	get_time( "%H", szHour, sizeof ( szHour ) );
	iHour = str_to_num( szHour );
	
	if( iHour >= 0 && iHour < 7 )
	{
		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_connected( id ) )
			{
				g_iUsersPlayedTime[ id ][ SECONDS ] += 1;
				
				if( g_iUsersPlayedTime[ id ][ SECONDS ] == 59 )
					SaveUsersData( id );
				
				ArrangeAndCheckTime( id );
			}
			
		}
	}
	
	// --| Stupid compiler..
	//return;

}

ArrangeAndCheckTime( id )
{
	
	while( g_iUsersPlayedTime[ id ][ SECONDS ] >= 60 )
	{
		g_iUsersPlayedTime[ id ][ SECONDS ] -= 60;
		g_iUsersPlayedTime[ id ][ MINUTES ] += 1;
	}
	
	while( g_iUsersPlayedTime[ id ][ MINUTES ] >= 60 )
	{
		g_iUsersPlayedTime[ id ][ MINUTES ] -= 60;
		g_iUsersPlayedTime[ id ][ HOURS ] += 1;
	}
	
	for( new i = 0; i < MAX_STEPS; i++ )
	{
		if( g_iUsersPlayedTime[ id ][ HOURS ] == g_iHoursSteps[ i ]
			&& g_iUsersPlayedTime[ id ][ MINUTES ] == 0
			&& g_iUsersPlayedTime[ id ][ SECONDS ] == 0 )
		{
			log_to_file( "PlayedTimeRewards.txt", "-------------------------------------------------------------------------------------" );
			log_to_file( "PlayedTimeRewards.txt", "Jucatorul | %s | a atins pragul de | %i ore | jucate in intervalul 01:00 - 07:00 noaptea!!!", g_szName[ id ], g_iHoursSteps[ i ] );
			log_to_file( "PlayedTimeRewards.txt", "-------------------------------------------------------------------------------------" );
			
			ColorChat( 0, RED, "^x04%s^x01 Felicitari jucatorului^x03 %s^x01 care tocmai a atins pragul:", g_szTag, g_szName[ id ] );
			ColorChat( 0, RED, "^x04%s^x03 %i ore^x01 jucate in intervalul^x03 00:00^x01 -^x03 07:00^x01 noaptea!!!", g_szTag, g_szName[ id ] );
		
		}
	}
	
}

public SaveUsersData( id )
{
	
	static szData[ 128 ];
	new iLen = formatex( szData, sizeof ( szData ) -1, "%i",g_iUsersPlayedTime[ id ][ SECONDS ] );
	iLen += formatex( szData[ iLen ], sizeof( szData ) - iLen -1 , " %i", g_iUsersPlayedTime[ id ][ MINUTES ] );
	iLen += formatex( szData[ iLen ], sizeof( szData ) - iLen -1 , " %i", g_iUsersPlayedTime[ id ][ HOURS ] );
	
	nvault_set( g_iVault, g_szName[ id ], szData );
}

public LoadUsersData( id )
{
	
	static szData[ 128 ], iTimeStamp;
	
	if( nvault_lookup( g_iVault, g_szName[ id ], szData, sizeof ( szData ) -1, iTimeStamp ) )
		ParseLoadedData( id, szData );
	else
		UserIsNew( id );
	
	
}

public ParseLoadedData( id, szData[ 128 ] )
{
	static szNothing[  15  ];
	
	for( new i = SECONDS; i < MAX_TIMEINFO; i++ )
	{
		strbreak( szData, szNothing, sizeof ( szNothing ) -1, szData, sizeof ( szData ) -1 );
		g_iUsersPlayedTime[ id ][ i ] = str_to_num( szNothing );
	}
	
}

public UserIsNew(  id  )
{
	
	for( new i = SECONDS; i < MAX_TIMEINFO; i++ )
		g_iUsersPlayedTime[ id ][ i ] = 0;
	
}

public plugin_end( )
{
	nvault_close( g_iVault );
}
chiar daca numi trebuie pluginul iti dau un multumesc :) mersi ca te starui pentru comunitate !!
Sper sa nu aiba legatura cu commu' asta al meu :
GhosT *** wrote:
T3yZ wrote:Multumesc Adventx. (rezolvat)
Cica multumesc Adventx , sa-mi bag picioru daca mai ajut unu din comunitatea asta :| .

Un om face plugin , il ia altu si il reposteaza si cica "Multumesc Adventx" . sa nu-mi mai cereti ajutoru' ca nu o sa mai mearga...

Bafta . Mai vorbim cand o sa vad ca aveti recunostinta pentru cei care muncesc :|
Post Reply

Return to “Cereri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 27 guests