Advertisement
Guest User

Tankstellen Raub System

a guest
May 11th, 2013
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 6.77 KB | None | 0 0
  1. #include <a_samp>
  2. #include zcmd
  3. #define Function%0(%1) forward%0(%1); public%0(%1)
  4.  
  5. //Farben
  6. #define ROT             0xAF0000FF
  7. #define ORANGE          0xFF9600FF
  8. #define LILA            0x9700FFFF
  9.  
  10. enum TRInfo
  11. {
  12.     Raubbar,            //Ob man es Rauben kann 0 Ja 1 Nein
  13.     TName[64],          //Wo diese tankstelle ist Name
  14.     Float:tRaubenX,     //Wo Float X Der Tanke
  15.     Float:tRaubenY,     //Wo Float Y Der Tanke
  16.     Float:tRaubenZ     //Wo Float Z Der Tanke
  17. };
  18.  
  19. new RaubInfo[16][TRInfo]; //der 2 Wert sagt wieviele Tankstellen es gibt
  20.  
  21. new Rauben;
  22. new TutWas[MAX_PLAYERS];
  23.  
  24. public OnFilterScriptInit()
  25. {
  26.     print("\n--------------------------------------");
  27.     print(" Tankstellen Rauben von Mr.Undercover");
  28.     print("--------------------------------------\n");
  29.     LoadTankRaub();
  30.     SetTimer("Rauben0",1000*30,true); //30Minuten dann werden alle Tanken Raubbar
  31.     return 1;
  32. }
  33.  
  34. public OnFilterScriptExit()
  35. {
  36.     return 1;
  37. }
  38.  
  39.  
  40. public OnPlayerRequestClass(playerid, classid)
  41. {
  42.     SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  43.     SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  44.     SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  45.     return 1;
  46. }
  47.  
  48. public OnPlayerConnect(playerid)
  49. {
  50.     TutWas[playerid] = 0;
  51.     return 1;
  52. }
  53.  
  54. public OnPlayerDisconnect(playerid, reason)
  55. {
  56.     TutWas[playerid] = 0;
  57.     return 1;
  58. }
  59.  
  60. public OnPlayerSpawn(playerid)
  61. {
  62.     return 1;
  63. }
  64.  
  65. public OnPlayerDeath(playerid, killerid, reason)
  66. {
  67.     return 1;
  68. }
  69.  
  70. public OnVehicleSpawn(vehicleid)
  71. {
  72.     return 1;
  73. }
  74.  
  75. public OnVehicleDeath(vehicleid, killerid)
  76. {
  77.     return 1;
  78. }
  79.  
  80. public OnPlayerText(playerid, text[])
  81. {
  82.     return 1;
  83. }
  84.  
  85. public OnPlayerCommandText(playerid, cmdtext[])
  86. {
  87.     if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  88.     {
  89.         return 1;
  90.     }
  91.     return 0;
  92. }
  93.  
  94. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  95. {
  96.     return 1;
  97. }
  98.  
  99. public OnPlayerExitVehicle(playerid, vehicleid)
  100. {
  101.     return 1;
  102. }
  103.  
  104. public OnPlayerStateChange(playerid, newstate, oldstate)
  105. {
  106.     return 1;
  107. }
  108.  
  109. public OnPlayerEnterCheckpoint(playerid)
  110. {
  111.     return 1;
  112. }
  113.  
  114. public OnPlayerLeaveCheckpoint(playerid)
  115. {
  116.     return 1;
  117. }
  118.  
  119. public OnPlayerEnterRaceCheckpoint(playerid)
  120. {
  121.     return 1;
  122. }
  123.  
  124. public OnPlayerLeaveRaceCheckpoint(playerid)
  125. {
  126.     return 1;
  127. }
  128.  
  129. public OnRconCommand(cmd[])
  130. {
  131.     return 1;
  132. }
  133.  
  134. public OnPlayerRequestSpawn(playerid)
  135. {
  136.     return 1;
  137. }
  138.  
  139. public OnObjectMoved(objectid)
  140. {
  141.     return 1;
  142. }
  143.  
  144. public OnPlayerObjectMoved(playerid, objectid)
  145. {
  146.     return 1;
  147. }
  148.  
  149. public OnPlayerPickUpPickup(playerid, pickupid)
  150. {
  151.     return 1;
  152. }
  153.  
  154. public OnVehicleMod(playerid, vehicleid, componentid)
  155. {
  156.     return 1;
  157. }
  158.  
  159. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  160. {
  161.     return 1;
  162. }
  163.  
  164. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  165. {
  166.     return 1;
  167. }
  168.  
  169. public OnPlayerSelectedMenuRow(playerid, row)
  170. {
  171.     return 1;
  172. }
  173.  
  174. public OnPlayerExitedMenu(playerid)
  175. {
  176.     return 1;
  177. }
  178.  
  179. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  180. {
  181.     return 1;
  182. }
  183.  
  184. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  185. {
  186.     return 1;
  187. }
  188.  
  189. public OnRconLoginAttempt(ip[], password[], success)
  190. {
  191.     return 1;
  192. }
  193.  
  194. public OnPlayerUpdate(playerid)
  195. {
  196.     return 1;
  197. }
  198.  
  199. public OnPlayerStreamIn(playerid, forplayerid)
  200. {
  201.     return 1;
  202. }
  203.  
  204. public OnPlayerStreamOut(playerid, forplayerid)
  205. {
  206.     return 1;
  207. }
  208.  
  209. public OnVehicleStreamIn(vehicleid, forplayerid)
  210. {
  211.     return 1;
  212. }
  213.  
  214. public OnVehicleStreamOut(vehicleid, forplayerid)
  215. {
  216.     return 1;
  217. }
  218.  
  219. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  220. {
  221.     return 1;
  222. }
  223.  
  224. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  225. {
  226.     return 1;
  227. }
  228.  
  229. CMD:rauben(playerid,params[])
  230. {
  231.     #pragma unused params
  232.     new string[124];
  233.     for(new b = 0; b < sizeof(RaubInfo); b++)
  234.     {
  235.         if(IsPlayerInRangeOfPoint(playerid,50.0, RaubInfo[b][tRaubenX], RaubInfo[b][tRaubenY], RaubInfo[b][tRaubenZ]))
  236.         {
  237.             if(TutWas[playerid] == 1) return SendClientMessage(playerid,ROT,"Du bist momentan beschäftigt.");
  238.             if(GetPlayerWeapon(playerid) == 0) return SendClientMessage(playerid,ROT,"Der Besitzer hat keine Angst. Du brauchst eine Waffe.");
  239.             if(RaubInfo[b][Raubbar] == 1)
  240.             {
  241.                 format(string, sizeof(string), "Die Tankstelle wurde erst vor kurzem Ausgeraubt");
  242.                 SendClientMessage(playerid, ORANGE, string);
  243.                 TogglePlayerControllable(playerid,1);
  244.                 return 1;
  245.             }
  246.             else
  247.             {
  248.                 RaubInfo[b][Raubbar] = 1;
  249.                 TutWas[playerid] = 1;
  250.                 format(string,sizeof(string),"Du raubst die Tankstelle %s",RaubInfo[b][TName]);
  251.                 SendClientMessage(playerid,ORANGE,string);
  252.                 TogglePlayerControllable(playerid,0);
  253.                 Rauben = SetTimerEx("RaubTimer", 15000, false, "d", playerid);
  254.                 ApplyAnimation(playerid,"SHOP", "ROB_Loop_Threat",4.0,1,0,0,0,0);
  255.                 SaveTankRaub();
  256.                 return 1;
  257.             }
  258.         }
  259.     }
  260.     return 1;
  261. }
  262. Function SaveTankRaub()
  263. {
  264.     new idx;
  265.     new File: file2;
  266.     while (idx < sizeof(RaubInfo))
  267.     {
  268.         new coordsstring[256];
  269.         format(coordsstring, sizeof(coordsstring), "%d|%s|%f|%f|%f\n",
  270.         RaubInfo[idx][Raubbar],
  271.         RaubInfo[idx][TName],
  272.         RaubInfo[idx][tRaubenX],
  273.         RaubInfo[idx][tRaubenY],
  274.         RaubInfo[idx][tRaubenZ]);
  275.         if(idx == 0)
  276.         {
  277.             file2 = fopen("TankenRauben.txt", io_write);
  278.         }
  279.         else
  280.         {
  281.             file2 = fopen("TankenRauben.txt", io_append);
  282.         }
  283.         fwrite(file2, coordsstring);
  284.         idx++;
  285.         fclose(file2);
  286.     }
  287.     return 1;
  288. }
  289.  
  290. Function LoadTankRaub()
  291. {
  292.     new arrCoords[19][64];
  293.     new strFromFile2[256];
  294.     new File: file = fopen("TankenRauben.txt", io_read);
  295.     if (file)
  296.     {
  297.         new idx;
  298.         while (idx < sizeof(RaubInfo))
  299.         {
  300.             fread(file, strFromFile2);
  301.             split(strFromFile2, arrCoords, '|');
  302.             RaubInfo[idx][Raubbar] = strval(arrCoords[0]);
  303.             strmid(RaubInfo[idx][TName], arrCoords[1], 0, strlen(arrCoords[1]), 255);
  304.             RaubInfo[idx][tRaubenX] = floatstr(arrCoords[2]);
  305.             RaubInfo[idx][tRaubenY] = floatstr(arrCoords[3]);
  306.             RaubInfo[idx][tRaubenZ] = floatstr(arrCoords[4]);
  307.             idx++;
  308.         }
  309.         fclose(file);
  310.     }
  311.     return 1;
  312. }
  313.  
  314. Function split(const strsrc[], strdest[][], delimiter)
  315. {
  316.     new i, li;
  317.     new aNum;
  318.     new len;
  319.     while(i <= strlen(strsrc)){
  320.         if(strsrc[i]==delimiter || i==strlen(strsrc)){
  321.             len = strmid(strdest[aNum], strsrc, li, i, 128);
  322.             strdest[aNum][len] = 0;
  323.             li = i+1;
  324.             aNum++;
  325.         }
  326.         i++;
  327.     }
  328.     return 1;
  329. }
  330. Function RaubTimer(playerid)
  331. {
  332.     new string[124];
  333.     new RaubGeld = 5000 + random(10000);
  334.     GivePlayerMoney(playerid,RaubGeld);
  335.     TogglePlayerControllable(playerid,1);
  336.     TutWas[playerid] = 0;
  337.     format(string,sizeof(string),"Du hast die Tankstelle erfolgreich ausgeraubt und erhälst %d€",RaubGeld);
  338.     SendClientMessage(playerid,LILA,string);
  339.     KillTimer(Rauben);
  340.     return 1;
  341. }
  342.  
  343. Function Rauben0()
  344. {
  345.     for(new b = 0; b < sizeof(RaubInfo); b++)
  346.     {
  347.         RaubInfo[b][Raubbar] = 0;
  348.     }
  349. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement