Brian_Furious

Untitled

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