A little problem
#1

Okay So I have a little problem with my script that I cant get over. Its a TDM server with cop and robber teams.

Script:
Код:
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT

#include <a_samp>

#define COLOR_RED 0xAA3333AA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_BRIGHTRED 0xFF0000AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_BLUE 0x3A47DEFF
#define COLOR_TAN 0xBDB76BAA
#define COLOR_PURPLE 0x800080AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_INDIGO 0x4B00B0AA
#define COLOR_BLACK 0x00000000
#define COLOR_DARKGREY 0x696969F

#define TEAM_POLICE 0
#define TEAM_ROBBERS 1

#if defined FILTERSCRIPT

new gPlayerClass[MAX_PLAYERS];
new gTeam[MAX_PLAYERS];

public OnFilterScriptInit()
{
	print("\n--------------------------------------");
	print(" Blank Filterscript by your name here");
	print("--------------------------------------\n");
	return 1;
}

public OnFilterScriptExit()
{
	return 1;
}

#else

main()
{
	print("\n----------------------------------");
	print(" Blank Gamemode by your name here");
	print("----------------------------------\n");
}

#endif

public OnGameModeInit()
{
	// Don't use these lines if it's a filterscript
	SetGameModeText("Blank Script");
	AddPlayerClass(283, 1958.3783, 1343.1572, 15.3746, 269.1425, 22, 200, 25, 50, 31, 700);
	AddPlayerClass(248, 1128.9032, -1490.1552, 22.7690, 28, 500, 35, 3, 15, 100000);
	return 1;
}

