pętla i oraz tablice dwuwymiarowe
mlekovita
07.02.2020
Cześć, robię sobie taki plugin na "Prefixy" inaczej rangi nadawane poprzez punkty ELO
i posiadam taką tablice
new const prefixy[][] = { {0, "Szeregowy"}, {60, "Starszy Szeregowy"}, {90, "Chorazy"}, {190, "Kapral"}, {240, "Admiral"}, {285, "Major"}, {333, "General"} }
No i chce zrobic liste rang
for(new i; i < sizeof(prefixy); i++) { formatex(ranga, 127, "%s od %i do %i", prefixy[i][1], prefixy[i][0], prefixy[i][0]+1); menu_additem(menu, ranga, "", 0); }
Wszystko pięknie działa pokazuje nazwe prefixu, od ilu jest ELO ale nie pisze DO ilu jest (W sensie żeby pokazywało do liczby w nastepnej linijce np. 0-60, 60-90 itd.) . W jaki sposób mógłbym to zrobić najprościej?
Robiin
07.02.2020
Kiedy mieszasz typy danych w tablicach, musisz patrzeć na każde miejsce jako tablice (w tym przypadku). Więc w pierwszej komórce trzymasz int (choć oznaczony jako tablica jednoelementowa), a w drugiej chary, tak więc potrzebujesz dostać się do 0-owego indeksu tej tablicy.
Also, tablica w tym przypadku powinna być trójwymiarowa.
Edited by Wicked., 07.02.2020 23:10.
Rivit
07.02.2020
A też dorzuce coś od siebie. Osobiście używam takiego stylu:
Kosmetyka
Edited by TibacK, 07.02.2020 23:36.
mlekovita
08.02.2020
dzięki chlopaki pomogliscie tylko teraz mam dziwne wrazenie że prefixy nie idą w parze z punktami.
No bo po wejsciu na serwer przy 0 pkt daje od razu starszy szeregowy
mlekovita
08.02.2020
Podsyłam kod jakby ktoś nie wiedział o co chodzi
public sprawdzrange(id) { if((stats[0] >= prefixy[ranga[id]][0][0]) && (ranga[id] < 7)) ranga[id]++ else if(stats[0] < prefixy[ranga[id]][0][0]) { if(ranga[id] > 1) ranga[id]-- } }
i wywolanie tej funkcji
prefixy[ranga[id]][1]
Wtedy mi pokazuje jak mam 0 fragów Starszy szeregowy a jak mam 60 fragów to Chorazy
Wcześniej przed zmianą (z tablicą dwuwymiarową) to nie było problemu
Edited by mlekovita, 08.02.2020 14:19.
Robiin
08.02.2020
a właściwie dla Twojego kodu:
Edited by Wicked., 08.02.2020 14:55.