top

[Plugin]AmxWho

 
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului Echipa CsTutoriale CsTutorial Tutoriale Counter strike Photoshop -> Pluginuri AmxModx
Autor Mesaj
Tarantula
Founder
Founder
Tarantula

Data inscrierii: 03/Aug/2007
Mesaje: 437

MesajTrimis: 18/09/2007 14:02    Titlul subiectului: [Plugin]AmxWho Raspunde cu citat (quote)

Descriere: Atunci cand cineva de pe server (jucator/admin, oricine) tasteaza in consola:

Cod:
amx_who


..va afiseaza toti administratorii ONLINE in acel clipă (si ii arata dupa functia lor; ex: God; Moderator; Administrator; Slot; etc.)

Partea I (crearea, modificarea si înfăptuirea pluginului amx_who.amxx)

Vom incepe prin crearea pluginului. Creati un fisier text, pe care il deschideti si scrieti urmatorul cod:

Cod:
   #include <amxmodx>
#include <amxmisc>



Acum definim cate grupe vrem sa apara cand se tasteaza in consola amx_who:

Cod:
#define MAX_GROUPS 5


(5 reprezinta numarul grupelor)

Acum vom face descrierile fiecarui grup in parte. Adaugam in continuare in fisier:

Cod:
   new g_groupNames[MAX_GROUPS][] = {
" Sefia",
" ViP",
" God",
" Mod",
" Slot"
}


Bun, in locul numelor sefia vip god mod slot puneti ce nume doriti sa apara cand cineva tasteaza in consola amx_who !
* Daca doriti mai numeroase 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:

Cod:
   new g_groupFlags[MAX_GROUPS][] = {
"abcdefghijklmnopqrstu",
"abcdefhijklmnopqrstu",
"abcdefijnop",
"abcdefijno",
"b"
}


abcdefghijklmnopqrstu - accesul pentru Sefia
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. Necesită 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:

Cod:
   [code]new g_groupFlagsValue[MAX_GROUPS][/code]

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
}


* Puteti edita si ce sa apara inainte de grupurile de admini !!! In codul de mai sus cautati linia aceasta:
Cod:
console_print(id, "==========")

In loc de ======== puneti ce doriti sa apara!

La sfarsit cand am terminat, pluginul nostru va arata precis asa:
Cod:
   
   #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


}



_________________
Sus
Vezi profilul utilizatorului Trimite mesaj privat Trimite un mesaj
Uchiha
Moderator
Moderator
Uchiha

Data inscrierii: 11/Aug/2007
Mesaje: 52

MesajTrimis: 19/02/2008 13:49    Titlul subiectului: Raspunde cu citat (quote)

Este destul de dificil daca nu te pricepi prea bine ar necesită sal fi facut in loc sa pui tutorial :-P
Sus
Vezi profilul utilizatorului Trimite mesaj privat
Afiseaza mesajele pentru a le previzualiza:    Subiectul anterior : Subiectul urmator  
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului Echipa CsTutoriale CsTutorial Tutoriale Counter strike Photoshop -> Pluginuri AmxModx Ora este GMT + 2 ore
Pagina 1 din 1

 
Mergi direct la:  
Nu puteti crea un subiect nou in acest forum
Nu puteti raspunde in subiectele acestui forum
Nu puteti modifica mesajele proprii din acest forum
Nu puteti sterge mesajele proprii din acest forum
Nu puteti vota in chestionarele din acest forum

Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro