Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* ------------------------- */
- /* bDynamisches Fraktions Car System */
- /* Erstellt am 15 August 2012 */
- /* von Big_Ben */
- /* ------------------------- */
- #include <ocmd> // Wird benötigt
- #include <dini> // Wird ebenfalls benötigt
- #define MAX_FRAKTIONSCARS 500 // Maximale Fraktions Autos Anzahl
- enum FCarDaten {
- Fraktion, // Fraktion des Cars
- fvID, // Vehicle ID
- fc1, // Color 1 des Cars
- fc2, // Color 2 des Cars
- Float:fx, // X Koord des Cars
- Float:fy, // Y Koord des Cars
- Float:fz, // Z Koord des Cars
- Float:fa // Angle Koord des Cars
- };
- new FCar[MAX_FRAKTIONSCARS][FCarDaten];
- new fvzID;
- public OnGameModeInit() {
- LoadFCars();
- return true;
- }
- public OnGameModeExit() {
- SaveFCars();
- return true;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate) {
- for(new v=0; v<MAX_FRAKTIONSCARS; v++) {
- if(GetPlayerVehicleID(playerid) == v) {
- if(SpielerInfo[playerid][sFraktion] != FCar[v][Fraktion]) { // SpielerInfo[playerid][sFraktion] mit der Fraktionsvariable ersetzen
- SendClientMessage(playerid,-1,"Fehler : Du darfst dieses Auto nicht fahren !");
- }
- }
- }
- return true;
- }
- ocmd:fveh(playerid,params[])
- {
- if(IsPlayerConnected(playerid) || !IsPlayerNPC(playerid))
- {
- if(!IsPlayerAdmin(playerid)) return true;
- new frvID,fID,c1,c2,Float:x,Float:y,Float:z,Float:a;
- if(sscanf(params,"dddd",frvID,fID,c1,c2)) return SendClientMessage(playerid,COLOR_RED,"Nutze : /fveh [Vehicle ID] [Fraktions ID] [Farbe 1] [Farbe 2]");
- if(frvID < 400 || frvID > 611) return SendClientMessage(playerid,COLOR_RED,"Fehler : Die Vehicle ID darf nicht unter 400 oder über 611 liegen !");
- if(c1 < 0 || c1 > 252) return SendClientMessage(playerid,COLOR_RED,"Fehler : Die Farbe 1 kann nicht niedriger als 0 und nicht größer als 252 sein !");
- if(c2 < 0 || c2 > 252) return SendClientMessage(playerid,COLOR_RED,"Fehler : Die Farbe 2 kann nicht niedriger als 0 und nicht größer als 252 sein !");
- if(fID < 1 || fID > MAX_FRAKTIONEN) return SendClientMessage(playerid,COLOR_RED,"Fehler : Die Fraktion existiert leider nicht !");
- GetPlayerPos(playerid,x,y,z);
- GetPlayerFacingAngle(playerid,a);
- FCar[fvzID][Fraktion] = fID;
- FCar[fvzID][fvID] = frvID;
- FCar[fvzID][fc1] = c1;
- FCar[fvzID][fc2] = c2;
- FCar[fvzID][fx] = x;
- FCar[fvzID][fy] = y;
- FCar[fvzID][fz] = z;
- FCar[fvzID][fa] = a;
- CreateVehicle(FCar[fvzID][fvID],FCar[fvzID][fx],FCar[fvzID][fy],FCar[fvzID][fz],FCar[fvzID][fa],FCar[fvzID][fc1],FCar[fvzID][fc2],-1);
- fvzID ++;
- }
- return true;
- }
- ocmd:fpark(playerid,params[]) {
- if(IsPlayerConnected(playerid) || !IsPlayerNPC(playerid)) {
- new Float:x,Float:y,Float:z,Float:a;
- for(new v=0; v<MAX_FRAKTIONSCARS; v++) {
- if(GetPlayerVehicleID(playerid) == v) {
- if(FCar[v][Fraktion] != SpielerInfo[playerid][pFraktion]) return SendClientMessage(playerid,COLOR_RED,"Fehler : Du bist nicht in einem Fraktionsauto deiner Fraktion !");
- if(SpielerInfo[playerid][pFRank] != 12) return SendClientMessage(playerid,COLOR_RED,"Fehler : Du bist nicht der Leader dieser Fraktion !");
- GetPlayerPos(playerid,x,y,z);
- GetPlayerFacingAngle(playerid,a);
- FCar[v][fx] = x;
- FCar[v][fy] = y;
- FCar[v][fz] = z;
- FCar[v][fa] = a;
- DestroyVehicle(v);
- CreateVehicle(FCar[v][fvID],FCar[v][fx],FCar[v][fy],FCar[v][fz],FCar[v][fa],FCar[v][fc1],FCar[v][fc2],-1);
- SaveFCars();
- }
- }
- }
- return true;
- }
- stock SaveFCars() {
- for(new v=0; v<MAX_FRAKTIONSCARS; v++) {
- new save[128];
- format(save,sizeof(save),"/FrakCars/%s.fcar",v);
- dini_IntSet(save,"Fraktion",FCar[v][Fraktion]);
- dini_IntSet(save,"FVehicleID",FCar[v][fvID]);
- dini_IntSet(save,"Color1",FCar[v][fc1]);
- dini_IntSet(save,"Color2",FCar[v][fc2]);
- dini_FloatSet(save,"fX",FCar[v][fx]);
- dini_FloatSet(save,"fY",FCar[v][fy]);
- dini_FloatSet(save,"fZ",FCar[v][fz]);
- dini_FloatSet(save,"fA",FCar[v][fa]);
- }
- return 1;
- }
- stock LoadFCars() {
- for(new v=0; v<MAX_FRAKTIONSCARS; v++) {
- new save[128];
- format(save,sizeof(save),"/FrakCars/%s.fcar",v);
- FCar[v][Fraktion] = dini_Int(save,"Fraktion");
- FCar[v][fvID] = dini_Int(save,"FVehicleID");
- FCar[v][fc1] = dini_Int(save,"Color1");
- FCar[v][fc2] = dini_Int(save,"Color2");
- FCar[v][fx] = dini_Float(save,"fX");
- FCar[v][fy] = dini_Float(save,"fY");
- FCar[v][fz] = dini_Float(save,"fZ");
- FCar[v][fa] = dini_Float(save,"fA");
- }
- return 1;
- }
- /* ------------------------- */
- #define Script_Copyright 2012 by Big_Ben
- /* ------------------------- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement