Problem z rejestracją cvaru
Portek
21.06.2009
Jako że stanowisko i profil nauczania zobowiązuje postanowiłem troszkę pouczyć się pawn'a, zabrałem się za modyfikację i naprawę pluginu odpowiedzialnego za rejestrację nicku i tu zaczyna się problem, próbuję dodać nowe cvary, tak aby za każdym razem nie trzeba było kompilować pluginu od nowa, więc
Wszystko było by ok, gdyby nie fakt że kompilator sypie błędami:
Gdzie pies pogrzebany?
public plugin_init( ) { register_concmd( "amx_register", "CmdRegister", ADMIN_ALL ) mysql_init( ) } mysql_init( ) { new szHost[ 64 ] new szUser[ 64 ] new szPass[ 64 ] new szDtbe[ 64 ] szHost = register_cvar("amx_name_host", "127.0.0.1") szPass = register_cvar("amx_name_pass", "haslo") szUser = register_cvar("amx_name_user", "uzytkownik") szDtbe = register_cvar("amx_name_db", "bazaDanych") new Handle:SqlTpl = SQL_MakeDbTuple( szHost, szUser, szPass, szDtbe ) MySQL = SQL_Connect( SqlTpl, iError, szError, sizeof ( szError ) - 1) [...] }
Wszystko było by ok, gdyby nie fakt że kompilator sypie błędami:
Warning: Loose indentation on line 23 Error: Array must be indexed (variable "szHost") on line 23 Error: Array must be indexed (variable "szPass") on line 24 Error: Array must be indexed (variable "szUser") on line 25 Error: Too many error messages on one line on line 25 Compilation aborted. 4 Errors. Could not locate output file C:Documents and SettingsMichałPulpitAMX Mod XamxxstudioUntitled.amx (compile failed).
Gdzie pies pogrzebany?

mgr inż. Pavulon
21.06.2009
deklarujesz szHost jako tablicę:Gdzie pies pogrzebany?
a potem odwołujesz się do niej jak do zwykłego int'a:new szHost[ 64 ]
Więc albo dajesz:szHost = register_cvar("amx_name_host", "127.0.0.1")
new szHostalbo:
szHost[0] = register_cvar("amx_name_host", "127.0.0.1")Ale raczej to pierwsze. Nie wiem po co ci te tablice. Pewnie myślisz że register_cvar zwraca wartość cvar'a, ale to zwraca wskaźnik CVAR'a do którego można odwołać się poprzez get_pcvar_(...).