AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   What is wrong with this code? (https://forums.alliedmods.net/showthread.php?t=113910)

kikifrh 12-31-2009 09:28

What is wrong with this code?
 
Code:

/*
*  _______    _      _  __          __
*  | _____/    | |    | | \ \  __  / /
*  | |        | |    | |  | | /  \ | |
*  | |        | |____| |  | |/ __ \| |
*  | |  ___  | ______ |  |  /  \  |
*  | |  |_  |  | |    | |  |  /    \  |
*  | |    | |  | |    | |  | |      | |
*  | |____| |  | |    | |  | |      | |
*  |_______/  |_|    |_|  \_/      \_/
*
*
*
*  Last Edited: 12-06-09
*
*  ============
*  Changelog:
*  ============
*
*  v1.1
*    -Bug Fixes
*
*  v1.0
*    -Initial Release
*
*/
#include < amxmodx >
#include < amxmisc >
#include < geoip >

#define SHOW_COLOR        1
#define SHOW_CONNECT        2
#define SHOW_DISCONNECT        4
#define PLAY_SOUND_CONNECT    8
#define PLAY_SOUND_DISCONNECT    16

new display_type_pcvar

new name[33][32]
new authid[33][32]
new country[33][46]
new ip[33][32]

new connect_soundfile[64]
new disconnect_soundfile[64]

new saytext_msgid

public plugin_init()
{
    register_plugin("GHW Connect Messages","1.1","GHW_Chronic")
    display_type_pcvar = register_cvar("cm_flags","31")
    register_cvar("cm_connect_string","[AMXX] %name (%ip) has connected (%country).")
    register_cvar("cm_disconnect_string","[AMXX] %name (%ip) has disconnected (%country).")

        register_clcmd("say /myip","ClCmd_Say",0)
        register_clcmd("say /showip","ClCmd_Say",0)
        register_clcmd("say /aboutme","ClCmd_Say",0)
        register_clcmd("say /info","ClCmd_Say",0)
        register_clcmd("say /myinfo","ClCmd_Say",0)
        register_concmd("say /playerips","showcountry",0,"ADMIN_KICK");
        register_concmd("say /showips","showcountry",0,"ADMIN_KICK");
        register_concmd("say /aboutall","showcountry",0,"ADMIN_KICK");

    saytext_msgid = get_user_msgid("SayText")
}

public plugin_precache()
{
    register_cvar("cm_connect_sound","buttons/bell1.wav")
    register_cvar("cm_disconnect_sound","fvox/blip.wav")

    get_cvar_string("cm_connect_sound",connect_soundfile,63)
    get_cvar_string("cm_disconnect_sound",disconnect_soundfile,63)

    precache_sound(connect_soundfile)
    precache_sound(disconnect_soundfile)
}

public client_putinserver(id)
{
    if(!is_user_bot(id))
    {
        get_client_info(id)

        new display_type = get_pcvar_num(display_type_pcvar)
        if(display_type & SHOW_CONNECT)
        {
            new string[200]
            get_cvar_string("cm_connect_string",string,199)
            format(string,199,"^x01%s",string)

            if(display_type & SHOW_COLOR)
            {
                new holder[46]

                format(holder,45,"^x04%s^x01",name[id])
                replace(string,199,"%name",holder)

                format(holder,45,"^x04%s^x01",authid[id])
                replace(string,199,"%steamid",holder)

                format(holder,45,"^x04%s^x01",country[id])
                replace(string,199,"%country",holder)

                format(holder,45,"^x04%s^x01",ip[id])
                replace(string,199,"%ip",holder)
            }
            else
            {
                replace(string,199,"%name",name[id])
                replace(string,199,"%steamid",authid[id])
                replace(string,199,"%country",country[id])
                replace(string,199,"%ip",ip[id])
            }

            new num, players[32], player
            get_players(players,num,"ch")
            for(new i=0;i<num;i++)
            {
                player = players[i]

                message_begin(MSG_ONE,saytext_msgid,{0,0,0},player)
                write_byte(player)
                write_string(string)
                message_end()

                if(display_type & PLAY_SOUND_CONNECT)
                {
                    new stringlen = strlen(connect_soundfile)
                    if(connect_soundfile[stringlen - 1]=='v' && connect_soundfile[stringlen - 2]=='a' && connect_soundfile[stringlen - 3]=='w') //wav
                    {
                        client_cmd(player,"spk ^"sound/%s^"",connect_soundfile)
                    }
                    if(connect_soundfile[stringlen - 1]=='3' && connect_soundfile[stringlen - 2]=='p' && connect_soundfile[stringlen - 3]=='m') //wav
                    {
                        client_cmd(player,"mp3 play ^"sound/%s^"",connect_soundfile)
                    }
                }
            }
        }
    }
}

public ClCmd_Say(id)
{
    client_print(id, "[AMXX] %name (%ip) (%country).")
}

public showcountry(id, level, cid)
{
    if( cmd_access(id, level, cid, 2) )
    {
        new iPlayers[32], iNum, iPlayer, Name[32], IP[16], Country[46];
        get_players(iPlayers, iNum);
        console_print(id, "%name %ip %country");
        for(new i; i < iNum; i++)
        {
            iPlayer = iPlayers[i];
            get_user_ip(iPlayer, IP, charsmax(IP),1);
            get_user_name(iPlayer, Name, charsmax(Name));
            client_print(id, "Information about players has been printed in your console")
            console_print(id, "%name %ip %country");
        }
    }
}

public get_client_info(id)
{
    get_user_name(id,name[id],31)
    get_user_authid(id,authid[id],31)

    get_user_ip(id,ip[id],31)
    geoip_country(ip[id],country[id])
    if(equal(country[id],"error"))
    {
        if(contain(ip[id],"192.168.")==0 || equal(ip[id],"127.0.0.1") || contain(ip[id],"10.")==0 ||  contain(ip[id],"172.")==0)
        {
            country[id] = "LAN"
        }
        if(equal(ip[id],"loopback"))
        {
            country[id] = "ListenServer User"
        }
        else
        {
            country[id] = "Unknown Country"
        }
    }
}

public client_infochanged(id)
{
    if(!is_user_bot(id))
    {
        get_user_info(id,"name",name[id],31)
    }
}

public client_disconnect(id)
{
    if(!is_user_bot(id))
    {
        new display_type = get_pcvar_num(display_type_pcvar)
        if(display_type & SHOW_DISCONNECT)
        {
            new string[200]
            get_cvar_string("cm_disconnect_string",string,199)
            format(string,199,"^x01%s",string)

            if(display_type & SHOW_COLOR)
            {
                new holder[46]

                format(holder,45,"^x04%s^x01",name[id])
                replace(string,199,"%name",holder)

                format(holder,45,"^x04%s^x01",authid[id])
                replace(string,199,"%steamid",holder)

                format(holder,45,"^x04%s^x01",country[id])
                replace(string,199,"%country",holder)

                format(holder,45,"^x04%s^x01",ip[id])
                replace(string,199,"%ip",holder)
            }
            else
            {
                replace(string,199,"%name",name[id])
                replace(string,199,"%steamid",authid[id])
                replace(string,199,"%country",country[id])
                replace(string,199,"%ip",ip[id])
            }

            new num, players[32], player
            get_players(players,num,"ch")
            for(new i=0;i<num;i++)
            {
                player = players[i]

                message_begin(MSG_ONE,saytext_msgid,{0,0,0},player)
                write_byte(player)
                write_string(string)
                message_end()

                new stringlen = strlen(disconnect_soundfile)
                if(disconnect_soundfile[stringlen - 1]=='v' && disconnect_soundfile[stringlen - 2]=='a' && disconnect_soundfile[stringlen - 3]=='w') //wav
                {
                    client_cmd(player,"spk ^"sound/%s^"",disconnect_soundfile)
                }
                if(disconnect_soundfile[stringlen - 1]=='3' && disconnect_soundfile[stringlen - 2]=='p' && disconnect_soundfile[stringlen - 3]=='m') //wav
                {
                    client_cmd(player,"mp3 play ^"sound/%s^"",disconnect_soundfile)
                }
            }
        }
    }
}

I edited somethings with a friend, and it doesnt work :S
these are the cmd
Code:

        register_clcmd("say /myip","ClCmd_Say",0)
        register_clcmd("say /showip","ClCmd_Say",0)
        register_clcmd("say /aboutme","ClCmd_Say",0)
        register_clcmd("say /info","ClCmd_Say",0)
        register_clcmd("say /myinfo","ClCmd_Say",0)
        register_concmd("say /playerips","showcountry",0,"ADMIN_KICK");
        register_concmd("say /showips","showcountry",0,"ADMIN_KICK");
        register_concmd("say /aboutall","showcountry",0,"ADMIN_KICK");

it doesnt show nothing when you type :S ; can someone help me fixing this?
current errors:
Code:

Your plugin failed to compile! Read the errors below:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

/home/groups/amxmodx/tmp3/phpoKDusQ.sma(121) : error 035: argument type mismatch (argument 2)
/home/groups/amxmodx/tmp3/phpoKDusQ.sma(136) : error 035: argument type mismatch (argument 2)
/home/groups/amxmodx/tmp3/phpoKDusQ.sma(139) : warning 204: symbol is assigned a value that is never used: "Country"

2 Errors. Could not locate output file /home/groups/amxmodx/public_html/websc3/phpoKDusQ.amx (compile failed).

803190 successful compiles to date.
575212 failed compiles to date.
Old compiler: 101980 compiles before decommission.
This tool by: David "BAILOPAN" Anderson.

thx in advance

Arkshine 12-31-2009 10:00

Re: What is wrong with this code?
 
client_print(id, "..." ); -> client_print(id, print_chat, "..." );

geoip_country(ip[id],country[id]) -> geoip_country(ip[id],country[id],charsmax( country[]) )

kikifrh 12-31-2009 10:04

Re: What is wrong with this code?
 
thx, arkshine
with this it should be ok with cmd? (sorry I'm not home and cant test :s)
I can use amxmodx.org and give me this errors:
Code:

Your plugin failed to compile! Read the errors below:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

/home/groups/amxmodx/tmp3/phpafGG1j.sma(136) : error 035: argument type mismatch (argument 2)
/home/groups/amxmodx/tmp3/phpafGG1j.sma(139) : warning 204: symbol is assigned a value that is never used: "Country"

1 Error.

Could not locate output file /home/groups/amxmodx/public_html/websc3/phpafGG1j.amx (compile failed).

803207 successful compiles to date.
575230 failed compiles to date.
Old compiler: 101980 compiles before decommission.
This tool by: David "BAILOPAN" Anderson.




Arkshine 12-31-2009 10:10

Re: What is wrong with this code?
 
It compiles fine for me.

You have 2 client_print(). You have probably changed only one.

kikifrh 12-31-2009 10:12

Re: What is wrong with this code?
 
didn't saw the 2nd :P

now I only have one warning :s
Code:

/home/groups/amxmodx/tmp3/phpzbIjge.sma(139) : warning 204: symbol is assigned a value that is never used: "Country"
as is never used, I think is this one, isnt?
Code:

public showcountry(id, level, cid)
{
    if( cmd_access(id, level, cid, 2) )
    {
        new iPlayers[32], iNum, iPlayer, Name[32], IP[16], Country[46];

p.s: When I delete, it compiles and no warnings/errors show :D
thx arkshine

Arkshine 12-31-2009 10:19

Re: What is wrong with this code?
 
Yes, you simply don't use this var, you can remove it.

kikifrh 12-31-2009 11:02

Re: What is wrong with this code?
 
Thx askshine :D


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

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