Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* SaMp Include Fraktions Hilfe V.2
- *
- * (c) by Kaliber, 2012
- *
- */
- #include <a_samp>
- #pragma tabsize 0 //nur hier im pastebin
- ////////////////////////////////////////////////////////////////////////////////
- #if !defined r1
- #define r1 return 1
- #endif
- #if !defined MAX_FRAKTIONS
- #define MAX_FRAKTIONS 20
- #endif
- #if !defined MAX_RANG
- #define MAX_RANG 6
- #endif
- #define Con if(!IsPlayerConnected(playerid)) return 0
- ////////////////////////////////////////////////////////////////////////////////
- #define o_const 600
- #define o_1 (o_const + 1)
- #define o_2 (o_const + 2)
- ////////////////////////////////////////////////////////////////////////////////
- enum p_P {
- p_Frak,
- p_Rang
- };
- enum p_PFrak {
- Float:p_X,
- Float:p_Y,
- Float:p_Z,
- Float:p_A,
- p_intID,//<------
- p_Hex,
- p_Art,
- p_GangZone
- };
- 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];
- ////////////////////////////////////////////////////////////////////////////////
- forward _OnPlayerConnect(playerid);
- forward _OnPlayerSpawn(playerid);
- forward _OnVehicleStreamIn(vehicleid, forplayerid);
- ////////////////////////////////////////////////////////////////////////////////
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- new frak = GetFraktion(forplayerid);
- if(Frak_Cars[vehicleid] != frak) SetVehicleParamsForPlayer(vehicleid,forplayerid,0,1);
- return CallRemoteFunction("_OnVehicleStreamIn", "di", vehicleid,forplayerid);
- }
- #if defined _ALS_OnVehicleStreamIn
- #undef OnVehicleStreamIn
- #else
- #define _ALS_OnVehicleStreamIn
- #endif
- #define OnVehicleStreamIn _OnVehicleStreamIn
- public OnPlayerConnect(playerid)
- {
- GetPlayerName(playerid, n_name[playerid], MAX_PLAYER_NAME);
- return CallRemoteFunction("_OnPlayerConnect", "i", playerid);
- }
- #if defined _ALS_OnPlayerConnect
- #undef OnPlayerConnect
- #else
- #define _ALS_OnPlayerConnect
- #endif
- #define OnPlayerConnect _OnPlayerConnect
- public OnPlayerSpawn(playerid)
- {
- for(new frakid; frakid!=MAX_FRAKTIONS; frakid++) GangZoneShowForAll(Frak[frakid][p_GangZone],Frak[frakid][p_Hex]);
- new frakid = GetFraktion(playerid);
- if(frakid != 0) {
- SetPlayerInterior(playerid, Frak[frakid][p_intID]);//<------
- SetPlayerColor(playerid, Frak[frakid][p_Hex]);
- SetPlayerPos(playerid, Frak[frakid][p_X], Frak[frakid][p_Y], Frak[frakid][p_Z]);
- SetPlayerFacingAngle(playerid, Frak[frakid][p_A]); }
- return CallRemoteFunction("_OnPlayerSpawn", "i", playerid);
- }
- #if defined _ALS_OnPlayerSpawn
- #undef OnPlayerSpawn
- #else
- #define _ALS_OnPlayerSpawn
- #endif
- #define OnPlayerSpawn _OnPlayerSpawn
- stock SetPlayerFraktion(playerid, number)
- {
- Con;
- Player[playerid][p_Frak] = number;
- r1;
- }
- stock SetPlayerRang(playerid, rang)
- {
- Con;
- Player[playerid][p_Rang] = rang;
- r1;
- }
- stock IsOnline(frak)
- {
- new i, string[128], buffer[MAX_PLAYER_NAME+22];
- for(; i<MAX_PLAYERS; i++) {
- if(!IsPlayerConnected(i)) continue;
- if(Player[playerid][p_Frak] != frak) continue;
- if(Player[playerid][p_Rang] == MAX_RANG) format(buffer, sizeof buffer,"Leader: %s\n",n_name[i]);
- else format(buffer, sizeof buffer,"Member: %s (Rang: %s)\n",n_name[i],Rang_Name[GetFraktion(i)][GetRang(i)]);
- strcat(string, buffer, sizeof string);
- }
- ShowPlayerDialog(playerid,o_1,DIALOG_STYLE_MSGBOX,"{FF0000}Fraktions Menu",string,"Bestätigen","");
- }
- stock SetRangName(number, rangid, name[])
- {
- format(Rang_Name[number][rangid], 32, "%s", name);
- }
- stock GetRangName(playerid)
- {
- return Rang_Name[GetFraktion(playerid)][GetRang(playerid)];
- }
- stock GetFraktion(playerid)
- {
- Con;
- return Player[playerid][p_Frak];
- }
- stock GetRang(playerid)
- {
- Con;
- return Player[playerid][p_Rang];
- }
- stock SetFraktionsColor(number, hex)
- {
- Frak[number][p_Hex] = hex;
- }
- stock SetFraktionsSpawn(number, Float:X, Float:Y, Float:Z, Float:A=0.0, intID)
- {
- 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;//<------
- }
- stock AddFrakCar(number,modelid,Float:X,Float:Y,Float:Z,Float:A,color1,color2,respawn)
- {
- new veh = CreateVehicle(modelid,X,Y,Z,A,color1,color2,respawn);
- Frak_Cars[veh] = number;
- }
- stock GetFrakCar(vehicleid)
- {
- return Frak_Cars[vehicleid];
- }
- stock SetFraktionArt(frakid, art)
- {
- Frak[frakid][p_Art] = art;
- r1;
- }
- stock GetFraktionArt(frakid)
- {
- new string[64];
- switch(Frak[frakid][p_Art]) {
- case 0: format(string,64,"Staatsfraktion");
- case 1: format(string,64,"Gang");
- case 2: format(string,64,"NO-DM Fraktion");
- case 3: format(string,64,"Mafia");
- }
- return string;
- }
- stock CreateGangZone(frakid, Float:minx, Float:miny, Float:maxx, Float:maxy) {
- Frak[frakid][p_GangZone] = GangZoneCreate(minx, miny, maxx, maxy);
- return Frak[frakid][p_GangZone];
- }
- stock GetGangZoneOwner(GangZoneID) {
- for(new i; i!=MAX_FRAKTIONS; i++) {
- if(GangZoneID == Frak[frakid][p_GangZone]) return i;
- }
- return -1;
- }
- stock SetGangZoneOwner(GangZoneID,frakid) {
- Frak[frakid][p_Gangzone] = GangZoneID;
- r1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement