#include <a_samp>//This is used for all the native functions which you see on the right tab.
#pragma tabsize 0//This can be used to take out "Loose Indentation" warnings. But it is always recommended to have perfect indentation!
#define FILTERSCRIPT//This is now making it be defined as a filterscript.
#if defined FILTERSCRIPT//This is doing an IF you defined it as a filterscript, run that.
//Forward for timer function
forward Advert();
//Part 3: Go to line 247
public OnFilterScriptInit()//This is called when the filterscript loads
{
print("\n--------------------------------------");
print(" Woot my fs test yoke");//This makes these words print into your SA-MP server log.
print("--------------------------------------\n");
//Example: Im not sure what these are but I was originally making this compile for someone, but decided to make it into a tutorial, this is how objects can be created with a simple filterscript!
//These are the createobjects, they will be created when the filterscript is unloaded!
CreateObject(1308, 543.05, 1893.26, 36.00, 0.00, 0.00, 0.00);
CreateObject(1308, 551.65, 1885.08, 36.00, 0.00, 0.00, 0.00);
CreateObject(3277, 237.68, 1696.88, 22.38, 0.00, 0.00, 0.00);
CreateObject(16209, 205.49, 1730.35, 17.83, 0.00, 0.00, 0.00);
CreateObject(16293, 238.07, 1697.55, 21.63, 0.00, 0.00, 0.00);
CreateObject(16293, -209.16, 1783.14, 100.00, 0.00, 0.00, 0.00);
CreateObject(16323, 199.34, 1943.88, 18.20, 0.00, 0.00, 0.00);
CreateObject(3244, -365.05, 1754.59, 42.59, 0.00, 0.00, -38.50);
CreateObject(3244, -213.00, 1753.78, 96.00, 0.00, 0.00, 0.00);
CreateObject(3366, 276.66, 1989.55, 16.63, 180.00, 0.00, -180.00);
CreateObject(3366, -185.94, 1777.96, 97.00, 0.00, 0.00, 0.00);
CreateObject(16713, -125.52, 1904.19, 13.89, 0.00, 0.00, 0.00);
CreateObject(16713, -239.04, 1773.47, 96.00, 0.00, 0.00, 0.00);
CreateObject(3277, 15.60, 1719.17, 22.38, 0.00, 0.00, 0.00);
CreateObject(3277, -199.61, 1799.34, 100.00, 0.00, 0.00, 0.00);
CreateObject(3267, -199.40, 1799.37, 100.00, 0.00, 0.00, 0.00);
CreateObject(3279, 267.06, 1895.30, 16.82, 0.00, 0.00, 0.00);
CreateObject(3279, -225.01, 1801.33, 102.00, 0.00, 0.00, 0.00);
CreateObject(3279, -188.62, 1759.49, 98.00, 0.00, 0.00, 0.00);
CreateObject(16146, -97.23, 1373.20, 12.41, 0.00, 0.00, 170.00);
CreateObject(16778, -79.94, 1385.59, 9.00, 0.00, 0.00, 170.00);
CreateObject(16778, -198.67, 1478.31, 72.00, 0.00, 0.00, 0.00);
CreateObject(16781, -144.05, 1227.30, 18.90, 0.00, 0.00, 0.00);
CreateObject(9939, -1951.69, 660.02, 89.51, 0.00, 0.00, 0.00);
CreateObject(9939, -974.47, 652.17, 16.00, 0.00, 0.00, 0.00);
//Lets make a small advertisment to go to our site, ill use my site as an example.
SetTimer("Advert",430000,1);//This will make an advert appear every several minites. For Part 2: go to line 9.Part 3: Go to line 247!
return 1;
}
public OnFilterScriptExit()//This is called when the filterscript is unloaded
{
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<< If you are defining this as a filterscript, dont use these lines.
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 OnPlayerRequestSpawn(playerid)
{
return 1;
}
public OnPlayerConnect(playerid)//This is called when a player connects
{//Example: This will send a simple connect message!
new string[256];
new playername[256];
GetPlayerName(playerid,playername,sizeof(playername));
format(string,sizeof(string),"%s has joined the server!",playername,string);
SendClientMessageToAll(0xAFAFAFAA,string);
//There, its that easy, the same can be done for Disconnecting players!
return 1;
}
public OnPlayerDisconnect(playerid, reason)//This is called when a player leaves the server
{
return 1;
}
public OnPlayerSpawn(playerid)//This is called when a player spawns.
{//Example: Lets say we are making a simple fun deathmatch, lets set the players health to 100 and his armour to 100 and give him a deagle!
SetPlayerHealth(playerid,100);
SetPlayerArmour(playerid,100);
GivePlayerWeapon(playerid,24,140);
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)//This is called when a player die.
{//Example: Lets add some points to the player score, lets say 1 point for 1 kill!
SetPlayerScore(playerid,GetPlayerScore(playerid)+1);//This sets the players score to one, by getting his old score and adding 1 to it!
//Lets also add a custom message for the player when he dies!
GameTextForPlayer(playerid,"You got owned",3000,3);
//=-===-----------------------------------------------
SendDeathMessage(killerid,playerid,reason);//Example: Lets also add a death message that appears on the right of the screen.
return 1;
}
public OnVehicleSpawn(vehicleid)//This is called when a vehicle spawns
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)//This is called when a vehicle explodes.
{
return 1;
}
public OnPlayerText(playerid, text[])//IMPORTANT: This is called when a player types something into the chat box.
{//Example: This will send a message to the player, of the message he sent, this is a good example for strings!
new string[256];
format(string,sizeof(string),"You have sent the message %s",text,string);//We use this to save what will be sent into the string.
SendClientMessage(playerid,0x33AA33AA,string);//This time we put string at the end instead of the message, now it will display whats in format.
return 1;
}
public OnPlayerPrivmsg(playerid, recieverid, text[])//This is called when a player /pm someone.
{
//Example: This will send a message to the player confirming a message has been sent!
SendClientMessage(playerid,0x33AA33AA,"Your message has been sent!");
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])//This is called when a player uses a / in the chat box for a command.
{
if (strcmp("/health", cmdtext, true, 10) == 0)//This will be called when a player types /health.
{
SetPlayerHealth(playerid,100);//This will set the players health to 100!
return 1;
}
if(strcmp(cmdtext,"/healall",true)==0)
{
if(IsPlayerAdmin(playerid))//Simple Admin Command to heal everyone
{
SendClientMessageToAll(0xAA3333AA,"Admin has healed everyone!");
for(new i = 0; i < MAX_PLAYERS; i++)//This makes it so that it runs a varible so when you use i instead of playerid, it will do the action to everyone in the server.
{
SetPlayerHealth(i,100);//This will heal all players!
}
}
return 1;
}
return 0;
}
public OnPlayerInfoChange(playerid)
{
return 1;
}
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[])//This is called when someone has used an RCON cmd.
{//Example: Lets make it print a simple message that someone used an rcom command into the server log.
print("An RCON command has been used!");
return 1;
}
public OnObjectMoved(objectid)//This is called when an Object has been moved.
{
return 1;
}
public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)//This is called when someone picks up a Pickup
{
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}
public OnPlayerExitedMenu(playerid)
{
return 1;
}
public Advert()
{//Part 3: Finishing the advert
SendClientMessageToAll(0x99FFFFAA,"Try our site at www.domination-gaming.com");
//That will send a message based on how long we set the timer to.
return 1;
}