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

Mniejsza widzialność


  • Zamknięty Temat jest zamknięty
6 odpowiedzi w tym temacie

#1 Gufinsky

    Wszechwiedzący

  • Power User

Reputacja: 267
Wszechwidzący

  • Postów:591
  • Imię:Kuba
  • Lokalizacja:localhost
Offline

Napisano 20.12.2010 18:51

Witam. Pisze plugin Vipa do paintballa i mam takie pytanie.
1. Da się graczowi z daną flagą T obniżyć widzialność, np. gracz bez flagi T widzi model gracza 50% słabiej. Da się wogóle coś takiego zrobić?
2. Po wpisaniu na say /vip pokazuje wszystkich graczy z flagą T.
3. Gdy gracz z daną flagą wchodzi na serwer, wszystkim graczom na hudzie pokazuję się Vip nick wchodzi na serwer!

Z góry dziękuje i licze na was :)


Pozdrawiam.

Użytkownik suis edytował ten post 20.12.2010 19:16

  • +
  • -
  • 0

#2 ;((

    Super Hero

  • Użytkownik

Reputacja: 347
Wszechpomocny

  • Postów:1 157
  • Lokalizacja:Aha
Offline

Napisano 20.12.2010 18:53

1. Tak, da.
2. A chcesz, żeby gdzie pokazywało? Przykładowo takie menu z VIPami po lewej stronie? :D
  • +
  • -
  • 0

#3 Gufinsky

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 267
Wszechwidzący

  • Postów:591
  • Imię:Kuba
  • Lokalizacja:localhost
Offline

Napisano 20.12.2010 18:59

1. To jaki kod? :>
2. Chodzi mi o to że po wpisaniu /vips na czacie się pojawia Vips online: nick nick nick
  • +
  • -
  • 0

#4 PtasiorEx

    Pomocny

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:40
  • Imię:Marcin
  • Lokalizacja:Gołdap
Offline

Napisano 20.12.2010 19:04

On chciał aby działało tak jak /admin Zaraz zrobię.
Przerobiłem Admin_check
#include <amxmodx>

/*---------------EDIT ME------------------*/
#define ADMIN_CHECK ADMIN_KICK

static const COLOR[] = "^x04" //green
static const CONTACT[] = ""
/*----------------------------------------*/

new maxplayers
new gmsgSayText

public plugin_init() {
register_plugin("Admin Check", "1.51", "OneEyed")
maxplayers = get_maxplayers()
gmsgSayText = get_user_msgid("SayText")
register_clcmd("say", "handle_say")
register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER)
}

public handle_say(id) {
new said[192]
read_args(said,192)
if( ( containi(said, "who") != -1 && containi(said, "admin") != -1 ) || contain(said, "/vip") != -1 )
set_task(0.1,"print_adminlist",id)
return PLUGIN_CONTINUE
}

public print_adminlist(user)
{
new adminnames[33][32]
new message[256]
new contactinfo[256], contact[112]
new id, count, x, len

for(id = 1 ; id <= maxplayers ; id++)
if(is_user_connected(id))
if(get_user_flags(id) & ADMIN_LEVEL_H)
get_user_name(id, adminnames[count++], 31)

len = format(message, 255, "%s Vipy: ",COLOR)
if(count > 0) {
for(x = 0 ; x < count ; x++) {
len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"")
if(len > 96 ) {
print_message(user, message)
len = format(message, 255, "%s ",COLOR)
}
}
print_message(user, message)
}
else {
len += format(message[len], 255-len, "Brak vip'ow.")
print_message(user, message)
}

get_cvar_string("amx_contactinfo", contact, 63)
if(contact[0]) {
format(contactinfo, 111, "%s Contact Server Admin -- %s", COLOR, contact)
print_message(user, contactinfo)
}
}

print_message(id, msg[]) {
message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
write_byte(id)
write_string(msg)
message_end()
}
nie wiem czy dobrze edytowałem..;]
  • +
  • -
  • 1

#5 Gufinsky

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 267
Wszechwidzący

  • Postów:591
  • Imię:Kuba
  • Lokalizacja:localhost
Offline

Napisano 20.12.2010 19:17

Dzięki Ptasior - działa :)

Co z widzialnością? :X

Dodałem nowy punkt.

3. Gdy gracz z daną flagą wchodzi na serwer, wszystkim graczom na hudzie pokazuję się Vip nick wchodzi na serwer!


  • +
  • -
  • 0

#6 PtasiorEx

    Pomocny

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:40
  • Imię:Marcin
  • Lokalizacja:Gołdap
