08.01.2015, 20:46
How to add here defusing only for cops and planting only for terrorists
pawn Код:
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT
// includes
#include <a_samp>
#include <streamer>
#include <sscanf2>
#include <zcmd>
#include <foreach>
// normale defines zoals kleuren etc, dingen voor IEDEREEN
// red, blue, green FF0000 0000FF 00FF00 ( gewoon om iets te onthouden xD)
#define COLOR_RED 0xFF0000FF
#define COLOR_GREEN 0x00FF00FF
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_PURPLE 0xFF00FFAA
#define ORANGE 0xFF8000AA
#define COLOR_BLUE 0x0000FFFF
#define COLOR_ORANGE 0xFF9000FF
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_DARKBLUE 0x00007AFF
#define COLOR_PINK 0xFF007AFF
#define COLOR_BLACK 0x000000FF
#define COLOR_LIGHTGREEN 0x82FF82FF
#define lightblue 0x33CCFFAA
#define red 0xFF0000AA
#define DIALOG_CMDS 30538
// de defines voor de teams, zoals je kunt zien zijn dat terrorists en army, komen later nog stunt etc bij
#define C1 0
#define T1 1
// de team kleuren die ze krijgen bij spawn, army is blauw en terrorists is rood
// de callback die we gaan gebruiken om de teams te onderscheiden
new AllTeams[MAX_PLAYERS];
new BombExplodeTimer;
new TeamTerrorists;
new Bomb, PlantbombCP;
new BombPlanted = 0;
new DefuseTimer, Defusing;
// sets the timer that says how many seconds till bomb explodes
new ExplodeBomb[MAX_PLAYERS];
// random spawns voor elke class
// army base randomspawns
public OnFilterScriptInit()
{
PlantbombCP = CreateDynamicCP(259.2780,1855.8953,8.7578, 6.0, -1, -1, -1, 100.0);
print("\n--------------------------------------");
print(" Blank Filterscript by your name here");
print("--------------------------------------\n");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
main()
{
print("\n----------------------------------");
print(" Blank Gamemode by your name here");
print("----------------------------------\n");
}
public OnGameModeInit()
{
// Don't use these lines if it's a filterscript
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
return 1;
}
public OnPlayerConnect(playerid)
{
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
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;
}
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;
}
public OnPlayerEnterDynamicCP(playerid, checkpointid)
{
if(checkpointid == PlantbombCP)
{
if(AllTeams[playerid] == C1 && (BombPlanted == 1))
{
DefuseTimer = SetTimerEx("DefuseBomb", 10000, false, "is", playerid);
Defusing = 1;
GameTextForAll("~b~Cops is trying to defuse the bomb!!~n~~r~Terrorists, Try to stop them!", 3000, 3);
return 1;
}
else return 0;
}
return 1;
}
public OnPlayerLeaveDynamicCP(playerid, checkpointid)
{
if(checkpointid == PlantbombCP && (Defusing == 1 && (AllTeams[playerid] == C1)))
{
KillTimer(DefuseTimer);
Defusing = 0;
GameTextForAll("~b~Cops Failed to defuse the bomb", 2000, 3);
}
return 1;
}
forward DefuseBomb(playerid);
public DefuseBomb(playerid)
{
if(Defusing == 1)
{
KillTimer(DefuseTimer);
KillTimer(BombExplodeTimer);
KillTimer(ExplodeBomb[playerid]);
GameTextForAll("~b~Cops successfully defused the bomb!", 3000, 3);
GivePlayerMoney(playerid, 10000);
Defusing = 0;
BombPlanted = 0;
DestroyObject(Bomb);
SetPlayerScore(playerid, GetPlayerScore(playerid) +10);
SendClientMessage(playerid, COLOR_GREEN, "you earned {FF0000}$10000 {00FF00}and {FF0000}10 score {00FF00}for defusing the bomb");
return 1;
}
return 1;
}
CMD:plantbomb(playerid, params[])
{
if(IsPlayerInDynamicCP(playerid, PlantbombCP) && (AllTeams[playerid] == TeamTerrorists && (BombPlanted == 0)))
{
Bomb = CreateObject(3786,259.2780,1855.8953,8.7578,196.8689,0,0, 100.0);
BombExplodeTimer = SetTimer("BombExplodes", 110000, 0);
GameTextForAll("~r~BOMB HAS BEEN PLANTED!", 4000, 3);
BombPlanted = 1;
}
else if(IsPlayerInDynamicCP(playerid, PlantbombCP) && (AllTeams[playerid] == TeamTerrorists && (BombPlanted != 0))) return SendClientMessage(playerid, COLOR_RED, "The bomb is already planted!");
return 1;
}
forward BombExplodes(playerid);
public BombExplodes(playerid)
{
GameTextForAll("~R~Bomb explodes in 10 seconds!!, get the hell out of there!", 3000, 3);
ExplodeBomb[playerid] = SetTimerEx("ExplodeBombTimer", 10000, false, "d", playerid);
return 1;
}
forward ExplodeBombTimer(playerid);
public ExplodeBombTimer(playerid)
{
CreateExplosion(259.2780,1855.8953,8.7578, 7, 5000.0);
DestroyObject(Bomb);
GameTextForAll("~r~BOOOOM!!!", 1000, 3);
BombPlanted = 0;
SendClientMessage(playerid, COLOR_GREEN, "you earned {FF0000}$10000 {00FF00} and {FF0000}10 score {00FF00} for planting the bomb in cops base");
GivePlayerMoney(playerid, 10000);
SetPlayerScore(playerid, GetPlayerScore(playerid) +10);
return 1;
}