Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

admin chat color + tags


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
10 odpowiedzi w tym temacie

#1 .:cs.stambeto:.

    Nowy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:9
  • Lokalizacja:Bulgaria
Offline

Napisano 21.10.2011 16:57

Can I do the following this plugin will do me the ordinary players by showing them what city are from the front and the staff to show their admin prefix.
Dołączona grafika

Załączone pliki


  • +
  • -
  • 0

#2 Szyfrant

    Godlike

  • Przyjaciel

Reputacja: 1 374
Godlike

  • Postów:3 072
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Sztokholm
Offline

Napisano 22.10.2011 09:24

http://amxx.pl/topic/56124-admin-tag/


File AdminTag.sma >> cstrike/addons/amxmodx/scripting
File AdminTag.amxx >> cstrike/addons/amxmodx/plugins
File admin_tag.ini >> cstrike/addons/amxmodx/configs

& when you're plugin were installed, then you should edit :

admin_tag.ini

WARNING! The flags you need to type the alphabet. (a,b,c ... NOT c,g,a)

// GOOD
"HeadAdmin" "a"
"Admin" "b"
"Premium" "t"


Prefix file is based on the flags so don't use "plain" flags for users :)
  • +
  • -
  • 0

#3 .:cs.stambeto:.

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:9
  • Lokalizacja:Bulgaria
Offline

Napisano 22.10.2011 14:55

But this plugin is not looking like this where I wrote it ranks in the admin nick white green and white message. And I want ordinary players by showing them in what city are they in front of the receiver.
  • +
  • -
  • 0

#4 Szyfrant

    Godlike

  • Przyjaciel

Reputacja: 1 374
Godlike

  • Postów:3 072
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Sztokholm
Offline

Napisano 23.10.2011 13:10

what city are they - No way man ;)
  • +
  • -
  • 0

#5 Hiroshima

    Godlike

  • Przyjaciel

Reputacja: 1 327
Godlike

  • Postów:4 984
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Málaga
Offline

Napisano 23.10.2011 13:15

this is possible through sockets. Maybe DarkGL or R3X will help you if they have enough time for this.
Szyfrant (23.10.2011 13:23):
for me is without sense :)

  • +
  • -
  • 0

#6 Misiaczek ;c

    /dev/null

  • Moderator

Reputacja: 1 678
Godlike

  • Postów:2 496
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Halemba
Offline

Napisano 23.10.2011 13:27

Check It:
#include <amxmodx>
#include <amxmisc>
#include <ColorChat>

new Tagi[8][32], Flagi[8][32]
new gPlayerCountry[33][46];
new FlagaGracza[33] = 0
new TagCount = 0

public plugin_init() {
register_plugin("AdminTag", "1.0", "MarWit")
register_clcmd("say", "Say_Handle")
register_clcmd("say_team", "SayTeam_Handle")

new config_file[64]
get_configsdir(config_file, 63)
format(config_file, 63, "%s/admin_tag.ini", config_file)
WczytajTagi(config_file)
}

public client_putinserver( id )
{
static szIP[32];
get_user_ip( id, szIP, 31 );
geoip_country( szIP, gPlayerCountry[id] );

if( equal(gPlayerCountry[id], "error") )
{
if( !contain(szIP, "192.168.") || !contain(szIP, "10. ") || !contain(szIP, "172.") || equal(szIP, "127.0.0.1") )
gPlayerCountry[id] = "LAN";

else if( equal(szIP, "loopback") )
gPlayerCountry[id] = "LAN Owner";

else
gPlayerCountry[id] = "Unknown Country";
}
}

public client_connect(id)
{
set_task(1.0, "SprawdzFlagi", id)
return PLUGIN_CONTINUE
}

public client_infochanged(id)
{
new newname[32], oldname[32]
get_user_info(id, "name", newname, 31)
get_user_name(id, oldname, 31)
if(!equal(newname, oldname)){
set_task(0.1, "SprawdzFlagi", id)
}
}

public WczytajTagi(config_file[64])
{
new Plik = fopen(config_file, "r");

if(Plik)
{
new Text[64]
new Tags[32]
new Flags[32]

while(!feof(Plik))
{
fgets(Plik, Text, sizeof(Text)-1)
trim(Text)
parse(Text, Tags, 31, Flags, 31)
if(equali(Text, "")) { break; TagCount--; }
copy(Tagi[TagCount], 31, Tags)
copy(Flagi[TagCount], 31, Flags)
TagCount++
}
fclose(Plik)
}

if(TagCount > 0){
for(new i=0; i<TagCount; i++){
log_amx("[AdminTag] LOADED: Tag: %s | Flagi: %s |", Tagi[i], Flagi[i])
}
} else {
log_amx("[AdminTag] Nie znaleziono zadnych tagow!")
}
}