public OnGameModeExit()
{
	return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
	gPlayerClass[playerid] = classid;
	
	switch (classid) {
	
	    case 0:
	    
	    {
	gTeam[playerid] = TEAM_POLICE;
	    GameTextForplayer(playerid, "~g~Police", 1000,6);
	 }
	 case 1:
	 
	 {
  gTeam[playerid] = TEAM_ROBBER;
  GameTextForPlayer(playerid, "~r~Robber", 1000,6
        }
    }
	// spawn positions the player will see at spawn
	 SetPlayerPos(playerid, 489.8416,-72.4437,999.2266);
	 SetPlayerFacingAngle( playerid, 2.3616 );
	 SetPlayerCameraPos(playerid, 491.6849,-72.3607,999.2117);
	 SetPlayerCameraLookAt(playerid, 489.8416,-72.4437,999.2266);
	 SetPlayerInterior(playerid ,11);
	 return 1;

}

public OnPlayerConnect(playerid)
{
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
	return 1;
}

public OnPlayerSpawn(playerid)
{
	if(gTeam[playerid] == TEAM_POLICE)
	{
		SetPlayerColor(playerid, COLOR_BLACK)
	}
	if(gTeam[playerid] == TEAM_ROBBER)
	{
	        SetPlayerColor(playerid, color);
	}
	
	
	new string[64], pName[MAX_PLAYER_NAME];
	if(gTeam[playerid] == gTeam[playerid)
	{
	        GetPlayerName(playerid,pNombre,MAX_PLAYER_NAME);
	        format(string,sizeof string,"%s Has Joined The Server.",pNombre);
	     SendClientMessageToAll(color, string);
	}
	return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
	SendDeathMessage(killerid, playerid, reason); //Message that appears on right side of the screen
	SetPlayerScore(killerid,(GetplayerScore(killerid))+1);//Adds 1 score to the killer
	SetPlayerScore(playerid, -1); //Removes 1 score from the dead player
	
	new string[50];
	format(string, sizeof(string), "~w~Eliminated");
	GameTextForPlayer(playerid, string, 3000, 2);
	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;
}

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;
}
And these are the errors:

Код:
C:\Users\Max\Desktop\GTA San Andreas\samp03csvr_win32\gamemodes\TDM.pwn(60) : warning 202: number of arguments does not match definition
C:\Users\Max\Desktop\GTA San Andreas\samp03csvr_win32\gamemodes\TDM.pwn(71) : error 017: undefined symbol "gPlayerClass"
C:\Users\Max\Desktop\GTA San Andreas\samp03csvr_win32\gamemodes\TDM.pwn(71) : warning 215: expression has no effect
C:\Users\Max\Desktop\GTA San Andreas\samp03csvr_win32\gamemodes\TDM.pwn(71) : error 001: expected token: ";", but found "]"
C:\Users\Max\Desktop\GTA San Andreas\samp03csvr_win32\gamemodes\TDM.pwn(71) : error 029: invalid expression, assumed zero
C:\Users\Max\Desktop\GTA San Andreas\samp03csvr_win32\gamemodes\TDM.pwn(71) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


4 Errors.
help would be wonderful.

regards:
Max_Coldheart
Reply
#2

You have the stuff under the if defined filterscript check, which means since it's not defined, the code in there will be ignored by the compiler.

pawn Код:
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT

#include <a_samp>

#define COLOR_RED 0xAA3333AA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_BRIGHTRED 0xFF0000AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_BLUE 0x3A47DEFF
#define COLOR_TAN 0xBDB76BAA
#define COLOR_PURPLE 0x800080AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_INDIGO 0x4B00B0AA
#define COLOR_BLACK 0x00000000
#define COLOR_DARKGREY 0x696969F

#define TEAM_POLICE 0
#define TEAM_ROBBERS 1

new gPlayerClass[MAX_PLAYERS];
new gTeam[MAX_PLAYERS];

main()
{
    print("\n----------------------------------");
    print(" Blank Gamemode by your name here");
    print("----------------------------------\n");
}

public OnGameModeInit()
{
    // Don't use these lines if it's a filterscript
    SetGameModeText("Blank Script");
    AddPlayerClass(283, 1958.3783, 1343.1572, 15.3746, 269.1425, 22, 200, 25, 50, 31, 700);
    AddPlayerClass(248, 1128.9032, -1490.1552, 22.7690, 28, 500, 35, 3, 15, 100000);
    return 1;
}

public OnGameModeExit()
{
    return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
    gPlayerClass[playerid] = classid;
   
    switch (classid) {
   
        case 0:
       
        {
    gTeam[playerid] = TEAM_POLICE;
        GameTextForplayer(playerid, "~g~Police", 1000,6);
     }
     case 1:
     
     {
  gTeam[playerid] = TEAM_ROBBER;
  GameTextForPlayer(playerid, "~r~Robber", 1000,6
        }
    }
    // spawn positions the player will see at spawn
     SetPlayerPos(playerid, 489.8416,-72.4437,999.2266);
     SetPlayerFacingAngle( playerid, 2.3616 );
     SetPlayerCameraPos(playerid, 491.6849,-72.3607,999.2117);
     SetPlayerCameraLookAt(playerid, 489.8416,-72.4437,999.2266);
     SetPlayerInterior(playerid ,11);
     return 1;

}

public OnPlayerConnect(playerid)
{
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    return 1;
}

public OnPlayerSpawn(playerid)
{
    if(gTeam[playerid] == TEAM_POLICE)
    {
        SetPlayerColor(playerid, COLOR_BLACK)
    }
    if(gTeam[playerid] == TEAM_ROBBER)
    {
            SetPlayerColor(playerid, color);
    }
   
   
    new string[64], pName[MAX_PLAYER_NAME];
    if(gTeam[playerid] == gTeam[playerid)
    {
            GetPlayerName(playerid,pNombre,MAX_PLAYER_NAME);
            format(string,sizeof string,"%s Has Joined The Server.",pNombre);
         SendClientMessageToAll(color, string);
    }
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    SendDeathMessage(killerid, playerid, reason); //Message that appears on right side of the screen
    SetPlayerScore(killerid,(GetplayerScore(killerid))+1);//Adds 1 score to the killer
    SetPlayerScore(playerid, -1); //Removes 1 score from the dead player
   
    new string[50];
    format(string, sizeof(string), "~w~Eliminated");
    GameTextForPlayer(playerid, string, 3000, 2);
    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;
}

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;
}
There's a fixed example of your code.

Additionally you're missing a parameter for the AddPlayerClass function.
Reply
#3

now that I used your script: these are the errors and warnings I get:

Код:
C:\Users\Max\Desktop\GTA San Andreas\samp03csvr_win32\gamemodes\TDM.pwn(41) : warning 202: number of arguments does not match definition
C:\Users\Max\Desktop\GTA San Andreas\samp03csvr_win32\gamemodes\TDM.pwn(60) : warning 217: loose indentation
C:\Users\Max\Desktop\GTA San Andreas\samp03csvr_win32\gamemodes\TDM.pwn(60) : error 017: undefined symbol "GameTextForplayer"
C:\Users\Max\Desktop\GTA San Andreas\samp03csvr_win32\gamemodes\TDM.pwn(65) : error 017: undefined symbol "TEAM_ROBBER"
C:\Users\Max\Desktop\GTA San Andreas\samp03csvr_win32\gamemodes\TDM.pwn(66 -- 67) : error 001: expected token: ",", but found "}"
C:\Users\Max\Desktop\GTA San Andreas\samp03csvr_win32\gamemodes\TDM.pwn(70) : warning 217: loose indentation
C:\Users\Max\Desktop\GTA San Andreas\samp03csvr_win32\gamemodes\TDM.pwn(94) : error 001: expected token: ";", but found "}"
C:\Users\Max\Desktop\GTA San Andreas\samp03csvr_win32\gamemodes\TDM.pwn(95) : error 017: undefined symbol "TEAM_ROBBER"
C:\Users\Max\Desktop\GTA San Andreas\samp03csvr_win32\gamemodes\TDM.pwn(97) : error 017: undefined symbol "color"
C:\Users\Max\Desktop\GTA San Andreas\samp03csvr_win32\gamemodes\TDM.pwn(102) : error 001: expected token: "]", but found ")"
C:\Users\Max\Desktop\GTA San Andreas\samp03csvr_win32\gamemodes\TDM.pwn(104) : error 017: undefined symbol "pNombre"
C:\Users\Max\Desktop\GTA San Andreas\samp03csvr_win32\gamemodes\TDM.pwn(105) : error 017: undefined symbol "pNombre"
C:\Users\Max\Desktop\GTA San Andreas\samp03csvr_win32\gamemodes\TDM.pwn(106) : warning 217: loose indentation
C:\Users\Max\Desktop\GTA San Andreas\samp03csvr_win32\gamemodes\TDM.pwn(106) : error 017: undefined symbol "color"
C:\Users\Max\Desktop\GTA San Andreas\samp03csvr_win32\gamemodes\TDM.pwn(101) : warning 204: symbol is assigned a value that is never used: "pName"
C:\Users\Max\Desktop\GTA San Andreas\samp03csvr_win32\gamemodes\TDM.pwn(114) : error 017: undefined symbol "GetplayerScore"
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


11 Errors.
Reply
#4

Okay, I've fixed them all for you, I'd like you to compare the scripts, read the errors and see what I changed to fix them, you had a TON of syntax errors, logic errors and more. I think you should read the Pawn manual before continuing scripting.

pawn Код:
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT

#include <a_samp>

#define COLOR_RED 0xAA3333AA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_BRIGHTRED 0xFF0000AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_BLUE 0x3A47DEFF
#define COLOR_TAN 0xBDB76BAA
#define COLOR_PURPLE 0x800080AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_INDIGO 0x4B00B0AA
#define COLOR_BLACK 0x00000000
#define COLOR_DARKGREY 0x696969F

#define TEAM_POLICE 0
#define TEAM_ROBBER 1

new gPlayerClass[MAX_PLAYERS];
new gTeam[MAX_PLAYERS];

main()
{
    print("\n----------------------------------");
    print(" Blank Gamemode by your name here");
    print("----------------------------------\n");
}

public OnGameModeInit()
{
    // Don't use these lines if it's a filterscript
    SetGameModeText("Blank Script");
    AddPlayerClass(283, 1958.3783, 1343.1572, 15.3746, 269.1425, 22, 200, 25, 50, 31, 700);
    AddPlayerClass(248, 1128.9032, -1490.1552, 22.7690, 28, 500, 35, 3, 15, 1,1);
    return 1;
}

public OnGameModeExit()
{
    return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
    gPlayerClass[playerid] = classid;

    switch (classid)
    {
        case 0:
        {
            gTeam[playerid] = TEAM_POLICE;
            GameTextForPlayer(playerid, "~g~Police", 1000,6);
        }
        case 1:
        {
            gTeam[playerid] = TEAM_ROBBER;
            GameTextForPlayer(playerid, "~r~Robber", 1000,6);
        }
    }
    // spawn positions the player will see at spawn
    SetPlayerPos(playerid, 489.8416,-72.4437,999.2266);
    SetPlayerFacingAngle( playerid, 2.3616 );
    SetPlayerCameraPos(playerid, 491.6849,-72.3607,999.2117);
    SetPlayerCameraLookAt(playerid, 489.8416,-72.4437,999.2266);
    SetPlayerInterior(playerid ,11);
    return 1;
}

public OnPlayerConnect(playerid)
{
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    return 1;
}

public OnPlayerSpawn(playerid)
{
    if(gTeam[playerid] == TEAM_POLICE)
    {
        SetPlayerColor(playerid, COLOR_BLACK);
    }
    else if(gTeam[playerid] == TEAM_ROBBER)
    {
        SetPlayerColor(playerid, COLOR_WHITE);
    }
   
    new string[64], pName[MAX_PLAYER_NAME];
    if(gTeam[playerid] == gTeam[playerid])
    {
        GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
        format(string,sizeof string,"%s Has Joined The Server.",pName);
        SendClientMessageToAll(COLOR_WHITE, string);
    }
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    SendDeathMessage(killerid, playerid, reason); //Message that appears on right side of the screen
    SetPlayerScore(killerid,(GetPlayerScore(killerid))+1);//Adds 1 score to the killer
    SetPlayerScore(playerid, -1); //Removes 1 score from the dead player

    new string[50];
    format(string, sizeof(string), "~w~Eliminated");
    GameTextForPlayer(playerid, string, 3000, 2);
    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;
}

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;
}
Reply
#5

Where is the pawn manual? I didnt get any.
Reply
#6

http://www.compuphase.com/pawn/pawn.htm

You can find everything you need to know about Pawn on that official site, including manuals and examples.
Reply
#7

Thanks, I will start reading.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)