←  Prośby o kompilacje pluginów / Problemy z kompilacją

AMXX.pl: Support AMX Mod X i SourceMod

»

Dziwne błędy, diablo mod

  • +
  • -
1stADXionC - zdjęcie 1stADXionC 23.08.2023

Mam problem z podmianą kodu:

 

Z:

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)
}

Na

new Time[128]
if (godziny>= 1)
{
format(,"%d godzin. ",godziny)
}
if (minuty>= 1)
{
format(,"%d minut. ", minuty)
}
Blędy:

Error: Invalid expression, assumed zero on line 9307Warning: Expression has no effect on line 9307
Warning: Expression has no effect on line 9307
Error: Expected token: ";", but found ")" on line 9307
Error: Invalid expression, assumed zero on line 9307
Error: Too many error messages on one line on line 9307

Druga kwestia:

if(player_skill[id] == NiekonczonaAmunicja && clip == 0)
{
refill_ammo(id,0)
} 
Błędy:
Error: Number of arguments does not match definition on line 1139

Trzecia kwestia:

new Race[ILE_KLAS][9] = { "Brak", "Czarodziej", "Druid", "Paladyn", "Zabojca", "Nekromanta", "Wojownik", "Ninja", "Lowca"} 
Błędy:
Error: Initialization data exceeds declared size on line 273
 
 

Załączone pliki

  • Załączony plik  diablo.sma   259,61 KB   13 Ilość pobrań
Odpowiedz

  • +
  • -
PANDA_2zl - zdjęcie PANDA_2zl 24.08.2023

1. Źle używasz funkcji https://amxx.pl/doku...ja/f1366/format
2. Za mało informacji podajesz przy którejś zmiennej, popatrz po deklaracjach zmiennych
3. Przekraczasz rozmiar tablicy, z drugiego nawiasu wyrzuć 9
Odpowiedz

  • +
  • -
1stADXionC - zdjęcie 1stADXionC 24.08.2023

1. Źle używasz funkcji https://amxx.pl/doku...ja/f1366/format

 

Teraz wykombinowałem takie cos:

 

public show_menu_runa(id)
{
new czasjaki,minuty,godziny 
czasjaki = player_wytrzymalosc[id]
godziny = czasjaki/3600
minuty=  (player_wytrzymalosc[id]-godziny*3600)/60


new Time[128]
if (godziny>= 1)
{
format(Time,"%d godzin. ",godziny)
}
if (minuty>= 1)
{
format(Time,"%d minut. ", minuty)
}


new MyMenu=menu_create("Menu","runa_menu");


new aktywna=menu_makecallback("aktywna_func");
new nieaktywna=menu_makecallback("nieaktywna_func");


menu_additem(MyMenu,"\yRuna:\w %s ^n\yWytrzymalosc:\w %d godzin %d minut^n\yPoziom rozwoju:\w^n^n\ySpecyfikacja;\d", runa_info[id], Time);


menu_additem(MyMenu,"\wWyrzuc rune","",0,player_runa[id]?aktywna:nieaktywna);
menu_additem(MyMenu,"\wUlepsz rune\r [\y 150 Zlota\r ]","",0,player_runa[id]?aktywna:nieaktywna);
menu_additem(MyMenu,"\wPrzedluz dzialanie\r [\y 65 Zlota\r ]","",0,player_runa[id]?aktywna:nieaktywna);


menu_setprop(MyMenu,MPROP_EXITNAME,"Wyjscie");


menu_setprop(MyMenu,MPROP_BACKNAME,"Wroc")
menu_setprop(MyMenu,MPROP_NEXTNAME,"Nastepne")


menu_display(id, MyMenu,0);
return PLUGIN_HANDLED;
}

Error: Argument type mismatch (argument 2) on line 9293
Error: Argument type mismatch (argument 2) on line 9297
Error: Argument type mismatch (argument 4) on line 9305
 
 
 
Odpowiedz

  • +
  • -
Robiin - zdjęcie Robiin 24.08.2023

Bo wciąż źle używasz funkcji format. Przeczytaj co jest napisane, policz do 4 i dopiero pisz kod - inaczej jesteś w błędnym kole.

Odpowiedz

  • +
  • -
1stADXionC - zdjęcie 1stADXionC 24.08.2023

Bo wciąż źle używasz funkcji format. Przeczytaj co jest napisane, policz do 4 i dopiero pisz kod - inaczej jesteś w błędnym kole.

 

dzięki ! ;)

 

Teraz zostało mi najgorsze:

Linia: new Race[ILE_KLAS][9] = { "Brak", "Czarodziej", "Druid", "Paladyn", "Zabojca", "Nekromanta", "Wojownik", "Ninja", "Lowca"} 
Error: Initialization data exceeds declared size on line 273

Załączone pliki

  • Załączony plik  diablo.sma   229,93 KB   17 Ilość pobrań
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 25.08.2023

Linia: new Race[ILE_KLAS][] = { "Brak", "Czarodziej", "Druid", "Paladyn", "Zabojca", "Nekromanta", "Wojownik", "Ninja", "Lowca"} 
Odpowiedz

  • +
  • -
