caponemkd

Untitled

Mar 27th, 2020
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.65 KB | None | 0 0
  1. // Najgore u modot i kreiras folder u scriptfiles
  2. #define ACTOR_FILE "Aktori/Actor_%d.ini"
  3. #define MAX_ACTOR 20
  4. #define DIALOG_ACTOR 564
  5. #define DIALOG_ACTOR1 565
  6. #define DIALOG_ACTOR2 566
  7.  
  8. // Tamu kaj enum pInfo nekade
  9. enum ActorsData
  10. {
  11. ActorSkinID,
  12. ActorAnimID,
  13. Float:ActorPos_X,
  14. Float:ActorPos_Y,
  15. Float:ActorPos_Z,
  16. Float:ActorRotation
  17. };
  18. new ActorInfo[MAX_ACTOR][ActorsData];
  19. new Text3D:Actor3DText[MAX_ACTOR];
  20. new ActorSkin[sizeof(ActorInfo)];
  21.  
  22. // Dialozite
  23. if(dialogid == DIALOG_ACTOR)
  24. {
  25. if(!response) return 1;
  26. if(response)
  27. {
  28. if(strval(inputtext) < 0 && strval(inputtext) > 311) return SPD(playerid, DIALOG_ACTOR, DIALOG_STYLE_INPUT, "{0049FF}Actor Meni", "{FFFFFF}Vnesete ID na skinot za actorot", "Vnesi", "Izlez");
  29. for(new id = 0; id < MAX_ACTOR; id++)
  30. {
  31. new AkterFajl[50];
  32. format(AkterFajl, sizeof(AkterFajl), ACTOR_FILE, id);
  33. if(!fexist(AkterFajl))
  34. {
  35. new Float:x, Float:y, Float:z, Float:rot;
  36. ActorInfo[id][ActorSkinID] = strval(inputtext);
  37. GetPlayerPos(playerid, x, y, z);
  38. GetPlayerFacingAngle(playerid, rot);
  39. ActorInfo[id][ActorPos_X] = x; ActorInfo[id][ActorPos_Y] = y; ActorInfo[id][ActorPos_Z] = z; ActorInfo[id][ActorRotation] = rot;
  40. SPD(playerid, DIALOG_ACTOR1, DIALOG_STYLE_INPUT, "{0049FF}Actor Meni", "{FFFFFF}Vnesete ID na animacijata za actorot\n\nPomos:\n0: Nisto\n1: Stav\n2: Rap", "Vnesi", "Izlez");
  41. break;
  42. }
  43. }
  44. }
  45. return 1;
  46. }
  47. if(dialogid == DIALOG_ACTOR1)
  48. {
  49. if(!response) return 1;
  50. if(response)
  51. {
  52. if(strval(inputtext) < 0 || strval(inputtext) > 2) return SPD(playerid, DIALOG_ACTOR1, DIALOG_STYLE_INPUT, "{0049FF}Actor Meni", "{FFFFFF}Vnesete ID na animacijata za actorot\n\nPomos:\n0: Nisto\n1: Stav\n2: Rap", "Vnesi", "Izlez");
  53. for(new id = 0; id < MAX_ACTOR; id++)
  54. {
  55. new AkterFajl[50];
  56. format(AkterFajl, sizeof(AkterFajl), ACTOR_FILE, id);
  57. if(!fexist(AkterFajl))
  58. {
  59. ActorInfo[id][ActorAnimID] = strval(inputtext);
  60. SCM(playerid,-1, "{0049FF}INFO:{FFFFFF}Zavrsivte so kreiranje na actorot.");
  61. SacuvajActore(id);
  62. ActorSkin[id] = CreateActor(ActorInfo[id][ActorSkinID], ActorInfo[id][ActorPos_X], ActorInfo[id][ActorPos_Y], ActorInfo[id][ActorPos_Z], ActorInfo[id][ActorRotation]);
  63. SetActorInvulnerable(id, true);
  64. AkterLabelAnim();
  65. if(ActorInfo[id][ActorAnimID] == 0)
  66. {
  67. ClearActorAnimations(id);
  68. }
  69. else if(ActorInfo[id][ActorAnimID] == 1)
  70. {
  71. ApplyActorAnimation(id, "COP_AMBIENT", "Coplook_loop", 4.0, 0, 1, 1, 1, -1);
  72. }
  73. else if(ActorInfo[id][ActorAnimID] == 2)
  74. {
  75. ApplyActorAnimation(id, "RAPPING", "RAP_A_Loop", 4.0, 1, 0, 0, 0, 0);
  76. }
  77. break;
  78. }
  79. }
  80. }
  81. return 1;
  82. }
  83. if(dialogid == DIALOG_ACTOR2)
  84. {
  85. if(!response) return 1;
  86. if(response)
  87. {
  88. new ImaFajl[50], id = strval(inputtext);
  89. format(ImaFajl, sizeof(ImaFajl), ACTOR_FILE, id);
  90. if(!fexist(ImaFajl)) return SCM(playerid,-1, "{FF4040}GRESKA:{FFFFFF}Pogresen ID na aktorot.");
  91. DestroyActor(id);
  92. Delete3DTextLabel(Actor3DText[id]);
  93. Delete3DTextLabel(Actor3DText[id]);
  94. Delete3DTextLabel(Actor3DText[id]);
  95. Delete3DTextLabel(Actor3DText[id]);
  96. new x;
  97. format(string, sizeof(string), "{0049FF}INFO:{FFFFFF}Go izbrisavte aktorot so ID %d.", x);
  98. SCM(playerid, -1, string);
  99. fremove(ImaFajl);
  100. }
  101. return 1;
  102. }
  103.  
  104. // Stavas vo OnGameModeInit
  105. for(new id = 0; id < MAX_ACTOR; id++)
  106. {
  107. new oFile[50];
  108. format(oFile, sizeof(oFile), ACTOR_FILE, id);
  109. if(fexist(oFile))
  110. {
  111. INI_ParseFile(oFile, "UcitajActore", .bExtra = true, .extra = id);
  112. ActorSkin[id] = CreateActor(ActorInfo[id][ActorSkinID], ActorInfo[id][ActorPos_X], ActorInfo[id][ActorPos_Y], ActorInfo[id][ActorPos_Z], ActorInfo[id][ActorRotation]);
  113. if(ActorInfo[id][ActorAnimID] == 0) { ClearActorAnimations(id); }
  114. else if(ActorInfo[id][ActorAnimID] == 1) { ApplyActorAnimation(id, "COP_AMBIENT", "Coplook_loop", 4.0, 0, 1, 1, 1, -1); }
  115. else if(ActorInfo[id][ActorAnimID] == 2) { ApplyActorAnimation(id, "RAPPING", "RAP_A_Loop", 4.0, 1, 0, 0, 0, 0); }
  116. SetActorInvulnerable(id, true);
  117. AkterLabelAnim();
  118. }
  119. }
  120.  
  121. // Stavas nekade kaj stock SacuvajKucu(idkuce)
  122.  
  123. forward UcitajActore(GromoJebach, name[], value[]);
  124. public UcitajActore(GromoJebach, name[], value[])
  125. {
  126. INI_Int("ActorSkinID", ActorInfo[GromoJebach][ActorSkinID]);
  127. INI_Int("ActorAnimID", ActorInfo[GromoJebach][ActorAnimID]);
  128. INI_Float("ActorPos_X", ActorInfo[GromoJebach][ActorPos_X]);
  129. INI_Float("ActorPos_Y", ActorInfo[GromoJebach][ActorPos_Y]);
  130. INI_Float("ActorPos_Z", ActorInfo[GromoJebach][ActorPos_Z]);
  131. INI_Float("ActorRotation", ActorInfo[GromoJebach][ActorRotation]);
  132. return 1;
  133. }
  134. forward SacuvajActore(GromoJebach);
  135. public SacuvajActore(GromoJebach)
  136. {
  137. new dFile[50];
  138. format(dFile, sizeof(dFile), ACTOR_FILE, GromoJebach);
  139. new INI:File = INI_Open(dFile);
  140. INI_WriteInt(File, "ActorSkinID", ActorInfo[GromoJebach][ActorSkinID]);
  141. INI_WriteInt(File, "ActorAnimID", ActorInfo[GromoJebach][ActorAnimID]);
  142. INI_WriteFloat(File, "ActorPos_X", ActorInfo[GromoJebach][ActorPos_X]);
  143. INI_WriteFloat(File, "ActorPos_Y", ActorInfo[GromoJebach][ActorPos_Y]);
  144. INI_WriteFloat(File, "ActorPos_Z", ActorInfo[GromoJebach][ActorPos_Z]);
  145. INI_WriteFloat(File, "ActorRotation", ActorInfo[GromoJebach][ActorRotation]);
  146. INI_Close(File);
  147. return 1;
  148. }
  149. forward AkterLabelAnim();
  150. public AkterLabelAnim()
  151. {
  152. for(new id = 0; id < MAX_ACTOR; id++)
  153. {
  154. new AkterFajl[50];
  155. format(AkterFajl, sizeof(AkterFajl), ACTOR_FILE, id);
  156. if(fexist(AkterFajl))
  157. {
  158. }
  159. }
  160. return 1;
  161. }
  162.  
  163. // Komandite kaj ostanatite
  164. CMD:kreirajactor(playerid,params[])
  165. {
  166. if(gPlayerLogged[playerid] == 0) return SCM(playerid, -1,"{FF4040}GRESKA:{FFFFFF}Ne ste logirani.");
  167. if(PlayerInfo[playerid][pAdmin] < 1342) return SCM(playerid, -1,"{FF4040}GRESKA:{FFFFFF}Ne ste Ceo/Founder.");
  168. if(PlayerInfo[playerid][pOnDuty] == 0) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Ne ste na dolznost.");
  169. SPD(playerid, DIALOG_ACTOR, DIALOG_STYLE_INPUT, "{0049FF}Actor Meni", "{FFFFFF}Vnesete ID na skinot za actorot", "Vnesi", "Izlez");
  170. return 1;
  171. }
  172. CMD:izbrisiactor(playerid,params[])
  173. {
  174. if(gPlayerLogged[playerid] == 0) return SCM(playerid, -1,"{FF4040}GRESKA:{FFFFFF}Ne ste logirani.");
  175. if(PlayerInfo[playerid][pAdmin] < 1342) return SCM(playerid, -1,"{FF4040}GRESKA:{FFFFFF}Ne ste Ceo/Founder.");
  176. if(PlayerInfo[playerid][pOnDuty] == 0) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Ne ste na dolznost.");
  177. SPD(playerid, DIALOG_ACTOR2, DIALOG_STYLE_INPUT, "{0049FF}Actor Meni", "{FFFFFF}Vnesete ID na actorot koj sakate da go izbrisete", "Vnesi", "Izlez");
  178. return 1;
  179. }
  180. CMD:actorinfo(playerid,params[])
  181. {
  182. if(gPlayerLogged[playerid] == 0) return SCM(playerid, -1,"{FF4040}GRESKA:{FFFFFF}Ne ste logirani.");
  183. if(PlayerInfo[playerid][pAdmin] < 1342) return SCM(playerid, -1,"{FF4040}GRESKA:{FFFFFF}Ne ste Ceo/Founder.");
  184. if(PlayerInfo[playerid][pOnDuty] == 0) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Ne ste na dolznost.");
  185. new i = -1;
  186. for(new x; x < MAX_ACTOR; x++)
  187. {
  188. if(IsPlayerInRangeOfPoint(playerid, 5.0, ActorInfo[x][ActorPos_X], ActorInfo[x][ActorPos_Y], ActorInfo[x][ActorPos_Z]))
  189. {
  190. i = x;
  191. break;
  192. }
  193. }
  194. if(i == -1) return SCM(playerid, -1, "{FF4040}GRESKA:{FFFFFF}Ne ste kaj aktorot.");
  195. new x, string[128];
  196. format(string, sizeof(string), "{0049FF}INFO:{FFFFFF}Actor ID: %d.", x);
  197. SCM(playerid, -1, string);
  198. return 1;
  199. }
Advertisement
Add Comment
Please, Sign In to add comment