Pagina de start a forumului Cs--Pantelimon
Inregistrare • Cautare • FAQ • Membri • Grupuri • Autentificare
Amx_who

 
Raspunde la subiect    Pagina de start a forumului Cs--Pantelimon » Pluginuri AmxmodX! Subiectul anterior
Subiectul urmator
Amx_who
Autor Mesaj
andrei
-=Owner=-
-=Owner=-


Data inscrierii: 07/Noi/2007
Mesaje: 27
Localitate: Iad

Mesaj Amx_who 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 moment (si ii arata dupa functia lor; ex: God; Moderator; Administrator; Slot; etc.)

Partea I (crearea, modificarea si îndeplinirea 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][] = {
" Owner",
" God'z",
" Moderatori",
" Administratori",
" Slot"
}

Bun, in locul numelor Owner god'z moderatori administratori 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:
new g_groupFlagsValue[MAX_GROUPS]

public plugin_init() {
  register_plugin("amx_who Like AdminMod", "1.2", "ScaRba")
  register_concmd("amx_who", "cmdWho", 0)=>aici puteti modifica cu admin_who!
  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 exact asa:
Cod:
#include <amxmodx>
#include <amxmisc>

#define MAX_GROUPS 5

new g_groupNames[MAX_GROUPS][] = {
" Owner",
" God'z",
" Moderatori",
" Administratori",
" 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


}


_________________
Daca aveti nevoie de mine ma gasiti [url=http://www.cs--pantelimon.myforum.ro]aici![/url]

Ultima modificare efectuata de catre andrei la 15/11/2007 10:08, modificat de 1 data in total
15/11/2007 09:58 Vezi profilul utilizatorului Trimite mesaj privat Trimite un mesaj
andrei
-=Owner=-
-=Owner=-


Data inscrierii: 07/Noi/2007
Mesaje: 27
Localitate: Iad

Mesaj Continuare amx_who Raspunde cu citat (quote)
Acum dati din meniul File > Save as... si tastati: amx_who.sma (trebuie sa fie salvat cu extensia .sma)
Acum puneti fisierul amx_who.sma in addons/amxmodx/scripting
Luati cu mausul amx_who.sma si puneti-l peste executabilul compile.exe!
Ar necesită sa dea un mesaj ca cel din poza de mai jos:

[url=http://img230.imageshack.us/my.php?image=dsfgdfsgdfhbdfhynfbgnj8.png]Amx_who Amx_who[/url]

Daca nu v-a returnat mesajul ca in poza si v-a dat vreo eroare inseamna ca ati gresit ceva!
Daca a returnat un mesaj ca cel din poza va duceti in addons/amxmodx/scripting/compiled si luati amx_who.amxx de acolo si il puneti in addons/amxmodx/plugins

Apoi va duceti in addons/amxmodx/configs/plugins.ini si adugati linia amx_who.amxx

Partea II (modificarea admincmd pentru a fi functional pluginul)

Intrati in addons/amxmodx/scripting si deschideti admincmd.sma cu Wordpad.
Cautati linia
Cod:
register_concmd("amx_who", "cmdWho", ADMIN_ADMIN, "- displays who is on server")

si adaugati in fata ei //
Astfel incat sa arate asa!
Cod:
//register_concmd("amx_who", "cmdWho", ADMIN_ADMIN, "- displays who is on server")

Salvati dupa care luati cu mausul admincmd.sma si il puneti peste executabilul compile.exe (din acelasi folder)
Va duceti in addons/amxmodx/scripting/compiled/ si luati admincmd.amxx pe care il puneti in addons/amxmodx/plugins/ si il inlocuiti cu cel existent!

Porniti serverul si gata! :D :D

* Inainte sa spuneti ca nu merge asigurati-va ca ati facut întocmai cum spune acolo!
* Daca intampinati complicații nu cereti sa vi se faca tot, postati problemele intalnite! >:D

_________________
Daca aveti nevoie de mine ma gasiti [url=http://www.cs--pantelimon.myforum.ro]aici![/url]
15/11/2007 10:02 Vezi profilul utilizatorului Trimite mesaj privat Trimite un mesaj
Afiseaza mesajele pentru a le previzualiza:    
Raspunde la subiect    Pagina de start a forumului Cs--Pantelimon » Pluginuri AmxmodX! Ora este GMT + 3 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


Powered by phpBB © 2001, 2005 phpBB Group
Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro