Advertisement
Guest User

Include Fraktions Hilfe V.3

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