Code: Select all
amx_who
Partea I (crearea, modificarea si realizarea pluginului amx_who.amxx)
Vom incepe prin crearea pluginului. Creati un fisier text, pe care il deschideti si scrieti urmatorul cod:
Code: Select all
#include <amxmodx>
#include <amxmisc>
Code: Select all
#define MAX_GROUPS 5
Acum vom face descrierile fiecarui grup in parte. Adaugam in continuare in fisier:
Code: Select all
new g_groupNames[MAX_GROUPS][] = {
" Sefia",
" ViP",
" God",
" Mod",
" Slot"
}
* Daca doriti mai multe ranguri (grupe) adaugati inca o linie acolo la fel ca cele existente!
* La ultima linie sa nu fie pusa virgula pentru ca nu va merge!!
Acum sa definim accesul pentru fiecare grupa de admini in parte! Adaugam:
Code: Select all
new g_groupFlags[MAX_GROUPS][] = {
"abcdefghijklmnopqrstu",
"abcdefhijklmnopqrstu",
"abcdefijnop",
"abcdefijno",
"b"
}
abcdefhijklmnopqrstu - accesul pentru Vip
abcdefijnop - accesul pentru God si asa mai departe..
Dupa definirea ultimului acces sa nu puneti virgula!!! In rest la toate, da!
In cazul in care creati un nou nivel de admin va trebui sa adaugati o linie noua cu accesul acelui grup de admini. Trebui sa fie in neaparat in ordine!
Acele litere reprezinta acessul lor cel din users.ini care doriti sa il dati!
Acum ca sa terminam pluginul, adaugam la urma:
Code: Select all
new g_groupFlagsValue[MAX_GROUPS]
public plugin_init() {
register_plugin("amx_who Like AdminMod", "1.2", "ScaRba")
register_concmd("amx_who", "cmdWho", 0)
for(new i = 0; i < MAX_GROUPS; i++) {
g_groupFlagsValue[i] = read_flags(g_groupFlags[i])
}
}
public cmdWho(id) {
new players[32], inum, player, name[32], i, a
get_players(players, inum)
console_print(id, "==========")
for(i = 0; i < MAX_GROUPS; i++) {
console_print(id, "-----[%d]%s-----", i+1, g_groupNames[i])
for(a = 0; a < inum; ++a) {
player = players[a]
get_user_name(player, name, 31)
if(get_user_flags(player) == g_groupFlagsValue[i]) {
console_print(id, "%s", name)
}
}
}
console_print(id, "------")
return PLUGIN_HANDLED
}
Code: Select all
console_print(id, "==========")
La sfarsit cand am terminat, pluginul nostru va arata exact asa:
Code: Select all
#include <amxmodx>
#include <amxmisc>
#define MAX_GROUPS 5
new g_groupNames[MAX_GROUPS][] = {
" Sefia",
" ViP",
" God",
" Mod",
" Slot"
}
new g_groupFlags[MAX_GROUPS][] = {
"abcdefghijklmnopqrstu",
"abcdefhijklmnopqrstu",
"abcdefijnop",
"abcdefijno",
"b"
}
new g_groupFlagsValue[MAX_GROUPS]
public plugin_init() {
register_plugin("amx_who Like AdminMod", "1.2", "ScaRba")
register_concmd("amx_who", "cmdWho", 0)
for(new i = 0; i < MAX_GROUPS; i++) {
g_groupFlagsValue[i] = read_flags(g_groupFlags[i])
}
}
public cmdWho(id) {
new players[32], inum, player, name[32], i, a
get_players(players, inum)
console_print(id, "==========")
for(i = 0; i < MAX_GROUPS; i++) {
console_print(id, "-----[%d]%s-----", i+1, g_groupNames[i])
for(a = 0; a < inum; ++a) {
player = players[a]
get_user_name(player, name, 31)
if(get_user_flags(player) == g_groupFlagsValue[i]) {
console_print(id, "%s", name)
}
}
}
console_print(id, "------")
return PLUGIN_HANDLED
}