Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define FILTERSCRIPT
- #include <a_samp>
- #include <dini>
- #include <sscanf>
- // Farben
- #define BLAU 0x0087FFFF
- #define ROT 0xE10000FF
- // MAX. Frak
- #define MAX_FRAK 1
- #define MAX_CARS 100
- #define ADMLVL 1338
- #define OAMT 24 //fraktion oamt
- #define OPARKG 500 // Geld
- /* Installation: */
- /*
- Den ordner "fraccar" erstellen
- #define MAX_FRAK auf die Max. anzahl von Fraktionen einstellen (z.B. 24)
- ADMLVL (reihe 13) auf das zu gebrauchende Admin level einstellen
- OnPlayerStatechange aus den Klammern holen (*/ /*)
- bei fdel die Abfrage anch PlayerInfo aus den klammern holen (*/ /*)
- Die Adminabfrage bei dem befehl /fnew aus den Klammer holen (//)
- heißt alles aus dem klammern!!
- */
- /* Credits */
- /*
- Die Credits gehen an Myname1997
- Währe nett wenn es drinne bleibt :P
- */
- enum fcinfo
- {
- modelid,
- Float:fcx,
- Float:fcy,
- Float:fcz,
- Float:fca,
- fcc1,
- fcc2,
- Frakid,
- open,
- Opark
- }
- new FCInfo[MAX_CARS][fcinfo];
- new Frakcar[MAX_CARS];
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print("Frak-Car-System\n");
- print("By Myname1997\n");
- print("Fahrzeuge werden geladen...\n");
- print("--------------------------------------\n");
- for(new i=0;i<MAX_CARS;i++)
- {
- LFC(i);
- }
- print("\n--------------------------------------");
- print("Frak-Car-System\n");
- print("By Myname1997\n");
- print("Fahrzeuge wurden geladen...\n");
- print("--------------------------------------\n");
- return 1;
- }
- public OnFilterScriptExit()
- {
- for(new i=0;i<MAX_CARS;i++)
- {
- SFC(i);
- }
- return 1;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- /*for(new i=0;i<MAX_CARS;i++)
- {
- if(vehicleid == Frakcar[i])
- {
- if(FCInfo[i][open] == 0 && PlayerInfo[playerid][pLeader] != FCInfo[i][Frakid])
- {
- SendClientMessage(playerid,ROT,"[ERROR:] Das Fahrzeug ist Abgeschloßen!");
- new Float:x,Float:y,Float:z;
- GetPlayerPos(playerid,x,y,z);
- SetPlayerPos(playerid,x,y,z+1);
- }
- }
- }*/
- /*for(new i=0;i<MAX_CARS;i++)
- {
- if(vehicleid == Frakcar[i])
- {
- if(FCInfo[i][Opark] == 1)
- {
- SendClientMessage(playerid,ROT,"[ERROR:] Das Fahrzeug ist Abgeschleppt , Freikaufen mit '/freefcar'!");
- TogglePlayerControllable(playerid,0);
- TogglePlayerControllable(playerid,1);
- RemovePlayerFromVehicle(playerid);
- }
- }
- }*/
- return 1;
- }
- public OnPlayerCommandText(playerid,cmdtext[])
- {
- new cmd[256];
- new tmp[256];
- new idx;
- cmd = strtok(cmdtext, idx);
- if(strcmp(cmdtext,"/fopark",true)==0)
- {
- if(IsPlayerConnected(playerid))
- {
- if(IsPlayerInAnyVehicle(playerid) && GetVehicleModel(GetPlayerVehicleID(playerid)) == 525 && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- if(!IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
- {
- SendClientMessage(playerid, ROT, "[FCAR:] An deinem Abschleppwagen ist kein Auto angehängt!");
- return 1;
- }
- new veh = GetVehicleTrailer(GetPlayerVehicleID(playerid));
- for(new i=0;i<MAX_CARS;i++)
- {
- if(veh == Frakcar[i])
- {
- /*if(PlayerInfo[playerid][pMember] != OAMT && PlayerInfo[playerid][pLeader] != OAMT)
- {
- SendClientMessage(playerid,ROT,"[ERROR:] Sie sind kein Ordnungbeamter!");
- return 1;
- }*/
- new Float:x,Float:y,Float:z,Float:a;
- GetVehiclePos(veh,x,y,z);
- GetVehicleZAngle(veh,a);
- FCInfo[i][fcx] = x;
- FCInfo[i][fcy] = y;
- FCInfo[i][fcz] = z;
- FCInfo[i][fca] = a;
- FCInfo[i][Opark] = 1;
- SFC(i);
- SendClientMessage(playerid,BLAU,"[FCAR:] Fahrzeug in verwahrung gegeben!");
- }
- }
- }
- }
- return 1;
- }
- if(strcmp(cmdtext,"/freefcar",true)==0)
- {
- if(IsPlayerConnected(playerid))
- {
- if(!IsPlayerInAnyVehicle(playerid)) return 1;
- new fcar = GetPlayerVehicleID(playerid);
- for(new i=0;i<MAX_CARS;i++)
- {
- if(fcar == Frakcar[i])
- {
- if(GetPlayerMoney(playerid) < OPARKG) return SendClientMessage(playerid,ROT,"[ERROR:]Nicht genug Geld dabei!");
- if(FCInfo[i][Opark] == 0) return SendClientMessage(playerid,ROT,"[ERROR:]Fahrzeug nicht abgeschleppt!");
- //if(FCInfo[i][Frakid] != PlayerInfo[playerid][pLeader]) return SendClientmessage(playerid,ROT,"[ERROR:]Nicht ihr Fraktionsfahrezug!");
- GivePlayerMoney(playerid,-OAMTG);
- FCInfo[i][Opark] = 0;
- SendClientMessage(playerid,BLAU,"[FCAR:]Fahrzeug wirde erfolgreich freigekauft! , Nicht Vergessen: Mit '/fpark' neu parken!");
- return 1;
- }
- }
- }
- return 1;
- }
- if(strcmp(cmdtext,"/flock",true)==0)
- {
- if(IsPlayerConnected(playerid))
- {
- if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,ROT,"[ERROR:] Sie sind in keinem Auto!");
- new veh;
- veh = GetPlayerVehicleID(playerid);
- for(new i=0;i<MAX_CARS;i++)
- {
- if(veh == Frakcar[i])
- {
- /*if(PlayerInfo[playerid][pMember] != FCInfo[i][Frakid] && PlayerInfo[playerid][pLeader] != FCInfo[i][Frakid] && PlayerInfo[playerid][pAdmin] < ADMLVL)
- {
- SendClientMessage(playerid,ROT,"[ERROR:] Dies ist nicht ihr Fraktion's Auto!");
- return 1;
- }*/
- if(FCInfo[i][open] == 1)
- {
- FCInfo[i][open] = 0;
- SFC(i);
- SendClientMessage(playerid,BLAU,"[FCAR:] Fahrzeug abgeschloßen!");
- }
- else if(FCInfo[i][open] == 0)
- {
- FCInfo[i][open] = 1;
- SFC(i);
- SendClientMessage(playerid,BLAU,"[FCAR:] Fahrzeug aufgeschloßen!");
- }
- }
- }
- }
- return 1;
- }
- if(strcmp(cmdtext,"/fpark",true)==0)
- {
- if(IsPlayerConnected(playerid))
- {
- if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,ROT,"[ERROR:] Sie sind in keinem Auto!");
- new veh;
- veh = GetPlayerVehicleID(playerid);
- for(new i=0;i<MAX_CARS;i++)
- {
- if(veh == Frakcar[i])
- {
- /*if(PlayerInfo[playerid][pMember] != FCInfo[i][Frakid] && PlayerInfo[playerid][pLeader] != FCInfo[i][Frakid] && PlayerInfo[playerid][pAdmin] < ADMLVL)
- {
- SendClientMessage(playerid,ROT,"[ERROR:] Dies ist nicht ihr Fraktion's Auto!");
- return 1;
- }*/
- new Float:x,Float:y,Float:z,Float:a;
- GetVehiclePos(veh,x,y,z);
- GetVehicleZAngle(veh,a);
- FCInfo[i][fcx] = x;
- FCInfo[i][fcy] = y;
- FCInfo[i][fcz] = z;
- FCInfo[i][fca] = a;
- SFC(i);
- SendClientMessage(playerid,BLAU,"[FCAR:] Fahrzeug geparkt!");
- }
- }
- }
- return 1;
- }
- if(strcmp(cmdtext,"/fdel",true)==0)
- {
- if(IsPlayerConnected(playerid))
- {
- if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,ROT,"[ERROR:] Sie sind in keinem Auto!");
- new veh;
- veh = GetPlayerVehicleID(playerid);
- for(new i=0;i<MAX_CARS;i++)
- {
- if(veh == Frakcar[i])
- {
- /*if(PlayerInfo[playerid][pMember] != FCInfo[i][Frakid] && PlayerInfo[playerid][pLeader] != FCInfo[i][Frakid] && PlayerInfo[playerid][pAdmin] < ADMLVL)
- {
- SendClientMessage(playerid,ROT,"[ERROR:] Dies ist nicht ihr Fraktion's Auto!");
- return 1;
- }*/
- DestroyVehicle(veh);
- new SDatei[64];
- format(SDatei,50,"/fraccar/%d.txt",i);
- dini_Remove(SDatei);
- SendClientMessage(playerid,BLAU,"[FCAR:] Fahrzeug gelöscht!");
- }
- }
- }
- return 1;
- }
- if(strcmp(cmd,"/fklauen",true)==0)
- {
- if(IsPlayerConnected(playerid))
- {
- //if(PlayerInfo[playerid][pLeader] != 15 && PlayerInfo[playerid][pMember] != 15) return SendClientMessage(playerid,ROT,"Du bist kein Terrorist");
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ROT, "Benutze: /fklauen [carid]");
- return 1;
- }
- new id;
- id = strval(tmp);
- new Float:vx,Float:vy,Float:vz;
- GetVehiclePos(id,vx,vy,vz);
- for(new i=0;i<MAX_CARS;i++)
- {
- if(id == Frakcar[i])
- {
- if(IsPlayerInRangeOfPoint(playerid,5,vx,vy,vz))
- {
- FCInfo[i][Frakid] = 15;
- SendClientMessage(playerid,BLAU,"Das Auto wurde erfolgreich geklaut!");
- SFC(i);
- }
- }
- }
- }
- return 1;
- }
- if(strcmp(cmd,"/fnew",true)==0)
- {
- if(IsPlayerConnected(playerid))
- {
- //if(PlayerInfo[playerid][pAdmin] < ADMLVL) return 1;
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ROT, "Benutze: /fnew [model] [farbe1] [farbe2] [Fraktion]");
- return 1;
- }
- new model;
- model = strval(tmp);
- if(model < 400 || model > 611) return SendClientMessage(playerid,ROT,"[ERROR:] Die Modelid darf nicht über 611 bzw. unter 400 liegen!");
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ROT, "Benutze: /fnew [model] [farbe1] [farbe2] [Fraktion]");
- return 1;
- }
- new farbe1;
- farbe1 = strval(tmp);
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ROT, "Benutze: /fnew [model] [farbe1] [farbe2] [Fraktion]");
- return 1;
- }
- new farbe2;
- farbe2 = strval(tmp);
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ROT, "Benutze: /fnew [model] [farbe1] [farbe2] [Fraktion]");
- return 1;
- }
- new frak;
- frak = strval(tmp);
- if(frak > MAX_FRAK || frak < 1) return SendClientMessage(playerid,ROT,"Bitte gültige Fraktion angeben!");
- new Float:x,Float:y,Float:z,Float:a;
- GetPlayerPos(playerid,x,y,z);
- GetPlayerFacingAngle(playerid,a);
- SendClientMessage(playerid,BLAU,"Fraktionsfahrzeug wird erstellt!");
- CFC(model,x,y,z,a,farbe1,farbe2,frak);
- SendClientMessage(playerid,BLAU,"Erfolgreich");
- }
- return 1;
- }
- return 1;
- }
- /*public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- if(newstate==PLAYER_STATE_DRIVER)
- {
- for(new i=0; i<MAX_CARS; i++)
- {
- if(GetPlayerVehicleID(playerid)==Frakcar[i])
- {
- if(PlayerInfo[playerid][pMember] != FCInfo[i][Frakid] && PlayerInfo[playerid][pLeader] != FCInfo[i][Frakid]) // && PlayerInfo[playerid][pAdmin] < ADMLVL)
- {
- RemovePlayerFromVehicle(playerid);
- SendClientMessage(playerid,COLOR_LIGHTRED,"Du darfst dieses Fahrzeug nicht fahren.");
- }
- }
- }
- }
- return 1;
- }*/
- stock CFC(model,Float:fx,Float:fy,Float:fz,Float:fa,farbe1,farbe2,frak)
- {
- new SDatei[64];
- for(new carid=1;carid<MAX_CARS;carid++)
- {
- format(SDatei,50,"/fraccar/%d.txt",carid);
- if(!fexist(SDatei))
- {
- dini_Create(SDatei);
- dini_IntSet(SDatei,"Model",model);
- dini_FloatSet(SDatei,"X",fx);
- dini_FloatSet(SDatei,"Y",fy);
- dini_FloatSet(SDatei,"Z",fz);
- dini_FloatSet(SDatei,"A",fa);
- dini_IntSet(SDatei,"Farbe1",farbe1);
- dini_IntSet(SDatei,"Farbe2",farbe2);
- dini_IntSet(SDatei,"Fraktion",frak);
- Frakcar[carid] = CreateVehicle(model,fx,fy,fz,fa,farbe1,farbe2,-1);
- FCInfo[carid][modelid] = dini_Int(SDatei,"Model");
- FCInfo[carid][fcx] = dini_Float(SDatei,"X");
- FCInfo[carid][fcy] = dini_Float(SDatei,"Y");
- FCInfo[carid][fcz] = dini_Float(SDatei,"Z");
- FCInfo[carid][fca] = dini_Float(SDatei,"A");
- FCInfo[carid][Frakid] = dini_Int(SDatei,"Fraktion");
- FCInfo[carid][fcc1] = dini_Int(SDatei,"Farbe1");
- FCInfo[carid][fcc2] = dini_Int(SDatei,"Farbe2");
- FCInfo[carid][open] = 0;
- FCInfo[carid][Opark] = 0;
- return 1;
- }
- }
- return 1;
- }
- stock SFC(autoid)
- {
- new SDatei[64];
- format(SDatei,50,"/fraccar/%d.txt",autoid);
- dini_IntSet(SDatei,"Model",FCInfo[autoid][modelid]);
- dini_FloatSet(SDatei,"X",FCInfo[autoid][fcx]);
- dini_FloatSet(SDatei,"Y",FCInfo[autoid][fcy]);
- dini_FloatSet(SDatei,"Z",FCInfo[autoid][fcz]);
- dini_FloatSet(SDatei,"A",FCInfo[autoid][fca]);
- dini_IntSet(SDatei,"Farbe1",FCInfo[autoid][fcc1]);
- dini_IntSet(SDatei,"Farbe2",FCInfo[autoid][fcc2]);
- dini_IntSet(SDatei,"Fraktion",FCInfo[autoid][Frakid]);
- dini_IntSet(SDatei,"Open",FCInfo[autoid][open]);
- dini_IntSet(SDatei,"Opark",FCInfo[autoid][Opark]);
- return 1;
- }
- stock LFC(autoid)
- {
- new SDatei[64];
- format(SDatei,50,"/fraccar/%d.txt",autoid);
- if(!fexist(SDatei))return 0;
- FCInfo[autoid][modelid] = dini_Int(SDatei,"Model");
- FCInfo[autoid][fcx] = dini_Float(SDatei,"X");
- FCInfo[autoid][fcy] = dini_Float(SDatei,"Y");
- FCInfo[autoid][fcz] = dini_Float(SDatei,"Z");
- FCInfo[autoid][fca] = dini_Float(SDatei,"A");
- FCInfo[autoid][Frakid] = dini_Int(SDatei,"Fraktion");
- FCInfo[autoid][fcc1] = dini_Int(SDatei,"Farbe1");
- FCInfo[autoid][fcc2] = dini_Int(SDatei,"Farbe2");
- FCInfo[autoid][open] = dini_Int(SDatei,"Open");
- FCInfo[autoid][Opark] = dini_Int(SDatei,"Opark");
- Frakcar[autoid] = CreateVehicle(FCInfo[autoid][modelid],FCInfo[autoid][fcx],FCInfo[autoid][fcy],FCInfo[autoid][fcz],FCInfo[autoid][fca],FCInfo[autoid][fcc1],FCInfo[autoid][fcc2],-1);
- return 1;
- }
- 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