/* SaMp Include Fraktions Hilfe V.3 * * (c) by Kaliber, 2012-2013 * */ #include #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_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) { 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