←  Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

Wiadomości tylko dla adminów

Zablokowany

  • +
  • -
WazzaP - zdjęcie WazzaP 28.08.2011

Siemka ;)
Ostatnio mam dużo rzeczy do przekazania adminom i wpadłem na taki pomysł, aby wyświetlało się w say adminom z flagą banowania jakieś info, które bym wpisywał w advertisements-admin.ini

Nie chciałbym kolejnego pluginu, tylko raczej wolałbym mieć wszystko w jednym ;)
Tak, więc podsumujmy: Chciałbym mieć wszystko to co ma plugin ad_manager tylko, że informację które wpiszę w advertisements-admin.ini, będą pokazywane co 360 sekund adminom z flagą banowania ;)


~Oczywiście dam plusika ^^

Załączone pliki

Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 28.08.2011

Można by dodać taką opcję do mojej wersji ad_managera, ale wtedy i tak reklamy/info dalej byłyby wczytywane z jednego pliku. Z dwóch też da radę, ale to chyba jednak lepiej już nowy plugin do tego zrobić ;]
Odpowiedz

  • +
  • -
WazzaP - zdjęcie WazzaP 31.08.2011

Mnie tylko zależy na tym, aby wiadomości podane prze zemnie docierały tylko do adminów. A nie chcę mieć setki pluginów :D

Odświeżam ;)

Odświeżam
Odpowiedz

  • +
  • -
byCZUS - zdjęcie byCZUS 31.08.2011

3maj, czas co ile ma wyświetlać zmieniasz w define ;)

Treść informacji zamieszczaj w configs/admini.ini

#include <amxmodx>

#define MAX_INFO 50
#define CZAS 30.0

new g_counts;
new g_reklamy[MAX_INFO][256];

public plugin_cfg() {
new plik[128];
get_localinfo("amxx_configsdir", plik, charsmax(plik));
format(plik, charsmax(plik), "%s/admini.ini", plik);

if(file_exists(plik)) {
new f = fopen(plik, "r");
new linia[256];

while(!feof(f) && g_counts < MAX_INFO) {
fgets(f, linia, charsmax(linia));

if(linia[0] == ';' || !linia[0] || linia[0] == ' ')
continue;

copy(g_reklamy[g_counts], 255, linia);

g_counts++;
}
fclose(f);

if(g_counts)
set_task(CZAS, "WyslijInfo", _, _, _, "b");
} else log_amx("Brakuje pliku, %s", plik);
}

public plugin_init()
register_plugin("Admin Info", "1.0", "byCZEK");

public WyslijInfo() {
new players[32], num, id;
get_players(players, num);

new los = random(g_counts);

for(new i = 0; i < num; i++) {
id = players[i];

if(get_user_flags(id) & ADMIN_BAN) {
new name[33]; get_user_name(id, name, 32);

replace_all(g_reklamy[los], 255, "[you]", name);
client_print(id, print_chat, "%s", g_reklamy[los]);
}
}
}

Użytkownik ;( ajć ! edytował ten post 31.08.2011 16:34
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 31.08.2011

Jak już to ostatnia funkcja powinna wyglądać tak
public WyslijInfo() {
new players[32], num, id;
get_players(players, num);

new los = random(g_counts);
new name[33], temp[192];

for(new i = 0; i < num; i++) {
id = players[i];

if(get_user_flags(id) & ADMIN_BAN) {
get_user_name(id, name, 32);

copy(temp, 191, g_reklamy[los]);
replace_all(temp, 191, "[you]", name);
client_print(id, print_chat, temp);
}
}
}
Odpowiedz

  • +
  • -
byCZUS - zdjęcie byCZUS 31.08.2011

Masz racje, plugin był testowany z jedną osobą więc nie pomyślałem nawet o tym + dla Ciebie.
Odpowiedz
Zablokowany