public Say_Handle(id)
{
if(FlagaGracza[id] == 0)
return PLUGIN_CONTINUE

new message[192]
read_args(message, 191)
remove_quotes(message)

if(message[0] == '/' || message[0] == '@' || message[0] == '!' || equal(message, ""))
return PLUGIN_CONTINUE

Wyslij_Wiadomosc(id, message, 1)
return PLUGIN_HANDLED
}

public SayTeam_Handle(id)
{
SprawdzFlagi(id)
if(FlagaGracza[id] == 0)
return PLUGIN_CONTINUE

new message[192]
read_args(message, 191)
remove_quotes(message)

if(message[0] == '/' || message[0] == '@' || message[0] == '!' || equal(message, ""))
return PLUGIN_CONTINUE

Wyslij_Wiadomosc(id, message, 2)
return PLUGIN_HANDLED
}

public Wyslij_Wiadomosc(id, message[192], mode)
{
new nick[32], info[3][64]
get_user_name(id, nick, 31)

new kolor = 0

switch(get_user_team(id)){
case 1: { kolor = 5; formatex(info[0], 63, "(Terrorysci) "); formatex(info[1], 63, "* #Cstrike_TitlesTXT_DEAD * "); formatex(info[2], 63, "%s (Terrorysci) ", "* #Cstrike_TitlesTXT_DEAD *");}
case 2: { kolor = 6; formatex(info[0], 63, "(Anty-Terrorysci) "); formatex(info[1], 63, "* #Cstrike_TitlesTXT_DEAD * "); formatex(info[2], 63, "%s (Anty-Terrorysci) ", "* #Cstrike_TitlesTXT_DEAD *");}
case 3: { kolor = 4; formatex(info[0], 63, "(Obserwatorzy) "); formatex(info[1], 63, "* SPEC * "); formatex(info[2], 63, "(Obserwatorzy) "); }
}

switch(mode)
{
case 1:{
ColorChat(0, kolor, "%s[%s] (%s) ^x04%s : ^x01%s", is_user_alive(id) ? "" : info[1], Tagi[FlagaGracza[id] - 1], gPlayerCountry[id], nick, message)
}
case 2: {
ColorChat(0, kolor, "%s[%s] (%s) ^x04%s : ^x01%s", is_user_alive(id) ? info[0] : info[2], Tagi[FlagaGracza[id] - 1], gPlayerCountry[id], nick, message)
}
}
}

public SprawdzFlagi(id)
{
for(new i=TagCount; i>0; i--)
{
if(get_user_flags(id) && read_flags(Flagi[i])){
FlagaGracza[id]=i
}
}
}

  • +
  • -
  • 0

#7 .:cs.stambeto:.

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:9
  • Lokalizacja:Bulgaria
Offline

Napisano 23.10.2011 23:13

AdminTag.sma(25) : error 017: undefined symbol "geoip_country"
AdminTag.sma(71) : warning 225: unreachable code
  • +
  • -
  • 0

#8 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 24.10.2011 14:18

Include to this plugin
#include <geoip>

  • +
  • -
  • 0

If you can dream it, you can do it.


#9 .:cs.stambeto:.

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:9
  • Lokalizacja:Bulgaria
Offline

Napisano 24.10.2011 15:06

AdminTag.sma(26) : error 088: number of arguments does not match definition
AdminTag.sma(72) : warning 225: unreachable code
  • +
  • -
  • 0

#10 Hiroshima

    Godlike

  • Przyjaciel

Reputacja: 1 327
Godlike

  • Postów:4 984
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Málaga
Offline

Napisano 24.10.2011 16:33

try this:
.sma - http://amxx.pl/kompi...88&fname=aa.sma
.amxx - http://amxx.pl/kompi...88&fname=aa.sma
  • +
  • -
  • 0

#11 .:cs.stambeto:.

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:9
  • Lokalizacja:Bulgaria
Offline

Napisano 24.10.2011 17:27

So now the staff is in your plugin shows them front prefix. Iskam those players who are not administrative by showing them ahead of what city are.

Here are the pictures:
This is now the staff to do their shows.
Dołączona grafika

Want of ordinary players who are not admin to write their front city
example:
Dołączona grafika

#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Admin Chat Colors"
#define VERSION "2.2a"
#define AUTHOR "Arion/juan"
#define ACCESS_LEVEL ADMIN_IMMUNITY
#define ADMIN_LISTEN ADMIN_CHAT
#define HEADADMIN_CHAT_FLAG ADMIN_LEVEL_B
#define ADMIN_CHAT_FLAG ADMIN_LEVEL_C
#define VIP_CHAT_FLAG ADMIN_LEVEL_H
#define SMS_CHAT_FLAG ADMIN_LEVEL_D
#define HELP_CHAT_FLAG ADMIN_LEVEL_A
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]
new const g_szTag[][] = {
"",
"[Head Admin]",
"[Admin]",
"[VIP]",
"[SMS Admin]",
"[Help Admin]"
}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
g_MessageColor = register_cvar("amx_color", "3") // Message colors: [1] Default Yellow, [2] Green, [3] White, [4] Blue, [5] Red
g_NameColor = register_cvar("amx_namecolor", "2") // Name colors: [1] Default Yellow, [2] Green, [3] White, [4] Blue, [5] Red, [6] Team-color
g_AdminListen = register_cvar("amx_listen", "0") // 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_concmd("amx_color", "set_color", ACCESS_LEVEL, "<color>")
register_concmd("amx_namecolor", "set_name_color", ACCESS_LEVEL, "<color>")
register_concmd("amx_listen", "set_listen", ACCESS_LEVEL, "<1 | 0>")
register_clcmd("say", "hook_say")
register_clcmd("say_team", "hook_teamsay")
}

public avoid_duplicated(msgId, msgDest, receiver)
{
return PLUGIN_HANDLED
}

public hook_say(id)
{
read_args(message, 191)
remove_quotes(message)
// Gungame commands and empty messages
if(message[0] == '@' || message[0] == '/' || message[0] == '!' || message[0] == '#' || message[0] == '$' || equal(message, "")) // Ignores Admin Hud Messages, Admin Slash commands
return PLUGIN_CONTINUE
new name[32]
get_user_name(id, name, 31)
new admin = 0, iFlags = get_user_flags(id)
if(iFlags & HEADADMIN_CHAT_FLAG)
admin = 1
else if(iFlags & ADMIN_CHAT_FLAG)
admin = 2
else if(iFlags & VIP_CHAT_FLAG)
admin = 3
else if(iFlags & SMS_CHAT_FLAG)
admin = 4
else if(iFlags & HELP_CHAT_FLAG)
admin = 5
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(strName, 191, "^x03%s %s%s", g_szTag[admin], alive, name)
case 2:
format(strName, 191, "^x03%s %s^x04%s ", g_szTag[admin], alive, name)
case 3:
{
color = "SPECTATOR"
format(strName, 191, "^x03%s %s^x03%s ", g_szTag[admin], alive, name)
}
case 4:
{
color = "CT"
format(strName, 191, "^x03%s %s^x03%s", g_szTag[admin], alive, name)
}
case 5:
{
color = "TERRORIST"
format(strName, 191, "^x03%s %s^x03%s", g_szTag[admin], alive, name)
}
case 6:
{
get_user_team(id, color, 9)
format(strName, 191, "^x03%s %s^x03%s", g_szTag[admin], alive, name)
}
}
// Message
switch(get_pcvar_num(g_MessageColor))
{
case 1: // Yellow
format(strText, 191, "^x03%s", message)
case 2: // Green
format(strText, 191, "^x03%s", message)
case 3: // White
{
copy(color, 9, "SPECTATOR")
format(strText, 191, "^x03%s", message)
}
case 4: // Blue
{
copy(color, 9, "CT")
format(strText, 191, "^x03%s", message)
}
case 5: // Red
{
copy(color, 9, "TERRORIST")
format(strText, 191, "^x03%s", message)
}
}
}
else // Player is not admin. Team-color name : Yellow message
{
get_user_team(id, color, 9)
format(strName, 191, "%s^x03%s", alive, name)
format(strText, 191, "%s", message)
}
format(message, 191, "%s^x01 : %s", strName, strText)
sendMessage(color, isAlive) // 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(playerTeamName, 11, "Terrorists")
case 2:
copy(playerTeamName, 18, "Counter-Terrorists")
default:
copy(playerTeamName, 9, "Spectator")
}
read_args(message, 191)
remove_quotes(message)
// Gungame commands and empty messages
if(message[0] == '@' || message[0] == '/' || message[0] == '!' || message[0] == '#' || message[0] == '$' || equal(message, "")) // Ignores Admin Hud Messages, Admin Slash commands
return PLUGIN_CONTINUE
new name[32]
get_user_name(id, name, 31)
new admin = 0, iFlags = get_user_flags(id)
if(iFlags & HEADADMIN_CHAT_FLAG)
admin = 1
else if(iFlags & ADMIN_CHAT_FLAG)
admin = 2
else if(iFlags & VIP_CHAT_FLAG)
admin = 3
else if(iFlags & SMS_CHAT_FLAG)
admin = 4
else if(iFlags & HELP_CHAT_FLAG)
admin = 5
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(strName, 191, "%s(%s) ^x03%s %s", alive, playerTeamName, g_szTag[admin], name)
case 2:
format(strName, 191, "%s(%s) ^x03%s ^x04%s", alive, playerTeamName, g_szTag[admin], name)
case 3:
{
color = "SPECTATOR"
format(strName, 191, "%s(%s) ^x03%s ^x03%s", alive, playerTeamName, g_szTag[admin], name)
}
case 4:
{
color = "CT"
format(strName, 191, "%s(%s) ^x03%s ^x03%s", alive, playerTeamName, g_szTag[admin], name)
}
case 5:
{
color = "TERRORIST"
format(strName, 191, "%s(%s) ^x03%s ^x03%s", alive, playerTeamName, g_szTag[admin], name)
}
case 6:
{
get_user_team(id, color, 9)
format(strName, 191, "%s(%s) ^x03%s ^x03%s", alive, playerTeamName, g_szTag[admin], name)
}
}
// Message
switch(get_pcvar_num(g_MessageColor))
{
case 1: // Yellow
format(strText, 191, "^x03%s", message)
case 2: // Green
format(strText, 191, "^x03%s", message)
case 3: // White
{
copy(color, 9, "SPECTATOR")
format(strText, 191, "^x03%s", message)
}
case 4: // Blue
{
copy(color, 9, "CT")
format(strText, 191, "^x03%s", message)
}
case 5: // Red
{
copy(color, 9, "TERRORIST")
format(strText, 191, "^x03%s", message)
}
}
}
else // Player is not admin. Team-color name : Yellow message
{
get_user_team(id, color, 9)
format(strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
format(strText, 191, "%s", message)
}
format(message, 191, "%s ^x01: %s", strName, strText)
sendTeamMessage(color, isAlive, playerTeam) // Sends the colored message
return PLUGIN_CONTINUE
}

