AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   HUD Message error !? (https://forums.alliedmods.net/showthread.php?t=126226)

yuku 05-07-2010 04:29

HUD Message error !?
 
Hey,
I'm new here and have beginn scripting since 1 Months...
So I wanted to chance the code of "And the winner is..." amxmodx plugin that the message come in the center of the screen and not in the chat...
But when I want to compile 5 Errors came.

Perhaps someone can help me...

Here is the code:

Code:

#include < amxmodx >
#include < amxmisc >
#include < hamsandwich >

#define TAG "^x04[AMXX]^x01"
#define FCVARS (FCVAR_SERVER | FCVAR_PROTECTED)

static const dates[ ][ ] =
{
    "And the Winner with Most Headshot Is...",
    "1.8",
    "Luqqas' Aka lucas_7_94"
}

new const name_cvar[ ][ ] = {
    "amx_headshots_logs",
    "amx_headshots_saymode"
}

new const value_cvar[ ][ ] = {
    "1",
    "0"
}

/* Enums */
enum
{
    CVAR_LOGS = 0,
    CVAR_SAYMODE,
}

enum
{
    PLUGIN_NAME,
    PLUGIN_VERSION,
    PLUGIN_AUTHOR
}
/* Enums End*/

new cvars[2]

new g_mostheadshots[33]

public plugin_init() {
    register_plugin( dates[PLUGIN_NAME], dates[PLUGIN_VERSION], dates[PLUGIN_AUTHOR])
   
    register_event( "DeathMsg" , "Event_DeathMsg" , "a" , "3=1" );
   
    register_event( "30" , "event_intermission" , "a" );
   
    register_event("HLTV", "event_round_start", "a", "1=0", "2=0");
   
    cvars[0] = register_cvar( name_cvar[CVAR_LOGS] , value_cvar[CVAR_LOGS] );
    cvars[1] = register_cvar( name_cvar[CVAR_SAYMODE], value_cvar[CVAR_SAYMODE]);

   
    register_cvar( "Best Player Headshot | SQL" , dates[PLUGIN_AUTHOR] , FCVARS );
   
    register_event( "TextMsg", "Event_GameRestart", "a", "2=#Game_will_restart_in");
   
    register_event( "TextMsg", "Event_GameRestart", "a", "2=#Game_Commencing" );
   
    gmsgHudSync = CreateHudSyncObj()
   
}

public Event_GameRestart( ) arrayset( g_mostheadshots, 0, 33 )
public client_disconnect( id ) g_mostheadshots[ id ] = 0
public event_intermission( ) set_task( 0.1, "BestHeadPlayer")

public event_round_start( )
{
    if( get_pcvar_num( cvars[1] ) )
        set_task(0.1, "BestHeadPlayer");
}
public BestHeadPlayer( )
{   
    new iPlayers[ 32 ], iNum
    get_players( iPlayers, iNum )
   
    if( !iNum )
    {
        return;
    }
   
    new iBestPlayerHeadshot = iPlayers[ 0 ]
   
    for(new i = 1, id; i < iNum; i++)
    {
        id = iPlayers[ i ]
       
        if(g_mostheadshots[ id ] > g_mostheadshots[ iBestPlayerHeadshot ])
        {
            iBestPlayerHeadshot = id
        }
    }
   
    new szName[ 32 ]
    get_user_name( iBestPlayerHeadshot , szName , charsmax(szName) )
    if(g_mostheadshots[ iBestPlayerHeadshot ] > 0)
      set_hudmessage(200, 100, 0, -1.0, 10, 0, 3.0, 3.0, 0.15, 0.15, 10)
        ShowSyncHudMsg( 0, gmsgHudSync, "%s And The Winner is %s with
%d Headshot%s" , TAG , szName , g_mostheadshots[ iBestPlayerHeadshot ] , g_mostheadshots[ iBestPlayerHeadshot ] > 1 ? "s." : "." )

    else
        Color( 0, "%s Nobody was winning on this map!", TAG )
   
    if( !cvars[1] && cvars[0] && g_mostheadshots[ iBestPlayerHeadshot ] > 0) {
        static mapname[ 32 ]
        get_mapname(mapname, sizeof mapname - 1)
       
        static Steam[ 32 ]
        get_user_authid( iBestPlayerHeadshot, Steam, charsmax(Steam))
       
        log_to_file( "best_headshot.log" , "Map %s | Best Player: %s | Headshots: %d | STEAM ID: %s" , mapname , szName , g_mostheadshots[ iBestPlayerHeadshot ], Steam)
    }
    return
}

public Event_DeathMsg( )
{
    new iAttack = read_data( 1 )
   
    if ( read_data( 2 ) != iAttack  )
        g_mostheadshots[ iAttack ]++
   
    return PLUGIN_HANDLED
}

stock Color( const id , const input[ ] , any:... )
{
    new count = 1, players[ 32 ]
    static msg[ 191 ]
    vformat( msg , 190 , input , 3 )
   
    replace_all( msg , 190 , "^x04" , "^4") // Green Color
    replace_all( msg, 190 , "^x01" , "^1") // Default Color
    replace_all( msg, 190 , "!team" , "^3") // Team Color
    replace_all( msg, 190 , "!team2" , "^0") // Team2 Color
   
    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( );
            }
        }
    }
}

