Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- NoDM Zonen Include by [DT]Beavis
- Diese Include darf frei verwendet werden.
- Das was nicht genehmigt wird, ist das Werk als eigenes zu missbrauchen,
- Die weiterveröffentlichung bedarf nur mit einer Genehmigung von mir.
- 2013 by [DT]Beavis aka Chris
- */
- #include a_samp
- enum NoDMEnum
- {
- Float:B_MinX,
- Float:B_MinY,
- Float:B_MaxX,
- Float:B_MaxY,
- B_Erstellt,
- B_Zone
- };
- new BeavisNoDM[50][NoDMEnum],
- Text:Beavis[4],
- BeavisInit = 0;
- forward CreateNoDMZone(Float:B_XMin,Float:B_YMin,Float:B_XMax,Float:B_YMax);
- public CreateNoDMZone(Float:B_XMin,Float:B_YMin,Float:B_XMax,Float:B_YMax)
- {
- for(new i = 0; i < sizeof(BeavisNoDM); i++)
- {
- if(BeavisNoDM[i][B_Erstellt] == 0)
- {
- BeavisNoDM[i][B_MinX]=B_XMin;
- BeavisNoDM[i][B_MinY]=B_YMin;
- BeavisNoDM[i][B_MaxX]=B_XMax;
- BeavisNoDM[i][B_MaxY]=B_YMax;
- BeavisNoDM[i][B_Erstellt]=1;
- BeavisNoDM[i][B_Zone] = GangZoneCreate(BeavisNoDM[i][B_MinX], BeavisNoDM[i][B_MinY], BeavisNoDM[i][B_MaxX], BeavisNoDM[i][B_MaxY]);
- return 1;
- }
- }
- return 0;
- }
- stock NoDMZoneInit(BeavisDM = 0)
- {
- if(BeavisDM == 0 || BeavisDM == 1 ||BeavisDM == 2 || BeavisDM == 3)
- {
- BeavisInit = BeavisDM;
- print("\n\n______________________________________________");
- print("Beavis NoDM-Include wurde geladen");
- print("______________________________________________\n\n");
- }
- else
- {
- print("\n\n______________________________________________");
- print("Beavis NoDM-Include Error!");
- print("NoDMZoneInit fehlerhaft eingestellt");
- print("Es wird die Standarteinstellung verwendet");
- BeavisInit = 0;
- print("______________________________________________\n\n");
- }
- return 1;
- }
- forward Beavis_OnGameModeInit();
- public OnGameModeInit()
- {
- SetTimer("IsInBeavisNoDm",1000,1);
- Beavis[0] = TextDrawCreate(233.000000, 395.000000, "NoDM Zone");
- TextDrawBackgroundColor(Beavis[0], 255);
- TextDrawFont(Beavis[0], 1);
- TextDrawLetterSize(Beavis[0], 0.719999, 3.299998);
- TextDrawColor(Beavis[0], -16776961);
- TextDrawSetOutline(Beavis[0], 0);
- TextDrawSetProportional(Beavis[0], 1);
- TextDrawSetShadow(Beavis[0], 1);
- Beavis[1] = TextDrawCreate(33.000000, 421.000000, "NoDM Zone");
- TextDrawBackgroundColor(Beavis[1], 255);
- TextDrawFont(Beavis[1], 1);
- TextDrawLetterSize(Beavis[1], 0.500000, 1.000000);
- TextDrawColor(Beavis[1], -16776961);
- TextDrawSetOutline(Beavis[1], 1);
- TextDrawSetProportional(Beavis[1], 1);
- Beavis[2] = TextDrawCreate(538.000000, 415.000000, "NoDM Zone");
- TextDrawBackgroundColor(Beavis[2], 255);
- TextDrawFont(Beavis[2], 0);
- TextDrawLetterSize(Beavis[2], 0.629999, 2.599999);
- TextDrawColor(Beavis[2], -16776961);
- TextDrawSetOutline(Beavis[2], 0);
- TextDrawSetProportional(Beavis[2], 1);
- TextDrawSetShadow(Beavis[2], 1);
- Beavis[3] = TextDrawCreate(498.000000, 98.000000, "~g~NoDM Zone");
- TextDrawBackgroundColor(Beavis[3], 255);
- TextDrawFont(Beavis[3], 3);
- TextDrawLetterSize(Beavis[3], 0.589999, 1.500000);
- TextDrawColor(Beavis[3], -16776961);
- TextDrawSetOutline(Beavis[3], 1);
- TextDrawSetProportional(Beavis[3], 1);
- return CallLocalFunction("Beavis_OnGameModeInit","");
- }
- forward Beavis_OnPlayerConnect(playerid);
- public OnPlayerConnect(playerid)
- {
- for(new c = 0; c < sizeof(Beavis); c++){
- TextDrawHideForPlayer(playerid, Beavis[c]);}
- for(new i = 0; i < sizeof(BeavisNoDM); i++){
- if(BeavisNoDM[i][B_Erstellt] == 0) continue;
- GangZoneShowForPlayer(playerid, BeavisNoDM[i][B_Zone], 0xFF3A3A66);}
- return CallLocalFunction("Beavis_OnPlayerConnect","d",playerid);
- }
- forward Beavis_OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if(newkeys & 4)
- {
- for(new i = 0; i < sizeof(BeavisNoDM); i++)
- {
- if(BeavisNoDM[i][B_Erstellt] == 0) continue;
- if(Beavis_IsPlayerInArea(playerid, BeavisNoDM[i][B_MinX], BeavisNoDM[i][B_MinY], BeavisNoDM[i][B_MaxX], BeavisNoDM[i][B_MaxY]))
- {
- if(!IsPlayerInAnyVehicle(playerid))
- {
- SendClientMessage(playerid,0xFF3A3AFF,"Du wurdest wegen DM in einer NoDM Zone für 5 Sekunden gefreezt!");
- TogglePlayerControllable(playerid, 0);
- SetTimerEx("Beavis_Freeze", 5000, 0, "d", playerid);
- return CallLocalFunction("Beavis_OnPlayerKeyStateChange","ddd",playerid, newkeys, oldkeys);
- }
- }
- }
- }
- return CallLocalFunction("Beavis_OnPlayerKeyStateChange","ddd",playerid, newkeys, oldkeys);
- }
- forward Beavis_Freeze(playerid);
- public Beavis_Freeze(playerid)
- {
- TogglePlayerControllable(playerid, 1);
- return 1;
- }
- forward IsInBeavisNoDm();
- public IsInBeavisNoDm()
- {
- for(new playerid; playerid < MAX_PLAYERS; playerid++)
- {
- if(!IsPlayerConnected(playerid)) continue;
- for(new i = 0; i < sizeof(BeavisNoDM); i++)
- {
- if(BeavisNoDM[i][B_Erstellt] == 0) continue;
- if(Beavis_IsPlayerInArea(playerid, BeavisNoDM[i][B_MinX], BeavisNoDM[i][B_MinY], BeavisNoDM[i][B_MaxX], BeavisNoDM[i][B_MaxY]))
- {
- TextDrawShowForPlayer(playerid, Beavis[BeavisInit]);
- SetPlayerArmedWeapon(playerid,0);
- }
- else
- {
- TextDrawHideForPlayer(playerid, Beavis[BeavisInit]);
- }
- }
- }
- return 1;
- }
- stock Beavis_IsPlayerInArea(playerid,Float:MinX,Float:MinY,Float:MaxX,Float:MaxY)
- {
- new Float:pX,Float:pY,Float:pZ;
- GetPlayerPos(playerid,pX,pY,pZ);
- if(pX >= MinX && pX <= MaxX && pY >= MinY && pY <= MaxY) return 1;
- else return 0;
- }
- #if defined _ALS_OnPlayerConnect
- #undef OnPlayerConnect
- #else
- #define _ALS_OnPlayerConnect
- #endif
- #define OnPlayerConnect Beavis_OnPlayerConnect
- #if defined _ALS_OnGameModeInit
- #undef OnGameModeInit
- #else
- #define _ALS_OnGameModeInit
- #endif
- #define OnGameModeInit Beavis_OnGameModeInit
- #if defined _ALS_OnPlayerKeyStateChange
- #undef OnPlayerKeyStateChange
- #else
- #define _ALS_OnPlayerKeyStateChange
- #endif
- #define OnPlayerKeyStateChange Beavis_OnPlayerKeyStateChange
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement