Dziwne błędy, diablo mod
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
PANDA_2zl
24.08.2023
2. Za mało informacji podajesz przy którejś zmiennej, popatrz po deklaracjach zmiennych
3. Przekraczasz rozmiar tablicy, z drugiego nawiasu wyrzuć 9
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
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.
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
DarkGL
25.08.2023
Linia: new Race[ILE_KLAS][] = { "Brak", "Czarodziej", "Druid", "Paladyn", "Zabojca", "Nekromanta", "Wojownik", "Ninja", "Lowca"}
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
PANDA_2zl
26.08.2023
new Race[ILE_KLAS][][] = { "Brak", "Czarodziej", "Druid", "Paladyn", "Zabojca", "Nekromanta", "Wojownik", "Ninja", "Lowca"}
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.
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"}
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
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
Użytkownik 1stADXionC edytował ten post 27.08.2023 08:04
Engi
27.08.2023
Czym Ty to kompilujesz, że masz tylko 4 błędy?
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
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
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.
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; }
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)
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.