Offline

Napisano 20.12.2010 21:24

Spróbuj dodać na koniec kodu:
public client_putinserver(id) 
{
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
new name[32]
get_user_name(id,name,31)

set_hudmessage(255, 0, 0, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2);
show_hudmessage(0, "Przychodzi Vip^n %s^n Witamy!!!",name)

  • +
  • -
  • 0

#7 Misiaczek ;c

    /dev/null

  • Moderator

Reputacja: 1 678
Godlike

  • Postów:2 496
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Halemba
Offline

Napisano 20.12.2010 22:06

#include <amxmodx>
#include <fakemeta_util>

new niewidzialnosc, maxplayers, gmsgSayText;
new n[32], g_lastwpn[33];
new vip[] = "t";
static const COLOR[] = "^x04";
new bool:g_invis[33];

public plugin_init()
{
register_plugin("V.I.P", "1.0", "MisieQ")
register_event("CurWeapon", "Event_CurWeapon", "be", "1=1");
maxplayers = get_maxplayers()
register_clcmd("say", "vip_say")
niewidzialnosc = register_cvar("amx_vip_niewidzialnosc", "100")
}

/* Funkcja od Sprawdzania Uprawnien(Flag) */
public has_flags(id,string[])
{
new ret=1
new byte
new len = strlen(string)
new p_flag = get_user_flags(id)

for(new i=0;i<=len;i++)
{
if(string[i]>='a' && string[i]<='z') byte = (1<<(string[i]-'a'))
else if(string[i]>='A' && string[i]<='Z') byte = (1<<(string[i]-'A'))
else if(string[i]==',' && ret==1) return 1
else if(string[i]==',') ret=1
if(byte!=0 && !(p_flag & byte)) ret=0

byte=0
}
return ret
}

/* Info HUD */
public client_authorized(id)
{
if(has_flags(id,vip))
{
get_user_name(id, n, 31);
set_hudmessage(255, 255, 0, 0.04, 0.76, 0, 6.0, 6.0)
show_hudmessage(0, "V.I.P %s^nWbija na Serwer", n)
}
}

public client_putinserver(id)
{
if(has_flags(id,vip))
{
get_user_name(id, n, 31);
set_hudmessage(255, 255, 0, 0.04, 0.76, 0, 6.0, 6.0)
show_hudmessage(0, "V.I.P %s^n Dolaczyl do Gry!^nGL & HF", n)
}
}

/* Informacje kto ma VIPA */
public vip_say(id)
{
new said[192]
read_args(said,192)
if( ( containi(said, "vip") != -1 && containi(said, "/vip") != -1 ) )
set_task(0.1,"print_vip",id)
return PLUGIN_CONTINUE
}

public print_vip(user)
{
new vipnames[33][32]
new message[256]
new id, count, x, len

for(id = 1 ; id <= maxplayers ; id++)
if(is_user_connected(id))
if(has_flags(id,vip))
get_user_name(id, vipnames[count++], 31)

len = format(message, 255, "%s V.I.P: ",COLOR)
if(count > 0)
{
for(x = 0 ; x < count ; x++)
{
len += format(message[len], 255-len, "%s%s ", vipnames[x], x < (count-1) ? ", ":"")
if(len > 96 )
{
print_message(user, message)
len = format(message, 255, "%s ",COLOR)
}
}
print_message(user, message)
}
else
{
len += format(message[len], 255-len, "Brak grajacych V.I.P.")
print_message(user, message)
}

}

print_message(id, msg[])
{
message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
write_byte(id)
write_string(msg)
message_end()
}

/* Niewidzialnosc & Sprawdzanie czy ma niewidzialnosc */
public Event_CurWeapon(id)
{
if (!is_user_alive(id)) return;
if(has_flags(id,vip)) return;

new weapon_id = read_data(2);

g_invis[id] = false;

if ( g_lastwpn[id] != weapon_id )
{
set_invis(id);
}

g_lastwpn[id] = weapon_id;
}

public set_invis(id)
{
new wartosc;
wartosc = get_pcvar_num(niewidzialnosc);
if (!is_user_alive(id)) return;
if(has_flags(id,vip))
{
fm_set_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransTexture, wartosc);
g_invis[id] = true;
}
else
{
fm_set_rendering(id);
g_invis[id] = false;
}
}


Sprawdź czy o to Ci się rozchodziło :)

Użytkownik MisieQ edytował ten post 20.12.2010 22:07

  • +
  • -
  • 0




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

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