All red code are new!

yuku 05-07-2010 05:30

Re: HUD Message error !?
 
Now there are only 3 errors:

warning: 213: tag mismatch

error 035: argument type mismacht (argument 2)

error 029: invalid expressionm, assumed zero

and for all errors are number:

99, 100, 101

epic . 05-07-2010 05:42

Re: HUD Message error !?
 
Code:

#include < amxmodx >
#include < amxmisc >
#include < hamsandwich >
#define TAG "^x04[AMXX]^x01"
#define FCVARS (FCVAR_SERVER | FCVAR_PROTECTED)
static const dates[ ][ ] =
{
    "And the Winner with Most Headshot Is...",
    "1.8",
    "Luqqas' Aka lucas_7_94"
}
new const name_cvar[ ][ ] = {
    "amx_headshots_logs",
    "amx_headshots_saymode"
}
new const value_cvar[ ][ ] = {
    "1",
    "0"
}
/* Enums */
enum
{
    CVAR_LOGS = 0,
    CVAR_SAYMODE,
}
enum
{
    PLUGIN_NAME,
    PLUGIN_VERSION,
    PLUGIN_AUTHOR
}
/* Enums End*/
new cvars[2]
new g_mostheadshots[33]
public plugin_init() {
    register_plugin( dates[PLUGIN_NAME], dates[PLUGIN_VERSION], dates[PLUGIN_AUTHOR])
   
    register_event( "DeathMsg" , "Event_DeathMsg" , "a" , "3=1" );
   
    register_event( "30" , "event_intermission" , "a" );
   
    register_event("HLTV", "event_round_start", "a", "1=0", "2=0");
   
    cvars[0] = register_cvar( name_cvar[CVAR_LOGS] , value_cvar[CVAR_LOGS] );
    cvars[1] = register_cvar( name_cvar[CVAR_SAYMODE], value_cvar[CVAR_SAYMODE]);
   
    register_cvar( "Best Player Headshot | SQL" , dates[PLUGIN_AUTHOR] , FCVARS );
   
    register_event( "TextMsg", "Event_GameRestart", "a", "2=#Game_will_restart_in");
   
    register_event( "TextMsg", "Event_GameRestart", "a", "2=#Game_Commencing" );
   
}
public Event_GameRestart( ) arrayset( g_mostheadshots, 0, 33 )
public client_disconnect( id ) g_mostheadshots[ id ] = 0
public event_intermission( ) set_task( 0.1, "BestHeadPlayer")
public event_round_start( )
{
    if( get_pcvar_num( cvars[1] ) )
        set_task(0.1, "BestHeadPlayer");
}
public BestHeadPlayer( )
{   
    new iPlayers[ 32 ], iNum
    get_players( iPlayers, iNum )
   
    if( !iNum )
    {
        return;
    }
   
    new iBestPlayerHeadshot = iPlayers[ 0 ]
   
    for(new i = 1, id; i < iNum; i++)
    {
        id = iPlayers[ i ]
       
        if(g_mostheadshots[ id ] > g_mostheadshots[ iBestPlayerHeadshot ])
        {
            iBestPlayerHeadshot = id
        }
    }
   
    new szName[ 32 ]
    get_user_name( iBestPlayerHeadshot , szName , charsmax(szName) )
    if(g_mostheadshots[ iBestPlayerHeadshot ] > 0)
    {
        set_hudmessage(178, 14, 41, -1.0, 0.4, 1, 0.5, 6.7, 0.2, 0.2, 4);
        show_hudmessage( 0, "%s And The Winner is %s with %d Headshot%s" , TAG , szName , g_mostheadshots[ iBestPlayerHeadshot ] , (g_mostheadshots[ iBestPlayerHeadshot ] > 1 ? "s." : ".") )
    }
    else
        Color( 0, "%s Nobody was winning on this map!", TAG )
   
    if( !cvars[1] && cvars[0] && g_mostheadshots[ iBestPlayerHeadshot ] > 0) {
        static mapname[ 32 ]
        get_mapname(mapname, sizeof mapname - 1)
       
        static Steam[ 32 ]
        get_user_authid( iBestPlayerHeadshot, Steam, charsmax(Steam))
       
        log_to_file( "best_headshot.log" , "Map %s | Best Player: %s | Headshots: %d | STEAM ID: %s" , mapname , szName , g_mostheadshots[ iBestPlayerHeadshot ], Steam)
    }
    return
}
public Event_DeathMsg( )
{
    new iAttack = read_data( 1 )
   
    if ( read_data( 2 ) != iAttack  )
        g_mostheadshots[ iAttack ]++
   
    return PLUGIN_HANDLED
}
stock Color( const id , const input[ ] , any:... )
{
    new count = 1, players[ 32 ]
    static msg[ 191 ]
    vformat( msg , 190 , input , 3 )
   
    replace_all( msg , 190 , "^x04" , "^4") // Green Color
    replace_all( msg, 190 , "^x01" , "^1") // Default Color
    replace_all( msg, 190 , "!team" , "^3") // Team Color
    replace_all( msg, 190 , "!team2" , "^0") // Team2 Color
   
    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( );
            }
        }
    }
}

This time is OK. sorry for my careless

yuku 05-07-2010 05:47

Re: HUD Message error !?
 
Oh thanks now it works! :mrgreen::mrgreen::mrgreen:

yuku 05-07-2010 05:53

Re: HUD Message error !?
 
I have another question... how can I chance the color of the message?

epic . 05-07-2010 06:00

Re: HUD Message error !?
 
Change this
178, 14, 41
to other number

yuku 05-07-2010 06:01

Re: HUD Message error !?
 
okey thanks :D:D:D:mrgreen:

yuku 05-07-2010 06:16

Re: HUD Message error !?
 
ähhmm.... problem:

If someone give an headshot it wont display it in the next round.

Every round it come Nobody was winning n this map!

And when i compile the code two warnings come:

on line 93: loose indentation

on line 95: loose indentation


Please help

K.K.Lv 05-07-2010 07:04

Re: HUD Message error !?
 
Code:

replace_all( msg, 190 , "!team2" , "^0") // Team2 Color
please delete this line !

yuku 05-07-2010 07:25

Re: HUD Message error !?
 
okey why?


All times are GMT -4. The time now is 03:37.

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