[Cod Nowy]Klasa odblokowana po wpisaniu hasła
Alelluja
04.02.2015
Witam.
Chciałbym was spytać czy jest możliwość o zrobienie takiej klasy który by się odblokowywała po wpisaniu danego hasła (np. że klikasz w nią i pokazuje się napisz hasło i Gostek wpisuje tam hasło i odblokowuje mu się dana klasa)
Jakby można było to proszę podać jakiś przykładowy kod.
Użytkownik Alelluja edytował ten post 04.02.2015 15:57
radim
04.02.2015
Ten temat został przeniesiony z forum
Scripting AMXX > Pytania
do
Mody > Call of Duty Mod > Pytania
Petpat
04.02.2015
Wracając, czy jest taka możliwość, jasne ,że jest ..
Użytkownik Petpat edytował ten post 04.02.2015 16:53
MAGNET
04.02.2015
Alelluja
04.02.2015
Alelluja, mam pytanie, "hasło" do tej klasy ma działać na zasadzie ,że każdy ma przypisane np inne hasło ? Czy ... Każdy takie samo ?
Wracając, czy jest taka możliwość, jasne ,że jest .
Każda ma inne hasło
A nie lepiej zrobić klasę imienną?
Czyli ?
W klasie tworzysz tablicę z hasłem. Potem pobierasz wpisane hasło przez messagemode i porownujesz stringi
Nie wiem o co chodzi pokaż to na przykładzie kodu
Petpat
04.02.2015
#include <amxmodx> new PLINF[] = { "Test", "1.0", "Petpat" } public plugin_init(){ register_plugin(PLINF[0], PLINF[1], PLINF[2]) register_clcmd("say", "sprawdz") register_clcmd("say_team", "sprawdz") } public sprawdz(id){ new Argument[256], PoprawneHaslo[] = "jakieshaslo" read_args(Argument, charsmax(Argument)) remove_quotes(Argument) if(equal(Argument, "/haslo", 6)){ replace(Argument, charsmax(Argument), "/haslo ", "") if(equal(PoprawneHaslo, Argument)){ client_print(id, 3, "Haslo poprawne") } } }Wpisujesz na say'u /haslo jakieshaslo
W rezultacie otrzymujesz wiadomosc Haslo poprawne, taki przyklad starczy ?
Użytkownik Petpat edytował ten post 04.02.2015 18:34
Petpat
04.02.2015
KarlikAśki, jesteś teraz w błędzie, tylko osoba która wpisze poprawnie frazę która jest umieszczona jest w tablicy, zwróci nam wiadomość Hasło poprawne.Czyli sposób goliatha że typko osoba z taką nazwą może ją używać.
Jak widzisz ja tutaj nie porównywałem nicku...
Alelluja
04.02.2015
#include <amxmodx> new PLINF[] = { "Test", "1.0", "Petpat" } public plugin_init(){ register_plugin(PLINF[0], PLINF[1], PLINF[2]) register_clcmd("say", "sprawdz") register_clcmd("say_team", "sprawdz") } public sprawdz(id){ new Argument[256], PoprawneHaslo[] = "jakieshaslo" read_args(Argument, charsmax(Argument)) remove_quotes(Argument) if(equal(Argument, "/haslo", 6)){ replace(Argument, charsmax(Argument), "/haslo ", "") if(equal(PoprawneHaslo, Argument)){ client_print(id, 3, "Haslo poprawne") } } }Wpisujesz na say'u /haslo jakieshaslo
W rezultacie otrzymujesz wiadomosc Haslo poprawne, taki przyklad starczy ?
Jakby można było to jak zrobić żeby to sie w "hud" pokazywało i trzeba by było wpisać hasło ? tak koło radaru ?
Aha i ten kod trzeba by było dodać do Sma Klasy tak ?
Użytkownik Alelluja edytował ten post 04.02.2015 19:47
Petpat
04.02.2015
Chciałeś przykład, mógłbyś trochę sie wysilic i wstawić tutaj coś co już zrobiłeś, my byśmy Tobie pomogli, w poprawieniu błędów itp.
Ale dobra nie odbiegając od tematu, Gdzie to hasło chcesz wpisywać ? Koło radaru ? Chodzi Ci aby haslo wpisywało się w górnym lewym rogu ?>
KarlikAśki
04.02.2015
Alelluja
04.02.2015
Alelluja ...
Chciałeś przykład, mógłbyś trochę sie wysilic i wstawić tutaj coś co już zrobiłeś, my byśmy Tobie pomogli, w poprawieniu błędów itp.
Ale dobra nie odbiegając od tematu, Gdzie to hasło chcesz wpisywać ? Koło radaru ? Chodzi Ci aby haslo wpisywało się w górnym lewym rogu ?>
Petpat tak o to mi chodzi. Ja się wysilam ale nic mi nie przychodzi do głowy i dlatego nie wiem jak to zrobić
Petpat
04.02.2015
#include <amxmodx> new PLINF[] = { "Test", "1.0", "Petpat" }, SyncObj public plugin_init(){ register_plugin(PLINF[0], PLINF[1], PLINF[2]) register_clcmd("Wprowadz_Haslo", "sprawdz") register_clcmd("say /menu", "Menu") SyncObj = CreateHudSyncObj() } public Menu(id){ new Menu = menu_create("Test", "Test") menu_additem(Menu, "Jakas opcja") menu_display(id, Menu) } public Test(id, Menu, item){ if(item == MENU_EXIT) return; switch(item){ case 0: client_cmd(id, "messagemode Wprowadz_Haslo") } } public sprawdz(id){ new Argument[256], PoprawneHaslo[] = "jakieshaslo" read_args(Argument, charsmax(Argument)) remove_quotes(Argument) if(equal(PoprawneHaslo, Argument)){ set_hudmessage(0, 255, 0, -1.0, 0.26, 0, 1.0, 2.0) ShowSyncHudMsg(id, SyncObj, "Haslo poprawne !! : )") client_print(id, 3, "Haslo poprawne") } else { set_hudmessage(255, 0, 0, -1.0, 0.26, 0, 1.0, 2.0) ShowSyncHudMsg(id, SyncObj, "Niestety wprowadzone przez Ciebie haslo nie jest poprawne ..") client_print(id, 3, "Haslo nie jest poprawne ..") } }Taki przykład starczy ??
Dodam jeszcze ,że jeżeli chcesz dodać to do klasy ..
To w cod_class_enabled
dodaj
client_cmd(id, "messagemode Wprowadz_Haslo")
Użytkownik Petpat edytował ten post 04.02.2015 20:44
Alelluja
04.02.2015
Dzięki !
Tylko mam jeszcze jeden problem z tym jak wpisze złe hasło to i tak mi wchodzi na tą klasę
MAGNET
04.02.2015
Alelluja
05.02.2015
Mam takie coś ale mam errory i nie wiem jak to zrobić wziąłem kod z klasy od lvl
#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <fun>
new const nazwa[] = "Alelluja";
new const opis[] = "Ma wszystkie granaty i AWP+M4A1+AK47";
new const bronie = (1<<CSW_HEGRENADE)|(1<<CSW_SMOKEGRENADE)|(1<<CSW_AWP)|(1<<CSW_M4A1)|(1<<CSW_FLASHBANG)|(1<<CSW_DEAGLE)|(1<<CSW_AK47);
new const zdrowie = 1000;
new const kondycja = 1000;
new const inteligencja = 1000;
new const wytrzymalosc = 1000;
new PLINF[] =
{
"Haslo",
"1.0",
"Petpat"
}, SyncObj
new ma_klase[33];
new PoprawneHaslo[33];
public plugin_init()
{
register_plugin(PLINF[0], PLINF[1], PLINF[2])
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
register_clcmd("Wprowadz_Haslo", "sprawdz")
SyncObj = CreateHudSyncObj()
}
public cod_class_enabled(id)
{
new PoprawneHaslo[33] = "jakieshaslo";
if(PoprawneHaslo[33] < dostepna)
{
client_print(id, print_chat, "[%s]Klasa dostepna od hasla.", nazwa)
return COD_STOP;
}
client_print(id, print_chat, "Wybrales klase %s", nazwa)
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
client_cmd(id, "messagemode Wprowadz_Haslo")
ma_klase[id] = true;
return PLUGIN_CONTINUE;
}
public cod_class_disabled(id)
{
ma_klase[id] = false;
}
public sprawdz(id)
{
new Argument[256],
PoprawneHaslo[] = "jakieshaslo"
read_args(Argument, charsmax(Argument))
remove_quotes(Argument)
if(equal(PoprawneHaslo, Argument))
{
set_hudmessage(0, 255, 0, -1.0, 0.26, 0, 1.0, 2.0)
ShowSyncHudMsg(id, SyncObj, "Haslo poprawne !! : )")
client_print(id, 3, "Haslo poprawne")
} else {
set_hudmessage(255, 0, 0, -1.0, 0.26, 0, 1.0, 2.0)
ShowSyncHudMsg(id, SyncObj, "Niestety wprowadzone przez Ciebie haslo nie jest poprawne ..")
client_print(id, 3, "Haslo nie jest poprawne ..")
}
}
MAGNET
05.02.2015
Nigdzie nie stosujesz messagemode. Wykonuj w cod_class_enabled client_cmd(id, "messagemode Podajhaslo"), w publicu doń się odnoszącego pobieraj wartość i porównaj przy pomocy yyyy... Stringcompare? Jakoś tak to się nazywało. Jeśli True, zmienna PoprawneHaslo ma true i można już wybrać klasę z menu klas.
Piszę trochę zagmatwanie, bo w szkole jstm. Jeslo nikt mnie nie uprzedzi pokaże o co mi chodzi