16.02.2010, 03:05
Hey, what's up? I got an error in my script and i can't seem to figure it out.. I'm new to pawn and well if someone could help me out that would be awesome.
The script I'm starting. (My learning project)
THE ERROR
The Line that is causing this error
Any help is extremely appreciated. 
Thanks.
OFF TOPIC:
This wasn't posted by the original owner of this account, this is his brother.
The script I'm starting. (My learning project)
Код:
// This is a comment // uncomment the line below if you want to write a filterscript //#define FILTERSCRIPT #include <a_samp> #include <dini> #if !defined floatstr #define SLOTS 8 #define USERFILE "users.txt" #define dcmd(%1,%2,%3) if ((strcmp(%3, "/%1", true, %2+1) == 0)&&(((%3[%2+1]==0)&&(dcmd_%1(playerid,"")))||((%3[%2+1]==32)&&(dcmd_%1(playerid,%3[%2+2]))))) return 1 public OnFilterScriptInit() { print("\n--------------------------------------"); print(" Blank Filterscript by your name here"); print("--------------------------------------\n"); return 1; } //============================================================================ native Float:floatstr(const string[]); new player_level[SLOTS] = {-1, ...}; // Saves the player's level - the default // one is -1 for not connected, 0 for not logged in and others for logged in // All elements are set to -1 at start new player_names[SLOTS][MAX_PLAYER_NAME]; // Saves the player's names //============================================================================= public OnFilterScriptExit() { return 1; } #else main() { print("\n----------------------------------"); print(" Learning Stage v1.1 -Patrick Timbro"); print("----------------------------------\n"); } #endif public OnGameModeInit() { // Don't use these lines if it's a filterscript SetGameModeText("Blank Script"); AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); return 1; } public OnGameModeExit() { return 1; } public OnPlayerRequestClass(playerid, classid) { SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); return 1; } public OnPlayerConnect(playerid) { if(player_level[playerid] == -1) { // This check is done, because if a game mode changes, OnPlayerConnect is called for everyone connected and would reset all levels. player_level[playerid] = 0; // 0 is set -> player is connected, but not logged in. GetPlayerName(playerid,player_names[playerid],MAX_PLAYER_NAME); // Getting the playername and saving it return 1; } public OnPlayerDisconnect(playerid, reason) { player_level[playerid] = -1; // the -1 is set -> user isn't logged in anymore return 1; } public OnPlayerSpawn(playerid) { return 1; } public OnPlayerDeath(playerid, killerid, reason) { return 1; } public OnVehicleSpawn(vehicleid) { return 1; } public OnVehicleDeath(vehicleid, killerid) { return 1; } public OnPlayerText(playerid, text[]) { return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp("/mycommand", cmdtext, true, 10) == 0) { // Do something here return 1; } return 0; } dcmd(login,5,cmdtext); // dcmd('''command-name''' (without /), '''length of the command''', '''cmdtext'''); return 0; // This shows SERVER: Unkown Command if there is no command in this script for this, like /login } dcmd_login(playerid, params[]) { if(player_level[playerid] != 0) { // User is logged in SendClientMessage(playerid, 0xFFFFFFFF, "You are already logged in."); return 1; // We dont need to execute the rest of the function, do we? } else if(strlen(params) == 0) { // There is no password specified, only /login SendClientMessage(playerid, 0xFFFFFFFF, "Please use /login [password]"); return 1; } else if(adler32_hash(params) != dini_Int(USERFILE,player_names[playerid])) { // There's a password '''hash''' generated and compared to the one from the config file SendClientMessage(playerid, 0xFFFFFFFF, "Password mismatch."); return 1; } player_level[playerid] = 1; // Logged in successfully SendClientMessage(playerid, 0xFFFFFFFF, "You are now logged in. Have a nice day."); return 1; } adler32_hash(buf[]) { new length=strlen(buf); new s1 = 1; new s2 = 0; new n; for (n=0; n<length; n++) { s1 = (s1 + buf[n]) % 65521; s2 = (s2 + s1) % 65521; } return (s2 << 16) + s1; } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { return 1; } public OnPlayerExitVehicle(playerid, vehicleid) { return 1; } public OnPlayerStateChange(playerid, newstate, oldstate) { return 1; } public OnPlayerEnterCheckpoint(playerid) { return 1; } public OnPlayerLeaveCheckpoint(playerid) { return 1; } public OnPlayerEnterRaceCheckpoint(playerid) { return 1; } public OnPlayerLeaveRaceCheckpoint(playerid) { return 1; } public OnRconCommand(cmd[]) { return 1; } public OnPlayerRequestSpawn(playerid) { return 1; } public OnObjectMoved(objectid) { return 1; } public OnPlayerObjectMoved(playerid, objectid) { return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { return 1; } public OnVehicleMod(playerid, vehicleid, componentid) { return 1; } public OnVehiclePaintjob(playerid, vehicleid, paintjobid) { return 1; } public OnVehicleRespray(playerid, vehicleid, color1, color2) { return 1; } public OnPlayerSelectedMenuRow(playerid, row) { return 1; } public OnPlayerExitedMenu(playerid) { return 1; } public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid) { return 1; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { return 1; } public OnRconLoginAttempt(ip[], password[], success) { return 1; } public OnPlayerUpdate(playerid) { return 1; } public OnPlayerStreamIn(playerid, forplayerid) { return 1; } public OnPlayerStreamOut(playerid, forplayerid) { return 1; } public OnVehicleStreamIn(vehicleid, forplayerid) { return 1; } public OnVehicleStreamOut(vehicleid, forplayerid) { return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { return 1; } public OnPlayerClickPlayer(playerid, clickedplayerid, source) { return 1; }
Код:
C:\Users\Pat\Desktop\gtaserver\pawno\LearningStage.pwn(64) : error 017: undefined symbol "player_level" C:\Users\Pat\Desktop\gtaserver\pawno\LearningStage.pwn(64) : warning 215: expression has no effect C:\Users\Pat\Desktop\gtaserver\pawno\LearningStage.pwn(64) : error 001: expected token: ";", but found "]" C:\Users\Pat\Desktop\gtaserver\pawno\LearningStage.pwn(64) : error 029: invalid expression, assumed zero C:\Users\Pat\Desktop\gtaserver\pawno\LearningStage.pwn(64) : fatal error 107: too many error messages on one line Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 4 Errors.
Код:
if(player_level[playerid] == -1) { // This check is done, because if a game mode changes, OnPlayerConnect is called for everyone connected and would reset all levels.

Thanks.
OFF TOPIC:
This wasn't posted by the original owner of this account, this is his brother.