Skocz do zawartości
szogun

[Rozwiązane] expected token but found - error przy kompilacji

Rekomendowane odpowiedzi

Mam mały problem z kompilacją

 

stock int GetRandomSkin(int client, int index)
{
	int max = menuWeapons[g_iClientLanguage[client]][IsVipClient(client) ? RankSys_getClientRank(client) : 18][index].ItemCount;
	int random = GetRandomInt(2, max);
	char idStr[4];
	menuWeapons[g_iClientLanguage[client]][IsVipClient(client) ? RankSys_getClientRank(client) : 18][index].GetItem(random, idStr, sizeof(idStr));
	return StringToInt(idStr);
}

Dokładnie w tym tu jest problem

 

int max = menuWeapons[g_iClientLanguage[client]][IsVipClient(client) ? RankSys_getClientRank(client) : 18][index].ItemCount;

 

Cytat

// weapons/helpers.sp(44) : warning 213: tag mismatch
// weapons/helpers.sp(44) : error 001: expected token: ";", but found "["
// weapons/helpers.sp(44) : error 029: invalid expression, assumed zero
// weapons/helpers.sp(44) : warning 215: expression has no effect
// weapons/helpers.sp(44) : error 001: expected token: ";", but found "]"
// weapons/helpers.sp(44) : fatal error 189: too many error messages on one line

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Zamknij ten statement

IsVipClient(client) ? RankSys_getClientRank(client) : 18

W nawiasie

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
[IsVipClient(client) ? RankSys_getClientRank(client) : 18]

Tak mam zrobione , wcześniej nie miałem problemu z kompilacją tego przy takiej formie, czy tam nawet w podbny sposób też nie idzie skompilować tego

 

(IsVipClient(client) ? RankSys_getClientRank(client) : 18)

 

Edytowane przez szogun

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Teraz masz zamknięte to w indeksie tablicy, kwadratowe nawiasy oznaczają miejsce w tablicy. Miałem na myśli okrągłe nawiasy:

[(IsVipClient(client) ? RankSys_getClientRank(client) : 18)]

Gdyż bardzo możliwe że kompilator nie traktuje tego tak jak powinien bez nawiasu

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Tak też to nie nie daje

 

int max = menuWeapons[g_iClientLanguage[client]](IsVipClient(client) ? RankSys_getClientRank(client) : 18)[index].ItemCount;

 

Cytat

//// weapons.sp
//
// weapons/helpers.sp(44) : error 012: invalid function call, not a valid address
// weapons/helpers.sp(44) : error 001: expected token: ";", but found ")"
// weapons/helpers.sp(44) : error 029: invalid expression, assumed zero
// weapons/helpers.sp(44) : fatal error 189: too many error messages on one line

 

Edytowane przez szogun

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wysłałem Ci wzór, nie masz zamieniać nawiasów, masz wstawić dodatkowe

 

Nie tak

(IsVipClient(client) ? RankSys_getClientRank(client) : 18)

 

Tylko tak:

[(IsVipClient(client) ? RankSys_getClientRank(client) : 18)]

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

To też nie przejdzie już próbowałem tak , powtarza się bład z pierwszego postu

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Podaj w jaki sposób jest zadeklarowany menuWeapons

 

edit: Wina kompilatora? xD
image.thumb.png.e90c47b81c7a55e3f1e0fe83328084e0.png

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
15 minut temu, Vasto_Lorde napisał:

Podaj w jaki sposób jest zadeklarowany menuWeapons

 

edit: Wina kompilatora? xD
image.thumb.png.e90c47b81c7a55e3f1e0fe83328084e0.png

hmm dziwne użyłem dwóch rożnych pobranych i dwa rożne błędy

Przez Vasto_Lorde,

Nie podałeś w jaki sposób deklarujesz tę zmienną ^^

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie wiem czy ci o to chodzi bo to nie mój plugin tylko przenoszę zmiany do nowszej wersji nic innego ciekawego nie znalazłem odnośnie tego

Menu menuWeapons[MAX_LANG][sizeof(g_WeaponClasses)];

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ano właśnie. Problem jest taki, że deklaracja menuWeapons jest jako tablica dwu wymiarowa, to jest:

  • Menu menuWeapons[ pierwszy_wymiar ][ drugi_wymiar ];

A błąd

  • error 001: expected token: ";", but found "["

Wyraźnie mówi nam, że po drugim wymiarze spodziewa się ; czyli zamknięcia linii, znajduje natomiast [ - chęć skorzystania z trzeciego wymiaru, który nie istnieje

  • int max = menuWeapons[ g_iClientLanguage[client] - 1st ][ IsVipClient(client) ? RankSys_getClientRank(client) : 18 - 2nd ][ ??index - 3rd?? ].ItemCount;

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Przeanalizowałem kod i nie wiem jakim cudem ale zapomniałem zmiany właśnie w tym menuweapons zrobić

 

Menu menuWeapons[MAX_LANG][RANK_COUNT][sizeof(g_WeaponClasses)];

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wiadomość wygenerowana automatycznie

 

Pomoc udzielona

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

×
×
  • Dodaj nową pozycję...