Guest User

Untitled

a guest
Sep 30th, 2018
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.59 KB | None | 0 0
  1. ​[pwn]createPlayerCar(playerid,ownerid,modelid,Float:x,Float:y,Float:z,Float:r,Color1,Color2)
  2.  
  3. {
  4.  
  5. for(new i=0; i<sizeof(cInfo); i++)
  6.  
  7. {
  8.  
  9. if(cInfo[i][VCarID]!=-1)continue;
  10.  
  11. strmid(cInfo[i][besitzer], GetName(ownerid), 0, MAX_PLAYER_NAME, MAX_PLAYER_NAME);
  12.  
  13. cInfo[i][c_x]=x;
  14.  
  15. cInfo[i][c_y]=y;
  16.  
  17. cInfo[i][c_z]=z;
  18.  
  19. cInfo[i][c_r]=r;
  20.  
  21. cInfo[i][model]= modelid;
  22.  
  23. // cInfo[i][VCarID] = i;
  24.  
  25. cInfo[i][VCarID] = CreateVehicle(modelid,x,y,z,r,Color1,Color2,-1);
  26.  
  27. new string[128];
  28.  
  29. format(string,sizeof(string),"Das Auto cInfo[%i] wurde erstellt.",i);
  30.  
  31. SendClientMessageToAll(COLOR_RED,string);
  32.  
  33. SaveCarToDB(playerid,i);
  34.  
  35. return 1;
  36.  
  37. }
  38.  
  39. return 1;
  40.  
  41. }
  42.  
  43. ocmd:createcar(playerid,params[])
  44.  
  45. {
  46.  
  47. new mid,pid;
  48.  
  49. if(sscanf(params,"ui", pid,mid)) return SendClientMessage(playerid,COLOR_RED,"/createcar [ID] [CarID]");
  50.  
  51. new Float:xc,Float:yc,Float:zc,Float:rc;
  52.  
  53. GetPlayerPos(pid,xc,yc,zc);
  54.  
  55. GetPlayerFacingAngle(pid,rc);
  56.  
  57. createPlayerCar(playerid,pid,mid,xc,yc,zc,rc,0,0);
  58.  
  59. return 1;
  60.  
  61. }
  62.  
  63. SaveCarToDB(playerid,carid)
  64.  
  65. {
  66.  
  67. new query[512];
  68.  
  69. format(query, sizeof(query),"INSERT INTO `PlayerVehs` (carid,modelid, carposx, carposy, carposz,carposr, Color1, Color2,besitzer) VALUES ('%i','%i','%f', '%f', '%f','%f','%d','%d', '%s')",
  70.  
  71. cInfo[carid][dbCarID],cInfo[carid][model], cInfo[carid][c_x],cInfo[carid][c_y],cInfo[carid][c_z],cInfo[carid][c_r],cInfo[carid][VColor1],cInfo[carid][VColor2],cInfo[carid][besitzer]);
  72.  
  73. mysql_pquery(handle, query, "OnVehicleCreated", "di", playerid,carid);
  74.  
  75. return 1;
  76.  
  77. }
  78.  
  79. forward OnVehicleCreated(playerid,carid);
  80.  
  81. public OnVehicleCreated(playerid,carid)
  82.  
  83. {
  84.  
  85. // carid=cache_insert_id();
  86.  
  87. //cInfo[carid][VCarID] = carid;
  88.  
  89. cInfo[carid][dbCarID]=cache_insert_id();
  90.  
  91. printf("Das Auto %i wurde erfolgreich von playerid %i erstellt",carid,playerid);
  92.  
  93. }
  94.  
  95. OnUserLogin
  96.  
  97. new query[256];
  98.  
  99. mysql_format(handle, query, sizeof(query), "SELECT * FROM PlayerVehs WHERE besitzer = '%e'", GetName(playerid));
  100.  
  101. mysql_pquery(handle, query, "OnPlayerCarsLoad", "d", playerid);
  102.  
  103.  
  104.  
  105. OnGameModeInit
  106.  
  107. for(new i = 0; i < sizeof(cInfo); i++)
  108.  
  109. {
  110.  
  111. ​
  112.  
  113. cInfo[i][VCarID] = -1;
  114.  
  115. }
  116.  
  117. forward OnPlayerCarsLoad(playerid); // bei Login
  118.  
  119. public OnPlayerCarsLoad(playerid)
  120.  
  121. {
  122.  
  123. new num_rows;
  124.  
  125. cache_get_row_count(num_rows);
  126.  
  127. if(!num_rows)return 1;
  128.  
  129. for(new i; i<num_rows; i++)
  130.  
  131. {
  132.  
  133. new id=getFreeCarID();
  134.  
  135. cache_get_value_name_int(i, "carid", cInfo[id][dbCarID]);
  136.  
  137. cache_get_value_name(i, "besitzer", cInfo[id][besitzer], MAX_PLAYER_NAME);
  138.  
  139. cache_get_value_name_int(i, "modelid", cInfo[id][model]);
  140.  
  141. cache_get_value_name_float(i, "carposx", cInfo[id][c_x]);
  142.  
  143. cache_get_value_name_float(i, "carposy", cInfo[id][c_y]);
  144.  
  145. cache_get_value_name_float(i, "carposz", cInfo[id][c_z]);
  146.  
  147. cache_get_value_name_float(i, "carposr", cInfo[id][c_r]);
  148.  
  149. cache_get_value_name_int(i, "Color1", cInfo[id][VColor1]);
  150.  
  151. cache_get_value_name_int(i, "Color2", cInfo[id][VColor2]);
  152.  
  153. cInfo[i][VCarID] = CreateVehicle(cInfo[id][model],cInfo[id][c_x],cInfo[id][c_y],cInfo[id][c_z],cInfo[id][c_r],cInfo[id][VColor1],cInfo[id][VColor2],-1);
  154.  
  155. }
  156.  
  157. return 1;
  158.  
  159. }
  160.  
  161. getFreeCarID()
  162.  
  163. {
  164.  
  165. for(new i=0; i<sizeof(cInfo); i++)
  166.  
  167. {
  168.  
  169. if(cInfo[i][VCarID]==-1) return i;
  170.  
  171. }
  172.  
  173.  
  174.  
  175. return -1;
  176.  
  177. }
  178.  
  179. public OnPlayerDisconnect(playerid, reason)
  180.  
  181. {
  182.  
  183. //DisarmBis
  184.  
  185. if(PlayerInfo[playerid][pLoggedIn] == false) return 1;
  186.  
  187. KillTimer(DisArmTimerForPlayer[playerid]);
  188.  
  189. KillTimer(DisArmerOnline[playerid]);
  190.  
  191. for(new i = 0; i < sizeof(cInfo); i++)
  192.  
  193. {
  194.  
  195. if(cInfo[i][VCarID] == -1) continue;
  196.  
  197.  
  198.  
  199. new name[MAX_PLAYER_NAME];
  200.  
  201. GetPlayerName(playerid,name,sizeof(name));
  202.  
  203. // if(strlen(cInfo[i][besitzer] != name)) continue;
  204.  
  205. if(strcmp(cInfo[i][besitzer], name, false)) continue;
  206.  
  207. new Float:vehx, Float:vehy, Float:vehz,Float:vehr;
  208.  
  209. GetVehiclePos(cInfo[i][VCarID], vehx, vehy, vehz);
  210.  
  211. GetVehicleZAngle(cInfo[i][VCarID], vehr);
  212.  
  213. new query[128];
  214.  
  215. mysql_format(handle, query, sizeof(query), "UPDATE PlayerVehs SET carposx='%f', carposy = '%f', carposz = '%f', carposr = '%f' WHERE carid = '%d'",vehx,vehy,vehz,vehr,cInfo[i][dbCarID]);
  216.  
  217. mysql_pquery(handle, query, "VehicleDisFinished");
  218.  
  219. DestroyVehicle(cInfo[i][VCarID]);
  220.  
  221. printf(query);
  222.  
  223. cInfo[i][VCarID] = -1;
  224.  
  225. ​
  226.  
  227. }
  228.  
  229. SaveUserStats(playerid);
  230.  
  231. return 1;
  232.  
  233. }
  234.  
  235. forward VehicleDisFinished();
  236.  
  237. public VehicleDisFinished()
  238.  
  239. {
  240.  
  241.  
  242.  
  243. printf("Vehicle abgespeichert");
  244.  
  245. }
  246.  
  247. [/pwn]
Advertisement
Add Comment
Please, Sign In to add comment