Advertisement
Guest User

vehicle streamer test

a guest
Mar 31st, 2015
38
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 10.47 KB | None | 0 0
  1. #define FILTERSCRIPT
  2.  
  3. #include <a_samp>
  4. #include <veh_streamer>
  5. #include <zcmd>
  6. #include <sscanf2>
  7.  
  8. native IsValidVehicle(vehicleid);
  9.  
  10. public OnDynamicVehicleSpawn(vehicleid)
  11. {
  12.     printf("Callback called [OnDynamicVehicleSpawn] with data : vehicleid : %d", vehicleid);
  13.     return 1;
  14. }
  15.  
  16. public OnDynamicVehicleDeath(vehicleid, killerid)
  17. {
  18.     printf("Callback called [OnDynamicVehicleDeath] with data : vehicleid : %d ; killerid : %d", vehicleid, killerid);
  19.     return 1;
  20. }
  21.  
  22. public OnPlayerEnterDynamicVehicle(playerid, vehicleid, ispassenger)
  23. {
  24.     printf("Callback called [OnPlayerEnterDynamicVehicle] with data : playerid : %d, vehicleid : %d, ispassenger : %d", playerid, vehicleid, ispassenger);
  25.     return 1;
  26. }
  27.  
  28. public OnPlayerExitDynamicVehicle(playerid, vehicleid)
  29. {
  30.     printf("Callback called [OnPlayerExitDynamicVehicle] with data : playerid : %d ; vehicleid : %d", playerid, vehicleid);
  31.     return 1;
  32. }
  33.  
  34. public OnDynamicVehicleMod(playerid, vehicleid, componentid)
  35. {
  36.     printf("Callback called [OnDynamicVehicleMod] with data : playerid : %d, vehicleid : %d, componentid : %d", playerid, vehicleid, componentid);
  37.     return 1;
  38. }
  39.  
  40. public OnDynamicVehiclePaintjob(playerid, vehicleid, paintjobid)
  41. {
  42.     printf("Callback called [OnDynamicVehiclePaintjob] with data : playerid : %d, vehicleid : %d, paintjobid : %d", playerid, vehicleid, paintjobid);
  43.     return 1;
  44. }
  45.  
  46. public OnDynamicVehicleRespray(playerid, vehicleid, color1, color2)
  47. {
  48.     printf("Callback called [OnDynamicVehicleRespray] with data : playerid : %d, vehicleid : %d, color1 : %d, color2 : %d", playerid, vehicleid, color1, color2);
  49.     return 1;
  50. }
  51.  
  52. public OnDynamicVehDamageStatusUpdate(vehicleid, playerid)
  53. {
  54.     printf("Callback called [OnDynamicVehDamageStatusUpdate] with data : vehicleid : %d, playerid : %d", vehicleid, playerid);
  55.     return 1;
  56. }
  57.  
  58. public OnUnoccupiedDynamicVehUpdate(vehicleid, playerid, passenger_seat, Float:new_x, Float:new_y, Float:new_z, Float:vel_x, Float:vel_y, Float:vel_z)
  59. {
  60.     printf("Callback called [OnUnoccupiedDynamicVehUpdate] with data : vehicleid : %d, playerid : %d, passenger_seat : %d, new_x : %f, new_y : %f, new_z : %f, \
  61.         vel_x : %f, vel_y : %f, vel_z : %f", vehicleid, playerid, passenger_seat, new_x, new_y, new_z, vel_x, vel_y, vel_z);
  62.     return 1;
  63. }
  64.  
  65. public OnDynamicVehicleStreamIn(vehicleid, forplayerid)
  66. {
  67.     printf("Callback called [OnDynamicVehicleStreamIn] with data : vehicleid : %d, forplayerid : %d", vehicleid, forplayerid);
  68.     return 1;
  69. }
  70.  
  71. public OnDynamicVehicleStreamOut(vehicleid, forplayerid)
  72. {
  73.     printf("Callback called [OnDynamicVehicleStreamOut] with data : vehicleid : %d, forplayerid : %d", vehicleid, forplayerid);
  74.     return 1;
  75. }
  76.  
  77.  
  78. // testing natives
  79.  
  80. #define arr2{%1} %1[0], %1[1]
  81. #define arr3{%1} %1[0], %1[1], %1[2]
  82. #define arr4{%1} %1[0], %1[1], %1[2], %1[3]
  83.  
  84. CMD:money(playerid, params[])
  85. {
  86.     #pragma unused params
  87.     GivePlayerMoney(playerid, 100000000);
  88.     return 1;
  89. }
  90.  
  91. CMD:veh(playerid, params[])
  92. {
  93.     new model, col[2], respawn, world, int, player;
  94.     if(sscanf(params, "k<vehicle>A<i>(-1, -1)[2]D(-1)D(-1)D(-1)D(-1)"), model, col, respawn, world, int, player)
  95.         return SendClientMessage(playerid, -1, "Syntax : /veh [Model/Nom] [Colour 1 (opt)] [Colour 2 (opt)] [Respawn delay (opt)] [World ID (opt)] [Int ID (opt)] [Player ID (opt)]");
  96.     new Float:pos[3], Float:angle;
  97.     GetPlayerPos(playerid, arr3{pos});
  98.     GetPlayerFacingAngle(playerid, angle);
  99.     new vehid = CreateDynamicVehicle(model, arr2{pos}, pos[2]+0.5, angle, arr2{col}, respawn, world, int, player, 5.0);
  100.     PutPlayerInDynamicVehicle(playerid, vehid, 0);
  101.     return 1;
  102. }
  103.  
  104. CMD:vehd(playerid, params[])
  105. {
  106.     if(!IsPlayerInAnyVehicle(playerid) && !IsPlayerInAnyDynamicVehicle(playerid))
  107.     {
  108.         new target;
  109.         if(sscanf(params, "d", target))
  110.             return SendClientMessage(playerid, -1, "Syntax : /vehd [Veh ID]");
  111.         if(IsValidVehicle(target))
  112.             return DestroyVehicle(target), 1;
  113.         if(IsValidDynamicVehicle(target))
  114.             return DestroyDynamicVehicle(target), 1;
  115.         else
  116.             return SendClientMessage(playerid, -1, "No vehicles (static and dynamic) with this ID !");
  117.     }
  118.     new vehid = GetPlayerDynamicVehicleID(playerid);
  119.     if(IsValidDynamicVehicle(vehid))
  120.         return DestroyDynamicVehicle(vehid), 1;
  121.     vehid = GetPlayerVehicleID(playerid);
  122.     DestroyVehicle(vehid);
  123.     return 1;
  124. }
  125.  
  126. CMD:streamed(playerid, params[])
  127. {
  128.     new vid;
  129.     if(sscanf(params, "d", vid)) return 1;
  130.     if(IsDynamicVehicleStreamedIn(vid, playerid))
  131.         printf("STREAMED [VEH %d FOR PLAYER %d]", vid, playerid);
  132.     else
  133.         printf("NOT STREAMED [VEH %d FOR PLAYER %d]", vid, playerid);
  134.     return 1;
  135. }
  136.  
  137. CMD:vteleport(playerid, params[])
  138. {
  139.     if(!IsPlayerInAnyDynamicVehicle(playerid)) return 1;
  140.     new vid = GetPlayerDynamicVehicleID(playerid);
  141.     SetDynamicVehiclePos(vid, 0.0, 0.0, 18.0);
  142.     SetDynamicVehicleZAngle(vid, 30.0);
  143.     new Float:pos[3], Float:angle, Float:qrot[4];
  144.     GetDynamicVehiclePos(vid, arr3{pos});
  145.     GetDynamicVehicleZAngle(vid, angle);
  146.     GetDynamicVehicleRotationQuat(vid, arr4{qrot});
  147.     printf("Coordonnées [DYNAMIC] : Pos : x : %f, y : %f, z : %f || ZAngle : %f || Rotation quat : w : %f, x : %f, y : %f, z : %f", arr3{pos}, angle, arr4{qrot});
  148.     return 1;
  149. }
  150.  
  151. CMD:vparams(playerid, params[])
  152. {
  153.     if(!IsPlayerInAnyDynamicVehicle(playerid)) return 1;
  154.     new vid = GetPlayerDynamicVehicleID(playerid);
  155.     SetDynamicVehicleParamsEx(vid, 0, 1, 0, 1, 0, 1, 0);
  156.     new engine, lights, alarm, doors, bonnet, boot, objective;
  157.     GetDynamicVehicleParamsEx(vid, engine, lights, alarm, doors, bonnet, boot, objective);
  158.     printf("VEH PARAMS : ENGINE : %d || LIGHTS : %d || ALARM : %d || DOORS : %d || BONNET : %d || BOOT : %d || OBJECTIVE : %d", engine, lights, alarm, doors, bonnet, boot, objective);
  159.     SetDynamicVehicleParamsEx(vid, 0, 0, 0, 0, 0, 0, 0);
  160.     SetDynamicVehParamsForPlayer(vid, playerid, 1, 1);
  161.     return 1;
  162. }
  163.  
  164. CMD:vrespawn(playerid, params[])
  165. {
  166.     if(!IsPlayerInAnyDynamicVehicle(playerid)) return 1;
  167.     new vid = GetPlayerDynamicVehicleID(playerid);
  168.     SetDynamicVehicleToRespawn(vid);
  169.     return 1;
  170. }
  171.  
  172. CMD:vlink(playerid, params[])
  173. {
  174.     if(!IsPlayerInAnyDynamicVehicle(playerid)) return 1;
  175.     new vid = GetPlayerDynamicVehicleID(playerid);
  176.     LinkDynamicVehicleToInterior(vid, 18);
  177.     SetPlayerInterior(playerid, 18);
  178.     return 1;
  179. }
  180.  
  181. CMD:tuning(playerid, params[])
  182. {
  183.     if(!IsPlayerInAnyDynamicVehicle(playerid)) return 1;
  184.     new vid = GetPlayerDynamicVehicleID(playerid);
  185.     AddDynamicVehicleComponent(vid, 1010);
  186.     return 1;
  187. }
  188.  
  189. CMD:detune(playerid, params[])
  190. {
  191.     if(!IsPlayerInAnyDynamicVehicle(playerid)) return 1;
  192.     new vid = GetPlayerDynamicVehicleID(playerid);
  193.     RemoveDynamicVehicleComponent(vid, CARMODTYPE_NITRO);
  194.     return 1;
  195. }
  196.  
  197. CMD:color(playerid, params[])
  198. {
  199.     if(!IsPlayerInAnyDynamicVehicle(playerid)) return 1;
  200.     new vid = GetPlayerDynamicVehicleID(playerid);
  201.     ChangeDynamicVehicleColor(vid, 223, 223);
  202.     ChangeDynamicVehiclePaintjob(vid, 2);
  203.     return 1;
  204. }
  205.  
  206. CMD:health(playerid, params[])
  207. {
  208.     if(!IsPlayerInAnyDynamicVehicle(playerid)) return 1;
  209.     new vid = GetPlayerDynamicVehicleID(playerid);
  210.     SetDynamicVehicleHealth(vid, 450.0);
  211.     new Float:health;
  212.     GetDynamicVehicleHealth(vid, health);
  213.     printf("HEALTH : %d [%f]", vid, health);
  214.     return 1;
  215. }
  216.  
  217. CMD:trailer(playerid, params[])
  218. {
  219.     if(!IsPlayerInAnyDynamicVehicle(playerid)) return 1;
  220.     new vehid = GetPlayerDynamicVehicleID(playerid);
  221.     if(IsTrailerAttachedToDynamicVeh(vehid))
  222.     {
  223.         new oldveh = GetDynamicVehicleTrailer(vehid);
  224.         DetachTrailerFromVehicle(vehid);
  225.         PutPlayerInVehicle(playerid, oldveh, 0);
  226.     }
  227.     else
  228.     {
  229.         new Float:pos[4];
  230.         GetPlayerPos(playerid, arr3{pos});
  231.         GetPlayerFacingAngle(playerid, pos[3]);
  232.         new newveh = CreateDynamicVehicle(508, arr2{pos}, pos[2]+0.5, pos[3], -1, -1, -1, -1, -1, -1);
  233.         PutPlayerInDynamicVehicle(playerid, newveh, 0);
  234.         AttachTrailerToVehicle(vehid, newveh);
  235.     }
  236.     return 1;
  237. }
  238.  
  239. CMD:plate(playerid, params[])
  240. {
  241.     if(isnull(params)) return 1;
  242.     if(!(0 <= strlen(params) <= 32)) return 1; // wanted plate size > 32 (2^5)
  243.     if(!IsPlayerInAnyDynamicVehicle(playerid)) return 1;
  244.     new vehid = GetPlayerDynamicVehicleID(playerid);
  245.     new Float:pos[3], Float:angle;
  246.     GetDynamicVehiclePos(vehid, arr3{pos});
  247.     GetDynamicVehicleZAngle(vehid, angle);
  248.     SetDynamicVehicleNumberPlate(vehid, params);
  249.     SetDynamicVehicleToRespawn(vehid);
  250.     SetDynamicVehiclePos(vehid, arr3{pos});
  251.     SetDynamicVehicleZAngle(vehid, angle);
  252.     return 1;
  253. }
  254.  
  255. CMD:model(playerid, params[])
  256. {
  257.     if(!IsPlayerInAnyDynamicVehicle(playerid)) return 1;
  258.     new vehid = GetPlayerDynamicVehicleID(playerid);
  259.     new model = GetDynamicVehicleModel(vehid);
  260.     new str[80];
  261.     format(str, 80, "MODEL : %d", model);
  262.     return SendClientMessage(playerid, -1, str);
  263. }
  264.  
  265. CMD:repair(playerid, params[])
  266. {
  267.     if(!IsPlayerInAnyDynamicVehicle(playerid)) return 1;
  268.     new vehid = GetPlayerDynamicVehicleID(playerid);
  269.     RepairDynamicVehicle(vehid);
  270.     return 1;
  271. }
  272.  
  273. CMD:velo(playerid, params[])
  274. {
  275.     if(!IsPlayerInAnyDynamicVehicle(playerid)) return 1;
  276.     new vehid = GetPlayerDynamicVehicleID(playerid);
  277.     new Float:velo[3];
  278.     new str[80];
  279.     GetDynamicVehicleVelocity(vehid, arr3{velo});
  280.     format(str, 80, "VELO : X [%f] || Y [%f] || Z [%f]", arr3{velo});
  281.     SendClientMessage(playerid, -1, str);
  282.     SetDynamicVehicleVelocity(vehid, velo[0]+2.0, velo[1]+2.0, velo[2]+5.0);
  283.     GetDynamicVehicleVelocity(vehid, arr3{velo});
  284.     format(str, 80, "VELO : X [%f] || Y [%f] || Z [%f]", arr3{velo});
  285.     SendClientMessage(playerid, -1, str);
  286.  
  287.  
  288.     // Angular velo (not sure about its effect though)
  289.  
  290.     SetDynamicVehAngularVelocity(vehid, 0.0, 0.0, 2.0);
  291.     return 1;
  292. }
  293.  
  294. CMD:damage(playerid, params[])
  295. {
  296.     if(!IsPlayerInAnyDynamicVehicle(playerid)) return 1;
  297.     new vehid = GetPlayerDynamicVehicleID(playerid);
  298.     new panels, doors, lights, tires;
  299.     GetDynamicVehicleDamageStatus(vehid, panels, doors, lights, tires);
  300.     UpdateDynamicVehDamageStatus(vehid, panels, doors, lights, 15);
  301.     return 1;
  302. }
  303.  
  304. CMD:surfing(playerid, params[])
  305.     return (IsValidDynamicVehicle(GetPlayerSurfingVehicleID(playerid)) ? SendClientMessage(playerid, -1, "SURFING") : 1);
  306.  
  307. CMD:inveh(playerid, params[])
  308. {
  309.     new user, vehid;
  310.     if(sscanf(params, "ud", vehid)) return 1;
  311.     if(user == INVALID_PLAYER_ID) return 1;
  312.     new str[80], name[21];
  313.     GetPlayerName(playerid, name, 21);
  314.     if(IsPlayerInDynamicVehicle(user, vehid))
  315.         format(str, 80, "%s [%d] is in the vehicle number %d !", name, user, vehid);
  316.     else
  317.         format(str, 80, "%s [%d] isn't in the vehicle number %d !", name, user, vehid);
  318.     return SendClientMessage(playerid, -1, str);
  319. }
  320.  
  321. CMD:specveh(playerid, params[])
  322. {
  323.     new vehid;
  324.     if(sscanf(params, "d", vehid)) return 1;
  325.     if(IsValidDynamicVehicle(vehid))
  326.         PlayerSpectateDynamicVehicle(playerid, vehid);
  327.     return 1;
  328. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement