Guest User

NPC zombie

a guest
Oct 16th, 2013
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.10 KB | None | 0 0
  1. #include <a_samp>
  2. #include <foreach> // Y_less
  3. #define COLOR_GREY 0xAFAFAFAA
  4. #define COLOR_GREEN 0x33AA33AA
  5. #define COLOR_RED 0xAA3333AA
  6. #define COLOR_YELLOW 0xFFFF00AA
  7. #define COLOR_WHITE 0xFFFFFFAA
  8. static Zombie_Skin=134;
  9. #define ZOMBIE_NAME "Zombie"
  10. forward CheckCloserPlayers(playerid);
  11. forward NewPos(playerid);
  12. forward CheckHP(playerid);
  13. forward KilledBy(playerid,killer);
  14. forward KickZombie(playerid);
  15. forward Firing(playerid);
  16. forward Float:GetDistanceToPlayer(playerid,playerid2);
  17. forward Float:GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance);
  18. forward Float:GetPlayerSpeed(playerid);
  19. forward Float:GetXYInFrontOfVehicle(vehicleid, &Float:x, &Float:y, Float:distance);
  20. new ZombieSkins[]={
  21. 1,
  22. 7,
  23. 9,
  24. 10,
  25. 45
  26. };
  27. enum ZombieEnum{
  28. ZombieSpawned,
  29. ZombieTarget,
  30. ZombieRunning,
  31. ZombieKilling,
  32. NPTIMER,
  33. Ztimers,
  34. Float:LastZombieHealth,
  35. Dying,
  36. HPtimer
  37. }
  38. new Zombies[200][ZombieEnum];
  39.  
  40. new FiringTimer[200];
  41. new FiringClick[200];
  42.  
  43. new ZombieKill[250];
  44.  
  45. new Caller;
  46. new LastAdded = 0;
  47.  
  48. new WeaponDamage[] = {
  49. 1,
  50. 2,
  51. 4,
  52. 4,
  53. 5,
  54. 4,
  55. 4,
  56. 4,
  57. 6,
  58. 15,
  59. -5,
  60. -5,
  61. -5,
  62. -5,
  63. -100,
  64. 4,
  65. 13,
  66. 2,
  67. 13,
  68. 0,
  69. 0,
  70. 0,
  71. 8,
  72. 9,
  73. 11,
  74. 15,
  75. 17,
  76. 15,
  77. 8,
  78. 9,
  79. 13,
  80. 13,
  81. 6,
  82. 45,
  83. 55,
  84. 40,
  85. 40,
  86. 27,
  87. 35,
  88. 0,
  89. 0,
  90. 0,
  91. 0,
  92. 0,
  93. 0,
  94. 0
  95. };
  96. new Float:WeaponRanges[] = {
  97. 1.0,
  98. 1.0,
  99. 1.2,
  100. 1.2,
  101. 1.1,
  102. 1.2,
  103. 1.2,
  104. 1.3,
  105. 1.2,
  106. 1.3,
  107. 0.5,
  108. 0.5,
  109. 0.5,
  110. 0.5,
  111. 0.5,
  112. 1.4,
  113. 12.0,
  114. 12.0,
  115. 12.0,
  116. 0.0,
  117. 0.0,
  118. 0.0,
  119. 28.0,
  120. 29.0,
  121. 30.0,
  122. 26.0,
  123. 25.0,
  124. 27.0,
  125. 28.0,
  126. 31.0,
  127. 35.0,
  128. 35.0,
  129. 26.0,
  130. 38.0,
  131. 65.0,
  132. 40.0,
  133. 40.0,
  134. 23.0,
  135. 37.0,
  136. 0.0,
  137. 0.0,
  138. 0.0,
  139. 0.0,
  140. 0.0,
  141. 0.0,
  142. 0.0
  143. };
  144. main( )
  145. {
  146. print("\n=====================================");
  147. print(" Zombie NPC ");
  148. print("=====================================\n");
  149. }
  150.  
  151. public OnFilterScriptInit()
  152. {
  153. for(new i =0; i<= MAX_PLAYERS;i++){
  154. if(IsPlayerConnected(i) && !IsPlayerNPC(i)){
  155. Itter_Add(Player,i);
  156. FiringTimer[i] = SetTimerEx("Firing",250,1,"i",i);
  157. ZombieKill[i] = -1;
  158. }
  159. if(IsPlayerConnected(i) && IsPlayerNPC(i)){
  160. Itter_Add(Bot,i);
  161. if(!strfind(PlayerName(i),ZOMBIE_NAME,true)){
  162. SetupZombie(i);
  163. }
  164. }
  165. }
  166. new Float:h;
  167. for(new v=0;v<MAX_VEHICLES;v++){
  168. GetVehicleHealth(v,h);
  169. }
  170. print("\n=====================================");
  171. print(" Zombie NPC ");
  172. print("=====================================\n");
  173. return 1;
  174. }
  175.  
  176. //=======================================[ THOIGIAN ]=========================================//
  177. public Firing(playerid){
  178. new up_dw,lf_rg,o_keys,weapon;
  179. new Float:x,Float:y,Float:z;
  180.  
  181. weapon = GetPlayerWeapon(playerid);
  182. GetPlayerKeys(playerid,o_keys,up_dw,lf_rg);
  183. if(o_keys == KEY_FIRE || o_keys == (KEY_FIRE+128) ){
  184. if(!FiringClick[playerid] || Automatic(weapon))
  185. {
  186. FiringClick[playerid] = true;
  187. GetPlayerPos(playerid,x,y,z);
  188. foreach(Bot,b){
  189. if(IsPlayerFacingPlayer(playerid,b,5.0)){
  190. if(IsPlayerInRangeOfPoint(b,WeaponRanges[weapon],x,y,z)){
  191. Zombies[b][LastZombieHealth] -= float(WeaponDamage[weapon]);
  192. if(Zombies[b][LastZombieHealth] <= 0.0 && !Zombies[b][Dying]){
  193. SendDeathMessage(playerid,b,weapon);
  194. Zombies[b][Dying] = true;
  195. }
  196. }
  197. }
  198. }
  199. }
  200. }else{
  201. FiringClick[playerid] = false;
  202. }
  203. }
  204. public KickZombie(playerid){
  205. Kick(playerid);
  206. Zombies[playerid][Dying]=false;
  207. KillTimer(Zombies[playerid][HPtimer]); Zombies[playerid][HPtimer] = false;
  208. KillTimer(Zombies[playerid][Ztimers]); Zombies[playerid][Ztimers] = false;
  209. if(Zombies[playerid][NPTIMER]){
  210. KillTimer(Zombies[playerid][NPTIMER]);
  211. Zombies[playerid][NPTIMER] = false;
  212. }
  213. }
  214.  
  215. public CheckHP(playerid){ //check mau zombie
  216. new Float:x,Float:y,Float:z;
  217. new cp = GetClosestPlayer(playerid);
  218.  
  219. if(IsPlayerInAnyVehicle(cp)){
  220. new cpc = GetPlayerVehicleID(cp);
  221. GetVehiclePos(cpc,x,y,z);
  222. GetXYInFrontOfVehicle(cpc,x,y,1.5);
  223. if(IsPlayerInRangeOfPoint(playerid,2.0,x,y,z) && GetPlayerSpeed(cp) > 10.0){
  224. Zombies[playerid][LastZombieHealth] -= (GetPlayerSpeed(cp)*2);
  225. }
  226. }
  227. if( Zombies[playerid][LastZombieHealth] <= 0.0 && Zombies[playerid][ZombieSpawned]){
  228. ApplyAnimation(playerid,"Knife","KILL_Knife_Ped_Die",1,0,1,0,0,0);
  229. SetTimerEx("KickZombie",1500,0,"i",playerid);
  230. Zombies[playerid][Dying] = true;
  231. }
  232. }
  233.  
  234. public NewPos(playerid){ // Lam CHo ZOMBIE chay
  235. if( Zombies[playerid][LastZombieHealth] > 0.0 ){
  236. new Float:x,Float:y,Float:z;
  237. new Float:ax,Float:ay,Float:az,Float:dif;
  238. GetPlayerPos(Zombies[playerid][ZombieTarget],ax,ay,az);
  239. GetPlayerPos(playerid,x,y,z);
  240. if( az <= (z+3.0) && az >= (z-3.0)){
  241. if(Zombies[playerid][ZombieRunning] == 1){
  242. ApplyAnimation(playerid,"Muscular","MuscleRun",1,1,1,0,0,0);
  243. GetXYInFrontOfPlayer(playerid,x,y,2.0);
  244. }
  245. else if(Zombies[playerid][ZombieRunning] == 2){
  246. ApplyAnimation(playerid,"Muscular","MuscleSprint",1,1,1,0,0,0);
  247. GetXYInFrontOfPlayer(playerid,x,y,2.8);
  248. }
  249.  
  250. dif = az;
  251. SetPlayerPos(playerid,x,y,dif);
  252. }else{
  253. if(Zombies[playerid][ZombieRunning]) Parar(playerid);
  254. GetPlayerPos(playerid,x,y,z);
  255. SetPlayerPosFindZ(playerid,x,y,z);
  256. }
  257. }
  258. }
  259. public CheckCloserPlayers(playerid){ // Phat Hien Am thanh Va duoi Theo Nguoi CHoi
  260. if( Zombies[playerid][LastZombieHealth] > 0.0 ){
  261. new cp = GetClosestPlayer(playerid);
  262. new Float:MinDistance = 3.0;
  263. if(IsPlayerInAnyVehicle(cp)){ MinDistance = 5.0; }
  264. Zombies[playerid][ZombieTarget] = cp;
  265. if(GetDistanceToPlayer(playerid,cp) <= 70.0 && GetDistanceToPlayer(playerid,cp) > 15.0){
  266. IrParaPlayer(1,playerid,cp);
  267. }else if(GetDistanceToPlayer(playerid,cp) <= 15.0 && GetDistanceToPlayer(playerid,cp) > MinDistance){
  268. IrParaPlayer(0,playerid,cp);
  269. }else if(GetDistanceToPlayer(playerid,cp) <= MinDistance){
  270. Parar(playerid);
  271. }
  272. if(GetDistanceToPlayer(playerid,cp) <= MinDistance){
  273. new Float:h;
  274. if(IsPlayerInAnyVehicle(cp)){
  275. new cpc = GetPlayerVehicleID(cp);
  276. GetVehicleHealth(cpc,h);
  277. if(GetDistanceToPlayer(playerid,cp) < MinDistance){
  278. SetVehicleHealth(cpc,h-80.0);
  279. ApplyAnimation(playerid,"Gangs","shake_carSH",1,1,1,0,0,0);
  280. }
  281.  
  282. }else{
  283. if(GetDistanceToPlayer(playerid,cp) > 1.5){
  284. GetPlayerHealth(cp,h);
  285. SetPlayerHealth(cp,h-5.0);
  286. }else if(GetDistanceToPlayer(playerid,cp) <= 1.5){
  287. if(Zombies[playerid][ZombieKilling] == -1){
  288. if(!IsDying(cp)){
  289. FinishHim(playerid,cp);
  290. }
  291. }
  292. }
  293. }
  294. }
  295. }
  296. }
  297. public KilledBy(playerid,killer){
  298. if(Zombies[killer][ZombieKilling] == playerid){
  299. ApplyAnimation(playerid,"Knife","KILL_Knife_Ped_Die",1,0,1,0,0,0);
  300. TogglePlayerControllable(playerid,true);
  301. SetPlayerHealth(playerid,0.0);
  302. ClearAnimations(killer);
  303. ZombieKill[playerid] = killer;
  304. }
  305. }
  306. //=======================================[ CHUCNANG ]=========================================//
  307. stock Automatic(weaponid){
  308. switch(weaponid){
  309. case 9,22,23,24,27,28,29,30,31,32,37,38: return true;
  310. }
  311. return false;
  312. }
  313. stock IsDying(playerid){ // XAC DINH,NEU 1 ZOMBIE giet 1 player
  314. foreach(Bot,b){
  315. if(Zombies[b][ZombieKilling] == playerid) return true;
  316. }
  317. return false;
  318. }
  319. stock SetupZombie(playerid){ // KICK HOAT ZOMBIE
  320. new Float:px,Float:py,Float:pz;
  321. Zombies[playerid][HPtimer] = SetTimerEx("CheckHP",100,1,"i",playerid);
  322. Zombies[playerid][Ztimers] = SetTimerEx("CheckCloserPlayers",1000,1,"i",playerid);
  323. GetPlayerPos(Caller,px,py,pz);
  324. SetPlayerPos(playerid,px,py,pz);
  325. Zombies[playerid][ZombieRunning] = false;
  326. SendClientMessageToAll(COLOR_RED,"1 con Zombie dang nhap vao sever!");
  327.  
  328. new Zskin=1;
  329. if(Zombie_Skin == 134){
  330. new rd = random(sizeof(ZombieSkins));
  331. if(IsValidSkin(ZombieSkins[rd])){
  332. Zskin = ZombieSkins[rd];
  333. }
  334. }else if(Zombie_Skin == 230){
  335. new rd = random(230);
  336. if(IsValidSkin(rd)){
  337. Zskin = rd;
  338. }
  339. }else if(IsValidSkin(Zombie_Skin)){
  340. Zskin = Zombie_Skin;
  341. }
  342. SetPlayerSkin(playerid,Zskin);
  343.  
  344. Zombies[playerid][ZombieKilling] = -1;
  345. Zombies[playerid][ZombieSpawned] = true;
  346. Zombies[playerid][LastZombieHealth] = 100.0;
  347. }
  348.  
  349. stock FinishHim(playerid,target){
  350. Zombies[playerid][ZombieKilling] = target;
  351. TogglePlayerControllable(target,false);
  352. SetPlayerToFacePlayer(playerid,target);
  353. SetPlayerToFacePlayer(target,playerid);
  354.  
  355. ApplyAnimation(target,"Knife","KILL_Knife_Ped_Damage",1,0,1,0,0,0);
  356. ApplyAnimation(playerid,"Knife","KILL_Knife_Player",1,0,1,0,0,0);
  357. SetTimerEx("KilledBy",1500,0,"ii",target,playerid);
  358. }
  359.  
  360. stock Parar(playerid){ // LAM CHO CAC ZOM DUNG LAI
  361. if(Zombies[playerid][ZombieRunning]){
  362. if(Zombies[playerid][NPTIMER]){
  363. KillTimer(Zombies[playerid][NPTIMER]);
  364. Zombies[playerid][NPTIMER] = false;
  365. }
  366. Zombies[playerid][ZombieRunning] = false;
  367. ClearAnimations(playerid);
  368. }
  369. }
  370.  
  371. stock IrParaPlayer(modo,playerid,paraid){ //LAM CHO ZOM DUOI THEO CAC NGUOI CHOI. Mode: 1- Run | 2- Sprint
  372. SetPlayerToFacePlayer(playerid,paraid);
  373. if(modo == 0 && Zombies[playerid][ZombieRunning] != 1) Caminhar(playerid);
  374. else if(modo == 1 && Zombies[playerid][ZombieRunning] != 2) Correr(playerid);
  375. }
  376.  
  377. stock Caminhar(playerid){ //CHAY VE PHIA TRuOC
  378. Zombies[playerid][ZombieRunning] = 1;
  379. Zombies[playerid][NPTIMER] = SetTimerEx("NewPos",400,1,"i",playerid);
  380. }
  381.  
  382. stock Correr(playerid){
  383. Zombies[playerid][ZombieRunning] = 2;
  384. Zombies[playerid][NPTIMER] = SetTimerEx("NewPos",300,1,"i",playerid);
  385. }
  386.  
  387. stock AlvoDeAlguem(alvoid){
  388. foreach(Bot,b){
  389. if(Zombies[b][ZombieTarget] == alvoid) return b;
  390. }
  391. return false;
  392. }
  393.  
  394. stock KickZombies(){
  395. foreach(Bot,b){
  396. if(!strfind(PlayerName(b),ZOMBIE_NAME,true)){
  397. SetTimerEx("KickZombie",1,0,"i",b);
  398. }
  399. }
  400. }
  401. stock SetPlayerToFacePlayer(playerid, targetid)
  402. {
  403.  
  404. new
  405. Float:pX,
  406. Float:pY,
  407. Float:pZ,
  408. Float:X,
  409. Float:Y,
  410. Float:Z,
  411. Float:ang;
  412.  
  413. if(!IsPlayerConnected(playerid) || !IsPlayerConnected(targetid)) return 0;
  414.  
  415. GetPlayerPos(targetid, X, Y, Z);
  416. GetPlayerPos(playerid, pX, pY, pZ);
  417.  
  418. if( Y > pY ) ang = (-acos((X - pX) / floatsqroot((X - pX)*(X - pX) + (Y - pY)*(Y - pY))) - 90.0);
  419. else if( Y < pY && X < pX ) ang = (acos((X - pX) / floatsqroot((X - pX)*(X - pX) + (Y - pY)*(Y - pY))) - 450.0);
  420. else if( Y < pY ) ang = (acos((X - pX) / floatsqroot((X - pX)*(X - pX) + (Y - pY)*(Y - pY))) - 90.0);
  421.  
  422. if(X > pX) ang = (floatabs(floatabs(ang) + 180.0));
  423. else ang = (floatabs(ang) - 180.0);
  424.  
  425. SetPlayerFacingAngle(playerid, ang);
  426.  
  427. return 0;
  428.  
  429. }
  430.  
  431. stock PlayerName(playerid){
  432. new pname[MAX_PLAYER_NAME];
  433. GetPlayerName(playerid,pname,MAX_PLAYER_NAME);
  434. return pname;
  435. }
  436.  
  437. stock Float:GetDistanceToPlayer(playerid,playerid2) {
  438. new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
  439. if (!IsPlayerConnected(playerid) || !IsPlayerConnected(playerid2)) {
  440. return -1.00;
  441. }
  442. GetPlayerPos(playerid,x1,y1,z1);
  443. GetPlayerPos(playerid2,x2,y2,z2);
  444. return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
  445. }
  446.  
  447. stock GetClosestPlayer(p1){
  448. new Float:dis,Float:dis2,playerid;
  449. playerid = -1;
  450. dis = 99999.99;
  451. foreach(Player,x){
  452. dis2 = GetDistanceToPlayer(p1,x);
  453. if (dis2 < dis && dis2 != -1.00)
  454. {
  455. dis = dis2;
  456. playerid = x;
  457. }
  458. }
  459. printf("[%d]%s",playerid,PlayerName(playerid));
  460. return playerid;
  461. }
  462. stock Float:GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance)
  463. {
  464. new Float:a;
  465. GetPlayerPos(playerid, x, y, a);
  466. if (IsPlayerInAnyVehicle(playerid)) GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
  467. else GetPlayerFacingAngle(playerid, a);
  468. x += (distance * floatsin(-a, degrees));
  469. y += (distance * floatcos(-a, degrees));
  470. return a;
  471. }
  472.  
  473. stock IsValidSkin(skinid)
  474. {
  475. #define MAX_BAD_SKINS 22
  476. new badSkins[MAX_BAD_SKINS] =
  477. { 261,252,239,230,200,168,162,159,134 };
  478. if (skinid < 0 || skinid > 299) return false;
  479. for (new i = 0; i < MAX_BAD_SKINS; i++) { if (skinid == badSkins[i]) return false; }
  480. #undef MAX_BAD_SKINS
  481. return 1;
  482. }
  483.  
  484. stock Float:GetPlayerSpeed(playerid)
  485. {
  486. new Float:vX, Float:vY, Float:vZ;
  487. if (!IsPlayerInAnyVehicle(playerid))
  488. {
  489. GetPlayerVelocity(playerid, vX, vY, vZ);
  490. }
  491. else
  492. {
  493. GetVehicleVelocity(GetPlayerVehicleID(playerid), vX, vY, vZ);
  494. }
  495. return floatsqroot(vX*vX + vY*vY + vZ*vZ)*100;
  496. }
  497. stock Float:GetXYInFrontOfVehicle(vehicleid, &Float:x, &Float:y, Float:distance)
  498. {
  499. new Float:a;
  500. GetVehiclePos(vehicleid, x, y, a);
  501. GetVehicleZAngle(vehicleid, a);
  502. x += (distance * floatsin(-a, degrees));
  503. y += (distance * floatcos(-a, degrees));
  504. return a;
  505. }
  506. stock IsPlayerFacingPlayer(playerid, playerid2, Float:dOffset)
  507. {
  508.  
  509. new
  510. Float:X,
  511. Float:Y,
  512. Float:Z,
  513. Float:pX,
  514. Float:pY,
  515. Float:pZ,
  516. Float:pA,
  517. Float:ang;
  518.  
  519. if(!IsPlayerConnected(playerid)) return 0;
  520.  
  521. GetPlayerPos(playerid2, pX, pY, pZ);
  522. GetPlayerPos(playerid, X, Y, Z);
  523. GetPlayerFacingAngle(playerid, pA);
  524.  
  525. if( Y > pY ) ang = (-acos((X - pX) / floatsqroot((X - pX)*(X - pX) + (Y - pY)*(Y - pY))) - 90.0);
  526. else if( Y < pY && X < pX ) ang = (acos((X - pX) / floatsqroot((X - pX)*(X - pX) + (Y - pY)*(Y - pY))) - 450.0);
  527. else if( Y < pY ) ang = (acos((X - pX) / floatsqroot((X - pX)*(X - pX) + (Y - pY)*(Y - pY))) - 90.0);
  528.  
  529. if(AngleInRangeOfAngle(-ang, pA, dOffset)) return true;
  530.  
  531. return false;
  532. }
  533.  
  534. stock AngleInRangeOfAngle(Float:a1, Float:a2, Float:range)
  535. {
  536.  
  537. a1 -= a2;
  538. if((a1 < range) && (a1 > -range)) return true;
  539.  
  540. return false;
  541.  
  542. }
  543. //=======================================[ ||===|| ]=========================================//
  544.  
  545. public OnFilterScriptExit()
  546. {
  547. KickZombies();
  548. return 1;
  549. }
  550.  
  551. public OnPlayerConnect(playerid)
  552. {
  553. if(IsPlayerNPC(playerid))
  554. {
  555. SpawnPlayer(playerid);
  556. }
  557. else
  558. {
  559. FiringTimer[playerid] = SetTimerEx("Firing",250,1,"i",playerid);
  560. }
  561. return 1;
  562. }
  563.  
  564. public OnPlayerDisconnect(playerid, reason)
  565. {
  566. if(!IsPlayerNPC(playerid)){
  567. KillTimer(FiringTimer[playerid]);
  568. }
  569. return 1;
  570. }
  571.  
  572. public OnPlayerSpawn(playerid)
  573. {
  574. if(IsPlayerNPC(playerid)){
  575. if(!strfind(PlayerName(playerid),ZOMBIE_NAME,true)){
  576. SetupZombie(playerid);
  577.  
  578. }
  579. }
  580. if(ZombieKill[playerid] != -1){
  581. Zombies[ZombieKill[playerid]][ZombieKilling] = -1;
  582. ZombieKill[playerid] = -1;
  583. return 1;
  584. }
  585. return 1;
  586. }
  587.  
  588. public OnPlayerDeath(playerid, killerid, reason)
  589. {
  590. if(ZombieKill[playerid] != -1){
  591. SendDeathMessage(ZombieKill[playerid],playerid,reason);
  592. return 1;
  593. }
  594. return 1;
  595. }
  596.  
  597. public OnVehicleSpawn(vehicleid)
  598. {
  599. return 1;
  600. }
  601.  
  602. public OnVehicleDeath(vehicleid, killerid)
  603. {
  604. return 1;
  605. }
  606.  
  607. public OnPlayerText(playerid, text[])
  608. {
  609. return 1;
  610. }
  611.  
  612. public OnPlayerCommandText(playerid, cmdtext[])
  613. {
  614. if(strcmp(cmdtext, "/taozombie", true) == 0)
  615. {
  616. if(!IsPlayerAdmin(playerid)) return false;
  617. Caller = playerid;
  618. new newname[64];
  619. format(newname,sizeof(newname),"%s_%d",ZOMBIE_NAME,LastAdded);
  620. ConnectNPC(newname,"zombie");
  621. LastAdded++;
  622. return 1;
  623. }
  624. return 0;
  625. }
  626.  
  627. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  628. {
  629. return 1;
  630. }
  631.  
  632. public OnPlayerExitVehicle(playerid, vehicleid)
  633. {
  634. return 1;
  635. }
  636.  
  637. public OnPlayerStateChange(playerid, newstate, oldstate)
  638. {
  639. return 1;
  640. }
  641.  
  642. public OnPlayerEnterCheckpoint(playerid)
  643. {
  644. return 1;
  645. }
  646.  
  647. public OnPlayerLeaveCheckpoint(playerid)
  648. {
  649. return 1;
  650. }
  651.  
  652. public OnPlayerEnterRaceCheckpoint(playerid)
  653. {
  654. return 1;
  655. }
  656.  
  657. public OnPlayerLeaveRaceCheckpoint(playerid)
  658. {
  659. return 1;
  660. }
  661.  
  662. public OnRconCommand(cmd[])
  663. {
  664. return 1;
  665. }
  666.  
  667. public OnPlayerRequestSpawn(playerid)
  668. {
  669. return 1;
  670. }
  671.  
  672. public OnObjectMoved(objectid)
  673. {
  674. return 1;
  675. }
  676.  
  677. public OnPlayerObjectMoved(playerid, objectid)
  678. {
  679. return 1;
  680. }
  681.  
  682. public OnPlayerPickUpPickup(playerid, pickupid)
  683. {
  684. return 1;
  685. }
  686.  
  687. public OnVehicleMod(playerid, vehicleid, componentid)
  688. {
  689. return 1;
  690. }
  691.  
  692. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  693. {
  694. return 1;
  695. }
  696.  
  697. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  698. {
  699. return 1;
  700. }
  701.  
  702. public OnPlayerSelectedMenuRow(playerid, row)
  703. {
  704. return 1;
  705. }
  706.  
  707. public OnPlayerExitedMenu(playerid)
  708. {
  709. return 1;
  710. }
  711.  
  712. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  713. {
  714. return 1;
  715. }
  716.  
  717. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  718. {
  719. return 1;
  720. }
  721.  
  722. public OnRconLoginAttempt(ip[], password[], success)
  723. {
  724. return 1;
  725. }
  726.  
  727. public OnPlayerUpdate(playerid)
  728. {
  729. return 1;
  730. }
  731.  
  732. public OnPlayerStreamIn(playerid, forplayerid)
  733. {
  734. return 1;
  735. }
  736.  
  737. public OnPlayerStreamOut(playerid, forplayerid)
  738. {
  739. return 1;
  740. }
  741.  
  742. public OnVehicleStreamIn(vehicleid, forplayerid)
  743. {
  744. return 1;
  745. }
  746.  
  747. public OnVehicleStreamOut(vehicleid, forplayerid)
  748. {
  749. return 1;
  750. }
  751.  
  752. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  753. {
  754. return 1;
  755. }
  756.  
  757. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  758. {
  759. return 1;
  760. }
  761.  
  762. //================================================================================//
Advertisement
Add Comment
Please, Sign In to add comment