Este normal?
Se poate face ceva? Nu as vrea sa incerc alt plugin deoarece am mai incercat si imi dadea crash serverul si chiar nu as vrea sa il schimb!
- | Afiseaza codul
#include <amxmodx> #include <nvault> static const PLUGIN[] = "[AMXX]OreJucate", VERSION[] = "2.0", AUTHOR[] = "scosmynnnn"; new iMinutes[33],iHours[33],iDays[33],iHours2[33] new g_vault,pcvar,sync public plugin_init() { register_plugin(PLUGIN,VERSION,AUTHOR) register_cvar("statistici_pe_server",VERSION,FCVAR_SERVER | FCVAR_SPONLY) register_clcmd("say /orejucate","cmdOreJucate") g_vault = nvault_open("OreJucate") pcvar = register_cvar("show_hud","0") if(g_vault == INVALID_HANDLE) set_fail_state("Eroare la deschiderea bazei de date din vault.") sync = CreateHudSyncObj() set_task(5.0,"save_vault",_,_,_,"b") } public save_vault() { new iPlayers[32],iNum,id,i get_players(iPlayers,iNum,"ch") for(i = 0; i < iNum; i++) { id = iPlayers SaveData(id) } } public client_putinserver(id) { if(!is_user_bot(id) || !is_user_hltv(id)) { LoadData(id) set_task(60.0,"hours_count",id,_,_,"b") set_task(1.0,"hud_msg",id+0x436,_,_,"b") } } public hours_count(id) { iMinutes[id]++ if(iMinutes[id] == 60) { iHours[id]++ iHours2[id]++ iMinutes[id] = 0 } if(iHours2[id] == 24) { iDays[id]++ iHours2[id] = 0 } } public hud_msg(id) { id-=0x436 switch(get_pcvar_num(pcvar)) { case 0: return case 1: { if(is_user_alive(id)) { set_hudmessage(24,237,17,0.0,0.35,0,6.0,1.5) ShowSyncHudMsg(id,sync,"---^n--------^n--------------^n--------------------^n--------------------------^n--------------------------------^nAi %i zi%s jucat%s pe server^n[%i or%s si %i minut%s]^n--------------------------------^n--------------------------^n--------------------^n--------------^n--------^n---",iDays[id],iDays[id] == 1 ? "" : "le",iDays[id] == 1 ? "a" : "e",iHours[id],iHours[id] == 1 ? "a" : "e",iMinutes[id],iMinutes[id] == 1 ? "" : "e") } } } } public cmdOreJucate(id) color(id,"!team[OreJucate]!yAi %i zi%s jucat%s pe server !team[%i or%s si %i minut%s]",iDays[id],iDays[id] == 1 ? "" : "le",iDays[id] == 1 ? "a" : "e",iHours[id],iHours[id] == 1 ? "a" : "e",iMinutes[id],iMinutes[id] == 1 ? "" : "e") public client_infochanged(id) { SaveData(id) new oldname[32],newname[32] get_user_name(id,oldname,charsmax(oldname)) get_user_info(id,"name",newname,charsmax(newname)) if(!equal(newname,oldname)) set_task(0.3,"LoadData",id) } public client_disconnect(id) { if(!is_user_bot(id) || !is_user_hltv(id)) { SaveData(id) remove_task(id) if(task_exists(id+0x436)) remove_task(id+0x436) } } public plugin_end() nvault_close(g_vault) public SaveData(id) { new name[32] get_user_name(id,name,charsmax(name)) new vaultkey[64],vaultdata[256] formatex(vaultkey,63,"%s-OreJucate",name) formatex(vaultdata,255,"%i %i %i",iMinutes[id],iHours[id],iHours2[id],iDays[id]) nvault_set(g_vault,vaultkey,vaultdata) } public LoadData(id) { new name[32] new vaultkey[64],vaultdata[256] get_user_info(id,"name",name,charsmax(name)) //credite hamleteagle,m-a ajutat cu sfaturi aici (get_user_info e mai rapid si am evitat un bug) formatex(vaultkey,63,"%s-OreJucate",name) formatex(vaultdata,255,"%i %i %i",iMinutes[id],iHours[id],iHours2[id],iDays[id]) nvault_get(g_vault,vaultkey,vaultdata,255) new minute[32],ore[32],ore2[32],zile[32] parse(vaultdata,minute,31,ore,31,ore2,31,zile,31) iMinutes[id] = str_to_num(minute) iHours[id] = str_to_num(ore) iHours2[id] = str_to_num(ore2) iDays[id] = str_to_num(zile) } stock color( const id, const input[ ], any:... ) { new count = 1, players[ 32 ] static msg[ 191 ] vformat( msg, 190, input, 3 ) replace_all( msg, 190, "!g", "^4" ) //- verde replace_all( msg, 190, "!y", "^1" ) //- galben replace_all( msg, 190, "!team", "^3" ) //- echipa replace_all( msg, 190, "!n", "^0" ) //- normal if( id ) players[ 0 ] = id; else get_players( players, count, "ch" ) { for( new i = 0; i < count; i++ ) { if( is_user_connected( players[ i ] ) ) { message_begin( MSG_ONE_UNRELIABLE, get_user_msgid( "SayText" ), _, players[ i ] ) write_byte( players[ i ] ); write_string( msg ); message_end( ); } } } }