Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- =============================================================================================
- =- Samp GunGame Filterscript by Items4Landwirt™ aka. Music4You™ =
- =- erstellt mit PawnFox =
- =- Youtube Kanal von Music4You https://www.youtube.com/user/Music4You43 =
- =- Youtube Kanal von Items4Sacred https://www.youtube.com/user/items4sacred =
- =- Youtube Kanal von Metalletsplay666 https://www.youtube.com/user/MetalLetsPlay666 =
- =============================================================================================
- Die Credits müssen enthalten bleiben!
- es ist verboten das Script erneut zu Releasen, Verkaufen oder es als sein eigenes Auszugeben.
- Ansonsten Viel Spaß mit dem System!
- forward IsPlayerAnAdmin(playerid);
- public IsPlayerAnAdmin(playerid)
- {
- if(SpielerInfo[playerid][Adminlevel] == 5)
- {
- return 1;
- }
- return 0;
- }
- könnt ihr in euern gamemode, damit ihr bei ggkick etc. nicht als rcon eingeloogt sein müsst
- */
- #define FILTERSCRIPT
- //================== Includes ==================
- #include <a_samp>
- #include <ocmd>
- //================== Defines ==================
- #define SERVERNAME "Name" //hier euer Servername
- #define EINGANG 1310.2686,-1367.6049,13.5383 //ort für den eingangspickup
- #define LABELCOLOR 0xFFC800FF //farbe des textlabels
- #define SCM SendClientMessage
- #define rot 0xFF2800FF
- #define gruen 0x55FF00FF
- #define DIALOG_AUSWAHL 10000
- #define DIALOG_AUSWAHLI 10001
- #define DIALOG_SPAWNBLAU 10002
- #define DIALOG_SPAWNROT 10003
- #define DIALOG_GGSTAT 10004
- //================== News ==================
- new Blau[MAX_PLAYERS];
- new Rot[MAX_PLAYERS];
- new inarena[MAX_PLAYERS];
- enum gungama
- {
- Vorgun,
- Besuch,
- }
- new SpielerGungame[MAX_PLAYERS][gungama];
- public OnFilterScriptInit()
- {
- print("\n====================================================");
- print(" GunGame Filterscript by Items4Landwirt aka. Music4You");
- print("====================================================\n");
- CreatePickup(1239, 1, EINGANG, -1);
- Create3DTextLabel("Tippe /enter um das Gungame zu betreten", LABELCOLOR, EINGANG ,40.0, 0, 0);
- Create3DTextLabel("Spawn Team Blau", LABELCOLOR, -1132.2053,1057.8324,1346.4128 ,40.0, 0, 0);
- Create3DTextLabel("Spawn Team Rot", LABELCOLOR, -974.1260,1060.9028,1345.6761 ,40.0, 0, 0);
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- if(inarena[playerid]==1)
- {
- if(Blau[playerid]==1)
- {
- ShowPlayerDialog(playerid,DIALOG_SPAWNBLAU,DIALOG_STYLE_MSGBOX,"Spawnauswahl","Du bist in dem Gungame Mode gestorben, möchtest du wieder dahin zurück?\nWenn nein Spawnst du vor der vor der Gungame halle.\n\n"#SERVERNAME"","Ok","Ablehnen");
- }
- else if(Rot[playerid]==1)
- {
- ShowPlayerDialog(playerid,DIALOG_SPAWNBLAU,DIALOG_STYLE_MSGBOX,"Spawnauswahl","Du bist in dem Gungame Mode gestorben, möchtest du wieder dahin zurück?\nWenn nein Spawnst du vor der vor der Gungame halle.\n\n"#SERVERNAME"","Ok","Ablehnen");
- }
- }
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- new string[128],win[128],killmsg[128];
- if(inarena[playerid]==1)
- {
- if(GetPlayerWeapon(killerid) == 23)
- {
- ResetPlayerWeapons(killerid);
- GivePlayerWeapon(killerid,24,100);
- }
- else if(GetPlayerWeapon(killerid) == 24)
- {
- ResetPlayerWeapons(killerid);
- GivePlayerWeapon(killerid,22,100);
- }
- else if(GetPlayerWeapon(killerid) == 22)
- {
- ResetPlayerWeapons(killerid);
- GivePlayerWeapon(killerid,25,100);
- }
- else if(GetPlayerWeapon(killerid) == 25)
- {
- ResetPlayerWeapons(killerid);
- GivePlayerWeapon(killerid,27,100);
- }
- else if(GetPlayerWeapon(killerid) == 27)
- {
- ResetPlayerWeapons(killerid);
- GivePlayerWeapon(killerid,28,100);
- }
- else if(GetPlayerWeapon(killerid) == 28)
- {
- ResetPlayerWeapons(killerid);
- GivePlayerWeapon(killerid,29,100);
- }
- else if(GetPlayerWeapon(killerid) == 29)
- {
- ResetPlayerWeapons(killerid);
- GivePlayerWeapon(killerid,32,100);
- }
- else if(GetPlayerWeapon(killerid) == 32)
- {
- ResetPlayerWeapons(killerid);
- GivePlayerWeapon(killerid,30,100);
- }
- else if(GetPlayerWeapon(killerid) == 30)
- {
- ResetPlayerWeapons(killerid);
- GivePlayerWeapon(killerid,31,100);
- }
- else if(GetPlayerWeapon(killerid) == 31)
- {
- ResetPlayerWeapons(killerid);
- GivePlayerWeapon(killerid,34,100);
- }
- else if(GetPlayerWeapon(killerid) == 34)
- {
- ResetPlayerWeapons(killerid);
- GivePlayerWeapon(killerid,16,100);
- }
- else if(GetPlayerWeapon(killerid) == 16)
- {
- ResetPlayerWeapons(killerid);
- GivePlayerWeapon(killerid,4,100);
- }
- else if(GetPlayerWeapon(killerid) == 4)
- {
- for(new i=0; i<inarena[i]; i++)
- {
- if(!IsPlayerConnected(i))continue;
- {
- format(win,sizeof(win),"[GunGame] %s hat das Spiel gewonnen!",SpielerName(killerid));
- SCM(i,gruen,win);
- SetPlayerPos(i,EINGANG);
- ResetPlayerWeapons(i);
- Blau[i]=0;
- Rot[i]=0;
- inarena[i]=0;
- }
- }
- }
- SpielerGungame[playerid][Vorgun] = GetPlayerWeapon(playerid);
- for(new i=0; i<inarena[i]; i++)
- {
- if(!IsPlayerConnected(i))continue;
- {
- format(killmsg,sizeof(killmsg),"[GunGame] %s hat den Spieler %s mit der Waffe %s getötet",SpielerName(killerid),SpielerName(playerid),waffenname(killerid));
- SCM(i,gruen,win);
- }
- }
- format(string,sizeof(string),"Du bist nun auf der %s",waffenname(killerid));
- SCM(killerid,gruen,string);
- }
- return 1;
- }
- ocmd:enter(playerid,params[])
- {
- if(!IsPlayerInRangeOfPoint(playerid, 7.0, EINGANG)) return SCM(playerid,rot,"Du bist nicht am Gungame punkt!");
- ShowPlayerDialog(playerid,DIALOG_AUSWAHL,DIALOG_STYLE_MSGBOX,"Gungame","Herzlich Wilkommen im GunGame mode von "#SERVERNAME"\n\nUm mitspielen zu können musst du diese Regeln akzeptieren:\nBeim betreten/verlassen werden dir alle Waffen entzogen, es gibt keine möglichkeit diese wiederzubekommen.\nEs ist verboten zu Hacken\nEs ist verboten jemanden zuzuflamen nur weil er besser ist!","Zustimmen","Abbrechen");
- return 1;
- }
- ocmd:exit(playerid,params[])
- {
- if(inarena[playerid]!=1) return SCM(playerid,rot,"Du bist nicht in der Gungame Halle");
- SetPlayerPos(playerid,1310.4305,-1370.0978,13.5714);
- SetPlayerInterior(playerid,0);
- ResetPlayerWeapons(playerid);
- return 1;
- }
- ocmd:ggkick(playerid,params[])
- {
- new pID,string[128],msg[128],reason[128];
- if(!IsPlayerAdmin(playerid) && !CallRemoteFunction("IsPlayerAnAdmin","i",playerid)) return SCM(playerid,rot,"Du bist nicht Befugt!");
- if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid, rot, "Benutze: /ggkick [ID] [Grund]");
- format(string,sizeof(string),"Du wurdest von %s vom Gungame gekickt, Grund:",SpielerName(playerid),reason);
- SCM(pID,rot,string);
- SetPlayerPos(playerid,1310.4305,-1370.0978,13.5714);
- SetPlayerInterior(playerid,0);
- ResetPlayerWeapons(playerid);
- for(new i=0; i<inarena[i]; i++)
- {
- if(!IsPlayerConnected(i))continue;
- {
- format(msg,sizeof(msg),"[GunGame] %s hat den Spieler %s aus dem Gungame gekickt, Grund: %s",SpielerName(playerid),SpielerName(pID),reason);
- SCM(i,rot,msg);
- }
- }
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid)
- {
- case DIALOG_AUSWAHL:
- {
- if(response)
- {
- ShowPlayerDialog(playerid,DIALOG_AUSWAHLI,DIALOG_STYLE_MSGBOX,"Teamauswahl","Willkommen bei der Teamauswahl von "#SERVERNAME"\n\nHier kannst du dein Teamauswählen","Rot","Blau");
- }
- else return SCM(playerid,rot,"Du hast den Gungamemode verlassen");
- }
- case DIALOG_AUSWAHLI:
- {
- if(response)
- {
- Rot[playerid]=1;
- inarena[playerid]=1;
- SCM(playerid,gruen,"Du hast dich für das Rote Team entschieden");
- SCM(playerid,gruen,"Du kannst die Halle mit /exit verlassen");
- SetPlayerPos(playerid,-974.1260,1060.9028,1345.6761);
- SetPlayerInterior(playerid,10);
- GivePlayerWeapon(playerid,23,100);
- return 1;
- }
- else
- {
- Blau[playerid]=1;
- inarena[playerid]=1;
- SCM(playerid,gruen,"Du hast dich für das Blaue Team entschieden");
- SCM(playerid,gruen,"Du kannst die Halle mit /exit verlassen");
- SetPlayerPos(playerid,-1132.2053,1057.8324,1346.4128);
- SetPlayerInterior(playerid,10);
- GivePlayerWeapon(playerid,23,100);
- return 1;
- }
- }
- case DIALOG_SPAWNBLAU:
- {
- if(response)
- {
- SetPlayerPos(playerid,-1132.2053,1057.8324,1346.4128);
- SetPlayerInterior(playerid,10);
- GivePlayerWeapon(playerid,SpielerGungame[playerid][Vorgun],500);
- }
- }
- case DIALOG_SPAWNROT:
- {
- if(response)
- {
- SetPlayerPos(playerid,-974.1260,1060.9028,1345.6761);
- SetPlayerInterior(playerid,10);
- GivePlayerWeapon(playerid,SpielerGungame[playerid][Vorgun],500);
- }
- }
- }
- return 0;
- }
- stock waffenname(killerid)
- {
- new weapname[50];
- if(GetPlayerWeaponState(killerid) ==23) weapname = ("Silent Pistol");
- if(GetPlayerWeaponState(killerid) ==24) weapname = ("Deagle");
- if(GetPlayerWeaponState(killerid) ==22) weapname = ("Dual Pistols");
- if(GetPlayerWeaponState(killerid) ==25) weapname = ("Shot Gun");
- if(GetPlayerWeaponState(killerid) ==27) weapname = ("Auto Shot Gun");
- if(GetPlayerWeaponState(killerid) ==28) weapname = ("UZI");
- if(GetPlayerWeaponState(killerid) ==29) weapname = ("MP 5");
- if(GetPlayerWeaponState(killerid) ==32) weapname = ("Hand Gun");
- if(GetPlayerWeaponState(killerid) ==30) weapname = ("AK - 47");
- if(GetPlayerWeaponState(killerid) ==31) weapname = ("M4");
- if(GetPlayerWeaponState(killerid) ==34) weapname = ("Sniper");
- if(GetPlayerWeaponState(killerid) ==16) weapname = ("Nade Level");
- if(GetPlayerWeaponState(killerid) ==4) weapname = ("Knife Level");
- return weapname;
- }
- stock SpielerName(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- return name;
- }
- stock sscanf(string[], format[], {Float,_}:...)
- {
- #if defined isnull
- if (isnull(string))
- #else
- if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
- #endif
- {
- return format[0];
- }
- #pragma tabsize 4
- new
- formatPos = 0,
- stringPos = 0,
- paramPos = 2,
- paramCount = numargs(),
- delim = ' ';
- while (string[stringPos] && string[stringPos] <= ' ')
- {
- stringPos++;
- }
- while (paramPos < paramCount && string[stringPos])
- {
- switch (format[formatPos++])
- {
- case '\0':
- {
- return 0;
- }
- case 'i', 'd':
- {
- new
- neg = 1,
- num = 0,
- ch = string[stringPos];
- if (ch == '-')
- {
- neg = -1;
- ch = string[++stringPos];
- }
- do
- {
- stringPos++;
- if ('0' <= ch <= '9')
- {
- num = (num * 10) + (ch - '0');
- }
- else
- {
- return -1;
- }
- }
- while ((ch = string[stringPos]) > ' ' && ch != delim);
- setarg(paramPos, 0, num * neg);
- }
- case 'h', 'x':
- {
- new
- num = 0,
- ch = string[stringPos];
- do
- {
- stringPos++;
- switch (ch)
- {
- case 'x', 'X':
- {
- num = 0;
- continue;
- }
- case '0' .. '9':
- {
- num = (num << 4) | (ch - '0');
- }
- case 'a' .. 'f':
- {
- num = (num << 4) | (ch - ('a' - 10));
- }
- case 'A' .. 'F':
- {
- num = (num << 4) | (ch - ('A' - 10));
- }
- default:
- {
- return -1;
- }
- }
- }
- while ((ch = string[stringPos]) > ' ' && ch != delim);
- setarg(paramPos, 0, num);
- }
- case 'c':
- {
- setarg(paramPos, 0, string[stringPos++]);
- }
- case 'f':
- {
- new changestr[16], changepos = 0, strpos = stringPos;
- while(changepos < 16 && string[strpos] && string[strpos] != delim)
- {
- changestr[changepos++] = string[strpos++];
- }
- changestr[changepos] = '\0';
- setarg(paramPos,0,_:floatstr(changestr));
- }
- case 'p':
- {
- delim = format[formatPos++];
- continue;
- }
- case '\'':
- {
- new
- end = formatPos - 1,
- ch;
- while ((ch = format[++end]) && ch != '\'') {}
- if (!ch)
- {
- return -1;
- }
- format[end] = '\0';
- if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
- {
- if (format[end + 1])
- {
- return -1;
- }
- return 0;
- }
- format[end] = '\'';
- stringPos = ch + (end - formatPos);
- formatPos = end + 1;
- }
- case 'u':
- {
- new
- end = stringPos - 1,
- id = 0,
- bool:num = true,
- ch;
- while ((ch = string[++end]) && ch != delim)
- {
- if (num)
- {
- if ('0' <= ch <= '9')
- {
- id = (id * 10) + (ch - '0');
- }
- else
- {
- num = false;
- }
- }
- }
- if (num && IsPlayerConnected(id))
- {
- setarg(paramPos, 0, id);
- }
- else
- {
- #if !defined foreach
- #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
- #define __SSCANF_FOREACH__
- #endif
- string[end] = '\0';
- num = false;
- new
- name[MAX_PLAYER_NAME];
- id = end - stringPos;
- foreach (Player, playerid)
- {
- GetPlayerName(playerid, name, sizeof (name));
- if (!strcmp(name, string[stringPos], true, id))
- {
- setarg(paramPos, 0, playerid);
- num = true;
- break;
- }
- }
- if (!num)
- {
- setarg(paramPos, 0, INVALID_PLAYER_ID);
- }
- string[end] = ch;
- #if defined __SSCANF_FOREACH__
- #undef foreach
- #undef __SSCANF_FOREACH__
- #endif
- }
- stringPos = end;
- }
- case 's', 'z':
- {
- new
- i = 0,
- ch;
- if (format[formatPos])
- {
- while ((ch = string[stringPos++]) && ch != delim)
- {
- setarg(paramPos, i++, ch);
- }
- if (!i)
- {
- return -1;
- }
- }
- else
- {
- while ((ch = string[stringPos++]))
- {
- setarg(paramPos, i++, ch);
- }
- }
- stringPos--;
- setarg(paramPos, i, '\0');
- }
- default:
- {
- continue;
- }
- }
- while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
- {
- stringPos++;
- }
- while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
- {
- stringPos++;
- }
- paramPos++;
- }
- do
- {
- if ((delim = format[formatPos++]) > ' ')
- {
- if (delim == '\'')
- {
- while ((delim = format[formatPos++]) && delim != '\'') {}
- }
- else if (delim != 'z')
- {
- return delim;
- }
- }
- }
- while (delim > ' ');
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment