Advertisement
Guest User

Untitled

a guest
Mar 31st, 2012
293
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.58 KB | None | 0 0
  1. #define FILTERSCRIPT
  2.  
  3. #include <a_samp>
  4. #include <dini>
  5. #include <sscanf>
  6.  
  7. // Farben
  8. #define BLAU 0x0087FFFF
  9. #define ROT 0xE10000FF
  10. // MAX. Frak
  11. #define MAX_FRAK 1
  12. #define MAX_CARS 100
  13. #define ADMLVL 1338
  14. /* Installation: */
  15. /*
  16. Den ordner "fraccar" erstellen
  17. #define MAX_FRAK auf die Max. anzahl von Fraktionen einstellen (z.B. 24)
  18. ADMLVL (reihe 16) auf das zu gebrauchende Admin level einstellen
  19. OnPlayerStatechange aus den Klammern holen (*/ /*)
  20. bei fdel die Abfrage anch PlayerInfo aus den klammern holen (*/ /*)
  21. Die Adminabfrage bei dem befehl /fnew aus den Klammer holen (//)
  22. heißt alles aus dem klammern!!
  23. */
  24.  
  25. /* Credits */
  26. /*
  27. Die Credits gehen an Myname1997
  28. Währe nett wenn es drinne bleibt :P
  29. bzw. dann im Script erwähnt wird
  30. */
  31. enum fcinfo
  32. {
  33. car,
  34. modelid,
  35. Float:fcx,
  36. Float:fcy,
  37. Float:fcz,
  38. Float:fca,
  39. fcc1,
  40. fcc2,
  41. Frakid
  42. }
  43. new FCInfo[MAX_CARS][fcinfo];
  44.  
  45. new Frakcar[MAX_CARS];
  46.  
  47. public OnFilterScriptInit()
  48. {
  49. print("\n--------------------------------------");
  50. print("Frak-Car-System\n");
  51. print("By Myname1997\n");
  52. print("Fahrzeuge werden geladen...\n");
  53. print("--------------------------------------\n");
  54. for(new i=0;i<MAX_CARS;i++)
  55. {
  56. LFC(i);
  57. }
  58. print("\n--------------------------------------");
  59. print("Frak-Car-System\n");
  60. print("By Myname1997\n");
  61. print("Fahrzeuge wurden geladen...\n");
  62. print("--------------------------------------\n");
  63. return 1;
  64. }
  65.  
  66. public OnFilterScriptExit()
  67. {
  68. for(new i=0;i<MAX_CARS;i++)
  69. {
  70. SFC(i);
  71. }
  72. return 1;
  73. }
  74.  
  75. public OnPlayerCommandText(playerid,cmdtext[])
  76. {
  77. new cmd[256];
  78. new tmp[256];
  79. new idx;
  80. cmd = strtok(cmdtext, idx);
  81.  
  82. if(strcmp(cmdtext,"/fpark",true)==0)
  83. {
  84. if(IsPlayerConnected(playerid))
  85. {
  86. if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,ROT,"[ERROR:] Sie sind in keinem Auto!");
  87. new veh;
  88. veh = GetPlayerVehicleID(playerid);
  89. for(new i=0;i<MAX_CARS;i++)
  90. {
  91. if(veh == Frakcar[i])
  92. {
  93. /*if(PlayerInfo[playerid][pMember] != FCInfo[i][Frakid] && PlayerInfo[playerid][pLeader] != FCInfo[i][Frakid] && PlayerInfo[playerid][pAdmin] < ADMLVL)
  94. {
  95. SendClientMessage(playerid,ROT,"[ERROR:] Dies ist nicht ihr Fraktion's Auto!");
  96. return 1;
  97. }*/
  98. new Float:x,Float:y,Float:z,Float:a;
  99. GetVehiclePos(veh,x,y,z);
  100. GetVehicleZAngle(veh,a);
  101. FCInfo[i][fcx] = x;
  102. FCInfo[i][fcy] = y;
  103. FCInfo[i][fcz] = z;
  104. FCInfo[i][fca] = a;
  105. SFC(i);
  106. SendClientMessage(playerid,BLAU,"[FCAR:] Fahrzeug geparkt!");
  107. }
  108. }
  109. }
  110. return 1;
  111. }
  112. if(strcmp(cmdtext,"/fdel",true)==0)
  113. {
  114. if(IsPlayerConnected(playerid))
  115. {
  116. if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,ROT,"[ERROR:] Sie sind in keinem Auto!");
  117. new veh;
  118. veh = GetPlayerVehicleID(playerid);
  119. for(new i=0;i<MAX_CARS;i++)
  120. {
  121. if(veh == Frakcar[i])
  122. {
  123. /*if(PlayerInfo[playerid][pMember] != FCInfo[i][Frakid] && PlayerInfo[playerid][pLeader] != FCInfo[i][Frakid] && PlayerInfo[playerid][pAdmin] < ADMLVL)
  124. {
  125. SendClientMessage(playerid,ROT,"[ERROR:] Dies ist nicht ihr Fraktion's Auto!");
  126. return 1;
  127. }*/
  128. DestroyVehicle(veh);
  129. new SDatei[64];
  130. format(SDatei,50,"/fraccar/%d.txt",i);
  131. dini_Remove(SDatei);
  132. SendClientMessage(playerid,BLAU,"[FCAR:] Fahrzeug gelöscht!");
  133. }
  134. }
  135. }
  136. return 1;
  137. }
  138. if(strcmp(cmd,"/fklauen",true)==0)
  139. {
  140. if(IsPlayerConnected(playerid))
  141. {
  142. //if(PlayerInfo[playerid][pLeader] != 15 && PlayerInfo[playerid][pMember] != 15) return SendClientMessage(playerid,ROT,"Du bist kein Terrorist");
  143. tmp = strtok(cmdtext, idx);
  144. if(!strlen(tmp))
  145. {
  146. SendClientMessage(playerid, ROT, "Benutze: /fklauen [carid]");
  147. return 1;
  148. }
  149. new id;
  150. id = strval(tmp);
  151. new Float:vx,Float:vy,Float:vz;
  152. GetVehiclePos(id,vx,vy,vz);
  153. for(new i=0;i<MAX_CARS;i++)
  154. {
  155. if(id == Frakcar[i])
  156. {
  157. if(IsPlayerInRangeOfPoint(playerid,5,vx,vy,vz))
  158. {
  159. FCInfo[i][Frakid] = 15;
  160. SendClientMessage(playerid,BLAU,"Das Auto wurde erfolgreich geklaut!");
  161. SFC(i);
  162. }
  163. }
  164. }
  165. }
  166. return 1;
  167. }
  168. if(strcmp(cmd,"/fnew",true)==0)
  169. {
  170. if(IsPlayerConnected(playerid))
  171. {
  172. //if(PlayerInfo[playerid][pAdmin] < ADMLVL) return 1;
  173. tmp = strtok(cmdtext, idx);
  174. if(!strlen(tmp))
  175. {
  176. SendClientMessage(playerid, ROT, "Benutze: /fnew [model] [farbe1] [farbe2] [Fraktion]");
  177. return 1;
  178. }
  179. new model;
  180. model = strval(tmp);
  181. if(model < 400 || model > 611) return SendClientMessage(playerid,ROT,"[ERROR:] Die Modelid darf nicht über 611 bzw. unter 400 liegen!");
  182. tmp = strtok(cmdtext, idx);
  183. if(!strlen(tmp))
  184. {
  185. SendClientMessage(playerid, ROT, "Benutze: /fnew [model] [farbe1] [farbe2] [Fraktion]");
  186. return 1;
  187. }
  188. new farbe1;
  189. farbe1 = strval(tmp);
  190. tmp = strtok(cmdtext, idx);
  191. if(!strlen(tmp))
  192. {
  193. SendClientMessage(playerid, ROT, "Benutze: /fnew [model] [farbe1] [farbe2] [Fraktion]");
  194. return 1;
  195. }
  196. new farbe2;
  197. farbe2 = strval(tmp);
  198. tmp = strtok(cmdtext, idx);
  199. if(!strlen(tmp))
  200. {
  201. SendClientMessage(playerid, ROT, "Benutze: /fnew [model] [farbe1] [farbe2] [Fraktion]");
  202. return 1;
  203. }
  204. new frak;
  205. frak = strval(tmp);
  206. if(frak > MAX_FRAK || frak < 1) return SendClientMessage(playerid,ROT,"Bitte gültige Fraktion angeben!");
  207.  
  208. new Float:x,Float:y,Float:z,Float:a;
  209. GetPlayerPos(playerid,x,y,z);
  210. GetPlayerFacingAngle(playerid,a);
  211. SendClientMessage(playerid,BLAU,"Fraktionsfahrzeug wird erstellt!");
  212. CFC(model,x,y,z,a,farbe1,farbe2,frak);
  213. SendClientMessage(playerid,BLAU,"Erfolgreich");
  214.  
  215. }
  216. return 1;
  217. }
  218.  
  219. return 1;
  220. }
  221.  
  222. /*public OnPlayerStateChange(playerid, newstate, oldstate)
  223. {
  224. if(newstate==PLAYER_STATE_DRIVER)
  225. {
  226. for(new i=0; i<MAX_CARS; i++)
  227. {
  228. if(GetPlayerVehicleID(playerid)==Frakcar[i])
  229. {
  230. if(PlayerInfo[playerid][pMember] != FCInfo[i][Frakid] && PlayerInfo[playerid][pLeader] != FCInfo[i][Frakid]) // && PlayerInfo[playerid][pAdmin] < ADMLVL)
  231. {
  232. RemovePlayerFromVehicle(playerid);
  233. SendClientMessage(playerid,COLOR_LIGHTRED,"Du darfst dieses Fahrzeug nicht fahren.");
  234. }
  235. }
  236. }
  237. }
  238. return 1;
  239. }*/
  240.  
  241. stock CFC(model,Float:fx,Float:fy,Float:fz,Float:fa,farbe1,farbe2,frak)
  242. {
  243. new SDatei[64];
  244. for(new carid=1;carid<MAX_CARS;carid++)
  245. {
  246. format(SDatei,50,"/fraccar/%d.txt",carid);
  247. if(!fexist(SDatei))
  248. {
  249. dini_Create(SDatei);
  250. dini_IntSet(SDatei,"Model",model);
  251. dini_FloatSet(SDatei,"X",fx);
  252. dini_FloatSet(SDatei,"Y",fy);
  253. dini_FloatSet(SDatei,"Z",fz);
  254. dini_FloatSet(SDatei,"A",fa);
  255. dini_IntSet(SDatei,"Farbe1",farbe1);
  256. dini_IntSet(SDatei,"Farbe2",farbe2);
  257. dini_IntSet(SDatei,"Fraktion",frak);
  258. Frakcar[carid] = CreateVehicle(model,fx,fy,fz,fa,farbe1,farbe2,-1);
  259.  
  260. FCInfo[carid][modelid] = dini_Int(SDatei,"Model");
  261. FCInfo[carid][fcx] = dini_Float(SDatei,"X");
  262. FCInfo[carid][fcy] = dini_Float(SDatei,"Y");
  263. FCInfo[carid][fcz] = dini_Float(SDatei,"Z");
  264. FCInfo[carid][fca] = dini_Float(SDatei,"A");
  265. FCInfo[carid][Frakid] = dini_Int(SDatei,"Fraktion");
  266. FCInfo[carid][fcc1] = dini_Int(SDatei,"Farbe1");
  267. FCInfo[carid][fcc2] = dini_Int(SDatei,"Farbe2");
  268.  
  269. return 1;
  270. }
  271. }
  272. return 1;
  273. }
  274.  
  275. stock SFC(autoid)
  276. {
  277. new SDatei[64];
  278. format(SDatei,50,"/fraccar/%d.txt",autoid);
  279. dini_IntSet(SDatei,"Model",FCInfo[autoid][modelid]);
  280. dini_FloatSet(SDatei,"X",FCInfo[autoid][fcx]);
  281. dini_FloatSet(SDatei,"Y",FCInfo[autoid][fcy]);
  282. dini_FloatSet(SDatei,"Z",FCInfo[autoid][fcz]);
  283. dini_FloatSet(SDatei,"A",FCInfo[autoid][fca]);
  284. dini_IntSet(SDatei,"Farbe1",FCInfo[autoid][fcc1]);
  285. dini_IntSet(SDatei,"Farbe2",FCInfo[autoid][fcc2]);
  286. dini_IntSet(SDatei,"Fraktion",FCInfo[autoid][Frakid]);
  287. return 1;
  288. }
  289.  
  290. stock LFC(autoid)
  291. {
  292. new SDatei[64];
  293. format(SDatei,50,"/fraccar/%d.txt",autoid);
  294. if(!fexist(SDatei))return 0;
  295. FCInfo[autoid][modelid] = dini_Int(SDatei,"Model");
  296. FCInfo[autoid][fcx] = dini_Float(SDatei,"X");
  297. FCInfo[autoid][fcy] = dini_Float(SDatei,"Y");
  298. FCInfo[autoid][fcz] = dini_Float(SDatei,"Z");
  299. FCInfo[autoid][fca] = dini_Float(SDatei,"A");
  300. FCInfo[autoid][Frakid] = dini_Int(SDatei,"Fraktion");
  301. FCInfo[autoid][fcc1] = dini_Int(SDatei,"Farbe1");
  302. FCInfo[autoid][fcc2] = dini_Int(SDatei,"Farbe2");
  303. 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);
  304. return 1;
  305. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement