←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Flagi nadawane przez cvar

Zablokowany

  • +
  • -
EufooZ - zdjęcie EufooZ 15.03.2011

Witam, no więc jako iż zaciekawiło mnie pisanie pluginów to sobie napisałem :D

Ale zastanawia mnie jedna rzecz, do której nie mogę dojść, co muszę zrobić aby można było przez cvar ustawiać flagę bez potrzeby w grzebania w kodzie ?

Jak zrobić aby zamiast w amxx.cfg pisać to:
amx_flagaress ADMIN_IMMUNITY
tylko normalnie :D
amx_flagaress a

Co trzeba zrobić, aby plugin rozpoznawał b jako rezerwację, a jako immu itd...

Czy będzie działał na samo immu jak zrobię w pluginie tak:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "plugin 1"
#define VERSION "1.0"
#define AUTHOR "PaCzeK"

/// Tutaj dodac flage odpowiadajaca danej literze ??
/// Zadziala ?
new flaga
//// Takie cos :)
new ADMIN_IMMUNITY = a

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("amx_reset","1")
/// Glownie chodzi mi o to:
flaga = register_cvar("amx_flagaress","a")
// Zeby mozna bylo wpisywac w cvarze a,b,c id.. zamiast admin_immunitet
register_clcmd("say /ress", "staty")
register_clcmd("say ress", "staty")
register_clcmd("ress", "staty")
}

public staty(id)
{
if( get_user_flags(id) & /*I jak tutaj potem wyciagnac ten cvar do flagi ?*/ )
{
}

Użytkownik EufooZ edytował ten post 15.03.2011 23:13
Odpowiedz

FreZZy - zdjęcie FreZZy 15.03.2011

może

#define ADMIN_IMMUNITY a

Odpowiedz

  • +
  • -
EufooZ - zdjęcie EufooZ 15.03.2011

No to wtedy będę musiał do każdej flagi przypisywać literkę, tak ?

A czy istnieje jakaś możliwość, aby było to tak jak w pluginach vip, że przez cvar ustawiasz daną flage żeby ten ktos mógł używać danej komendy wyłącznie z daną flagą przez cvar.
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 16.03.2011

Jest gotowa funkcja do tego, pobierz wartość cvara jako tekst i przelicz

read_flags("abcd")
to zwróci sumę bitową wartości:

"a" = (1<<0)
"b" = (1<<1)
"c" = (1<<2)
...

czyli
read_flags("ac") == (1<<0)|(1<<2)
Odpowiedz

  • +
  • -
EufooZ - zdjęcie EufooZ 16.03.2011

Okey czyli dajmy na to w takim pluginie:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <ColorChat>
#include <fun>
#include <cstrike>

#define PLUGIN "Losowanie"
#define VERSION "1.0"
#define AUTHOR "PaCzeK"

new ilosc_hp
new ilosc_armora

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
ilosc_hp = register_cvar("amx_iloschp","200")
ilosc_armora = register_cvar("amx_iloscarmora","200")
register_clcmd("say /los", "losowanie")
register_clcmd("say_team /los", "losowanie")
}

public losowanie(id)
{
if( get_user_flags(id) & ADMIN_IMMUNITY ){
switch(random_num(1,3))
{
case 1:
{
ColorChat(id, RED, "KOKSISZ !^x01 masz %i hp i %i armora !", ilosc_hp, ilosc_armora)
set_user_health(id,ilosc_hp)
set_user_armor(id,ilosc_armora)
}
case 2:
{
ColorChat(id, RED, "N00b !^x01 Wszystko przegrales !")
set_user_armor(id,0)
set_user_health(id,1)
cs_set_user_money(id, 0)
}
case 3:
{
if(cs_get_user_money(id)>5000){
ColorChat(id, GREEN, "Nie dostaniesz ani grosza wiecej ! Masz wiecej niz 5000$")
}
else if(cs_get_user_money(id)<5000){
ColorChat(id, GREEN, "Jestes ubogi, wiec dostaniesz troche zlocisza :)")
ColorChat(id, RED, "Losowanie trwa...")
switch(random_num(1,3))
{
case 1:
{
cs_set_user_money(id, cs_get_user_money(id)+6000)
ColorChat(id, GREEN, "Dostales 6000$ !")
}
case 2:
{
cs_set_user_money(id, cs_get_user_money(id)+1)
ColorChat(id, GREEN, "Hahaha ! Ale sie wzbogaciles ! Dostales 1$ !")
}
case 3:
{
cs_set_user_money(id, 16000)
ColorChat(id, GREEN, "No, niezle. Masz teraz pelno $$ :)")
}
}
}
}
}
}
else
{
ColorChat(id, GREEN, "Nie masz uprawnien do losowania !")
}
}


To przykład więc nie zwracajcie uwagi na błędy itp .. :D

Gdzie w takim pluginie dodać żeby rozpoznawało wszystkie flagi od a do u ?
Oczywiście żeby ustawiać cvarem a,b,c,d itd...
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 16.03.2011

chcesz włączać lub wyłączać opcje z losowania?

to tak:
Załączony plik  losowanie.sma   3,84 KB   37 Ilość pobrań
Odpowiedz

  • +
  • -
EufooZ - zdjęcie EufooZ 16.03.2011

Dobra dzięki, +
Odpowiedz
Zablokowany