public set_color(id, level, cid)
{
if(!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED
new arg[1], newColor
read_argv(1, arg, 1)
newColor = str_to_num(arg)
if(newColor >= 1 && newColor <= 5)
{
set_pcvar_num(g_MessageColor, newColor)
if(get_pcvar_num(g_NameColor) != 1 &&
((newColor == 3 && get_pcvar_num(g_NameColor) != 3)
||(newColor == 4 && get_pcvar_num(g_NameColor) != 4)
||(newColor == 5 && get_pcvar_num(g_NameColor) != 5)))
{
set_pcvar_num(g_NameColor, 2)
}
}
return PLUGIN_HANDLED
}

public set_name_color(id, level, cid)
{
if(!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED
new arg[1], newColor
read_argv(1, arg, 1)
newColor = str_to_num(arg)
if(newColor >= 1 && newColor <= 6)
{
set_pcvar_num(g_NameColor, newColor)
if((get_pcvar_num(g_MessageColor) != 1
&&((newColor == 3 && get_pcvar_num(g_MessageColor) != 3)
||(newColor == 4 && get_pcvar_num(g_MessageColor) != 4)
||(newColor == 5 && get_pcvar_num(g_MessageColor) != 5)))
|| get_pcvar_num(g_NameColor) == 6)
{
set_pcvar_num(g_MessageColor, 2)
}
}
return PLUGIN_HANDLED
}

public set_listen(id, level, cid)
{
if(!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED
new arg[1], newListen
read_argv(1, arg, 1)
newListen = str_to_num(arg)
set_pcvar_num(g_AdminListen, newListen)
return PLUGIN_HANDLED
}

public sendMessage(color[], alive)
{
new teamName[10]
for(new player = 1; player < maxPlayers; player++)
{
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(player, teamName, 9) // Stores user's team name to change back after sending the message
changeTeamInfo(player, color) // Changes user's team according to color choosen
writeMessage(player, message) // Writes the message on player's chat
changeTeamInfo(player, teamName) // Changes user's team back to original
}
}
}

public sendTeamMessage(color[], alive, playerTeam)
{
new teamName[10]
for(new player = 1; player < maxPlayers; player++)
{
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(player, teamName, 9) // Stores user's team name to change back after sending the message
changeTeamInfo(player, color) // Changes user's team according to color choosen
writeMessage(player, message) // Writes the message on player's chat
changeTeamInfo(player, teamName) // Changes user's team back to original
}
}
}
}

public changeTeamInfo(player, team[])
{
message_begin(MSG_ONE, teamInfo, _, 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(player, message[])
{
message_begin(MSG_ONE, sayText, {0, 0, 0}, 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
}

  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych