Advertisement
Guest User

Frakhelp edit für Kaliber :D

a guest
Jan 7th, 2013
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.02 KB | None | 0 0
  1. /* SaMp Include Fraktions Hilfe V.2
  2. *
  3. * (c) by Kaliber, 2012
  4. *
  5. */
  6. #include <a_samp>
  7. #pragma tabsize 0 //nur hier im pastebin
  8. ////////////////////////////////////////////////////////////////////////////////
  9. #if !defined r1
  10. #define r1 return 1
  11. #endif
  12. #if !defined MAX_FRAKTIONS
  13. #define MAX_FRAKTIONS 20
  14. #endif
  15. #if !defined MAX_RANG
  16. #define MAX_RANG 6
  17. #endif
  18. #define Con if(!IsPlayerConnected(playerid)) return 0
  19. ////////////////////////////////////////////////////////////////////////////////
  20. #define o_const 600
  21. #define o_1 (o_const + 1)
  22. #define o_2 (o_const + 2)
  23. ////////////////////////////////////////////////////////////////////////////////
  24. enum p_P {
  25. p_Frak,
  26. p_Rang
  27. };
  28. enum p_PFrak {
  29. Float:p_X,
  30. Float:p_Y,
  31. Float:p_Z,
  32. Float:p_A,
  33. p_intID,//<------
  34. p_Hex,
  35. p_Art,
  36. p_GangZone
  37. };
  38. new Player[MAX_PLAYERS][p_P], Frak[MAX_FRAKTIONS][p_PFrak], n_name[MAX_PLAYERS][MAX_PLAYER_NAME], Rang_Name[MAX_FRAKTIONS][MAX_RANG][32], Frak_Cars[MAX_VEHICLES];
  39. ////////////////////////////////////////////////////////////////////////////////
  40. forward _OnPlayerConnect(playerid);
  41. forward _OnPlayerSpawn(playerid);
  42. forward _OnVehicleStreamIn(vehicleid, forplayerid);
  43. ////////////////////////////////////////////////////////////////////////////////
  44. public OnVehicleStreamIn(vehicleid, forplayerid)
  45. {
  46. new frak = GetFraktion(forplayerid);
  47. if(Frak_Cars[vehicleid] != frak) SetVehicleParamsForPlayer(vehicleid,forplayerid,0,1);
  48. return CallRemoteFunction("_OnVehicleStreamIn", "di", vehicleid,forplayerid);
  49. }
  50. #if defined _ALS_OnVehicleStreamIn
  51. #undef OnVehicleStreamIn
  52. #else
  53. #define _ALS_OnVehicleStreamIn
  54. #endif
  55. #define OnVehicleStreamIn _OnVehicleStreamIn
  56. public OnPlayerConnect(playerid)
  57. {
  58. GetPlayerName(playerid, n_name[playerid], MAX_PLAYER_NAME);
  59. return CallRemoteFunction("_OnPlayerConnect", "i", playerid);
  60. }
  61. #if defined _ALS_OnPlayerConnect
  62. #undef OnPlayerConnect
  63. #else
  64. #define _ALS_OnPlayerConnect
  65. #endif
  66. #define OnPlayerConnect _OnPlayerConnect
  67. public OnPlayerSpawn(playerid)
  68. {
  69. for(new frakid; frakid!=MAX_FRAKTIONS; frakid++) GangZoneShowForAll(Frak[frakid][p_GangZone],Frak[frakid][p_Hex]);
  70. new frakid = GetFraktion(playerid);
  71. if(frakid != 0) {
  72. SetPlayerInterior(playerid, Frak[frakid][p_intID]);//<------
  73. SetPlayerColor(playerid, Frak[frakid][p_Hex]);
  74. SetPlayerPos(playerid, Frak[frakid][p_X], Frak[frakid][p_Y], Frak[frakid][p_Z]);
  75. SetPlayerFacingAngle(playerid, Frak[frakid][p_A]); }
  76. return CallRemoteFunction("_OnPlayerSpawn", "i", playerid);
  77. }
  78. #if defined _ALS_OnPlayerSpawn
  79. #undef OnPlayerSpawn
  80. #else
  81. #define _ALS_OnPlayerSpawn
  82. #endif
  83. #define OnPlayerSpawn _OnPlayerSpawn
  84. stock SetPlayerFraktion(playerid, number)
  85. {
  86. Con;
  87. Player[playerid][p_Frak] = number;
  88. r1;
  89. }
  90. stock SetPlayerRang(playerid, rang)
  91. {
  92. Con;
  93. Player[playerid][p_Rang] = rang;
  94. r1;
  95. }
  96. stock IsOnline(frak)
  97. {
  98. new i, string[128], buffer[MAX_PLAYER_NAME+22];
  99. for(; i<MAX_PLAYERS; i++) {
  100. if(!IsPlayerConnected(i)) continue;
  101. if(Player[playerid][p_Frak] != frak) continue;
  102. if(Player[playerid][p_Rang] == MAX_RANG) format(buffer, sizeof buffer,"Leader: %s\n",n_name[i]);
  103. else format(buffer, sizeof buffer,"Member: %s (Rang: %s)\n",n_name[i],Rang_Name[GetFraktion(i)][GetRang(i)]);
  104. strcat(string, buffer, sizeof string);
  105. }
  106. ShowPlayerDialog(playerid,o_1,DIALOG_STYLE_MSGBOX,"{FF0000}Fraktions Menu",string,"Bestätigen","");
  107. }
  108. stock SetRangName(number, rangid, name[])
  109. {
  110. format(Rang_Name[number][rangid], 32, "%s", name);
  111. }
  112. stock GetRangName(playerid)
  113. {
  114. return Rang_Name[GetFraktion(playerid)][GetRang(playerid)];
  115. }
  116. stock GetFraktion(playerid)
  117. {
  118. Con;
  119. return Player[playerid][p_Frak];
  120. }
  121. stock GetRang(playerid)
  122. {
  123. Con;
  124. return Player[playerid][p_Rang];
  125. }
  126. stock SetFraktionsColor(number, hex)
  127. {
  128. Frak[number][p_Hex] = hex;
  129. }
  130. stock SetFraktionsSpawn(number, Float:X, Float:Y, Float:Z, Float:A=0.0, intID)
  131. {
  132. Frak[number][p_X] = X, Frak[number][p_Y] = Y, Frak[number][p_Z] = Z, Frak[number][p_A] = A, Frak[number][p_intID] = intID;//<------
  133. }
  134. stock AddFrakCar(number,modelid,Float:X,Float:Y,Float:Z,Float:A,color1,color2,respawn)
  135. {
  136. new veh = CreateVehicle(modelid,X,Y,Z,A,color1,color2,respawn);
  137. Frak_Cars[veh] = number;
  138. }
  139. stock GetFrakCar(vehicleid)
  140. {
  141. return Frak_Cars[vehicleid];
  142. }
  143. stock SetFraktionArt(frakid, art)
  144. {
  145. Frak[frakid][p_Art] = art;
  146. r1;
  147. }
  148. stock GetFraktionArt(frakid)
  149. {
  150. new string[64];
  151. switch(Frak[frakid][p_Art]) {
  152. case 0: format(string,64,"Staatsfraktion");
  153. case 1: format(string,64,"Gang");
  154. case 2: format(string,64,"NO-DM Fraktion");
  155. case 3: format(string,64,"Mafia");
  156. }
  157. return string;
  158. }
  159. stock CreateGangZone(frakid, Float:minx, Float:miny, Float:maxx, Float:maxy) {
  160. Frak[frakid][p_GangZone] = GangZoneCreate(minx, miny, maxx, maxy);
  161. return Frak[frakid][p_GangZone];
  162. }
  163. stock GetGangZoneOwner(GangZoneID) {
  164. for(new i; i!=MAX_FRAKTIONS; i++) {
  165. if(GangZoneID == Frak[frakid][p_GangZone]) return i;
  166. }
  167. return -1;
  168. }
  169. stock SetGangZoneOwner(GangZoneID,frakid) {
  170. Frak[frakid][p_Gangzone] = GangZoneID;
  171. r1;
  172. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement