Raised This Month: $32 Target: $400
 8% 

[TUT] All In One


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Stressful
Senior Member
Join Date: Feb 2011
Old 08-16-2011 , 03:40   [TUT] All In One
Reply With Quote #1

* Description & Benefits * -

I've seen some thread regarding to this , So I decided to make a easy tutorial of "All In One" . Basically its a combination of 2 plugin into 1 plugin . It can be more than 2 , depends on how many plugin / what are the plugin you wanted to combine them together . There's lots of benefits , One of them are , Sometimes you might need some other plugin to make a "mod" so you can combine them to make it seems like a "mod" . Ok , How do you combine the plugins? Here's the example.

| Examples | -

Now , Over here , I'm going to mix Admin Chat Color and InGameAdmin Login

All you have to do is just copy & paste at the right place.

Admin Chat Colors
PHP Code:
#include <amxmodx>
#include <amxmisc>

#define PLUGIN         "Admin Chat Colors"
#define VERSION     "2.0"
#define AUTHOR         "Arion"

#define ACCESS_LEVEL    ADMIN_CHAT
#define ADMIN_LISTEN    ADMIN_BAN

new message[192]
new 
sayText
new teamInfo
new maxPlayers

new g_MessageColor
new g_NameColor
new g_AdminListen

new strName[191]
new 
strText[191]
new 
alive[11]

public 
plugin_init() // 
{
    
register_plugin (PLUGINVERSIONAUTHOR
    
    
g_MessageColor register_cvar ("amx_color""2"// Message colors: [1] Default Yellow, [2] Green, [3] White, [4] Blue, [5] Red

    
g_NameColor register_cvar ("amx_namecolor""6"// Name colors: [1] Default Yellow, [2] Green, [3] White, [4] Blue, [5] Red, [6] Team-color
    
    
g_AdminListen register_cvar ("amx_listen""1"// Set whether admins see or not all messages (Alive, dead and team-only)
    
    
    
sayText get_user_msgid ("SayText")
    
teamInfo get_user_msgid ("TeamInfo")
    
maxPlayers get_maxplayers()
    
    
    
register_message (sayText"avoid_duplicated")
    
    
register_clcmd ("amx_color""set_color"ACCESS_LEVEL"<color>")
    
register_clcmd ("amx_namecolor""set_name_color"ACCESS_LEVEL"<color>")
    
register_clcmd ("amx_listen""set_listen"ACCESS_LEVEL"<1 | 0>")
    
    
register_clcmd ("say""hook_say")
    
register_clcmd ("say_team""hook_teamsay")
}


public 
avoid_duplicated (msgIdmsgDestreceiver)
{
    return 
PLUGIN_HANDLED
}


public 
hook_say(id)
{
    
read_args (message191)
    
remove_quotes (message)
    
    if (
message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message"")) // Ignores Admin Hud Messages, Admin Slash commands, 
                                                   // Gungame commands and empty messages
        
return PLUGIN_CONTINUE

        
    
new name[32]
    
get_user_name (idname31)
    
    new 
bool:admin false
    
    
if (get_user_flags(id) & ACCESS_LEVEL)
        
admin true
        
    
    
new isAlive
    
    
if (is_user_alive (id))
        {
            
isAlive 1
            alive 
"^x01"
        
}
    else
        {
            
isAlive 0
            alive 
"^x01*DEAD* "
        
}
    
    static 
color[10]
    

    
    if (
admin)
        {
            
// Name
            
switch (get_pcvar_num (g_NameColor))
                {
                    case 
1:
                        
format (strName191"%s%s"alivename)

                    case 
2:
                        
format (strName191"%s^x04%s"alivename)
                        
                    case 
3:
                        {
                            
color "SPECTATOR"
                            
format (strName191"%s^x03%s"alivename)
                        }
                        
                    case 
4:
                        {
                            
color "CT"
                            
format (strName191"%s^x03%s"alivename)
                        }

                    case 
5:
                        {
                            
color "TERRORIST"
                            
format (strName191"%s^x03%s"alivename)
                        }
                    
                    case 
6:
                        {
                            
get_user_team (idcolor9)
                                
                            
format (strName191"%s^x03%s"alivename)
                        }
                }
            
            
            
// Message
            
switch (get_pcvar_num (g_MessageColor))
                {
                    case 
1:    // Yellow
                        
format (strText191"%s"message)
                        
                    case 
2:    // Green
                        
format (strText191"^x04%s"message)
                        
                    case 
3:    // White
                        
{
                            
copy (color9"SPECTATOR")
                            
format (strText191"^x03%s"message)
                        }

                    case 
4:    // Blue
                        
{
                            
copy (color9"CT")
                            
format (strText191"^x03%s"message)
                        }
                        
                    case 
5:    // Red
                        
{
                            
copy (color9"TERRORIST")
                            
format (strText191"^x03%s"message)
                        }
                }
        }
    
    else     
// Player is not admin. Team-color name : Yellow message
        
{
            
get_user_team (idcolor9)
            
            
format (strName191"%s^x03%s"alivename)
            
            
format (strText191"%s"message)
        }

    
format (message191"%s^x01 :  %s"strNamestrText)
            
    
sendMessage (colorisAlive)    // Sends the colored message
    
    
return PLUGIN_CONTINUE
}


public 
hook_teamsay(id)
{
    new 
playerTeam get_user_team(id)
    new 
playerTeamName[19]
    
    switch (
playerTeam// Team names which appear on team-only messages
        
{
            case 
1:
                
copy (playerTeamName11"Terrorists")
                
            case 
2:
                
copy (playerTeamName18"Counter-Terrorists")
                
            default:
                
copy (playerTeamName9"Spectator")
        }
        
    
read_args (message191)
    
remove_quotes (message)
    
    if (
message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message"")) // Ignores Admin Hud Messages, Admin Slash commands, 
                                                   // Gungame commands and empty messages
        
return PLUGIN_CONTINUE

        
    
new name[32]
    
get_user_name (idname31)
    
    new 
bool:admin false
    
    
if (get_user_flags(id) & ACCESS_LEVEL)
        
admin true
        
    
    
new isAlive
    
    
if (is_user_alive (id))
        {
            
isAlive 1
            alive 
"^x01"
        
}
    else
        {
            
isAlive 0
            alive 
"^x01*DEAD* "
        
}
    
    static 
color[10]
    

    
    if (
admin)
        {
            
// Name
            
switch (get_pcvar_num (g_NameColor))
                {
                    case 
1:
                        
format (strName191"%s(%s) %s"aliveplayerTeamNamename)

                    case 
2:
                        
format (strName191"%s(%s) ^x04%s"aliveplayerTeamNamename)
                        
                    case 
3:
                        {
                            
color "SPECTATOR"
                            
format (strName191"%s(%s) ^x03%s"aliveplayerTeamNamename)
                        }
                        
                    case 
4:
                        {
                            
color "CT"
                            
format (strName191"%s(%s) ^x03%s"aliveplayerTeamNamename)
                        }

                    case 
5:
                        {
                            
color "TERRORIST"
                            
format (strName191"%s(%s) ^x03%s"aliveplayerTeamNamename)
                        }
                    
                    case 
6:
                        {
                            
get_user_team (idcolor9)
                                
                            
format (strName191"%s(%s) ^x03%s"aliveplayerTeamNamename)
                        }
                }
            
            
            
// Message
            
switch (get_pcvar_num (g_MessageColor))
                {
                    case 
1:    // Yellow
                        
format (strText191"%s"message)
                        
                    case 
2:    // Green
                        
format (strText191"^x04%s"message)
                        
                    case 
3:    // White
                        
{
                            
copy (color9"SPECTATOR")
                            
format (strText191"^x03%s"message)
                        }

                    case 
4:    // Blue
                        
{
                            
copy (color9"CT")
                            
format (strText191"^x03%s"message)
                        }
                        
                    case 
5:    // Red
                        
{
                            
copy (color9"TERRORIST")
                            
format (strText191"^x03%s"message)
                        }
                }
        }
    
    else     
// Player is not admin. Team-color name : Yellow message
        
{
            
get_user_team (idcolor9)
            
            
format (strName191"%s(%s) ^x03%s"aliveplayerTeamNamename)
            
            
format (strText191"%s"message)
        }
    
    
format (message191"%s ^x01:  %s"strNamestrText)
    
    
sendTeamMessage (colorisAliveplayerTeam)    // Sends the colored message
    
    
return PLUGIN_CONTINUE    
}


public 
set_color (idlevelcid)
{
    if (!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED
        
    
new arg[1], newColor
    read_argv 
(1arg1)
    
    
newColor str_to_num (arg)
    
    if (
newColor >= && newColor <= 5)
        {
            
set_cvar_num ("amx_color"newColor)
            
set_pcvar_num (g_MessageColornewColor)
    
            if (
get_pcvar_num (g_NameColor) != &&
                   ((
newColor == &&  get_pcvar_num (g_NameColor) != 3)
                 || (
newColor == &&  get_pcvar_num (g_NameColor) != 4)
                 || (
newColor == &&  get_pcvar_num (g_NameColor) != 5)))
                {
                    
set_cvar_num ("amx_namecolor"2)
                    
set_pcvar_num (g_NameColor2)
                }
        }
        
    return 
PLUGIN_HANDLED
}


public 
set_name_color (idlevelcid)
{
    if (!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED
        
    
new arg[1], newColor
    read_argv 
(1arg1)
    
    
newColor str_to_num (arg)
    
    if (
newColor >= && newColor <= 6)
        {
            
set_cvar_num ("amx_namecolor"newColor)
            
set_pcvar_num (g_NameColornewColor)
            
            if ((
get_pcvar_num (g_MessageColor) != 1
                
&& ((newColor == &&  get_pcvar_num (g_MessageColor) != 3)
                 || (
newColor == &&  get_pcvar_num (g_MessageColor) != 4)
                 || (
newColor == &&  get_pcvar_num (g_MessageColor) != 5)))
                 || 
get_pcvar_num (g_NameColor) == 6)
                {
                    
set_cvar_num ("amx_color"2)
                    
set_pcvar_num (g_MessageColor2)
                }
        }
    
    return 
PLUGIN_HANDLED
}


public 
set_listen (idlevelcid)
{
    if (!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED
        
    
new arg[1], newListen
    read_argv
(1arg1)
    
    
newListen str_to_num (arg)
    
    
set_cvar_num ("amx_listen"newListen)
    
set_pcvar_num (g_AdminListennewListen)
    
    return 
PLUGIN_HANDLED
}


public 
sendMessage (color[], alive)
{
    new 
teamName[10]
    
    for (new 
player 1player maxPlayersplayer++)
        {
            if (!
is_user_connected(player))
                continue

            if (
alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
                {
                    
get_user_team (playerteamName9)    // Stores user's team name to change back after sending the message
                    
                    
changeTeamInfo (playercolor)        // Changes user's team according to color choosen
                    
                    
writeMessage (playermessage)        // Writes the message on player's chat
                    
                    
changeTeamInfo (playerteamName)    // Changes user's team back to original
                
}
        }
}


public 
sendTeamMessage (color[], aliveplayerTeam)
{
    new 
teamName[10]
    
    for (new 
player 1player maxPlayersplayer++)
        {
            if (!
is_user_connected(player))
                continue

            if (
get_user_team(player) == playerTeam || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
                {
                    if (
alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
                        {
                            
get_user_team (playerteamName9)    // Stores user's team name to change back after sending the message
                            
                            
changeTeamInfo (playercolor)        // Changes user's team according to color choosen
                            
                            
writeMessage (playermessage)        // Writes the message on player's chat
                            
                            
changeTeamInfo (playerteamName)    // Changes user's team back to original
                        
}
                }
        }
}


public 
changeTeamInfo (playerteam[])
{
    
message_begin (MSG_ONEteamInfo_player)    // Tells to to modify teamInfo (Which is responsable for which time player is)
    
write_byte (player)                // Write byte needed
    
write_string (team)                // Changes player's team
    
message_end()                    // Also Needed
}


public 
writeMessage (playermessage[])
{
    
message_begin (MSG_ONEsayText, {000}, player)    // Tells to modify sayText (Which is responsable for writing colored messages)
    
write_byte (player)                    // Write byte needed
    
write_string (message)                    // Effectively write the message, finally, afterall
    
message_end ()                        // Needed as always

In Game Admin SMA
PHP Code:
#include<amxmodx>

new menutext[77]
new 
keysentered[33][8]
new 
loop[33]

public 
plugin_init(){
    
register_plugin("Admin In-game Access","0.16","ts2do")
    
format(menutext,77,"\yEnter Code:\w^n  \y1  \w2  \y3^n  \w4  \y5  \w6^n  \y7  \w8  \y9^n \wExit. 0  ")
    
register_menucmd(register_menuid(menutext),1023,"loginContinue")
    
register_clcmd("say /login","login")
    
register_cvar("login_code","12345678")
    
register_cvar("login_flags","bcdefghijklmnopqrstu")
    
register_cvar("login_stop","You don't wanna continue at this, do you?")//lol
}

public 
loginContinue(id,key){
    
loop[id]++
    new 
strKey[8]
    
num_to_str(key+1,strKey,7)
    
format(keysentered[id],32,"%s%s",keysentered[id],strKey)
    new 
code[33]
    
get_cvar_string("login_code",code,32)
    if(
equal(keysentered[id],code)){
        new 
userflags[128]
        
get_cvar_string("login_flags",userflags,127)
        
set_user_flags(id,read_flags(userflags))
        new 
username[32]
        
get_user_name(id,username,31)
        
client_print(id,print_chat,"Welcome, %s, you are now logged in",username)
        return 
PLUGIN_HANDLED
    
}
    if((
key==9)){
        
loop[id]=0
        keysentered
[id]=""
        
return PLUGIN_HANDLED
    
}
    if(
loop[id]>=15){
        new 
ender[128]
        
get_cvar_string("login_stop",ender,127)
        if(
strlen(ender))
            
client_print(id,print_chat,"%s",ender)
    }
    
showmenu(id)
    return 
PLUGIN_CONTINUE
}

public 
showmenu(id)
    
show_menu(id,1023,menutext)

public 
login(id){
    
showmenu(id)
    return 
PLUGIN_HANDLED

* Instructions * -
You can either use "AdminChatcolor" / "Ingameadmin" / New SMA file to paste your "All In One" plugin mixture there .

public_init() -
As you can see above , All you have to do is look at the so called "Category" like for public_init() both plugin have that , instead of both , all plugin will have that . As its the main "category" to work things out. In "Ingameadmin" , There's a list of stuff under it , All you have to do is just copy paste into either adminchatcolor or vice versa or you might want to make a new sma file and paste it in there.

** NOTE : Only for public_init you can paste them in. Others you can't **

Others -
As for things like public "function"() you copy the whole thing and paste them instead of mixing them together like public_init

After you have done all that , The remix of "Admin Chat Color" + "In Game Admin" will look like this .
PHP Code:
#include <amxmodx>
#include <amxmisc>

#define PLUGIN         "Admin Chat Colors"
#define VERSION     "2.0"
#define AUTHOR         "Arion"

#define ACCESS_LEVEL    ADMIN_CHAT
#define ADMIN_LISTEN    ADMIN_BAN

new message[192]
new 
sayText
new teamInfo
new maxPlayers

new g_MessageColor
new g_NameColor
new g_AdminListen

new strName[191]
new 
strText[191]
new 
alive[11]

// In Game Admin
new menutext[77]
new 
keysentered[33][8]
new 
loop[33]
public 
plugin_init()
{
    
register_plugin (PLUGINVERSIONAUTHOR)
    
    
g_MessageColor register_cvar ("amx_color""2"// Message colors: [1] Default Yellow, [2] Green, [3] White, [4] Blue, [5] Red

    
g_NameColor register_cvar ("amx_namecolor""6"// Name colors: [1] Default Yellow, [2] Green, [3] White, [4] Blue, [5] Red, [6] Team-color
    
    
g_AdminListen register_cvar ("amx_listen""1"// Set whether admins see or not all messages (Alive, dead and team-only)
    
    
    
sayText get_user_msgid ("SayText")
    
teamInfo get_user_msgid ("TeamInfo")
    
maxPlayers get_maxplayers()
    
    
    
register_message (sayText"avoid_duplicated")
    
    
register_clcmd ("amx_color""set_color"ACCESS_LEVEL"<color>")
    
register_clcmd ("amx_namecolor""set_name_color"ACCESS_LEVEL"<color>")
    
register_clcmd ("amx_listen""set_listen"ACCESS_LEVEL"<1 | 0>")
    
    
register_clcmd ("say""hook_say")
    
register_clcmd ("say_team""hook_teamsay")
    
    
// In game admin
    
    
format(menutext,77,"\yEnter Code:\w^n  \y1  \w2  \y3^n  \w4  \y5  \w6^n  \y7  \w8  \y9^n \wExit. 0  ")
    
register_menucmd(register_menuid(menutext),1023,"loginContinue")
    
register_clcmd("say /login","login")
    
register_cvar("login_code","12345678")
    
register_cvar("login_flags","bcdefghijklmnopqrstu")
    
register_cvar("login_stop","You don't wanna continue at this, do you?")//lol
}


public 
avoid_duplicated (msgIdmsgDestreceiver)
{
    return 
PLUGIN_HANDLED
}


public 
hook_say(id)
{
    
read_args (message191)
    
remove_quotes (message)
    
    if (
message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message"")) // Ignores Admin Hud Messages, Admin Slash commands, 
                                                   // Gungame commands and empty messages
        
return PLUGIN_CONTINUE

        
    
new name[32]
    
get_user_name (idname31)
    
    new 
bool:admin false
    
    
if (get_user_flags(id) & ACCESS_LEVEL)
        
admin true
        
    
    
new isAlive
    
    
if (is_user_alive (id))
        {
            
isAlive 1
            alive 
"^x01"
        
}
    else
        {
            
isAlive 0
            alive 
"^x01*DEAD* "
        
}
    
    static 
color[10]
    

    
    if (
admin)
        {
            
// Name
            
switch (get_pcvar_num (g_NameColor))
                {
                    case 
1:
                        
format (strName191"%s%s"alivename)

                    case 
2:
                        
format (strName191"%s^x04%s"alivename)
                        
                    case 
3:
                        {
                            
color "SPECTATOR"
                            
format (strName191"%s^x03%s"alivename)
                        }
                        
                    case 
4:
                        {
                            
color "CT"
                            
format (strName191"%s^x03%s"alivename)
                        }

                    case 
5:
                        {
                            
color "TERRORIST"
                            
format (strName191"%s^x03%s"alivename)
                        }
                    
                    case 
6:
                        {
                            
get_user_team (idcolor9)
                                
                            
format (strName191"%s^x03%s"alivename)
                        }
                }
            
            
            
// Message
            
switch (get_pcvar_num (g_MessageColor))
                {
                    case 
1:    // Yellow
                        
format (strText191"%s"message)
                        
                    case 
2:    // Green
                        
format (strText191"^x04%s"message)
                        
                    case 
3:    // White
                        
{
                            
copy (color9"SPECTATOR")
                            
format (strText191"^x03%s"message)
                        }

                    case 
4:    // Blue
                        
{
                            
copy (color9"CT")
                            
format (strText191"^x03%s"message)
                        }
                        
                    case 
5:    // Red
                        
{
                            
copy (color9"TERRORIST")
                            
format (strText191"^x03%s"message)
                        }
                }
        }
    
    else     
// Player is not admin. Team-color name : Yellow message
        
{
            
get_user_team (idcolor9)
            
            
format (strName191"%s^x03%s"alivename)
            
            
format (strText191"%s"message)
        }

    
format (message191"%s^x01 :  %s"strNamestrText)
            
    
sendMessage (colorisAlive)    // Sends the colored message
    
    
return PLUGIN_CONTINUE
}


public 
hook_teamsay(id)
{
    new 
playerTeam get_user_team(id)
    new 
playerTeamName[19]
    
    switch (
playerTeam// Team names which appear on team-only messages
        
{
            case 
1:
                
copy (playerTeamName11"Terrorists")
                
            case 
2:
                
copy (playerTeamName18"Counter-Terrorists")
                
            default:
                
copy (playerTeamName9"Spectator")
        }
        
    
read_args (message191)
    
remove_quotes (message)
    
    if (
message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message"")) // Ignores Admin Hud Messages, Admin Slash commands, 
                                                   // Gungame commands and empty messages
        
return PLUGIN_CONTINUE

        
    
new name[32]
    
get_user_name (idname31)
    
    new 
bool:admin false
    
    
if (get_user_flags(id) & ACCESS_LEVEL)
        
admin true
        
    
    
new isAlive
    
    
if (is_user_alive (id))
        {
            
isAlive 1
            alive 
"^x01"
        
}
    else
        {
            
isAlive 0
            alive 
"^x01*DEAD* "
        
}
    
    static 
color[10]
    

    
    if (
admin)
        {
            
// Name
            
switch (get_pcvar_num (g_NameColor))
                {
                    case 
1:
                        
format (strName191"%s(%s) %s"aliveplayerTeamNamename)

                    case 
2:
                        
format (strName191"%s(%s) ^x04%s"aliveplayerTeamNamename)
                        
                    case 
3:
                        {
                            
color "SPECTATOR"
                            
format (strName191"%s(%s) ^x03%s"aliveplayerTeamNamename)
                        }
                        
                    case 
4:
                        {
                            
color "CT"
                            
format (strName191"%s(%s) ^x03%s"aliveplayerTeamNamename)
                        }

                    case 
5:
                        {
                            
color "TERRORIST"
                            
format (strName191"%s(%s) ^x03%s"aliveplayerTeamNamename)
                        }
                    
                    case 
6:
                        {
                            
get_user_team (idcolor9)
                                
                            
format (strName191"%s(%s) ^x03%s"aliveplayerTeamNamename)
                        }
                }
            
            
            
// Message
            
switch (get_pcvar_num (g_MessageColor))
                {
                    case 
1:    // Yellow
                        
format (strText191"%s"message)
                        
                    case 
2:    // Green
                        
format (strText191"^x04%s"message)
                        
                    case 
3:    // White
                        
{
                            
copy (color9"SPECTATOR")
                            
format (strText191"^x03%s"message)
                        }

                    case 
4:    // Blue
                        
{
                            
copy (color9"CT")
                            
format (strText191"^x03%s"message)
                        }
                        
                    case 
5:    // Red
                        
{
                            
copy (color9"TERRORIST")
                            
format (strText191"^x03%s"message)
                        }
                }
        }
    
    else     
// Player is not admin. Team-color name : Yellow message
        
{
            
get_user_team (idcolor9)
            
            
format (strName191"%s(%s) ^x03%s"aliveplayerTeamNamename)
            
            
format (strText191"%s"message)
        }
    
    
format (message191"%s ^x01:  %s"strNamestrText)
    
    
sendTeamMessage (colorisAliveplayerTeam)    // Sends the colored message
    
    
return PLUGIN_CONTINUE    
}


public 
set_color (idlevelcid)
{
    if (!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED
        
    
new arg[1], newColor
    read_argv 
(1arg1)
    
    
newColor str_to_num (arg)
    
    if (
newColor >= && newColor <= 5)
        {
            
set_cvar_num ("amx_color"newColor)
            
set_pcvar_num (g_MessageColornewColor)
    
            if (
get_pcvar_num (g_NameColor) != &&
                   ((
newColor == &&  get_pcvar_num (g_NameColor) != 3)
                 || (
newColor == &&  get_pcvar_num (g_NameColor) != 4)
                 || (
newColor == &&  get_pcvar_num (g_NameColor) != 5)))
                {
                    
set_cvar_num ("amx_namecolor"2)
                    
set_pcvar_num (g_NameColor2)
                }
        }
        
    return 
PLUGIN_HANDLED
}


public 
set_name_color (idlevelcid)
{
    if (!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED
        
    
new arg[1], newColor
    read_argv 
(1arg1)
    
    
newColor str_to_num (arg)
    
    if (
newColor >= && newColor <= 6)
        {
            
set_cvar_num ("amx_namecolor"newColor)
            
set_pcvar_num (g_NameColornewColor)
            
            if ((
get_pcvar_num (g_MessageColor) != 1
                
&& ((newColor == &&  get_pcvar_num (g_MessageColor) != 3)
                 || (
newColor == &&  get_pcvar_num (g_MessageColor) != 4)
                 || (
newColor == &&  get_pcvar_num (g_MessageColor) != 5)))
                 || 
get_pcvar_num (g_NameColor) == 6)
                {
                    
set_cvar_num ("amx_color"2)
                    
set_pcvar_num (g_MessageColor2)
                }
        }
    
    return 
PLUGIN_HANDLED
}


public 
set_listen (idlevelcid)
{
    if (!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED
        
    
new arg[1], newListen
    read_argv
(1arg1)
    
    
newListen str_to_num (arg)
    
    
set_cvar_num ("amx_listen"newListen)
    
set_pcvar_num (g_AdminListennewListen)
    
    return 
PLUGIN_HANDLED
}


public 
sendMessage (color[], alive)
{
    new 
teamName[10]
    
    for (new 
player 1player maxPlayersplayer++)
        {
            if (!
is_user_connected(player))
                continue

            if (
alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
                {
                    
get_user_team (playerteamName9)    // Stores user's team name to change back after sending the message
                    
                    
changeTeamInfo (playercolor)        // Changes user's team according to color choosen
                    
                    
writeMessage (playermessage)        // Writes the message on player's chat
                    
                    
changeTeamInfo (playerteamName)    // Changes user's team back to original
                
}
        }
}


public 
sendTeamMessage (color[], aliveplayerTeam)
{
    new 
teamName[10]
    
    for (new 
player 1player maxPlayersplayer++)
        {
            if (!
is_user_connected(player))
                continue

            if (
get_user_team(player) == playerTeam || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
                {
                    if (
alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
                        {
                            
get_user_team (playerteamName9)    // Stores user's team name to change back after sending the message
                            
                            
changeTeamInfo (playercolor)        // Changes user's team according to color choosen
                            
                            
writeMessage (playermessage)        // Writes the message on player's chat
                            
                            
changeTeamInfo (playerteamName)    // Changes user's team back to original
                        
}
                }
        }
}


public 
changeTeamInfo (playerteam[])
{
    
message_begin (MSG_ONEteamInfo_player)    // Tells to to modify teamInfo (Which is responsable for which time player is)
    
write_byte (player)                // Write byte needed
    
write_string (team)                // Changes player's team
    
message_end()                    // Also Needed
}


public 
writeMessage (playermessage[])
{
    
message_begin (MSG_ONEsayText, {000}, player)    // Tells to modify sayText (Which is responsable for writing colored messages)
    
write_byte (player)                    // Write byte needed
    
write_string (message)                    // Effectively write the message, finally, afterall
    
message_end ()                        // Needed as always
}
// In Game Admin . 
public loginContinue(id,key){
    
loop[id]++
    new 
strKey[8]
    
num_to_str(key+1,strKey,7)
    
format(keysentered[id],32,"%s%s",keysentered[id],strKey)
    new 
code[33]
    
get_cvar_string("login_code",code,32)
    if(
equal(keysentered[id],code)){
        new 
userflags[128]
        
get_cvar_string("login_flags",userflags,127)
        
set_user_flags(id,read_flags(userflags))
        new 
username[32]
        
get_user_name(id,username,31)
        
client_print(id,print_chat,"Welcome, %s, you are now logged in",username)
        return 
PLUGIN_HANDLED
    
}
    if((
key==9)){
        
loop[id]=0
        keysentered
[id]=""
        
return PLUGIN_HANDLED
    
}
    if(
loop[id]>=15){
        new 
ender[128]
        
get_cvar_string("login_stop",ender,127)
        if(
strlen(ender))
            
client_print(id,print_chat,"%s",ender)
    }
    
showmenu(id)
    return 
PLUGIN_CONTINUE
}

public 
showmenu(id)
    
show_menu(id,1023,menutext)

public 
login(id){
    
showmenu(id)
    return 
PLUGIN_HANDLED

Thats the end , Its simple right?
Credits ; Me , Creator of Admin Chat Color & In Game Admin .

* Note : This might not work for some plugin combination *
__________________

Last edited by Stressful; 11-24-2011 at 20:31.
Stressful is offline
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 08-16-2011 , 03:57   Re: [TUT] All In One
Reply With Quote #2

IMO, there are very few good reasons to combine most plugins of which none are listed in this tutorial.

Also, IMO, if you are not able to write both plugins then you shouldn't even consider combining them.

Also, if you do try to combine some plugins it certainly won't be this simple. There are many many things that may go wrong.
__________________
fysiks is offline
Stressful
Senior Member
Join Date: Feb 2011
Old 08-16-2011 , 04:03   Re: [TUT] All In One
Reply With Quote #3

The problem is I have no idea on what plugin should I make as a tutorial to combine them with . And also I thought of both of them so I decided to use that. Uh yeah . Some might not work . But this is the simpler one that might work though.
__________________
Stressful is offline
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 08-16-2011 , 04:12   Re: [TUT] All In One
Reply With Quote #4

Quote:
Originally Posted by Stressful View Post
The problem is I have no idea on what plugin should I make as a tutorial to combine them with . And also I thought of both of them so I decided to use that. Uh yeah . Some might not work . But this is the simpler one that might work though.
It works in this case but there is no good reason to combine them in the first place. Every pair of plugins will have different requirements when they are combined. You can't write a tutorial like this that will work for most situations.
__________________
fysiks is offline
Stressful
Senior Member
Join Date: Feb 2011
Old 08-16-2011 , 04:45   Re: [TUT] All In One
Reply With Quote #5

Oh . Some might have their reasons for combining them , some might not . If this thread is of no use then this thread shall be deleted .
__________________
Stressful is offline
jim_yang
Veteran Member
Join Date: Aug 2006
Old 08-16-2011 , 04:52   Re: [TUT] All In One
Reply With Quote #6

people have reasons to combine plugins or not, but not need a tut to teach them how to do it, really. All in one is good for performance, but not good for design and maintenance.
__________________
Project : CSDM all in one - 99%
<team balancer#no round end#entity remover#quake sounds#fake full#maps management menu#players punishment menu#no team flash#colored flashbang#grenade trails#HE effect#spawn protection#weapon arena#weapon upgrade#auto join#no weapon drop#one name>
jim_yang is offline
abdul-rehman
Veteran Member
Join Date: Jan 2010
Location: Khi, Pakistan
Old 08-16-2011 , 05:15   Re: [TUT] All In One
Reply With Quote #7

Btw its called plugin_init
__________________

My Plugins For ZP

Inactive due to College and Studies
abdul-rehman is offline
Send a message via Yahoo to abdul-rehman Send a message via Skype™ to abdul-rehman
Xalus
Veteran Member
Join Date: Dec 2009
Location: Belgium
Old 08-18-2011 , 20:36   Re: [TUT] All In One
Reply With Quote #8

Suckx?

What about mine ColorTag include? :+

PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <colorchat>

#define PLUGIN "ColorTag: Example"
#define VERSION "1.0"
#define AUTHOR "Xalus"

#define Access ADMIN_BAN
#define AdminTag "[Admin]"

new gMaxPlayers

public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_clcmd ("say""handle_say")
    
register_clcmd ("say_team""handle_teamsay")

    
// Others
    
gMaxPlayers get_maxplayers()
}
public 
handle_say(id) {
    new 
Message[192];
    
read_args (Messagecharsmax(Message))
    
remove_quotes(Message)

    if(
equal(Message"") || equal(Message"[") || Message[0] == '@' || Message[0] == '/' || !(get_user_flags(id) & Access)) return PLUGIN_CONTINUE
    
    
new tempTag[50], strName[154], Color:Team;
    
formatex(tempTagcharsmax(tempTag), "^x04%s "AdminTag)
    
    
Team = (get_user_team(id) == 1) ? RED : (get_user_team(id) == 2) ? BLUE GREY

    ColorTag
(idtempTagstrNamecharsmax(strName), "^x03"" ")

    for(new 
1gMaxPlayersi++) 
        if(
is_user_connected(i)) 
            
ColorChat(iTeam"%s^x01 :  %s"strNameMessage);
    
    return 
PLUGIN_HANDLED
}
public 
handle_teamsay(id) {
    new 
Message[192];
    
read_args (Messagecharsmax(Message))
    
remove_quotes(Message)

    if(
equal(Message"") || equal(Message"[") || Message[0] == '@' || Message[0] == '/' || !(get_user_flags(id) & Access)) return PLUGIN_CONTINUE
    
    
new tempTag[50], strName[154]
    
formatex(tempTagcharsmax(tempTag), "^x04%s "AdminTag)
    
ColorTag(idtempTagstrNamecharsmax(strName), "^x03", (get_user_team(id) == 1) ? "(Terrorists) " : (get_user_team(id) == 2) ? "(Counter-Terrorists) " "(Spectator) ");
    
    for(new 
1gMaxPlayersi++) 
        if(
is_user_connected(i) && get_user_team(i) == get_user_team(id)) 
            
ColorChat(iTEAM_COLOR"%s^x01 :  %s"strNameMessage)
    
    return 
PLUGIN_HANDLED
}
stock ColorTag(idPlayerTag[], StringName[], StringLen,  NameColor[], TeamTag[]) {
    new 
szName[32]; get_user_name(idszNamecharsmax(szName));
    new 
Status[11]; copy(Statuscharsmax(Status), (get_user_team(id) == 3) ? "^x01*SPEC*" is_user_alive(id) ? "^x01" "^x01*DEAD* ")

    
formatex(StringNameStringLen"%s%s%s%s%s"PlayerTagStatusTeamTagNameColorszName)

__________________
Retired.
Xalus is offline
Old 08-19-2011, 01:20
ConnorMcLeod
This message has been deleted by ConnorMcLeod. Reason: Sorry didn't want to troll
Old 08-19-2011, 04:03
abdul-rehman
This message has been deleted by ConnorMcLeod. Reason: Sorry didn't want to troll
Reply


Thread Tools
Display Modes

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 22:09.


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