←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

pętla i oraz tablice dwuwymiarowe

  • +
  • -
mlekovita's Photo 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?

 

Quote

  • +
  • -
Komiks007's Photo Komiks007 07.02.2020

prefixy[i+1][0]

?

Quote

  • +
  • -
Robiin's Photo Robiin 07.02.2020

Spoiler

 

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.
Quote

  • +
  • -
Rivit's Photo Rivit 07.02.2020

A też dorzuce coś od siebie. Osobiście używam takiego stylu:

Spoiler

Kosmetyka


Edited by TibacK, 07.02.2020 23:36.
Quote

  • +
  • -
mlekovita's Photo 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

Quote

  • +
  • -
mlekovita's Photo 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.
Quote

  • +
  • -
Robiin's Photo Robiin 08.02.2020

Spoiler

 

a właściwie dla Twojego kodu:

Spoiler

Edited by Wicked., 08.02.2020 14:55.
Quote