Flagi nadawane przez cvar
EufooZ
15.03.2011
Witam, no więc jako iż zaciekawiło mnie pisanie pluginów to sobie napisałem
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:
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:
Użytkownik EufooZ edytował ten post 15.03.2011 23:13
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_IMMUNITYtylko normalnie
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
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.
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.
R3X
16.03.2011
Jest gotowa funkcja do tego, pobierz wartość cvara jako tekst i przelicz
"a" = (1<<0)
"b" = (1<<1)
"c" = (1<<2)
...
czyli
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)
EufooZ
16.03.2011
Okey czyli dajmy na to w takim pluginie:
To przykład więc nie zwracajcie uwagi na błędy itp ..
Gdzie w takim pluginie dodać żeby rozpoznawało wszystkie flagi od a do u ?
Oczywiście żeby ustawiać cvarem a,b,c,d itd...
/* 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 ..
Gdzie w takim pluginie dodać żeby rozpoznawało wszystkie flagi od a do u ?
Oczywiście żeby ustawiać cvarem a,b,c,d itd...