Raised This Month: $ Target: $400
 0% 

Admin HUD chat with set_task


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
Hackerpcs
Member
Join Date: Jul 2012
Location: Greece
Old 11-28-2014 , 01:23   Admin HUD chat with set_task
Reply With Quote #1

Hi. I'm trying to modify the 1.8.2 adminchat.sma to have the hud admin announcements not disappear in round end, sv_restart 1, etc. I've done it but the message is being slow to appear. My code (only included the modified parts, rest can be checked on original .sma):
PHP Code:
#include <dhudmessage>

enum _:TaskData
{
    
messageEnum[128],
    
red,
    
green,
    
blue,
    
Float:x,
    
Float:y
}

new 
taskCount[367];

new 
hudAdminSeconds;

//plugin_init
hudAdminSeconds=register_cvar("amx_hud_seconds","6");

//cmdSayChat(id)
    
new Float:verpos g_Pos[i][1] + float(g_msgChannel) / 35.0
    
    get_user_authid
(idauthid31)
    
get_user_name(idname31)
    
userid get_user_userid(id)

    new 
tdDataTaskData ];
    
tdData[red]=g_Values[a][0];
    
tdData[green]=g_Values[a][1];
    
tdData[blue]=g_Values[a][2];
    
tdData[x]=_:g_Pos[i][0];
    
tdData[y]=_:verpos;
    
    new 
randTaskID id random_num(33333);
    
    switch ( 
get_pcvar_num(amx_show_activity) )
    {
        case 
2:
        {
            
formatex(tdData[messageEnum], 127"%s :  %s"namemessage[n]);
            
set_task(0.9"DhudTask"randTaskIDtdDatasizeoftdData ), "a"get_pcvar_num(hudAdminSeconds))
            
client_print(0print_notify"%s :  %s"namemessage[n])
        }
        default:
        {
            
formatex(tdData[messageEnum], 127"%s"message[n]);
            
set_task(0.9"DhudTask"randTaskIDtdDatasizeoftdData ), "a"get_pcvar_num(hudAdminSeconds))
            
client_print(0print_notify"%s"message[n])
        }
    }


public 
DhudTasktdIncomingTaskData ] , TaskID )
{
    if(
taskCount[TaskID]==0)
    {
        
set_dhudmessage(tdIncoming[red], tdIncoming[green], tdIncoming[blue], tdIncoming[x], tdIncoming[y], 01.01.00.50.0)
        
taskCount[TaskID] = taskCount[TaskID] + 1;
        
    }
    else if (
taskCount[TaskID]==get_pcvar_num(hudAdminSeconds)-1)
    {
        
set_dhudmessage(tdIncoming[red], tdIncoming[green], tdIncoming[blue], tdIncoming[x], tdIncoming[y], 01.01.00.00.15)
        
taskCount[TaskID] = 0;
    }
    else
    {
        
set_dhudmessage(tdIncoming[red], tdIncoming[green], tdIncoming[blue], tdIncoming[x], tdIncoming[y], 01.01.00.00.0)
        
taskCount[TaskID] = taskCount[TaskID] + 1;
    }
    
show_dhudmessage(0"%s"tdIncoming[messageEnum])

Where is the part that slows it down?

Last edited by Hackerpcs; 11-28-2014 at 01:25.
Hackerpcs is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 17:44.


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