Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Copyrights by SporSeba97
- #define FILTERSCRIPT
- #include <a_samp>
- #define ueberwachungswagen 413 //die Modell ID der ร-Wagen
- #define MAX_KAMMERA 100 // Maximale Anzahl an Kammeras
- #define reichweite 100.0 // Maximale Reichweite der Kammeras
- // Ab hier nichts mehr aendern, sofern ihr PAWN nicht beherscht
- #define Rot 0xAA3333AA
- enum KInfo
- {
- Float:PosX,
- Float:PosY,
- Float:PosZ,
- Float:ToX,
- Float:ToY,
- Float:ToZ,
- WagenID,
- }
- new KammeraInfo[MAX_KAMMERA][KInfo];
- new Kammeras[MAX_PLAYERS];
- new Wagen[MAX_PLAYERS];
- new KammeraID;
- new bildtimer[MAX_PLAYERS];
- forward bild(playerid,kid);
- public bild(playerid,kid)
- {
- if(!IsPlayerInRangeOfPoint(playerid,reichweite,KammeraInfo[kid][PosX],KammeraInfo[kid][PosY],KammeraInfo[kid][PosZ]))
- {
- KillTimer(bildtimer[playerid]);
- SetCameraBehindPlayer(playerid);
- }
- return 1;
- }
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" Ueberwachungswagen by SporSeba97");
- print("--------------------------------------\n");
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if(!IsPlayerConnected(playerid)) return 1;
- new idx;
- new cmd[250];
- cmd = strtok(cmdtext, idx);
- new tmp[250];
- if (strcmp("/getkammera", cmdtext, true, 10) == 0)
- {
- if(GetVehicleModel(GetPlayerVehicleID(playerid))==ueberwachungswagen)
- {
- Kammeras[playerid]=10;
- Wagen[playerid]=GetPlayerVehicleID(playerid);
- SendClientMessage(playerid,Rot,"Du hast dir 10 Kammeras geholt, du kannst sie nur in diesem Wagen anschauen");
- }
- else
- SendClientMessage(playerid,Rot,"Du bist in keinem Ueberwacungswagen!");
- return 1;
- }
- if (strcmp(cmd,"/testkammera",true)==0)
- {
- new
- Float:fPX, Float:fPY, Float:fPZ,
- Float:fVX, Float:fVY, Float:fVZ,
- Float:object_x, Float:object_y, Float:object_z;
- // Change me to change the scale you want. A larger scale increases the distance from the camera.
- // A negative scale will inverse the vectors and make them face in the opposite direction.
- const
- Float:fScale = 5.0;
- GetPlayerCameraPos(playerid, fPX, fPY, fPZ);
- GetPlayerCameraFrontVector(playerid, fVX, fVY, fVZ);
- object_x = fPX + floatmul(fVX, fScale);
- object_y = fPY + floatmul(fVY, fScale);
- object_z = fPZ + floatmul(fVZ, fScale);
- CreateObject(345, object_x, object_y, object_z, 0.0, 0.0, 0.0);
- return 1;
- }
- if(strcmp(cmd,"/kammera",true)==0)
- {
- if(Kammeras[playerid]>0)
- {
- new KID = KammeraID;
- GetPlayerCameraPos(playerid,KammeraInfo[KID][PosX],KammeraInfo[KID][PosY],KammeraInfo[KID][PosZ]);
- GetPlayerCameraFrontVector(playerid,KammeraInfo[KID][ToX],KammeraInfo[KID][ToY],KammeraInfo[KID][ToZ]);
- KammeraInfo[KID][WagenID]=Wagen[playerid];
- Kammeras[playerid]--;
- new string[250];
- format(string,sizeof(string),"Du hast die Kammera Installiert, mehr dir diese ID: %i",KID);
- SendClientMessage(playerid,Rot,string);
- KammeraID++;
- }
- else
- SendClientMessage(playerid,Rot,"Du hast keine Kammeras mehr!");
- return 1;
- }
- if(strcmp(cmd,"/zeigebild",true)==0)
- {
- if(GetVehicleModel(GetPlayerVehicleID(playerid))==ueberwachungswagen)
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, Rot, "Benutze /zeigebild [KammeraID]");
- return 1;
- }
- new KID;
- KID=strval(tmp);
- if(GetPlayerVehicleID(playerid)==KammeraInfo[KID][WagenID])
- {
- if(!IsPlayerInRangeOfPoint(playerid,reichweite,KammeraInfo[KID][PosX],KammeraInfo[KID][PosY],KammeraInfo[KID][PosZ]))
- {
- SendClientMessage(playerid,Rot,"Du bist nicht in Reichweite der Kammera!");
- return 1;
- }
- SetPlayerCameraPos(playerid,KammeraInfo[KID][PosX],KammeraInfo[KID][PosY],KammeraInfo[KID][PosZ]);
- const
- Float:fScale = 5.0;
- new Float:object_x, Float:object_y, Float:object_z;
- object_x = KammeraInfo[KID][PosX] + floatmul(KammeraInfo[KID][ToX], fScale);
- object_y = KammeraInfo[KID][PosY] + floatmul(KammeraInfo[KID][ToY], fScale);
- object_z = KammeraInfo[KID][PosZ] + floatmul(KammeraInfo[KID][ToZ], fScale);
- SetPlayerCameraLookAt(playerid,object_x,object_y,object_z);
- bildtimer[playerid]=SetTimerEx("bild",1000,true,"ii",playerid,KID);
- }
- else
- SendClientMessage(playerid,Rot,"Diese Kammera gehรถrt nicht zu deinem Wagen!");
- }
- else
- SendClientMessage(playerid,Rot,"Du bist in keinem Ueberwachungswagen!");
- return 1;
- }
- if(strcmp(cmd,"/kammeraback",true)==0)
- {
- SetCameraBehindPlayer(playerid);
- SendClientMessage(playerid,Rot,"Die Kammera wurde zurรผck gesetzt");
- KillTimer(bildtimer[playerid]);
- return 1;
- }
- if(strcmp(cmd,"/khelp",true)==0)
- {
- SendClientMessage(playerid,Rot,"Kammera Hilfe:");
- SendClientMessage(playerid,Rot,"/getkammera /kammera /zeigebild /kammeraback /testkammera");
- return 1;
- }
- return 0;
- }
- strtok(const string[], &index)
- {
- new length = strlen(string);
- while ((index < length) && (string[index] <= ' '))
- {
- index++;
- }
- new offset = index;
- new result[20];
- while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
- {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement