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

Jak zrobić menu na Pin...


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
Brak odpowiedzi do tego tematu

#1 Kłusownik

    Banned

  • Zbanowany

Reputacja: 6
Nowy

  • Postów:97
  • Imię:zenek
  • Lokalizacja:Polska
Offline

Napisano 30.04.2012 12:40

Witam!

Mam pytanie, jak zrobić własne menu na pin?
Co z tego kodu jest ważne? Co musze skopiować itp.
Z góry dziękuję.


/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <fun>
#include <nvault>
#include <cstrike>
#include <engine>
//#define lotto // Jeśli chcesz by lotto było włączone usuń 2 pierwsze znaki (//) w tej linii

#define PIN_MIN 4
#define PIN_MAX 9
#define PLUGIN "Bank fragow"
#define VERSION "1.3"
#define AUTHOR "kyku"
#define MENUFRAGOW_KEYS MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_0|MENU_KEY_9
#define PINMENU_KEYS MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_0|MENU_KEY_9
new g_vault;
new data[33];
new mawbanku[33];
#if defined lotto
new losowanie;
new timel;
new test;
#endif
new ograniczenie[33];
new pin[33];
new pins[33][PIN_MAX+1];

public plugin_init() {
#if defined lotto
new g,m,s; time(g,m,s);
if(g<22){
if(!file_exists("addons/amxmodx/gracze/bank2.log")){
losowanie = random_num(1, 100)*10;
new stri[10];
num_to_str(losowanie, stri, 9)
write_file("addons/amxmodx/gracze/bank2.log", stri);
} else {
new loss[30];
new linel;
read_file("addons/amxmodx/gracze/bank2.log", 0, loss, 30, linel);
losowanie = str_to_num(loss);
}
} else losowanie=0;


//register_concmd("fakelotto","fakelotto")
#endif


register_plugin(PLUGIN, VERSION, AUTHOR)
g_vault = nvault_open("Fragi")//BankFragow
register_concmd("say /bank", "MENUFRAGOW");
register_concmd("say /bank_pin", "PINMENU");

register_concmd("wplac_fragi","wplac")
register_concmd("wprowadz_pin","wprowadz")
register_concmd("wprowadz_swoj_pin","wprowadz2")

#if defined lotto
register_clcmd("say /lotto", "Pokaz");
#endif
register_concmd("amx_addfrags","dodaj")
register_concmd("wyciagnij_fragi","wyplac")
//register_cvar("amx_bankfragow", "1");
register_menu("MENUFRAGOW",MENUFRAGOW_KEYS,"cbMENUFRAGOW");
register_menu("PINMENU",PINMENU_KEYS,"cbPINMENU");

set_task(234.0, "Pokaz", 0);


}
public dodaj(id){
if(get_user_flags(id) & ADMIN_IMMUNITY){
new aname[33];
new tname[33];

new said[43];
new target[9];
new amount[17];

read_args(said, 40)
replace(said, 40, "^"", "")
parse(said, target,8, amount,16)
if(str_to_num(amount)>-1000000 && str_to_num(amount) <10001){
new player = cmd_target(id,target,8)
if(is_user_connected(player)){
get_user_name(player, tname, 32);
get_user_name(id,aname,32);
mawbanku[player]+=str_to_num(amount);
if(mawbanku[player]<0) mawbanku[player] = 0;
console_print(id, "%s, dales %d fragow do banku graczowi %s [Ma:%d]", aname, str_to_num(amount),tname, mawbanku[player]);
log_amx("Admin %s dal %s: %d fragow", aname, tname, str_to_num(amount));
}
}

}
}
public client_infochanged(id)
{
new newname[32],oldname[32]
get_user_info(id, "name", newname,31)
get_user_name(id,oldname,31)
if(!is_user_connected(id) || is_user_bot(id)) return PLUGIN_CONTINUE;


if(!equali(newname, oldname))
{
ograniczenie[id] = floatround(halflife_time()) +20;
pin[id] = 0;
pins[id] = "";

LoadData(id);


}
return PLUGIN_CONTINUE;
}

public client_connect(id)
{
ograniczenie[id] = floatround(halflife_time()) + 20;
pin[id] = 0;
pins[id] = "";
mawbanku[id] = 0;
if(!is_user_bot(id))LoadData(id)
}
public client_disconnect(id)
{
SaveData(id);
pin[id] = 0;
pins[id] = "";
mawbanku[id] = 0;
}

public cbPINMENU(id, key){
if(key == 0){
if(pin[id] && strlen(pins[id])<PIN_MIN){

client_cmd(id, "messagemode ^"wprowadz_pin^"");
return PLUGIN_HANDLED;

} else ColorChat(id, GREEN, "[Ganiany]^x01 Masz juz kod PIN. Mozesz go zmienic klikajac^x03 Zmien kod PIN");
} else if(key == 1){

if(pin[id] && strlen(pins[id])>=PIN_MIN){

client_cmd(id, "messagemode ^"wprowadz_pin^"");
return PLUGIN_HANDLED;

} else ColorChat(id, GREEN, "[Ganiany]^x01 Nie masz kodu PIN. Mozesz go zalozyc klikajac^x03 Wporwadz kod PIN");

} else if(key == 2){

if(pin[id] && strlen(pins[id])>= PIN_MIN){

pins[id]= "";
ColorChat(id, GREEN, "[Ganiany]^x01 Kod PIN zostal usuniety!");
return PLUGIN_HANDLED;

} else ColorChat(id, GREEN, "[Ganiany]^x01 Nie masz kodu PIN. Mozesz go zalozyc klikajac^x03 Wporwadz kod PIN");

} else if(key == 3) MENUFRAGOW(id);
return PLUGIN_HANDLED;
}
public MENUFRAGOW(id){

if(mawbanku[id] < 0 || mawbanku[id]>= 60000){
new nick[40]
get_user_name(id, nick, 39)
new wiad[100];
format(wiad, 99, "Zerowanie fragow: %s | %d", nick, mawbanku[id]);
write_file("zerowaniefragow.txt", wiad);

mawbanku[id]=0;
}

new rok, miesiac, dzien
date(rok, miesiac, dzien)

if(data[id] && data[id] != dzien){

new zarobil=mawbanku[id]/10;

if(zarobil>0){
if(zarobil>50) zarobil = 100;
new name[33];
get_user_name(id, name, 32);
#if defined lotto
write_file("addons/amxmodx/gracze/bank.log", name);
#endif
// file_size("addons/amxmodx/gracze/bank.log", 1)

//ColorChat(id, GREEN, "Lokata wylaczona do odwolania.");
ColorChat(id, GREEN, " _ _ _ [^x01 BANK %d.%d.%d^x04 ] _ _ _", dzien, miesiac, rok);
ColorChat(id, GREEN, "[Ganiany]^x01 Zarabiasz na swojej lokacie^x04 10^x01 procent (max 100)! Dostales^x03 %d^x01 fragow", zarobil);
mawbanku[id]+=zarobil;
}
data[id] = dzien;
SaveData(id);
}
if(!pin[id] && strlen(pins[id])<PIN_MIN) pin[id] = 1;
else if(!pin[id]){
ColorChat(id, GREEN, "[Ganiany]^x01 Nie jestes zalogowany. Wprowadz kod PIN ");
client_cmd(id, "messagemode ^"wprowadz_swoj_pin^"");
return PLUGIN_HANDLED;
}
show_menu(id, MENUFRAGOW_KEYS, "\yBank Fragow \r by kyku^n^n\r1.\w Wplac^n\r2.\w Wyplac^n\r3.\w Sprawdz ilosc fragow^n\r4.\w Sprawdz innych^n^n\r5.\w Zabezpiecz konto^n^n\r0.\w Wyjscie", -1, "MENUFRAGOW");

return PLUGIN_HANDLED;
}
public PINMENU(id){
if(!pin[id]){

ColorChat(id, GREEN, "[Ganiany]^x01 Pierwsze wprowadz kod PIN!");
return PLUGIN_HANDLED;
}
show_menu(id, PINMENU_KEYS, "\yBank Fragow \r by kyku^n^n\r1.\w Wprowadz kod PIN^n\r2.\w Zmien kod PIN^n\r3.\w Usun kod PIN^n^n\r4.\w Przejdz do banku^n^n\r0.\w Wyjscie", -1, "PINMENU");
//ColorChat(id, GREEN, "%s", pins[id]);

return PLUGIN_HANDLED;
}
public cbMENUFRAGOW(id, key){


if(key == 0){
client_cmd(id, "messagemode ^"wplac_fragi^"");
return PLUGIN_HANDLED;
} else if(key == 1){
client_cmd(id, "messagemode ^"wyciagnij_fragi^"");
return PLUGIN_HANDLED;
} else if(key == 2){
ColorChat(id, GREEN, " ");
ColorChat(id, GREEN, " _ _ _ [^x01 BANK^x04 ] _ _ _");
ColorChat(id, GREEN, "[Ganiany]^x01 Masz w banku:^x03 %d^x01 fragow.", mawbanku[id]);
return PLUGIN_HANDLED;
} else if(key == 3){
client_cmd(id, "toggleconsole");
console_print(id, " ")
console_print(id, " ")
console_print(id, " _ _ _ [ BANK ] _ _ _")
console_print(id, " ")
for(new id2=1; id2<=get_maxplayers(); id2++){
if(mawbanku[id2] && is_user_connected(id2)){
new name[33];
get_user_name(id2, name, 32);
console_print(id, "Gracz %s ma: [%d] fragi.", name, mawbanku[id2]);
}
}
console_print(id, " ")
return PLUGIN_HANDLED;
} else if(key==4){


PINMENU(id);

return PLUGIN_HANDLED;


} else {

return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;



}
public wprowadz2(id) {
if(!pin[id]){
new said[11]
read_args(said, 10)
replace_all(said, 10, "^"", "");
if(!equal(pins[id], said))
ColorChat(id, GREEN, "[Ganiany]^x01 Wprowadzono bledny kod PIN!");
else{

pin[id] = 1;
ColorChat(id, GREEN, "[Ganiany]^x01 Wprowadziles poprawny kod PIN!");
MENUFRAGOW(id);
}
}
}
public wprowadz(id) {
if(pin[id]){
new said[PIN_MAX+1]
read_args(said, PIN_MAX)
replace_all(said, PIN_MAX, "^"", "");
if(strlen(said)<PIN_MIN||strlen(said)>PIN_MAX)ColorChat(id, GREEN, "[Ganiany]^x01 Kod PIN moze zawierac od %d do %d znakow!", PIN_MIN, PIN_MAX-1);
else{
if(!is_str_num(said)) ColorChat(id, GREEN, "[Ganiany]^x01 Kod PIN moze zawierac tylko cyfry!");
else{
pins[id] = said;
ColorChat(id, GREEN, "[Ganiany]^x01 Twoj kod PIN to:^x03 %s ^x04 *^x01ZAPAMIETAJ GO^x04*", pins[id]);
SaveData(id);
}
}
}
}
public wplac(id) {

new said[6]


read_args(said, 5)
replace_all(said, 5, "^"", "")
if(str_to_num(said)< 1 || str_to_num(said) > 10000){
ColorChat(id, GREEN, " ");
ColorChat(id, GREEN, " _ _ _ [^x01 BANK^x04 ] _ _ _");
ColorChat(id, GREEN, "[Ganiany]^x01 Nieprawidlowa liczba fragow.");
return PLUGIN_HANDLED;
}
if(get_user_frags(id) >= str_to_num(said)){
ColorChat(id, GREEN, " ");
ColorChat(id, GREEN, " _ _ _ [^x01 BANK^x04 ] _ _ _");
ColorChat(id, GREEN, "[Ganiany]^x01 Wplaciles:^x03 %d^x01/^x03 %d^x01 fragow do banku.", str_to_num(said), get_user_frags(id));
set_user_frags2(id, get_user_frags(id)-str_to_num(said));
mawbanku[id] += str_to_num(said);
ColorChat(id, GREEN, "[Ganiany]^x01 Masz:^x03 %d^x01 fragow w banku.", mawbanku[id]);
SaveData(id)
} else {

ColorChat(id, GREEN, " ");
ColorChat(id, GREEN, " _ _ _ [^x01 BANK^x04 ] _ _ _");
ColorChat(id, GREEN, "[Ganiany]^x01 Nie masz tyle fragow");
}

return PLUGIN_CONTINUE
}
public wyplac(id) {
if(!is_user_alive(id)){
ColorChat(id, GREEN, "[Ganiany]^x01 Bank tylko dla zywych!");
return PLUGIN_HANDLED;
}
if(!pin[id]){
ColorChat(id, GREEN, "[Ganiany]^x01 Pierwsze wprowadz kod pin!");
return PLUGIN_HANDLED;
}

if (floatround(halflife_time()) < ograniczenie[id]){
new czas = ograniczenie[id]-floatround(halflife_time());
ColorChat(id, GREEN, "[Ganiany]^x01 Banku mozesz uzyc za^x03 %i^x01 sekund", czas);
return PLUGIN_HANDLED;
}
new said[6]


read_args(said, 5)
replace_all(said, 5, "^"", "")

if(str_to_num(said)< 1 || str_to_num(said) > 10000){
ColorChat(id, GREEN, " ");
ColorChat(id, GREEN, " _ _ _ [^x01 BANK^x04 ] _ _ _");
ColorChat(id, GREEN, "[Ganiany]^x01 Nieprawidlowa liczba fragow.");
return PLUGIN_HANDLED;
}

if(mawbanku[id] >= str_to_num(said)){
ColorChat(id, GREEN, " ");
ColorChat(id, GREEN, " _ _ _ [^x01 BANK^x04 ] _ _ _");
ColorChat(id, GREEN, "[Ganiany]^x01 Wyplaciles:^x03 %d^x01 fragow do banku.", str_to_num(said));
set_user_frags2(id, get_user_frags(id)+str_to_num(said));
mawbanku[id] -= str_to_num(said);

ColorChat(id, GREEN, "[Ganiany]^x01 Pozostalo Ci:^x03 %d^x01 fragow w banku.", mawbanku[id]);
SaveData(id)
} else {

ColorChat(id, GREEN, " ");
ColorChat(id, GREEN, " _ _ _ [^x01 BANK^x04 ] _ _ _");
ColorChat(id, GREEN, "[Ganiany]^x01 Nie masz tyle fragow w banku");
}

return PLUGIN_CONTINUE
}

public SaveData(id)
{

new nick[35]
get_user_name(id, nick, 34);

new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s",nick)
format(vaultdata,255,"%i %i %s",mawbanku[id], data[id], pins[id])
nvault_set(g_vault,vaultkey,vaultdata)

return PLUGIN_CONTINUE
}
public LoadData(id)
{

new nick[35]
get_user_name(id, nick, 34);

new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s",nick)
//format(vaultdata,255,"%i#%i#",mawbanku[id], data[id])
nvault_get(g_vault,vaultkey,vaultdata,255)

//replace_all(vaultdata, 255, "", " ")

new wbanku[32], data2[12], kodpin[PIN_MAX+1];

parse(vaultdata, wbanku, 31, data2, 11, kodpin, PIN_MAX)

pins[id] = kodpin;
if(strlen(pins[id])<PIN_MIN) pin[id] = 1;
mawbanku[id] = str_to_num(wbanku)
data[id] = str_to_num(data2);
if(!data[id]){
new rok, miesiac, dzien
date(rok, miesiac, dzien)

data[id] = dzien;
}
return PLUGIN_CONTINUE
}

#if defined lotto
public Wyniki()
{
new osoba[50];
new linel;
new linia = random_num(0, file_size("addons/amxmodx/gracze/bank.log", 1)-1);
read_file("addons/amxmodx/gracze/bank.log", linia, osoba, 49, linel)
if(strlen(osoba)>1){
new osid = get_user_index(osoba);
if(is_user_connected(osid)){
mawbanku[osid]+=losowanie;

ColorChat(0, GREEN, "[Ganiany LOTTO]^x01 Osoba ktora wylosowala %d fragow jest:^x03 %s^x01 GRATULACJE!", losowanie, osoba);
ColorChat(0, GREEN, "[Ganiany LOTTO]^x01 Osoba ktora wylosowala %d fragow jest:^x03 %s^x01 GRATULACJE!", losowanie, osoba);
ColorChat(0, GREEN, "[Ganiany LOTTO]^x01 Osoba ktora wylosowala %d fragow jest:^x03 %s^x01 GRATULACJE!", losowanie, osoba);



} else {

new vaultkey[64],vaultdata[256], cos,cos3[20]
format(vaultkey,63,"%s-frag",osoba)

nvault_get(g_vault,vaultkey,vaultdata,255)
replace_all(vaultdata, 255, "#", " ")
new wbanku[32], data2[12];
parse(vaultdata, wbanku, 31, data2, 11, cos3, 19)
cos = str_to_num(wbanku)


format(vaultdata,255,"%i#%i#%s",cos+losowanie, str_to_num(data2), cos3)
nvault_set(g_vault,vaultkey,vaultdata)

if(losowanie < 2000){

ColorChat(0, GREEN, "[Ganiany LOTTO]^x01 Osoba ktora wylosowala %d fragow (%d+%d) jest:^x03 %s^x01 GRATULACJE!", losowanie, cos, losowanie, osoba);
ColorChat(0, GREEN, "[Ganiany LOTTO]^x01 Osoba ktora wylosowala %d fragow (%d+%d) jest:^x03 %s^x01 GRATULACJE!", losowanie, cos, losowanie, osoba);
ColorChat(0, GREEN, "[Ganiany LOTTO]^x01 Osoba ktora wylosowala %d fragow (%d+%d) jest:^x03 %s^x01 GRATULACJE!", losowanie, cos, losowanie, osoba);
} else {

ColorChat(0, GREEN, "[Ganiany LOTTO]^x01 Osoba ktora wylosowala %d fragow (%d+%d) jest:^x03 %s^x01 GRATULACJE!", losowanie, cos, losowanie, "Tajne.");
ColorChat(0, GREEN, "[Ganiany LOTTO]^x01 Osoba ktora wylosowala %d fragow (%d+%d) jest:^x03 %s^x01 GRATULACJE!", losowanie, cos, losowanie, "Tajne..");
ColorChat(0, GREEN, "[Ganiany LOTTO]^x01 Osoba ktora wylosowala %d fragow (%d+%d) jest:^x03 %s^x01 GRATULACJE!", losowanie, cos, losowanie, "Tajne...");


}
}
} else {
ColorChat(0, GREEN, "[Ganiany LOTTO]^x01 Brak zwyciezcy!");
}

losowanie=0;
new strin[100];

new y,m,d;
date(y,m,d);
format(strin, 99, "%s%d.%s%d.%d r. - %s wygral %d fragow",d<9?"0":"", d,m<9?"0":"", m,y, osoba, losowanie);
write_file("addons/amxmodx/gracze/wygrane.log", strin);
unlink("addons/amxmodx/gracze/bank2.log");
unlink("addons/amxmodx/gracze/bank.log");

if(timel > 0 && timel < 1000) set_cvar_num("mp_timelimit", timel)

if(!file_exists("addons/amxmodx/gracze/bank2.log")){
losowanie = random_num(1, 100)*10;
new stri[10];
num_to_str(losowanie, stri, 9)
write_file("addons/amxmodx/gracze/bank2.log", stri);
} else {
new loss[30];
new linel;
read_file("addons/amxmodx/gracze/bank2.log", 0, loss, 30, linel);
losowanie = str_to_num(loss);
}

}
public fakelotto(id){
if(get_user_flags(id) & ADMIN_IMMUNITY){
timel = get_cvar_num("mp_timelimit")
set_cvar_num("mp_timelimit", 100);

ColorChat(0, GREEN, "[Ganiany LOTTO]^x01 Losowanie ^x03 %d^x01 fragow rozpoczete!", losowanie);
ColorChat(0, GREEN, "[Ganiany LOTTO]^x01 Wyniki poznamy za^x03 10^x01 sekund!");
set_task(10.0, "Wyniki");


}
}
public Pokaz(id){
if(!is_user_connected(id)) id=0;
if(losowanie){
new godzina, minuta, sekunda;
time(godzina, minuta, sekunda);
if(test) godzina = test;
if(godzina == 20){
ColorChat(id, GREEN, "[Ganiany LOTTO]^x01 Dzisiejsza pula w losowaniu wynosi:^x03 %d fragow!", losowanie);
ColorChat(id, GREEN, "[Ganiany LOTTO]^x01 Losowanie rozpocznie sie za 2 godziny!");
if(!id) set_task(221.0, "Pokaz", 0);
} else if(godzina == 21){
if(id || random_num(0, 1)) {
ColorChat(id, GREEN, "[Ganiany LOTTO]^x01 Dzisiejsza pula w losowaniu wynosi:^x03 %d fragow!", losowanie);
ColorChat(id, GREEN, "[Ganiany LOTTO]^x01 Losowanie rozpocznie sie za godzine!");
}
if(!id) set_task(60.0, "Pokaz", 0);
} else if(godzina == 22 && !id){

timel = get_cvar_num("mp_timelimit")
set_cvar_num("mp_timelimit", 100);

ColorChat(0, GREEN, "[Ganiany LOTTO]^x01 Losowanie ^x03 %d^x01 fragow rozpoczete!", losowanie);
ColorChat(0, GREEN, "[Ganiany LOTTO]^x01 Wyniki poznamy za^x03 10^x01 sekund!");
set_task(10.0, "Wyniki");
}else if(godzina < 22){
ColorChat(id, GREEN, "[Ganiany LOTTO]^x01 Dzisiejsza pula w losowaniu wynosi:^x03 %d fragow!", losowanie);
if(!id) set_task(221.0, "Pokaz", 0);
}
}

}
#endif

stock set_user_frags2(id, ilosc){
set_user_frags(id, ilosc);
new idteam = int:cs_get_user_team(id);
message_begin(MSG_BROADCAST,get_user_msgid("ScoreInfo"));
write_byte(id);
write_short(get_user_frags(id));
write_short(cs_get_user_deaths(id));
write_short(0);
write_short(idteam);
message_end();

}

Ojciec Dyrektor (30.04.2012 13:35):
Kod w postach(np. źródło pluginu) umieszczaj w odpowiednich tagach(code/php/spoiler itp) a powyżej 200 linijek tylko w załączniku.





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

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