AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Solved [URGENT HELP] HUDSYNC Not Giving RealTime Values (https://forums.alliedmods.net/showthread.php?t=306913)

polimpo4 04-18-2018 14:20

[URGENT HELP] HUDSYNC Not Giving RealTime Values
 
I Have A Plugin That Gives Credits When We Have 2 Enemies Killed I Tried To Create HudSyncObj It Worked But Now Shows Us In Realtime Our Credits. To See It We Need To Say /credits How I Can Fix It To Always Show It To Us? I Made A Loop To Stick HUD All The Time But It Doesn't Change The Values Of Credits Unless I say /credits

Here Is Full Code

Problem Is At That Part


PHP Code:

public Show_Credits(id) {
   
set_hudmessage(012800.030.8626.05.0);
   
show_hudmessage(id"Ai %d Credite."PlayerCredits[id]);
   
ColorChat(id"^x03[Depozit]^x04 Ai^x03 %d^x04 Credite."PlayerCredits[id]);
   return 
PLUGIN_HANDLED;


Full Code
PHP Code:

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

new PlayerCredits[10000];
new 
VaultSymbolsNamesavepoints;
new 
HUDSYNC;

public 
plugin_init() {
   
register_forward(FM_ClientUserInfoChanged"ChangeName");
   
SymbolsName register_cvar("fr_name_symbols""~`"); //| Symbols Name Restricted |//   biohazardshopmod = register_cvar("bh_shop_mode", "1");    //| Money/Points 0 Money Tax -> 1 Points Tax |//
   
savepoints register_cvar("fr_save_points""1");   //| Save Points Mode 0 Disable -> 1 Name -> 2 IP -> 3 SteamID |//
   
register_clcmd("depozit","Depozit")
   
register_clcmd("say /depozit","Depozit")
   
register_clcmd("say_team /depozit","Depozit")
   
register_clcmd("retrage","Retrage")
   
register_clcmd("say /retrage","Retrage")
   
register_clcmd("say_team /retrage","Retrage")
   
register_clcmd("credits","Show_Credits")
   
register_clcmd("credite","Show_Credits")
   
register_clcmd("say /credits","Show_Credits")
   
register_clcmd("say /credite","Show_Credits")
   
register_clcmd("say_team /credits","Show_Credits")
   
register_clcmd("say_team /credite","Show_Credits")
   
register_concmd("amx_give_credits""Give_Credits"ADMIN_IMMUNITY"Name/@T/@CT/@All -> Amount");
   
register_concmd("amx_reset_credits""Reset_Credits"ADMIN_IMMUNITY"Name/@T/@CT/@All");
   
HUDSYNC CreateHudSyncObj();
   
set_task(1.0,"Show_Credits",_,"",0,"b");
   
}

public 
client_putinserver(id) {
   
set_task(60.0"unminut"id__"b")
   
set_task(1.0,"Show_Credits",_,"",0,"b")
   
LoadCredits(id)
   
Show_Credits(id)
}
public 
client_authorized(id) {
   
LoadCredits(id)
}
public 
client_connected(id) {
   
LoadCredits(id)
}
public 
client_disconnect(id) {
   
remove_task(id)
   
SaveCredits(id)
}

public 
unminut(id) {
   
   
PlayerCredits[id]++
   
ColorChat(id"Ai primit 1 credit pentru ca ai jucat un minut pe server !")
   
ColorChat(id"Joaca in continuare si vei primi dinou !")
   
}


//------| Change Name |------//
public ChangeName(idbuffer) {
   if(!
is_user_connected(id))
      return 
FMRES_IGNORED;
   
   static 
Name[32], Val[32];
   
get_user_name(idNamesizeof Name 1);
   
engfunc(EngFunc_InfoKeyValuebuffer"name"Valsizeof Val 1);
   
   if(
equal(ValName))
      return 
FMRES_IGNORED;
   
   
set_task(0.2"client_connect"id);
   return 
FMRES_SUPERCEDE;
}

//------| Client connect |------//   
public client_connect(id) {
   static 
sName[32];
   
get_user_name(idsNamesizeof sName 1);
   static 
sChars[32];
   
get_pcvar_string(SymbolsNamesCharssizeof sChars 1);   
   for(new 
strlen(sName) ; i++) {
      for(new 
strlen(sChars) ; j++) {
         if(
sName[i] == sChars[j]) {
            
server_cmd("kick #%d ^"Numele tau contine caractere nepermise.^""get_user_userid(id));
            break;
         }
         else {
            
LoadCredits(id);
         }
      }
   }
}

public 
Depozit(id) {
   if(
cs_get_user_team(id) == CS_TEAM_SPECTATOR) return PLUGIN_HANDLED;
   
   if(
cs_get_user_money(id) == 16000) {
      
ColorChat(id"^x03[Depozit]^x04 Ai depozitat^x03 16000$^x04 is ai primit^x03 1^x04 credit.");
      
PlayerCredits[id] += 1;
      
cs_set_user_money(id0);
   }
   else {
      
ColorChat(id"^x03[Depozit]^x04 Iti trebuie^x03 16000$^x04 pentru a putea depozita.");   
   }
   
SaveCredits(id)
   return 
PLUGIN_HANDLED;
}

public 
Retrage(id) {
   if(
cs_get_user_team(id) == CS_TEAM_SPECTATOR) return PLUGIN_HANDLED;
   
   if(
cs_get_user_money(id) == 16000) {
      
ColorChat(id"^x03[Depozit]^x04 Ai deja^x03 16000$.");
      
PlayerCredits[id] -= 1;
   }
   else if(
PlayerCredits[id]) {
      
ColorChat(id"^x03[Depozit]^x04 Ai retras^x03 1^x04 credit din depozit, ai primit^x03 16000$.");
      
PlayerCredits[id] -= 1;
      
cs_set_user_money(id16000);
   }
   else {
      
ColorChat(id"^x03[Depozit]^x04 Iti trebuie^x03 1 credit^x04 pentru a putea retrage.");   
   }
   
SaveCredits(id)
   return 
PLUGIN_HANDLED;
}

/*
#########################################
THE PROBLEM IT'S HERE
#######################################
*/



public Show_Credits(id) {
    static 
Moedas[128];
    
    for(new 
i=1;i<=32;i++) 
    {

        if(
is_user_connected(i) && is_user_alive(i) ) {
        
        
formatex(Moedas127"Moedas: %d"PlayerCredits[id] );
        
        
        
set_hudmessage(random(255), random(255), random(255), 0.040.7000.02.00.00.22);
        
        
ShowSyncHudMsgiHUDSYNCMoedas );
        
        }
    }
    return 
PLUGIN_HANDLED;

   
/*
#########################################
END OF THE PART OF CODE PROBLEM
#######################################
*/
public Give_Credits(idlevelcid) {
   if(!
cmd_access(idlevelcid2)) {
      return 
PLUGIN_HANDLED;
   }
   new 
arg[23], gplayers[32], numiplayersname[32];
   
get_user_name(idname31);
   
read_argv(1arg23);
   new 
give_credits[5];
   
read_argv(2give_creditscharsmax(give_credits));
   new 
Credits str_to_num(give_credits);
   if(
equali(arg"@T")) {
      
get_players(gplayersnum"e""TERRORIST");
      for(
0numi++) {
         
players gplayers[i];
         if(!
is_user_connected(players))
            continue;
         
PlayerCredits[players] += Credits;
         
SaveCredits(id)
      }
      switch(
get_cvar_num("amx_show_activity")) {
         case 
1ColorChat(0"^x03ADMIN^x04 give^x03 %i Credits^x04 to all^x03 Ts."Credits);
            case 
2ColorChat(0"^x03%s^x04 give^x03 %i Credits^x04 to all^x03 Ts."nameCredits);
         }
   }
   else if(
equali(arg"@CT")) {
      
get_players(gplayersnum"e""CT");
      for(
0numi++) {
         
players gplayers[i];
         if(!
is_user_connected(players))
            continue;
         
PlayerCredits[players] += Credits;
         
SaveCredits(id)
      }
      switch(
get_cvar_num("amx_show_activity")) {
         case 
1ColorChat(0"^x03ADMIN^x04 give^x03 %i Credits^x04 to all^x03 CTs."Credits);
            case 
2ColorChat(0"^x03%s^x04 give^x03 %i Credits^x04 to all^x03 CTs."nameCredits);
         }
   }
   if(
equali(arg"@All")) {
      
get_players(gplayersnum"a");
      for(
0numi++) {
         
players gplayers[i];
         if(!
is_user_connected(players))
            continue;
         
PlayerCredits[players] += Credits;
         
SaveCredits(id)
      }
      switch(
get_cvar_num("amx_show_activity")) {
         case 
1ColorChat(0"^x03ADMIN^x04 give^x03 %i Credits^x04 to all^x03 Players."Credits);
            case 
2ColorChat(0"^x03%s^x04 give^x03 %i Credits^x04 to all^x03 Players."nameCredits);
         }
   }
   new 
player cmd_target(idarg11);
   if(!
player) {
      return 
PLUGIN_HANDLED;
   }
   
PlayerCredits[player] += Credits;
   
SaveCredits(id)
   switch(
get_cvar_num("amx_show_activity")) {
      case 
1ColorChat(player"^x03ADMIN^x04 give your^x03 %i Credits."Credits);
         case 
2ColorChat(player"^x03%s^x04 give your^x03 %i Credits."nameCredits);
      }
   return 
PLUGIN_HANDLED;
}

public 
Reset_Credits(idlevelcid) {
   if(!
cmd_access(idlevelcid2)) {
      return 
PLUGIN_HANDLED;
   }
   new 
arg[23], gplayers[32], numiplayersname[32];
   
get_user_name(idname31);
   
read_argv(1arg23);
   if(
equali(arg"@T")) {
      
get_players(gplayersnum"e""TERRORIST");
      for(
0numi++) {
         
players gplayers[i];
         if(!
is_user_connected(players))
            continue;
         
PlayerCredits[players] = 0;
         
SaveCredits(id)
      }
      switch(
get_cvar_num("amx_show_activity")) {
         case 
1ColorChat(0"^x03ADMIN^x04 reset^x03 Credits^x04 to all^x03 Ts.");
            case 
2ColorChat(0"^x03%s^x04 reset^x03 Credits^x04 to all^x03 Ts."name);
         }
   }
   
   else if(
equali(arg"@CT")) {
      
get_players(gplayersnum"e""CT");
      for(
0numi++) {
         
players gplayers[i];
         if(!
is_user_connected(players))
            continue;
         
PlayerCredits[players] = 0;
         
SaveCredits(id)
      }
      switch(
get_cvar_num("amx_show_activity")) {
         case 
1ColorChat(0"^x03ADMIN^x04 reset^x03 %i Credits^x04 to all^x03 CTs.");
            case 
2ColorChat(0"^x03%s^x04 reset^x03 %i Credits^x04 to all^x03 CTs."name);
         }
   }
   if(
equali(arg"@All")) {
      
get_players(gplayersnum"a");
      for(
0numi++) {
         
players gplayers[i];
         if(!
is_user_connected(players))
            continue;
         
PlayerCredits[players] = 0;
         
SaveCredits(id)
      }
      switch(
get_cvar_num("amx_show_activity")) {
         case 
1ColorChat(0"^x03ADMIN^x04 reset^x03 Credits^x04 to all^x03 Players.");
            case 
2ColorChat(0"^x03%s^x04 resetx03 Credits^x04 to all^x03 Players."name);
         }
   }
   new 
player cmd_target(idarg11);
   if(!
player) {
      return 
PLUGIN_HANDLED;
   }
   
PlayerCredits[player] = 0;
   
SaveCredits(id)
   switch(
get_cvar_num("amx_show_activity")) {
      case 
1ColorChat(player"^x03ADMIN^x04 reset your^x03 Credits.");
         case 
2ColorChat(player"^x03%s^x04 reset your^x03 Credits."name);
      }
   return 
PLUGIN_HANDLED;
}

//------| Save Credits |------//
public SaveCredits(id) {
   
Vault nvault_open("DepozitCredits");
   new 
data_credits[256], key_credits[64];
   switch( 
get_pcvar_num(savepoints) ) {
      case 
1: {
         new 
name[33];
         
get_user_name(id,name,32);
         
format(key_credits63"%s-/"name);
      }
      case 
2: {
         new 
player_ip[33];
         
get_user_ip(id,player_ip,32);
         
format(key_credits63"%s-/"player_ip);
      }
      case 
3: {
         new 
steam_ID[33];
         
get_user_authid(id,steam_ID,32);
         
format(key_credits63"%s-/"steam_ID);
      }
   }
   
format(data_credits255"%i#"PlayerCredits[id]);
   
nvault_set(Vaultkey_creditsdata_credits);
   return 
PLUGIN_CONTINUE;
}
//------| Loading Credits |------//
public LoadCredits(id) {
   
Vault nvault_open("DepozitCredits");
   new 
data_credits[256], key_credits[64];
   switch( 
get_pcvar_num(savepoints) ) {
      case 
1: {
         new 
name[33];
         
get_user_name(id,name,32);
         
format(key_credits63"%s-/"name);
      }
      case 
2: {
         new 
player_ip[33];
         
get_user_ip(id,player_ip,32);
         
format(key_credits63"%s-/"player_ip);
      }
      case 
3: {
         new 
steam_ID[33];
         
get_user_authid(id,steam_ID,32);
         
format(key_credits63"%s-/"steam_ID);
      }
   }
   
format(data_credits255"%i#"PlayerCredits[id]);
   
nvault_get(Vaultkey_creditsdata_credits255);
   
replace_all(data_credits255"#"" ");
   
   new 
Credits[32];
   
parse(data_creditsCredits31);
   
PlayerCredits[id] = str_to_num(Credits);
   return 
PLUGIN_CONTINUE;
}

stock ColorChat(const id, const input[], any:...) {
   new 
count 1players[32];
   static 
msg[191];
   
vformat(msg190input3);
   
   
replace_all(msg190"!x04""^4");
   
replace_all(msg190"!x01""^1");
   
replace_all(msg190"!x03""^3");
   
   if(
idplayers[0] = id;
   else 
get_players(playerscount"ch"); {
      for(new 
0counti++) {
         if(
is_user_connected(players[i])) {
            
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i]);
            
write_byte(players[i]);
            
write_string(msg);
            
message_end();
         }
      }
   }


Any Tips?

Relaxing 04-18-2018 16:39

Re: [URGENT HELP] HUDSYNC Not Giving RealTime Values
 
You can take a look at this thread. You actually need a repeatable task. Dat one is more advance (i mean not mine, bugsy's code ylylyl)

polimpo4 04-18-2018 23:55

Re: [URGENT HELP] HUDSYNC Not Giving RealTime Values
 
I Fixed By Myself


All times are GMT -4. The time now is 04:42.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.