1stADXionC - zdjęcie 1stADXionC 25.08.2023

Linia: new Race[ILE_KLAS][] = { "Brak", "Czarodziej", "Druid", "Paladyn", "Zabojca", "Nekromanta", "Wojownik", "Ninja", "Lowca"} 

 

Niestety pojawia się w tedy błąd:

Error: Multi-dimensional arrays must be fully initialized on line 273
Odpowiedz

  • +
  • -
PANDA_2zl - zdjęcie PANDA_2zl 26.08.2023

To zrób
new Race[ILE_KLAS][][] = { "Brak", "Czarodziej", "Druid", "Paladyn", "Zabojca", "Nekromanta", "Wojownik", "Ninja", "Lowca"}
Odpowiedz

  • +
  • -
1stADXionC - zdjęcie 1stADXionC 26.08.2023

To zrób

new Race[ILE_KLAS][][] = { "Brak", "Czarodziej", "Druid", "Paladyn", "Zabojca", "Nekromanta", "Wojownik", "Ninja", "Lowca"}

Niestety dalej wali błędami, caly czas zastanawiam się co może byc nie tak skoro wszystko związane "ILE_KLAS" bylo robione ba zasadzaie skopiuj/wklej z diablo od stacha.
Odpowiedz

  • +
  • -
PANDA_2zl - zdjęcie PANDA_2zl 26.08.2023

Spróbuj jeszcze z dwoma pustymi nawiasami
Odpowiedz

  • +
  • -
Robiin - zdjęcie Robiin 26.08.2023

Każde "[]" to kolejny wymiar tablicy. Napis jest tablicą. Przechowujesz tablicę napisów - czyli dwa wymiary. Określanie wielkości tablicy odgórnie jest zbędne, jeśli nie jest wykorzystywane później do niczego innego - jeśli jest, to po prostu popraw "[ILE_KLAS]" na "[ILE_KLAS + 1]" (bo zakładam, że rozmiar się nie zgadza przez to, że masz tam jeszcze "Brak").

 

Więc

new Race[ILE_KLAS + 1][] = { "Brak", "Czarodziej", "Druid", "Paladyn", "Zabojca", "Nekromanta", "Wojownik", "Ninja", "Lowca"} 

lub

new Race[][] = { "Brak", "Czarodziej", "Druid", "Paladyn", "Zabojca", "Nekromanta", "Wojownik", "Ninja", "Lowca"} 
Odpowiedz

  • +
  • -
1stADXionC - zdjęcie 1stADXionC 27.08.2023

 

Każde "[]" to kolejny wymiar tablicy. Napis jest tablicą. Przechowujesz tablicę napisów - czyli dwa wymiary. Określanie wielkości tablicy odgórnie jest zbędne, jeśli nie jest wykorzystywane później do niczego innego - jeśli jest, to po prostu popraw "[ILE_KLAS]" na "[ILE_KLAS + 1]" (bo zakładam, że rozmiar się nie zgadza przez to, że masz tam jeszcze "Brak").

new Race[][] = { "Brak", "Czarodziej", "Druid", "Paladyn", "Zabojca", "Nekromanta", "Wojownik", "Ninja", "Lowca"} 

 

Dzięki wielkie! Szczególnie za wytłumacznie. Nie wiem czemu po naprawie pokazały się nowe błędy.

 

Error: Array must be indexed (variable "button") on line 1263
Error: Number of arguments does not match definition on line 1538
Error: Symbol already defined: "refill_ammo" on line 8087
Error: Number of arguments does not match definition on line 8133
 
Jeszcze nie wiem o co chodzi z tym:
 
Linia: set_dhudmessage(100, 200, 55, -1.0, 0.40, 0, 3.0, 2.0, 0.2, 0.3, 5)
Warning: Tag mismatch on line 2644

 

Załączone pliki

  • Załączony plik  diablo.sma   229,6 KB   20 Ilość pobrań

Użytkownik 1stADXionC edytował ten post 27.08.2023 08:04
Odpowiedz

  • +
  • -
Engi - zdjęcie Engi 27.08.2023

Czym Ty to kompilujesz, że masz tylko 4 błędy?

 

Spoiler

 

Patrzyłem w kod, masz po kilka stocków o takiej samej nazwie z różnymi parametrami, powywalane funkcje, skopiowany kod wybiórczo po kilka linijek zamiast całość i ogólnie syf kiła i mogiła w kodzie. 
Prościej byłoby zacząć od nowa z czystym kodem i testować od razu co się dodaje.
Odpowiedz

  • +
  • -
1stADXionC - zdjęcie 1stADXionC 27.08.2023

 

Czym Ty to kompilujesz, że masz tylko 4 błędy?

 

Spoiler

 

Patrzyłem w kod, masz po kilka stocków o takiej samej nazwie z różnymi parametrami, powywalane funkcje, skopiowany kod wybiórczo po kilka linijek zamiast całość i ogólnie syf kiła i mogiła w kodzie. 
Prościej byłoby zacząć od nowa z czystym kodem i testować od razu co się dodaje.

 

 

