Advertisement
Guest User

Untitled

a guest
Sep 30th, 2018
90
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. cInfo[i][VCarID] = -1;
  113.  
  114. }
  115.  
  116. forward OnPlayerCarsLoad(playerid); // bei Login
  117.  
  118. public OnPlayerCarsLoad(playerid)
  119.  
  120. {
  121.  
  122. new num_rows;
  123.  
  124. cache_get_row_count(num_rows);
  125.  
  126. if(!num_rows)return 1;
  127.  
  128. for(new i; i<num_rows; i++)
  129.  
  130. {
  131.  
  132. new id=getFreeCarID();
  133.  
  134. cache_get_value_name_int(i, "carid", cInfo[id][dbCarID]);
  135.  
  136. cache_get_value_name(i, "besitzer", cInfo[id][besitzer], MAX_PLAYER_NAME);
  137.  
  138. cache_get_value_name_int(i, "modelid", cInfo[id][model]);
  139.  
  140. cache_get_value_name_float(i, "carposx", cInfo[id][c_x]);
  141.  
  142. cache_get_value_name_float(i, "carposy", cInfo[id][c_y]);
  143.  
  144. cache_get_value_name_float(i, "carposz", cInfo[id][c_z]);
  145.  
  146. cache_get_value_name_float(i, "carposr", cInfo[id][c_r]);
  147.  
  148. cache_get_value_name_int(i, "Color1", cInfo[id][VColor1]);
  149.  
  150. cache_get_value_name_int(i, "Color2", cInfo[id][VColor2]);
  151.  
  152. 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);
  153.  
  154. }
  155.  
  156. return 1;
  157.  
  158. }
  159.  
  160. getFreeCarID()
  161.  
  162. {
  163.  
  164. for(new i=0; i<sizeof(cInfo); i++)
  165.  
  166. {
  167.  
  168. if(cInfo[i][VCarID]==-1) return i;
  169.  
  170. }
  171.  
  172.  
  173.  
  174. return -1;
  175.  
  176. }
  177.  
  178. public OnPlayerDisconnect(playerid, reason)
  179.  
  180. {
  181.  
  182. //DisarmBis
  183.  
  184. if(PlayerInfo[playerid][pLoggedIn] == false) return 1;
  185.  
  186. KillTimer(DisArmTimerForPlayer[playerid]);
  187.  
  188. KillTimer(DisArmerOnline[playerid]);
  189.  
  190. for(new i = 0; i < sizeof(cInfo); i++)
  191.  
  192. {
  193.  
  194. if(cInfo[i][VCarID] == -1) continue;
  195.  
  196.  
  197.  
  198. new name[MAX_PLAYER_NAME];
  199.  
  200. GetPlayerName(playerid,name,sizeof(name));
  201.  
  202. // if(strlen(cInfo[i][besitzer] != name)) continue;
  203.  
  204. if(strcmp(cInfo[i][besitzer], name, false)) continue;
  205.  
  206. new Float:vehx, Float:vehy, Float:vehz,Float:vehr;
  207.  
  208. GetVehiclePos(cInfo[i][VCarID], vehx, vehy, vehz);
  209.  
  210. GetVehicleZAngle(cInfo[i][VCarID], vehr);
  211.  
  212. new query[128];
  213.  
  214. 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]);
  215.  
  216. mysql_pquery(handle, query, "VehicleDisFinished");
  217.  
  218. DestroyVehicle(cInfo[i][VCarID]);
  219.  
  220. printf(query);
  221.  
  222. cInfo[i][VCarID] = -1;
  223.  
  224.  
  225. }
  226.  
  227. SaveUserStats(playerid);
  228.  
  229. return 1;
  230.  
  231. }
  232.  
  233. forward VehicleDisFinished();
  234.  
  235. public VehicleDisFinished()
  236.  
  237. {
  238.  
  239.  
  240.  
  241. printf("Vehicle abgespeichert");
  242.  
  243. }
  244.  
  245. [/pwn]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement