Problem z opisem perku ( runy )
1stADXionC
09.06.2016
Witam, zrobiłem menu + perk na czas lecz:
- Czas się w ogóle nie zmienia,
- w menu działa tylko opcja " wyjście "
- Oraz nie wyświetla całego menu
Proszę o pomoc w rozwiązaniu problemu.
public OpisRuny(id, runa, wartosc) { hud_znika[id]=1; new opis_runy[MAX_WIELKOSC_OPISU]; new losowa_wartosc[15]; if(wartosc > -1) num_to_str(wartosc, losowa_wartosc, 14); else format(losowa_wartosc, charsmax(losowa_wartosc), "%i-%i", min_wartosci_runy[runa], max_wartosci_runy[runa]); format(opis_runy, charsmax(opis_runy), opisy_runy[runa]); replace_all(opis_runy, charsmax(opis_runy), "LW", losowa_wartosc); new czasjaki,minuty,godziny czasjaki = wytrzymalosc_runy[id] godziny = czasjaki/3600 minuty= (wytrzymalosc_runy[id]-godziny*3600)/60 new Time[128], len1 = 0 if (godziny>= 1) { len1 += format(Time[len1], 127 -len1, "%d godzin. ",godziny) } if (minuty>= 1) { len1 += format(Time[len1], 127 -len1, "%d minut. ", minuty) } new tytul[64], ulepszanie[64], przedluzanie[64], wyrzucanie[128]; format(tytul, charsmax(tytul), "\yRuna:\w %s^n\yCzas Do Konca:\w %s^n\yPoziom rozwoju:\w 1^n\ySpecyfikacja:\d %s", nazwy_runy[runa], Time, opis_runy); format(ulepszanie, charsmax(ulepszanie), "\yUlepsz rune\r [\y 150 Zlota\r ]"); format(przedluzanie, charsmax(przedluzanie), "\yPrzedluz dzialanie \r [\y 60 Zlota\r ]"); format(wyrzucanie, charsmax(wyrzucanie), "\yWyrzuc rune"); new menu = menu_create(tytul, "runa_handle"); menu_additem(menu, ulepszanie); menu_additem(menu, przedluzanie); menu_addblank(menu, 0); menu_additem(menu, wyrzucanie); menu_setprop(menu, MPROP_NUMBER_COLOR, "\w"); menu_setprop(menu, MPROP_EXITNAME, "Wyjdz"); menu_display(id, menu); }
Użytkownik 1stADXionC edytował ten post 09.06.2016 19:13
AwIlL^^
18.06.2016
Tytul[64] zamien na tytul[128]
Jeśli chodzi o czas to wytrzymalosc_runy[id] powinno oprócz samej wartości dodaj coś takiego: get_gametime()
A czasjaki powinien wyglądać tak:
czasjaki=wytrzymalosc_runy[id]-get_gametime()
Dzialanie menu jest w funkcji, której nie pokazałeś, wytrzymalosc runy też jest w innej funkcji i musisz tam zmienić tak jak napisałem
Jeśli wstawisz obie funkcje i będę na kompie to pomogę ci bardziej szczegółowo
Jeśli chodzi o czas to wytrzymalosc_runy[id] powinno oprócz samej wartości dodaj coś takiego: get_gametime()
A czasjaki powinien wyglądać tak:
czasjaki=wytrzymalosc_runy[id]-get_gametime()
Dzialanie menu jest w funkcji, której nie pokazałeś, wytrzymalosc runy też jest w innej funkcji i musisz tam zmienić tak jak napisałem
Jeśli wstawisz obie funkcje i będę na kompie to pomogę ci bardziej szczegółowo
1stADXionC
19.06.2016
Łap:
public OpisRuny(id, runa, wartosc) { hud_znika[id]=1; new opis_runy[MAX_WIELKOSC_OPISU]; new losowa_wartosc[15]; if(wartosc > -1) num_to_str(wartosc, losowa_wartosc, 14); else format(losowa_wartosc, charsmax(losowa_wartosc), "%i-%i", min_wartosci_runy[runa], max_wartosci_runy[runa]); format(opis_runy, charsmax(opis_runy), opisy_runy[runa]); replace_all(opis_runy, charsmax(opis_runy), "LW", losowa_wartosc); new czasjaki,minuty,godziny czasjaki = wytrzymalosc_runy[id]-get_gametime() godziny = czasjaki/3600 minuty= (wytrzymalosc_runy[id]-godziny*3600)/60 new Time[128] if (godziny>= 1) { format(Time, charsmax(Time), "%d godzin ",godziny) } if (minuty>= 1) { format(Time, charsmax(Time), "%d minut ", minuty) } new tytul[228], ulepszanie[64], przedluzanie[64], wyjscie[64]; format(tytul, charsmax(tytul), "\yRuna:\w %s^n\yCzas Do Konca:\w %d godziny %d minut^n\yPoziom rozwoju:\w 1^n\ySpecyfikacja:\w %s", nazwy_runy[runa], godziny, minuty, opis_runy); format(ulepszanie, charsmax(ulepszanie), "\wUlepsz Rune\r [\y 15 Zlota\r ]"); format(przedluzanie, charsmax(przedluzanie), "\wPrzedluz Zywotnosc\r [\y 25 Zlota\r ]"); format(wyjscie, charsmax(wyjscie), "\wWyjdz"); new menu = menu_create(tytul, "runa_handle"); menu_additem(menu, ulepszanie); menu_additem(menu, przedluzanie); menu_addblank(menu, 2); menu_additem(menu, wyjscie); menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER); menu_setprop(menu, MPROP_NUMBER_COLOR, "\y"); menu_display(id, menu); } public runa_handle(id, menu, item) { hud_znika[id]=0; if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_CONTINUE; } new zloto = cod_get_user_zloto(id); switch(item) { case 0: { KomendaOpisRuny(id) } case 1: { if(runa_gracza[id]) { if(zloto >= 25) { new uszkodzenia_runy = wytrzymalosc_runy[id]; if(uszkodzenia_runy+3600>=7200) { wartosc_runy_gracza[id] = 7200; ColorChat(id, GREEN, "[COD:MW33]^x01 Twoja runa jest w pelni naprawiony!"); } else { wartosc_runy_gracza[id] = uszkodzenia_runy+3600; ColorChat(id, GREEN, "[COD:MW3]^x01 Kupiles^x03 +20^x01 wytrzymalosci perku!"); ColorChat(id, GREEN, "[COD:MW3]^x01 Wytrzymalosc twojego perku wynosi^x03 %i", wytrzymalosc_runy[id]); } zloto -= 25; } else ColorChat(id, GREEN, "[COD:MW3]^x01 Masz za malo zlota!"); } else ColorChat(id, GREEN, "[COD:MW3]^x01 Najpierw zdobadz rune!"); } case 2: { KomendaOpisRuny(id); } } return PLUGIN_HANDLED; }
1stADXionC
20.06.2016
public UstawRuny(id, runa, wartosc, pokaz_info) { if(!ilosc_runy) return PLUGIN_CONTINUE; static obroty[33]; if(obroty[id]++ >= 5) { UstawRuny(id, 0, 0, 0); obroty[id] = 0; return PLUGIN_CONTINUE; } runa = (runa == -1)? random_num(1, ilosc_runy): runa; wartosc = (wartosc == -1 || min_wartosci_runy[runa] > wartosc || wartosc > max_wartosci_runy[runa])? random_num(min_wartosci_runy[runa], max_wartosci_runy[runa]): wartosc; new ret; new forward_handle = CreateOneForward(pluginy_runy[runa_gracza[id]], "runa_disabled", FP_CELL, FP_CELL); ExecuteForward(forward_handle, ret, id, runa); DestroyForward(forward_handle); runa_gracza[id] = 0; forward_handle = CreateOneForward(pluginy_runy[runa], "runa_enabled", FP_CELL, FP_CELL, FP_CELL); ExecuteForward(forward_handle, ret, id, wartosc, runa); DestroyForward(forward_handle); if(ret == 4) { UstawRuny(id, -1, -1, 1); return PLUGIN_CONTINUE; } ExecuteForward(runa_zmieniony, ret, id, runa, wartosc); if(ret == 4) { UstawRuny(id, -1, -1, 1); return PLUGIN_CONTINUE; } runa_gracza[id] = runa; wartosc_runy_gracza[id] = wartosc; if(runa_gracza[id]) { if(pokaz_info) { ColorChat(id, GREEN, "[COD:MW3]^x01 Zdobyles Rune:^x04 %s", nazwy_runy[runa_gracza[id]]); } wytrzymalosc_runy[id] = 7200 } obroty[id] = 0; return PLUGIN_CONTINUE; }