A little problem - Max_Coldheart - 17.01.2011
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
Re: A little problem -
JaTochNietDan - 17.01.2011
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.
Re: A little problem - Max_Coldheart - 17.01.2011
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.
Re: A little problem -
JaTochNietDan - 17.01.2011
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;
}
Re: A little problem - Max_Coldheart - 17.01.2011
Where is the pawn manual? I didnt get any.
Re: A little problem -
JaTochNietDan - 17.01.2011
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.
Re: A little problem - Max_Coldheart - 17.01.2011
Thanks, I will start reading.