Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #define color_info 0xFFFFFFFF
- #define color_rot 0xAA3333AA
- #define color_gruen 0x33AA33AA
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////EINSTELLUNGEN////////////////////////////////////////
- #define TRUCK_ID 407 //Feuerwehr Fahrzeug
- #define FIRE_SKIN 277 //Feuerwehr Skin
- #define FIRE_EXE 10 //Wann bricht ein Feuer aus (abstände in Minuten)
- #define FIRE_PAY 150 // Geld pro gelöschter Flamme
- /******Made by GPawn-Growen******/
- /******Kosten: 5 EUR*************/
- /******Datum: 27.05.2012*********/
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- #define MAX_FIRE 4
- #define MAX_FLAMES 5
- #define FIRE_OBJ 18691
- forward Fire_Check();
- forward Check_Player(playerid);
- new PlayerShoot[MAX_PLAYERS];
- new PlayerCounter[MAX_PLAYERS][MAX_FLAMES];
- new FireData[MAX_FLAMES];
- stock CreateFire(id)
- {
- if(id==0)
- {
- FireData[0]=CreateObject(FIRE_OBJ,1091.7286,-1186.2736,18.3119,0,0,0,150);
- FireData[1]=CreateObject(FIRE_OBJ,1099.7915,-1181.1642,18.8186,0,0,0,150);
- FireData[2]=CreateObject(FIRE_OBJ,1102.6588,-1182.6964,20.5378,0,0,0,150);
- FireData[3]=CreateObject(FIRE_OBJ,1106.7433,-1185.2449,18.3467,0,0,0,150);
- FireData[4]=CreateObject(FIRE_OBJ,1093.5167,-1180.1626,19.1223,0,0,0,150);
- }
- if(id==1)
- {
- FireData[0]=CreateObject(FIRE_OBJ, 1186.83, -920.21, 41.43, 0.00, 0.00, 0.00);
- FireData[1]=CreateObject(FIRE_OBJ, 1198.06, -920.40, 41.43, 0.00, 0.00, 0.00);
- FireData[2]=CreateObject(FIRE_OBJ, 1206.98, -919.67, 41.43, 0.00, 0.00, 0.00);
- FireData[3]=CreateObject(FIRE_OBJ, 1220.34, -911.00, 41.43, 0.00, 0.00, 0.00);
- FireData[4]=CreateObject(FIRE_OBJ, 1203.19, -918.78, 45.83, 0.00, 0.00, 0.00);
- }
- if(id==2)
- {
- FireData[0]=CreateObject(FIRE_OBJ, 1832.63, -1850.94, 11.32, 0.00, 0.00, 0.00);
- FireData[1]=CreateObject(FIRE_OBJ, 1841.75, -1857.64, 11.32, 0.00, 0.00, 0.00);
- FireData[2]=CreateObject(FIRE_OBJ, 1846.84, -1868.34, 11.32, 0.00, 0.00, 0.00);
- FireData[3]=CreateObject(FIRE_OBJ, 1848.37, -1874.03, 14.22, 0.00, 0.00, 0.00);
- FireData[4]=CreateObject(FIRE_OBJ, 1839.10, -1850.31, 14.81, 0.00, 0.00, 0.00);
- }
- if(id==3)
- {
- FireData[0]=CreateObject(FIRE_OBJ, 1940.98, -1764.34, 11.36, 0.00, 0.00, 0.00);
- FireData[1]=CreateObject(FIRE_OBJ, 1928.63, -1766.68, 11.36, 0.00, 0.00, 0.00);
- FireData[2]=CreateObject(FIRE_OBJ, 1928.38, -1778.59, 11.36, 0.00, 0.00, 0.00);
- FireData[3]=CreateObject(FIRE_OBJ, 1940.82, -1774.48, 11.36, 0.00, 0.00, 0.00);
- FireData[4]=CreateObject(FIRE_OBJ, 1936.07, -1768.04, 11.36, 0.00, 0.00, 0.00);
- }
- else
- {
- FireData[0]=CreateObject(FIRE_OBJ,1091.7286,-1186.2736,18.3119,0,0,0,150);
- FireData[1]=CreateObject(FIRE_OBJ,1099.7915,-1181.1642,18.8186,0,0,0,150);
- FireData[2]=CreateObject(FIRE_OBJ,1102.6588,-1182.6964,20.5378,0,0,0,150);
- FireData[3]=CreateObject(FIRE_OBJ,1106.7433,-1185.2449,18.3467,0,0,0,150);
- FireData[4]=CreateObject(FIRE_OBJ,1093.5167,-1180.1626,19.1223,0,0,0,150);
- }
- return 1;
- }
- stock SayIt(id)
- {
- for(new i=0;i<MAX_PLAYERS;i++)
- {
- if(GetPlayerSkin(i)==FIRE_SKIN)
- {
- if(id==0)
- {
- SetPlayerCheckpoint(i,2040.6560,1348.6108,10.6719,1);
- SendClientMessage(i,color_rot,"Es brennt in LS an einer Lagerfirma!");
- }
- if(id==1)
- {
- SetPlayerCheckpoint(i,1186.83, -920.21, 46.43,1);
- SendClientMessage(i,color_rot,"Es brennt am BSN in LS!");
- }
- if(id==2)
- {
- SetPlayerCheckpoint(i,1832.63, -1850.94, 16.32,1);
- SendClientMessage(i,color_rot,"Es brennt in LS an der Bomben Garage!");
- }
- if(id==3)
- {
- SetPlayerCheckpoint(i,1940.98, -1764.34, 16.36,1);
- SendClientMessage(i,color_rot,"Es brennt der Stripclub in LS!");
- }
- else
- {
- SetPlayerCheckpoint(i,2040.6560,1348.6108,10.6719,1);
- SendClientMessage(i,color_rot,"Es brennt in LS an einer Lagerfirma!");
- }
- }
- }
- return 1;
- }
- public OnFilterScriptInit()
- {
- SetTimer("Fire_Check",FIRE_EXE*60000,1);
- return 1;
- }
- public OnFilterScriptExit()
- {
- for(new o=0;o<MAX_FLAMES;o++)
- {
- DestroyObject(FireData[o]);
- }
- 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 Fire_Check()
- {
- new rnd=random(MAX_FIRE);
- for(new o=0;o<MAX_FLAMES;o++)
- {
- DestroyObject(FireData[o]);
- }
- for(new i=0;i<MAX_PLAYERS;i++)
- {
- if(GetPlayerSkin(i)==FIRE_SKIN)
- {
- SayIt(rnd);
- return CreateFire(rnd);
- }
- }
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if(newkeys & KEY_FIRE && GetVehicleModel(GetPlayerVehicleID(playerid))==TRUCK_ID)
- {
- PlayerShoot[playerid]=SetTimerEx("Check_Player",500,1,"i",playerid);
- }
- else if(oldkeys & KEY_FIRE)
- {
- KillTimer(PlayerShoot[playerid]);
- PlayerShoot[playerid]=0;
- }
- return 1;
- }
- public Check_Player(playerid)
- {
- new Float:oPos[3];
- if(PlayerShoot[playerid]!=0)
- {
- for(new o=0;o<MAX_FLAMES;o++)
- {
- GetObjectPos(FireData[o],oPos[0],oPos[1],oPos[2]);
- if(ZieltSpielerAufPunkt(playerid, oPos[0], oPos[1], oPos[2], 3))
- {
- PlayerCounter[playerid][o]+=1;
- if(PlayerCounter[playerid][o]==15)
- {
- GameTextForPlayer(playerid,"~r~Feuer ~w~geloescht",505,4);
- PlayerCounter[playerid][o]=0;
- GivePlayerMoney(playerid,FIRE_PAY);
- DisablePlayerCheckpoint(playerid);
- return DestroyObject(FireData[o]);
- }
- }
- }
- }
- return 1;
- }
- stock Float:ErmittleDistanzZumPunkt(Float:CamX, Float:CamY, Float:CamZ, Float:PunktX, Float:PunktY, Float:PunktZ, Float:FrontX, Float:FrontY, Float:FrontZ) {
- new Float:Distanz;
- Distanz= floatsqroot((CamX - PunktX) * (CamX - PunktX) + (CamY - PunktY) * (CamY - PunktY) + (CamZ - PunktZ) * (CamZ - PunktZ));
- new Float:tmpX, Float:tmpY, Float:tmpZ;
- tmpX = FrontX * Distanz+ CamX;
- tmpY = FrontY * Distanz+ CamY;
- tmpZ = FrontZ * Distanz+ CamZ;
- return floatsqroot((tmpX - PunktX) * (tmpX - PunktX) + (tmpY - PunktY) * (tmpY - PunktY) + (tmpZ - PunktZ) * (tmpZ - PunktZ));
- }
- stock ZieltSpielerAufPunkt(playerid, Float:x, Float:y, Float:z, Float:radius)
- {
- new Float:cx,Float:cy,Float:cz,Float:fx,Float:fy,Float:fz;
- GetPlayerCameraPos(playerid, cx, cy, cz);
- GetPlayerCameraFrontVector(playerid, fx, fy, fz);
- return (radius >= ErmittleDistanzZumPunkt(cx, cy, cz, x, y, z, fx, fy, fz));
- }
Advertisement
Add Comment
Please, Sign In to add comment