Brian_Furious

Untitled

Feb 2nd, 2013
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 11.92 KB | None | 0 0
  1. #include <a_samp>
  2. #include <zcmd>
  3. #include <sscanf2>
  4. #include <a_rnpc>
  5. #include <streamer>
  6.  
  7. #pragma unused RNPC_StopPlayback
  8.  
  9. new NPC1;
  10. new NPC2;
  11.  
  12. main()
  13. {
  14.     print(" ARNPC GameMode Test Loaded...");
  15.     for(new i = 0; i < 8; i++)
  16.     {
  17.         printf(" ");
  18.     }
  19. }
  20.  
  21. public OnGameModeInit()
  22. {
  23.     SetGameModeText("ARNPC GameMode Test");
  24.     AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  25. //  CreateRNPC("MyBaby");
  26. //  NPC1 = CreateRNPC("MyBaby2");
  27. //  NPC2 = CreateRNPC("MyBaby2");
  28. //  CreateRNPC("MyBaby3");
  29. //  CreateRNPC("MyBaby4");
  30. //  SetTimer("NPCUsage", 500, false);
  31. //  SetTimer("NPCUsage2", 1500, false);
  32.     return 1;
  33. }
  34.  
  35. public OnRNPCCreated(npcid)
  36. {
  37.     printf(" GameMode: RNPC %s(%d) has been created ", GetRNPCName(npcid), npcid);
  38.     return 1;
  39. }
  40.  
  41. public OnRNPCDestroyed(npcid)
  42. {
  43.     printf(" GameMode: RNPC %d has been destroyed ", npcid);
  44.     return 1;
  45. }
  46.  
  47. public OnRNPCSpawn(npcid)
  48. {
  49.     printf(" GameMode: NPC %d has spawned ", npcid);
  50.     new Float:x,Float:y,Float:z;
  51.     GetPlayerPos(npcid, x,y,z);
  52.     CreateDynamic3DTextLabel(GetRNPCName(npcid), 0xFF0000FF, x,y,z, 100.0, npcid);
  53.     return 1;
  54. }
  55.  
  56. forward NPCUsage();
  57. public NPCUsage()
  58. {
  59.     if(IsPlayerRNPC(NPC1)) print(" Yes I am NPC");
  60.     NPC1 = CreateRNPC("NPC1");
  61.     SetRNPCSkin(NPC1, 98);
  62.     printf(" NPC %d has Skin %d ", GetRNPCSkin(NPC1));
  63.     SetTimer("DestroyNPC1", 1600, false);
  64.     if(IsPlayerRNPC(NPC1)) print(" Yes I am NPC");
  65. }
  66.  
  67. forward NPCUsage2();
  68. public NPCUsage2()
  69. {
  70.     if(IsPlayerRNPC(NPC1)) print(" Yes I am NPC");
  71.     NPC2 = CreateRNPC("NPC2");
  72.     SetRNPCSkin(NPC2, 66);
  73.     printf(" NPC %d has Skin %d ", GetRNPCSkin(NPC2));
  74.     SetTimer("DestroyNPC2", 2000, false);
  75.     if(IsPlayerRNPC(NPC2)) print(" Yes I am NPC2 ");
  76. }
  77.  
  78. forward DestroyNPC1();
  79. public DestroyNPC1()
  80. {
  81.     DestroyRNPC(NPC1);
  82. }
  83.  
  84. forward DestroyNPC2();
  85. public DestroyNPC2()
  86. {
  87.     DestroyRNPC(NPC1);
  88. }
  89.  
  90. public OnGameModeExit()
  91. {
  92.     return 1;
  93. }
  94.  
  95. public OnPlayerRequestClass(playerid, classid)
  96. {
  97.     SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  98.     SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  99.     SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  100.     return 1;
  101. }
  102.  
  103. public OnPlayerConnect(playerid)
  104. {
  105.     return 1;
  106. }
  107.  
  108. public OnPlayerDisconnect(playerid, reason)
  109. {
  110.     return 1;
  111. }
  112.  
  113. /*public OnPlayerSpawn(playerid)
  114. {
  115.     if(IsPlayerRNPC(playerid)) {
  116.         new Float:x,Float:y,Float:z;
  117.         GetPlayerPos(playerid, x,y,z);
  118.         CreateDynamic3DTextLabel(GetRNPCName(playerid), 0xFF0000FF, x,y,z, 100.0, playerid);
  119.     }
  120.     return 1;
  121. }*/
  122.  
  123. public OnPlayerDeath(playerid, killerid, reason)
  124. {
  125.     return 1;
  126. }
  127.  
  128. public OnVehicleSpawn(vehicleid)
  129. {
  130.     return 1;
  131. }
  132.  
  133. public OnVehicleDeath(vehicleid, killerid)
  134. {
  135.     return 1;
  136. }
  137.  
  138. public OnPlayerText(playerid, text[])
  139. {
  140.     return 1;
  141. }
  142.  
  143. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  144. {
  145.     return 1;
  146. }
  147.  
  148. public OnPlayerExitVehicle(playerid, vehicleid)
  149. {
  150.     return 1;
  151. }
  152.  
  153. public OnPlayerStateChange(playerid, newstate, oldstate)
  154. {
  155.     return 1;
  156. }
  157.  
  158. public OnPlayerEnterCheckpoint(playerid)
  159. {
  160.     return 1;
  161. }
  162.  
  163. public OnPlayerLeaveCheckpoint(playerid)
  164. {
  165.     return 1;
  166. }
  167.  
  168. public OnPlayerEnterRaceCheckpoint(playerid)
  169. {
  170.     return 1;
  171. }
  172.  
  173. public OnPlayerLeaveRaceCheckpoint(playerid)
  174. {
  175.     return 1;
  176. }
  177.  
  178. public OnRconCommand(cmd[])
  179. {
  180.     return 1;
  181. }
  182.  
  183. public OnPlayerRequestSpawn(playerid)
  184. {
  185.     return 1;
  186. }
  187.  
  188. public OnObjectMoved(objectid)
  189. {
  190.     return 1;
  191. }
  192.  
  193. public OnPlayerObjectMoved(playerid, objectid)
  194. {
  195.     return 1;
  196. }
  197.  
  198. public OnPlayerPickUpPickup(playerid, pickupid)
  199. {
  200.     return 1;
  201. }
  202.  
  203. public OnVehicleMod(playerid, vehicleid, componentid)
  204. {
  205.     return 1;
  206. }
  207.  
  208. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  209. {
  210.     return 1;
  211. }
  212.  
  213. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  214. {
  215.     return 1;
  216. }
  217.  
  218. public OnPlayerSelectedMenuRow(playerid, row)
  219. {
  220.     return 1;
  221. }
  222.  
  223. public OnPlayerExitedMenu(playerid)
  224. {
  225.     return 1;
  226. }
  227.  
  228. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  229. {
  230.     return 1;
  231. }
  232.  
  233. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  234. {
  235.     return 1;
  236. }
  237.  
  238. public OnRconLoginAttempt(ip[], password[], success)
  239. {
  240.     return 1;
  241. }
  242.  
  243. public OnPlayerUpdate(playerid)
  244. {
  245.     return 1;
  246. }
  247.  
  248. public OnPlayerStreamIn(playerid, forplayerid)
  249. {
  250.     return 1;
  251. }
  252.  
  253. public OnPlayerStreamOut(playerid, forplayerid)
  254. {
  255.     return 1;
  256. }
  257.  
  258. public OnVehicleStreamIn(vehicleid, forplayerid)
  259. {
  260.     return 1;
  261. }
  262.  
  263. public OnVehicleStreamOut(vehicleid, forplayerid)
  264. {
  265.     return 1;
  266. }
  267.  
  268. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  269. {
  270.     return 1;
  271. }
  272.  
  273. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  274. {
  275.     return 1;
  276. }
  277.  
  278. CMD:walkhere(playerid, params[])
  279. {
  280.     new target;
  281.     if(sscanf(params, "u", target)) return SendClientMessage(playerid, -1, "syntax: /walkhere [npcid]");
  282.     new Float:x, Float:y, Float:z;
  283.     GetPlayerPos(playerid, x,y,z);
  284.     RNPCWalkTo(target,x,y,z);
  285.     return 1;
  286. }
  287.  
  288. CMD:givernpcweapon(playerid, params[])
  289. {
  290.     new target, weaponid;
  291.     if(sscanf(params, "ud", target, weaponid)) return SendClientMessage(playerid, -1, "syntax: /givernpcweapon [npcid][weaponid]");
  292.     SetRNPCWeapon(target, weaponid);
  293.     SendFormatMessage(playerid, -1, "You gave the weapon ID %d to NPC %d", weaponid, target);
  294.     return 1;
  295. }
  296.  
  297. CMD:getrnpcweapon(playerid, params[])
  298. {
  299.     new target;
  300.     if(sscanf(params, "u", target)) return SendClientMessage(playerid, -1, "syntax: /getrnpcweapon [npcid]");
  301.     SendFormatMessage(playerid, -1, "NPC %d has weaponid %d", target, GetRNPCWeapon(target));
  302.     return 1;
  303. }
  304.  
  305. CMD:setrnpchealth(playerid, params[])
  306. {
  307.     new target, health;
  308.     if(sscanf(params, "ud", target, health)) return SendClientMessage(playerid, -1, "syntax: /setrnpchealth [npcid][health]");
  309.     SetRNPCHealth(target, health);
  310.     SendFormatMessage(playerid, -1, "The health of NPC %d was set to %d", target, GetRNPCHealth(target));
  311.     return 1;
  312. }
  313.  
  314. CMD:setrnpcarmour(playerid, params[])
  315. {
  316.     new target, armour;
  317.     if(sscanf(params, "ud", target, armour)) return SendClientMessage(playerid, -1, "syntax: /setrnpcarmour [npcid][armour]");
  318.     SetRNPCArmour(target, armour);
  319.     SendFormatMessage(playerid, -1, "The armour of NPC %d was set to %d", target, GetRNPCArmour(target));
  320.     return 1;
  321. }
  322.  
  323. CMD:getrnpchealth(playerid, params[])
  324. {
  325.     new target;
  326.     if(sscanf(params, "u", target)) return SendClientMessage(playerid, -1, "syntax: /getrnpchealth [npcid]");
  327.     SendFormatMessage(playerid, -1, "The health of NPC %d is %d", target, GetRNPCHealth(target));
  328.     return 1;
  329. }
  330.  
  331. CMD:getrnpcarmour(playerid, params[])
  332. {
  333.     new target;
  334.     if(sscanf(params, "u", target)) return SendClientMessage(playerid, -1, "syntax: /getrnpcarmour [npcid]");
  335.     SendFormatMessage(playerid, -1, "The armour of NPC %d is %d", target, GetRNPCArmour(target));
  336.     return 1;
  337. }
  338.  
  339. CMD:createvehicle(playerid, params[])
  340. {
  341.     new vehid;
  342.     if(sscanf(params, "d", vehid)) return SendClientMessage(playerid, -1, "syntax: /createvehicle [vehid]");
  343.     new Float:x, Float:y, Float:z;
  344.     GetPlayerPos(playerid,x,y,z);
  345.     CreateVehicle(vehid, x+2,y,z, 0.0, random(100), random(100), -1);
  346.     return 1;
  347. }
  348.  
  349. CMD:arnpc(playerid, params[])
  350. {
  351.     SendClientMessage(playerid, -1, "/creaternpc /isplayerrnpc /destroyrnpc /getrnpcid /setrnpcskin /getrnpcskin /getrnpchere /isrnpcsurf /removernpcfromvehicle");
  352.     return 1;
  353. }
  354.  
  355. CMD:setrnpcangle(playerid, params[])
  356. {
  357.     new target, Float:angle;
  358.     if(sscanf(params, "uf", target, angle)) return SendClientMessage(playerid, -1, "syntax: /setrnpcangle [npcid][float: angle]");
  359.     SetRNPCFacingAngle(target, angle);
  360.     return 1;
  361. }
  362.  
  363. CMD:getrnpcangle(playerid, params[])
  364. {
  365.     new target;
  366.     if(sscanf(params, "u", target)) return SendClientMessage(playerid, -1, "syntax: /getrnpcangle [npcid]");
  367.     SendFormatMessage(playerid, -1, "NPC %d has angle %f", target, GetNPCFacingAngle(target));
  368.     return 1;
  369. }
  370.  
  371. CMD:removernpcfromvehicle(playerid, params[])
  372. {
  373.     new target;
  374.     if(sscanf(params, "u", target)) return SendClientMessage(playerid, -1, "syntax: /removernpcfromvehicle [npcid]");
  375.     if(!IsPlayerInAnyVehicle(target)) return 1;
  376.     RemoveRNPCFromVehicle(target);
  377.     return 1;
  378. }
  379.  
  380. CMD:creaternpc(playerid, params[])
  381. {
  382.     new name[24];
  383.     if(sscanf(params, "s[24]", name)) return SendClientMessage(playerid, -1, "syntax: /creaternpc [name]");
  384.     CreateRNPC(name);
  385.     return 1;
  386. }
  387.  
  388. CMD:isplayerrnpc(playerid, params[])
  389. {
  390.     new target;
  391.     if(sscanf(params, "u", target)) return SendClientMessage(playerid, -1, "syntax: /isplayerrnpc [npcid]");
  392.     if(!IsPlayerConnected(target)) return 1;
  393.     if(IsPlayerRNPC(target)) return SendClientMessage(playerid, -1, "Yes! :)");
  394.     if(!IsPlayerRNPC(target)) return SendClientMessage(playerid, -1, "No! :)");
  395.     return 1;
  396. }
  397.  
  398. CMD:destroyrnpc(playerid, params[])
  399. {
  400.     new target;
  401.     if(sscanf(params, "u", target)) return SendClientMessage(playerid, -1, "syntax: /destroyrnpc [npcid]");
  402.     DestroyRNPC(target);
  403.     return 1;
  404. }
  405.  
  406. CMD:getrnpcid(playerid, params[])
  407. {
  408.     new target;
  409.     if(sscanf(params, "u", target)) return SendClientMessage(playerid, -1, "syntax: /getrnpcid [npcid]");
  410.     SendFormatMessage(playerid, -1, "This RNPCID slot is %d", GetRNPCID(target));
  411.     return 1;
  412. }
  413.  
  414. CMD:setrnpcskin(playerid, params[])
  415. {
  416.     new target,skin;
  417.     if(sscanf(params, "ud", target, skin)) return SendClientMessage(playerid, -1, "syntax: /setrnpcskin [npcid] [skin]");
  418.     SetRNPCSkin(target, skin);
  419.     return 1;
  420. }
  421.  
  422. CMD:getrnpcskin(playerid, params[])
  423. {
  424.     new target;
  425.     if(sscanf(params, "u", target)) return SendClientMessage(playerid, -1, "syntax: /getrnpcskin [npcid]");
  426.     SendFormatMessage(playerid, -1, "NPC %d has %d skin", target, GetRNPCSkin(target));
  427.     return 1;
  428. }
  429.  
  430. CMD:isrnpcsurf(playerid, params[])
  431. {
  432.     new target;
  433.     if(sscanf(params, "u", target)) return SendClientMessage(playerid, -1, "syntax: /isrnpcsurf [npcid]");
  434.     new surf = GetRNPCSurfingVehicle(target);
  435.     if(surf == INVALID_VEHICLE_ID) SendFormatMessage(playerid, -1, "NPC %d is not surfing any vehicle!", target);
  436.     else SendFormatMessage(playerid, -1, "NPC %d is surfing vehicle %d", target, surf);
  437.     return 1;
  438. }
  439.  
  440. CMD:getrnpchere(playerid, params[])
  441. {
  442.     new target;
  443.     if(sscanf(params, "u", target)) return SendClientMessage(playerid, -1, "syntax: /getrnpchere [npcid]");
  444.     new Float:X, Float:Y, Float:Z;
  445.     GetPlayerPos(playerid, X,Y,Z);
  446.     SetRNPCPos(target, X+1, Y, Z);
  447.     return 1;
  448. }
  449.  
  450. CMD:getrnpcname(playerid, params[])
  451. {
  452.     new target;
  453.     if(sscanf(params, "u", target)) return SendClientMessage(playerid, -1, "syntax: /getrnpcname [npcid]");
  454.     SendFormatMessage(playerid, -1, "NPC %d has name %s", target, GetRNPCName(target));
  455.     return 1;
  456. }
  457.  
  458. CMD:putrnpcinvehicle(playerid, params[])
  459. {
  460.     new target, veh, sit;
  461.     if(sscanf(params, "udd", target, veh, sit)) return SendClientMessage(playerid, -1, " syntax: /putrnpcinvehicle [npcid][veh id][sit]");
  462.     //if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "You must be in a vehicle");
  463.     //new mysit = GetPlayerVehicleSeat(playerid);
  464.     //if(mysit == sit) return SendClientMessage(playerid, -1, "You cannot force a NPC to sit on your own sit");
  465.     PutRNPCInVehicle(target, veh, sit);
  466.     return 1;
  467. }
  468.  
  469. stock SendFormatMessage(const iPlayer, const iColor, const szFormat[], { Float, _ }: ...) { // Improved by SiX_MiX [Snir]
  470.     new iArgs = ((numargs() - 3) << 2);
  471.     if(iArgs){
  472.         static _:s_szBuf[144],s_iAddr1,s_iAddr2;
  473.         #emit ADDR.PRI szFormat
  474.         #emit STOR.PRI s_iAddr1
  475.         for(s_iAddr2 = s_iAddr1 + iArgs, iArgs += 12; s_iAddr2 != s_iAddr1; s_iAddr2 -= 4) {
  476.             #emit LOAD.PRI s_iAddr2
  477.             #emit LOAD.I
  478.             #emit PUSH.PRI
  479.         }
  480.         #emit CONST.PRI s_szBuf
  481.         #emit PUSH.S szFormat
  482.         #emit PUSH.C 144
  483.         #emit PUSH.PRI
  484.         #emit PUSH.S iArgs
  485.         #emit SYSREQ.C format
  486.         #emit LCTRL 4
  487.         #emit LOAD.S.ALT iArgs
  488.         #emit ADD.C 4
  489.         #emit ADD
  490.         #emit SCTRL 4
  491.         return (iPlayer != -1) ? SendClientMessage(iPlayer, iColor, s_szBuf) : SendClientMessageToAll(iColor, s_szBuf);
  492.     }
  493.     return (iPlayer != -1) ? SendClientMessage(iPlayer, iColor, szFormat) : SendClientMessageToAll(iColor, szFormat);
  494. }
Advertisement
Add Comment
Please, Sign In to add comment