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

Pokazac Vipy Online


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

#1 Raaf

    Nowy

  • Nowy

Reputacja: 0
Nowy

  • Postów:2
  • Imię:Rafał
  • Lokalizacja:rafal
Offline

Napisano 19.03.2012 22:12

Witam, szukam pluginu który pokażuje jakie Vipy są online, bo jak są vipy na moim serwerze to wpisuje /vips to ich nie pokazuje a maja vipa.
Nie wiem czy to ten dział daje + Za odpowiedz jak zrobić.
  • +
  • -
  • 0

#2 TheRock

    Wszechobecny

  • Użytkownik

Reputacja: 233
Wszechwidzący

  • Postów:402
  • GG:
  • Imię:Łukasz
  • Lokalizacja:Zloczew
Offline

Napisano 19.03.2012 22:18

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "VipList"
#define VERSION "1.0"
#define AUTHOR "R3X"

#define ACCOUNT_FLAG_A (1<<0)
#define ACCOUNT_FLAG_B (1<<1)
#define ACCOUNT_FLAG_C (1<<2)
#define ACCOUNT_FLAG_D (1<<3)
#define ACCOUNT_FLAG_E (1<<4)
#define ACCOUNT_FLAG_K (1<<5)

new const ACCOUNT_FLAGS[][] = {"a", "b", "c", "d", "e", "k"};

#define MAXLEN_AUTH 31
new Array:gAuth, Array:gFlags;

new gszMOTD[4086]


public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)

register_clcmd("say /vips","cmdVIP");
register_cvar("amx_viplist_flag","a");

gAuth = ArrayCreate(MAXLEN_AUTH+1);
gFlags = ArrayCreate();
}
public plugin_cfg(){
new szFile[128];
get_configsdir(szFile, 127);
add(szFile,127, "/users.ini");

new szSearch[5];
get_cvar_string("amx_viplist_flag", szSearch, 4);

new szFlags[32], szAccFlags[5];
new szLine[96], iLen;
for(new i=0;read_file(szFile, i, szLine, 95, iLen);i++){

if(iLen == 0) continue;

trim(szLine);

if(szLine[0] == 0 || szLine[0]==';') continue;



if(parse(szLine, szLine, MAXLEN_AUTH, szFlags, 0, szFlags, 31, szAccFlags, 4)){

if(inFlagSet(szFlags, szSearch)){
new iAccFlags = read_accflags(szAccFlags);
if(iAccFlags&ACCOUNT_FLAG_D && equal(szLine, "loopback")) continue;

ArrayPushCell(gFlags, iAccFlags);
ArrayPushString(gAuth, szLine);
}
}

}
}
inFlagSet(const szFlags[], const szSearch[]){
new iSize = strlen(szSearch);

for(new i=0;i<iSize;i++){
if(contain(szFlags, szSearch[i]) == -1)
return 0;
}
return 1;
}
read_accflags(const szAccFlags[]){
new iFlags=0;
for(new i=0;i<sizeof ACCOUNT_FLAGS;i++){
if(contain(szAccFlags, ACCOUNT_FLAGS[i]) != -1)
iFlags |= (1<<i);
}
return iFlags;
}
isOnline(const szAuth[], iFlags){
new szFlags[5]="h";
if(iFlags&ACCOUNT_FLAG_C){
//Po SteamID
add(szFlags, 4, "c");
}else if(iFlags&ACCOUNT_FLAG_D){
//Po IP
add(szFlags, 4, "d");
}else{

if(iFlags&ACCOUNT_FLAG_B){
//Po Tagu
return 0;
}else{
//Po Nicku
add(szFlags, 4, "a");
if(iFlags&ACCOUNT_FLAG_K == 0)
add(szFlags, 4, "l");
}
}
return find_player(szFlags, szAuth);
}
public cmdVIP(id){
new szAuth[MAXLEN_AUTH+1], iFlags;
new iLen=0, iMax = charsmax(gszMOTD);
iLen += formatex(gszMOTD[iLen], iMax-iLen, "<style>body{background-color:#DEDEDE} h3{color:blue} li{list-style-type:none}");
iLen += formatex(gszMOTD[iLen], iMax-iLen, "span{font-size:9px;vertical-align: super}.g{color:#191;}.r{color:#911;}</style><body>");
iLen += formatex(gszMOTD[iLen], iMax-iLen, "<h3>VIP List</h3><ul>");

new iSize = ArraySize(gAuth);

for(new i=0;i<iSize;i++){
ArrayGetString(gAuth, i, szAuth, MAXLEN_AUTH);
iFlags = ArrayGetCell(gFlags, i);
if(isOnline(szAuth, iFlags))
iLen += formatex(gszMOTD[iLen], iMax-iLen, "<li>%s <span class=^"g^">online</span></li>",szAuth);
else
iLen += formatex(gszMOTD[iLen], iMax-iLen, "<li>%s <span class=^"r^">offline</span></li>",szAuth);
}
iLen += formatex(gszMOTD[iLen], iMax-iLen, "</ul>");

show_motd(id, gszMOTD, "VipList");
}


  • +
  • -
  • 0

#3 Raaf

    Nowy

  • Autor tematu
  • Nowy

Reputacja: 0
Nowy

  • Postów:2
  • Imię:Rafał
  • Lokalizacja:rafal
Offline

Napisano 19.03.2012 22:31

a gdzie to wpisać ?
  • +
  • -
  • 0

#4 adamsa1

    Profesjonalista

  • Zbanowany

Reputacja: 2
Nowy

  • Postów:217
  • GG:
  • Imię:Adam
  • Lokalizacja:Katowice
Offline

Napisano 17.04.2012 19:38

Kompilujesz amxx.pl/kompilator




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

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