Witam, mam pewny mały pomysł na coda tylko mam takie pytanie, czy dało by rade zrobić około 12 "slotów na perk", które by miały swoje odpowiedniki? W sensie było by te 12 configów i każdy slot na perk miałby swoje odpowiednio przypisane perki, dało by rade takie coś zrobić? Mógł by ktoś zapodać jakiś przykład jak by to rozkminiać jeśli się da.
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.
|

#1
Napisano 11.06.2018 14:26
#2
Napisano 11.06.2018 14:49
Pytasz o gotowy kod, czy o pomysł jak to napisać i napiszesz sam?
Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.
#3
Napisano 11.06.2018 16:47
Pytasz o gotowy kod, czy o pomysł jak to napisać i napiszesz sam?
Pomysł, myślałem o tym by zajrzeć w kod silnika który ma dwa perki i go "powielić" tylko nie mam zielonego pojęcia jak rozdzielić perki na swoje sloty
#4
Napisano 13.06.2018 14:43
ref, albo jak by zablokować bądź dać możliwość dropnięcia danego perku na dany slot bez plików .ini? Po prostu bym je dopisał normalnie do plugins-codmod, tylko nie wiem jak by je zablokować na dany slot.
#5
Napisano 13.06.2018 20:02
Wtedy w cod_register_perk dodać kolejny parametr, który by opisywał, na który slot jest dany perk.
I wtedy w UstawPerk zamiast z góry narzucać na jaki slot ma być perk, by normalnie losowało po czy wczytywało, na który slot jest i w ten slot wrzucało perka.
Wada tego rozwiązania:
Zdarzało by się czasem tak, że nie dawało by perku.
Potrzebujesz porad do amxx?? Pisz na [PW]
#6
Napisano 14.06.2018 14:24
Możesz dodać kolejną właściwość perku - slot.
Wtedy w cod_register_perk dodać kolejny parametr, który by opisywał, na który slot jest dany perk.
I wtedy w UstawPerk zamiast z góry narzucać na jaki slot ma być perk, by normalnie losowało po czy wczytywało, na który slot jest i w ten slot wrzucało perka.
Wada tego rozwiązania:
Zdarzało by się czasem tak, że nie dawało by perku.
A gdyby tak zduplikować kod ustawiania perku X razy i w każdym zmienić zmienne, w sensie pododawać do nich slot1, slot2 itd? Potem dodać nowe natywy, i w .sma perku ustalać z góry do którego slotu należy perk? Zadziałało by, czy ten sam problem by był jak opisałeś wyżej z nowym parametrem dla perku.
btw, od czego jest ten static "obroty"? Nigdy się nie zagłębiałem tak głęboko w kod, coda
public UstawPerk(id, perk, wartosc, pokaz_info) { if(!ilosc_perkow) return PLUGIN_CONTINUE; static obroty[33]; if(obroty[id]++ >= 5) { UstawPerk(id, 0, 0, 0); obroty[id] = 0; return PLUGIN_CONTINUE; } perk = (perk == -1)? random_num(1, ilosc_perkow): perk; wartosc = (wartosc == -1 || min_wartosci_perkow[perk] > wartosc || wartosc > max_wartosci_perkow[perk])? random_num(min_wartosci_perkow[perk], max_wartosci_perkow[perk]): wartosc; new ret; new forward_handle = CreateOneForward(pluginy_perkow[perk_gracza[id]], "cod_perk_disabled", FP_CELL, FP_CELL); ExecuteForward(forward_handle, ret, id, perk); DestroyForward(forward_handle); perk_gracza[id] = 0; forward_handle = CreateOneForward(pluginy_perkow[perk], "cod_perk_enabled", FP_CELL, FP_CELL, FP_CELL); ExecuteForward(forward_handle, ret, id, wartosc, perk); DestroyForward(forward_handle); if(ret == 4) { UstawPerk(id, -1, -1, 1); return PLUGIN_CONTINUE; } ExecuteForward(perk_zmieniony, ret, id, perk, wartosc); if(ret == 4) { UstawPerk(id, -1, -1, 1); return PLUGIN_CONTINUE; } perk_gracza[id] = perk; wartosc_perku_gracza[id] = wartosc; obroty[id] = 0; if(pokaz_info && perk_gracza[id]) client_print(id, print_chat, "[COD:MW] Zdobyles %s.", nazwy_perkow[perk_gracza[id]]); return PLUGIN_CONTINUE; }
Użytkownik chrisN edytował ten post 14.06.2018 14:25
#7
Napisano 14.06.2018 15:14
problem głównie polega na tym, że masz listę peków, które są na różne sloty i nie są posortowane.
szukanie perku na dany slot chwilę trwa, a jak zrobisz losowanie perku po czym wczytywanie slotu to może kilka razy wylosować slot, na którym masz już perk,
a takiego czegoś by się nie chciało i losowało kolejny raz.
i tak 5 razy jak wskazuje zmienna 'obroty'
Ta zmienna zapewnia, że funkcja wykona się maksymalnie 5 razy, w innym przypadku przeciążyłoby serwer.
A raczej takie założenie jest, że ma się wykonać maksymalnie 5 razy bo z tego co widzę z kodu nic nie wynika, że nie może wykonać się nawet milion razy... (źle napisany kod).
Potrzebujesz porad do amxx?? Pisz na [PW]
#8
Napisano 14.06.2018 16:45
problem głównie polega na tym, że masz listę peków, które są na różne sloty i nie są posortowane.
szukanie perku na dany slot chwilę trwa, a jak zrobisz losowanie perku po czym wczytywanie slotu to może kilka razy wylosować slot, na którym masz już perk,a takiego czegoś by się nie chciało i losowało kolejny raz.
i tak 5 razy jak wskazuje zmienna 'obroty'
Ta zmienna zapewnia, że funkcja wykona się maksymalnie 5 razy, w innym przypadku przeciążyłoby serwer.
A raczej takie założenie jest, że ma się wykonać maksymalnie 5 razy bo z tego co widzę z kodu nic nie wynika, że nie może wykonać się nawet milion razy... (źle napisany kod).
Z tego co widzę, to ta funkcja odpowiada za losowanie perku tak?
perk = (perk == -1)? random_num(1, ilosc_perkow): perk;
Jak by tak jednak zastosować te pliki .ini i losować perki między właśnie tymi plikami? I wtedy by się to jakoś ograniczyło if(perk = slot1){blalblabla}
#9
Napisano 14.06.2018 18:12
Teraz tak patrze na 2 sloty z perków cypisa, i tak myślę jak by to dodac do kodu perka by był możliwy do zdobycia tylko dla "lp = 1" mhm
#10
Napisano 14.06.2018 18:45
Próbowałem przez cod_set_user_perk(id, 0, 1) nadać wartość 1 dla lp ale coś źle robie bo nie działa ;/
Również z jednym lub większą ilością słów kluczowych: cod nowy
Paczka perkow.perki Napisany przez NAVIK, 24.03.2025 ![]() |
|
![]() |
|||
CoD Nowy
Plugin na małe mapy.Napisany przez NAVIK, 16.02.2025 ![]() |
|
![]() |
|||
CoD Nowy
Dodatkowe, osobne trzy linie opisu klasNapisany przez Rafii, 27.01.2025 ![]() |
|
![]() |
|||
CoD Nowy
problem z kompilacjaNapisany przez Anonimowy09, 21.01.2025 ![]() |
|
![]() |
|||
CoD Nowy
problem z HUDNapisany przez Anonimowy09, 10.01.2025 ![]() |
|
![]() |
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych