Tak jak w temacie. Jak to naprawić?
Dodam że w plugin_init()
Dodałem opcje:
Użytkownik Black004 edytował ten post 03.03.2019 10:42
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.
|
Napisano 03.03.2019 10:39
Tak jak w temacie. Jak to naprawić?
Dodam że w plugin_init()
Dodałem opcje:
Użytkownik Black004 edytował ten post 03.03.2019 10:42
Napisano 04.03.2019 16:55
Napisano 04.03.2019 17:50
Co naprawić? Dajesz nam 0 info, a oczekujesz, że Ci ktoś pomoże...
Napisano 06.03.2019 18:55
Chciałbym zrobić sklep skinów za pieniądze, ale nie podmienia tych skinów. Mianowicie po wpisaniu komendy /1234 Otwiera się "public wyborskinKNIVE(id)"
Po wybraniu skina z menu on się nie podmienia z tym domyślnym skinem noża w cs.
" if(!sprawdz(id, 5)) return PLUGIN_HANDLED; " To sprawdza czy gracz ma określona ilość monet za skina.
Napisano 06.03.2019 19:32
new weapon = read_data(2);
read_data mozesz uzywac w eventach.
handler od menu to nie jest event..
zeby pobrac bron gracza uzyj: https://amxx.pl/doku...get-user-weapon
Napisano 06.03.2019 21:45
Teraz mam problem taki. Kiedy chce wybrać Bayonet lore. Nie podmienia mi tego skina, a karambita już tak. I do tego kiedy mam karambita i jak zmienię broń np. na glocka i znowu wezme kose to ten skin znika.
Napisano 06.03.2019 21:57
Kod dawaj jako załącznik, bądź wstawke w odpowiednich tagach w poście (jesli kod nie jest przydługawy)
Co do tematu.
Musisz sobie zrobić zmienną, która Ci trzyma info o tym jaki skin ma gracz. I wtedy w curweapon robisz switcha z read_data i podmieniasz model. Ewentualnie możesz skorzystać z lepszej metody, którą wstawiam do tego posta. Mój kod podmienia modele, ale ideę powinieneś załapać.
#include <amxmodx> #include <cstrike> #include fakemeta #include hamsandwich #define m_pPlayer 41 public plugin_init() { register_plugin("Modele", "1.0", "riviT") RegisterHam(Ham_Item_Deploy, "weapon_ak47", "fwHamItemDeployPost", 1) RegisterHam(Ham_Item_Deploy, "weapon_m4a1", "fwHamItemDeployPost", 1) RegisterHam(Ham_Item_Deploy, "weapon_awp", "fwHamItemDeployPost", 1) } public plugin_precache() { precache_model("models/vip/v_ak47vip.mdl"); precache_model("models/vip/v_m4a1vip2.mdl"); precache_model("models/vip/v_awp.mdl"); } public fwHamItemDeployPost(ent) { static id; id = get_pdata_cbase(ent, m_pPlayer, 4); if(!is_user_alive(id)) return; if(get_user_flags(id) & ADMIN_LEVEL_H){ //vip switch(cs_get_weapon_id(ent)) { case CSW_M4A1: set_pev(id, pev_viewmodel2, "models/vip/v_m4a1vip2.mdl") case CSW_AK47: set_pev(id, pev_viewmodel2, "models/vip/v_ak47vip.mdl") case CSW_AWP: set_pev(id, pev_viewmodel2, "models/vip/v_awp.mdl") } }else{ //zwykly gracz switch(cs_get_weapon_id(ent)) { case CSW_M4A1: set_pev(id, pev_viewmodel2, "models/vip/v_m4a1vip2.mdl") case CSW_AK47: set_pev(id, pev_viewmodel2, "models/vip/v_ak47vip.mdl") case CSW_AWP: set_pev(id, pev_viewmodel2, "models/vip/v_awp.mdl") } } }
Napisano 07.03.2019 18:14
Coś takiego?
Napisano 08.03.2019 16:01
Napisano 09.03.2019 08:18
@Ref...
Napisano 09.03.2019 23:48
Dobra dałem sobie rade z modelami... Mógłby ktoś powiedzieć jak ustawić żeby gracz płacił za ten model chodzi mi tylko gdzie to wstawić:
if(!sprawdz(id, <tutaj ma być cena za skin>)) return PLUGIN_HANDLED;
Próbowałem zrobić to tak:
new const noz_cena[][32]= { "0", "1", "1" };
I tu by były ceny za noże i poźniej zrobić tak:
for(new i = 0; i<sizeof noz_cena; i++){ if(!sprawdz(id, noz_cena[i])) return PLUGIN_HANDLED;
Ale jest błąd podczas kompilacji właśnie w tym:
Argument type mismatch (argument 2)
Użytkownik Black004 edytował ten post 09.03.2019 23:51
Napisano 10.03.2019 01:50
Napisano 10.03.2019 08:48
Pokaż tą funkcje Sprawdz
public sprawdz(id,jbpack){ if (ilosc_jbpack[id] >= jbpack){ ilosc_jbpack[id] -= jbpack return true; } if(ilosc_jbpack[id] < jbpack) { ColorChat(id, RED, "NIE MASZ TYLE DOLARÓW ABY TO KUPIĆ!"); return false; } return PLUGIN_CONTINUE; }
Napisano 10.03.2019 16:25
new const noz_cena[]= { 0, 1, 1 };
Napisano 10.03.2019 16:56
Teraz się powielają opcje z menu tak:
I gdzie powinna być cena jest jak widać "T$models/v_knife.mdl"
Kod:
public SkinKNIVE(id) { { new skin[64] new menu = menu_create("\wWybierz nóż","handle_menuKNIVE") for(new i = 0; i<sizeof noz_skin; i++) for(new i = 0; i<sizeof noz_cena; i++) { formatex(skin, charsmax(skin), "%s%s \w| Cena: \w%s", (zmiana1[id]==i) ? "\r":"\y", noz_skin[i], noz_cena[i]); menu_additem(menu, skin); } menu_setprop(menu,MPROP_EXIT,MEXIT_ALL) menu_display(id,menu,0) return PLUGIN_HANDLED; } } public handle_menuKNIVE(id, menu, item){ if (item == MENU_EXIT){ menu_destroy(menu); return PLUGIN_HANDLED; } for(new i = 0; i<sizeof noz_cena; i++){ if(!sprawdz(id, noz_cena[i])) return PLUGIN_HANDLED; } zmiana1[id] = item; menu_destroy(menu); return PLUGIN_HANDLED; }
Użytkownik Black004 edytował ten post 10.03.2019 16:58
Napisano 10.03.2019 17:21
Cena: \w%s
->
Cena: \w%i
Bo cena nie jest juz stringiem a intem
Napisano 10.03.2019 17:45
Cena: \w%s->
Cena: \w%iBo cena nie jest juz stringiem a intem
Dzięki, działa. Natomiast dalej powiela się menu chodzi mi o to że ciągle się wyświetla to samo co w poprzednim poście, ale ceny już działą
A powiesz jeszcze jak zrobić informacje pomyślnie kupiłeś <tutaj nazwa skina>, lub kiedy gracz już go miał to Pomyślnie założyłeś <nazwa skina>
Użytkownik Black004 edytował ten post 10.03.2019 17:47
Napisano 10.03.2019 19:19
masz dwie pętle, są zbedne, wystarczy jedna
for(new i = 0; i<sizeof noz_skin; i++) for(new i = 0; i<sizeof noz_cena; i++)
->
for(new i = 0; i<sizeof noz_skin; i++)
+poformatuj sobie ładnie kod, bo bolą oczy jak się patrzy na niego
Napisano 13.03.2019 11:03
masz dwie pętle, są zbedne, wystarczy jedna
for(new i = 0; i<sizeof noz_skin; i++) for(new i = 0; i<sizeof noz_cena; i++)->
for(new i = 0; i<sizeof noz_skin; i++)+poformatuj sobie ładnie kod, bo bolą oczy jak się patrzy na niego
Dzięki, działa.
Skapnąłem się teraz że podczas kupowania skina potrzeba tyle kasy ile jest w tym:
new const noz_cena[]= { 0, 11, 2 };
Czyli jak wybiorę obojętnie jaki chce skin do kosy to i tak potrzeba 0+11+2 i to będzie 13. Ale zabiera nam tyle ile wynosi cena skina jakiego wybierzemy, ale za to żeby go kupić potrzebujemy 13 powiedzmy na to dolarów. A jak nie mamy tych 13 dolarów to plugin nam go w ogóle nie da jak to naprawić? Dam tu kawałek kodu pewnie tu jest błąd.
for(new i = 0; i<sizeof noz_cena; i++){ if(!sprawdz(id, noz_cena[i])) return PLUGIN_HANDLED;
Jakby co zmienna która pobiera jaki skin wybraliśmy to zmiana1[id]
Napisano 13.03.2019 11:09
Jeżeli to ten public po wybraniu skina to zamień na to:
public handle_menuKNIVE(id, menu, item) { if (item == MENU_EXIT){ menu_destroy(menu); return PLUGIN_HANDLED; } if(!sprawdz(id, noz_cena[item])){ client_print(id, print_chat, "Nie stac cie na tego skina."); return PLUGIN_HANDLED; } client_print(id, print_chat, "Kupiles skin: %s", noz_skin[item]); zmiana1[id] = item; menu_destroy(menu); return PLUGIN_HANDLED; }
Powinno pokazać też nazwę wybranego/kupionego skina.
0 użytkowników, 1 gości, 0 anonimowych