Aktualny wynik z amxx studio:

 

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2013 ITB CompuPhase, AMX Mod X Team


Error: Array must be indexed (variable "button") on line 1264
Warning: Tag mismatch on line 1704
Warning: Tag mismatch on line 1914
Warning: Tag mismatch on line 2645
Warning: Tag mismatch on line 3061
Warning: Tag mismatch on line 3523
Warning: Tag mismatch on line 3535
Warning: Tag mismatch on line 3565
Warning: Tag mismatch on line 3715
Warning: Tag mismatch on line 3723
Warning: Tag mismatch on line 3732
Warning: Tag mismatch on line 3741
Warning: Tag mismatch on line 3883
Warning: Tag mismatch on line 4815
Warning: Symbol is assigned a value that is never used: "user_team" on line 4823
Warning: Tag mismatch on line 4829
Warning: Tag mismatch on line 5250
Warning: Tag mismatch on line 5867
Warning: Tag mismatch on line 5971
Warning: Tag mismatch on line 6079
Warning: Tag mismatch on line 6122
Warning: Tag mismatch on line 6178
Warning: Tag mismatch on line 6244
Warning: Tag mismatch on line 6361
Warning: Tag mismatch on line 6366
Warning: Tag mismatch on line 6413
Warning: Tag mismatch on line 6741
Warning: Tag mismatch on line 7395
Warning: Tag mismatch on line 7516
Warning: Tag mismatch on line 7525
Warning: Tag mismatch on line 7613
Warning: Tag mismatch on line 7620
Warning: Tag mismatch on line 7760
Warning: Tag mismatch on line 7813
Warning: Tag mismatch on line 7856
Warning: Tag mismatch on line 7863
Warning: Tag mismatch on line 7910
Warning: Expression has no effect on line 7957
Error: Symbol already defined: "refill_ammo" on line 8088
Warning: Tag mismatch on line 8972
Warning: Symbol is never used: "desc_skill" on line 9079
Warning: Symbol is never used: "player_huddelay" on line 9079


2 Errors.
Could not locate output file C:\Users\klaudia\Downloads\diablo.amx (compile failed).

Załączone pliki

  • Załączony plik  diablo.sma   229,78 KB   18 Ilość pobrań
Odpowiedz

  • +
  • -
1stADXionC - zdjęcie 1stADXionC 27.08.2023

Nie mogłem edytować.

Został ostatni błąd:

 

Linia:

if((button & IN_RELOAD && !(oldbutton & IN_RELOAD) && !(button & IN_ATTACK)) || !clip)

Błąd:

Error: Array must be indexed (variable "button") on line 1263
Odpowiedz

  • +
  • -
Robiin - zdjęcie Robiin 27.08.2023

Istnieje zmienna globalna 'button', co koliduje z 'button' na linijce 1263. Przerób tą zmienną w CmdStart na coś innego, na przykład 'localButton', z użyciem get_user_button.

Odpowiedz

  • +
  • -
1stADXionC - zdjęcie 1stADXionC 27.08.2023

Istnieje zmienna globalna 'button', co koliduje z 'button' na linijce 1263. Przerób tą zmienną w CmdStart na coś innego, na przykład 'localButton', z użyciem get_user_button.

 

Dobra, dzięki wielkie, teraz błędów nie ma ale czy dobrze to zrobiłem?

Cała funkcja:

 

public CmdStart(id, uc_handle)
{
if(!is_user_alive(id) || player_skill[id] != SzybszePrzeladowanie)
return FMRES_IGNORED;


new clip, ammo, weapon = get_user_weapon(id, clip, ammo), localButton, oldbutton, newbutton;


if(maxClip[weapon] == -1 || !ammo)
return FMRES_IGNORED;


if((localButton & get_user_button(id) & IN_RELOAD && !(oldbutton & get_user_button(id) & IN_RELOAD) && !(newbutton & get_user_button(id) & IN_ATTACK)) || !clip)
{
cs_set_user_bpammo(id, weapon, ammo-(maxClip[weapon]-clip));
new new_ammo = (maxClip[weapon] > ammo)? clip+ammo: maxClip[weapon]
set_user_clip(id, new_ammo);
}


return FMRES_IGNORED;
}
I co jest nie tak, że pokazuje w tej linii ostrzeżenie:
 
Warning: Tag mismatch on line 1706
set_dhudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2)
Odpowiedz

  • +
  • -
1stADXionC - zdjęcie 1stADXionC 27.08.2023

Zostało tylko to:

 

Warning: Symbol is assigned a value that is never used: "user_team" on line 4824
Warning: Symbol is never used: "info" on line 4890
Warning: Expression has no effect on line 7958
Warning: Symbol is never used: "desc_skill" on line 9082


4 Warnings.
 

Załączone pliki

  • Załączony plik  diablo.sma   229,48 KB   17 Ilość pobrań
Odpowiedz