Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <zcmd>
- stock DB_Escape(text[])
- {
- new
- ret[80 * 2],
- ch,
- i,
- j;
- while ((ch = text[i++]) && j < sizeof (ret))
- {
- if (ch == '\'')
- {
- if (j < sizeof (ret) - 2)
- {
- ret[j++] = '\'';
- ret[j++] = '\'';
- }
- }
- else if (j < sizeof (ret))
- {
- ret[j++] = ch;
- }
- else
- {
- j++;
- }
- }
- ret[sizeof (ret) - 1] = '\0';
- return ret;
- }
- //Dialoge
- #define DIALOG_WETTE 500
- #define EILSTATS 750
- //Wetteinsätze
- #define EINSATZ 500
- #define EINSATZE 5000
- #define EINSATZZ 25000
- new DB:Statistiken;
- new SpawnProtect[MAX_PLAYERS], InEIL[MAX_PLAYERS][3],EiLKills[MAX_PLAYERS][3], JACKPOT = EINSATZ, JACKPOTE = EINSATZE, JACKPOTZ = EINSATZZ;
- enum EiLDaten
- {
- EKills[MAX_PLAYERS],
- ETode[MAX_PLAYERS],
- EiLSiege[MAX_PLAYERS],
- EiLVerluste[MAX_PLAYERS]
- }
- new EInfo[MAX_PLAYERS][EiLDaten];
- public OnFilterScriptInit()
- {
- Statistiken = db_open("Statistiken.db");
- db_query(Statistiken, "CREATE TABLE IF NOT EXISTS `EiLStatistik`(`ID` INTEGER PRIMARY KEY AUTOINCREMENT,`Name`, `EKills`,`ETode`,`EiLSiege`, `EiLVerluste`)");
- print("\n--------------------------------------");
- print("Eine im Lauf [Version 1.0]\nGeschrieben von: BOMBER");
- print("--------------------------------------\n");
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new str[256],dbstr[256],DBResult:Result,name[MAX_PLAYER_NAME+1];
- GetPlayerName(playerid,name,sizeof(name));
- format(str,sizeof(str), "SELECT * FROM `EiLStatistik` WHERE NAME = '%s'", DB_Escape(name));
- Result = db_query(Statistiken,str);
- if(db_num_rows(Result) > 0)
- {
- db_get_field_assoc(Result,"EKills",str,sizeof(str));
- EInfo[playerid][EKills]=strval(str);
- db_get_field_assoc(Result,"ETode",str,sizeof(str));
- EInfo[playerid][ETode] = strval(str);
- db_get_field_assoc(Result,"EiLSiege",str,sizeof(str));
- EInfo[playerid][EiLSiege]=strval(str);
- db_get_field_assoc(Result,"EiLVerluste",str,sizeof(str));
- EInfo[playerid][EiLVerluste]=strval(str);
- } else
- {
- format(dbstr,sizeof(dbstr), "INSERT INTO `EiLStatistik`(`Name`, `EKills`,`ETode`, `EiLSiege`, `EiLVerluste`)VALUES('%s','0','0','0','0')",DB_Escape(name));
- db_query(Statistiken,dbstr);
- }
- db_free_result(Result);
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- if(InEIL[playerid][0] == 1)
- {
- GivePlayerWeapon(playerid,24,1);
- GivePlayerWeapon(playerid,4,1);
- SetPlayerPos(playerid,-729.276000,503.086944,1371.971801);
- SetPlayerInterior(playerid,1);
- SetPlayerVirtualWorld(playerid,1);
- SetPlayerHealth(playerid,10000);
- SpawnProtect[playerid] = 1;
- SetTimerEx("Protect",5000,false,"i",playerid);
- }
- if(InEIL[playerid][1] == 1)
- {
- GivePlayerWeapon(playerid,24,1);
- GivePlayerWeapon(playerid,4,1);
- SetPlayerPos(playerid,-729.276000,503.086944,1371.971801);
- SetPlayerInterior(playerid,1);
- SetPlayerVirtualWorld(playerid,2);
- SetPlayerHealth(playerid,10000);
- SpawnProtect[playerid] = 1;
- SetTimerEx("Protect",5000,false,"i",playerid);
- }
- if(InEIL[playerid][2] == 1)
- {
- GivePlayerWeapon(playerid,24,1);
- GivePlayerWeapon(playerid,4,1);
- SetPlayerPos(playerid,-729.276000,503.086944,1371.971801);
- SetPlayerInterior(playerid,1);
- SetPlayerVirtualWorld(playerid,3);
- SetPlayerHealth(playerid,10000);
- SpawnProtect[playerid] = 1;
- SetTimerEx("Protect",5000,false,"i",playerid);
- }
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(response)
- {
- switch(dialogid)
- {
- case DIALOG_WETTE:
- {
- switch(listitem)
- {
- case 0:
- {
- if(InEIL[playerid][0] == 1 || InEIL[playerid][1] == 1 || InEIL[playerid][2] == 1)return SendClientMessage(playerid,-1, "Du bist bereits im EiL");
- if(GetPlayerMoney(playerid) < EINSATZ)return SendClientMessage(playerid,-1,"Nicht genügend Geld vorhanden!");
- GivePlayerMoney(playerid,-EINSATZ);
- JACKPOT += EINSATZ;
- GivePlayerWeapon(playerid,24,1);
- GivePlayerWeapon(playerid,4,1);
- InEIL[playerid][0] = 1;
- SetPlayerPos(playerid,-729.276000,503.086944,1371.971801);
- SetPlayerInterior(playerid,1);
- SetPlayerVirtualWorld(playerid,1);
- SpawnProtect[playerid] = 1;
- SetTimerEx("Protect", 5000, false, "i",playerid);
- }
- case 1:
- {
- if(InEIL[playerid][0] == 1 || InEIL[playerid][1] == 1 || InEIL[playerid][2] == 1)return SendClientMessage(playerid,-1, "Du bist bereits im EiL");
- if(GetPlayerMoney(playerid) < EINSATZE)return SendClientMessage(playerid,-1,"Nicht genügend Geld vorhanden!");
- GivePlayerMoney(playerid,-EINSATZE);
- JACKPOTE += EINSATZE;
- GivePlayerWeapon(playerid,24,1);
- GivePlayerWeapon(playerid,4,1);
- InEIL[playerid][1] = 1;
- SetPlayerPos(playerid,-729.276000,503.086944,1371.971801);
- SetPlayerInterior(playerid,1);
- SetPlayerVirtualWorld(playerid,2);
- SpawnProtect[playerid] = 1;
- SetTimerEx("Protect", 5000, false, "i",playerid);
- }
- case 2:
- {
- if(InEIL[playerid][0] == 1 || InEIL[playerid][1] == 1 || InEIL[playerid][2] == 1)return SendClientMessage(playerid,-1, "Du bist bereits im EiL");
- if(GetPlayerMoney(playerid) < EINSATZZ)return SendClientMessage(playerid,-1,"Nicht genügend Geld vorhanden!");
- GivePlayerMoney(playerid,-EINSATZZ);
- JACKPOTZ += EINSATZZ;
- GivePlayerWeapon(playerid,24,1);
- GivePlayerWeapon(playerid,4,1);
- InEIL[playerid][2] = 1;
- SetPlayerPos(playerid,-729.276000,503.086944,1371.971801);
- SetPlayerInterior(playerid,1);
- SetPlayerVirtualWorld(playerid,3);
- SpawnProtect[playerid] = 1;
- SetTimerEx("Protect", 5000, false, "i",playerid);
- }
- }
- }
- }
- }
- return 1;
- }
- forward Protect(playerid);
- public Protect(playerid)
- {
- SpawnProtect[playerid] = 0;
- SetPlayerHealth(playerid,100);
- SendClientMessage(playerid,-1, "Spawnschutz aufgehoben!");
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- if(InEIL[killerid][0] == 1)
- {
- EInfo[killerid][EKills] ++;
- EInfo[playerid][ETode] ++;
- EiLKills[killerid][0] += 1;
- GameTextForPlayer(killerid,"+1 ~g~Kugel!",2000,3);
- if(EiLKills[killerid][0] == 10)
- {
- new str[128],name[MAX_PLAYER_NAME+1];
- GetPlayerName(killerid,name,sizeof(name));
- format(str,sizeof(str),"%s hat den Jackpot von %i gewonnen!",name,JACKPOT);
- SendClientMessageToAll(-1,str);
- GivePlayerMoney(killerid,JACKPOT);
- JACKPOT = EINSATZ;
- EInfo[killerid][EiLSiege] += 1;
- for(new i=0;i<MAX_PLAYERS;i++)
- {
- if(InEIL[i][0] == 1)
- {
- EiLKills[killerid][0] = 0;
- EInfo[i][EiLVerluste] += 1;
- InEIL[i][0] = 0;
- SetPlayerHealth(i,100);
- SetPlayerInterior(i,0);
- SetPlayerVirtualWorld(i,0);
- SpawnPlayer(i);
- ResetPlayerWeapons(i);
- }
- }
- }
- }
- if(InEIL[killerid][1] == 1)
- {
- EInfo[killerid][EKills] ++;
- EInfo[playerid][ETode] ++;
- EiLKills[killerid][1] += 1;
- GameTextForPlayer(killerid,"+1 ~g~Kugel!",2000,3);
- if(EiLKills[killerid][1] == 10)
- {
- new str[128],name[MAX_PLAYER_NAME+1];
- GetPlayerName(killerid,name,sizeof(name));
- format(str,sizeof(str), "%s hat den Jackpot von %i$ gewonnen!",name,JACKPOTE);
- SendClientMessageToAll(-1,str);
- GivePlayerMoney(killerid, JACKPOTE);
- JACKPOTE = EINSATZE;
- EInfo[killerid][EiLSiege] += 1;
- for(new i=0;i<MAX_PLAYERS;i++)
- {
- if(InEIL[i][1] == 1)
- {
- EiLKills[killerid][1] = 0;
- EInfo[i][EiLVerluste] += 1;
- InEIL[i][1] = 0;
- SetPlayerHealth(i,100);
- SetPlayerInterior(i,0);
- SetPlayerVirtualWorld(i,0);
- SpawnPlayer(i);
- ResetPlayerWeapons(i);
- }
- }
- }
- }
- if(InEIL[killerid][2] == 1)
- {
- EInfo[killerid][EKills] ++;
- EInfo[playerid][ETode] ++;
- EiLKills[killerid][2] += 1;
- GameTextForPlayer(killerid,"+1 ~g~Kugel!",2000,3);
- if(EiLKills[killerid][2] == 10)
- {
- new str[128],name[MAX_PLAYER_NAME+1];
- GetPlayerName(killerid,name,sizeof(name));
- format(str,sizeof(str), "%s hat den Jackpot von %i$ gewonnen!",name,JACKPOTZ);
- SendClientMessageToAll(-1,str);
- GivePlayerMoney(killerid,JACKPOTZ);
- JACKPOTZ = EINSATZZ;
- EInfo[killerid][EiLSiege] += 1;
- for(new i=0;i<MAX_PLAYERS;i++)
- {
- if(InEIL[i][2] == 1)
- {
- EiLKills[killerid][2] = 0;
- EInfo[i][EiLVerluste] += 1;
- InEIL[i][2] = 0;
- SetPlayerHealth(i,100);
- SetPlayerInterior(i,0);
- SetPlayerVirtualWorld(i,0);
- SpawnPlayer(i);
- ResetPlayerWeapons(i);
- }
- }
- }
- }
- return 1;
- }
- public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
- {
- if(issuerid != INVALID_PLAYER_ID && SpawnProtect[playerid] == 1)return SetPlayerHealth(playerid, 1000000);
- if(issuerid != INVALID_PLAYER_ID && InEIL[issuerid][0] || InEIL[issuerid][1] || InEIL[issuerid][2] && weaponid == 24)
- {
- new Float:HP;
- GetPlayerHealth(playerid,HP);
- GivePlayerWeapon(issuerid,24,1);
- SetPlayerHealth(playerid,HP-100);
- }
- if(issuerid != INVALID_PLAYER_ID && weaponid == 4)
- {
- new Float:HP;
- GivePlayerWeapon(issuerid,24,1);
- SetPlayerHealth(playerid,GetPlayerHealth(playerid,HP)-100);
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid)
- {
- new str[256],name[MAX_PLAYER_NAME+1];
- GetPlayerName(playerid,name,sizeof(name));
- format(str,sizeof(str), "UPDATE `EiLStatistik` SET `EKills` = '%i',`ETode` = '%i',`EiLSiege` = '%i', `EiLVerluste` = '%i' WHERE `Name` = '%s'",EInfo[playerid][EKills],EInfo[playerid][ETode],EInfo[playerid][EiLSiege], EInfo[playerid][EiLVerluste],DB_Escape(name));
- db_query(Statistiken,str);
- return 1;
- }
- CMD:eil(playerid,params[])
- {
- new str[128], name[MAX_PLAYER_NAME+1];
- GetPlayerName(playerid,name,sizeof(name));
- format(str,sizeof(str), "Raum - 1 (Preisgeld: %i$)\nRaum - 2 (Preisgeld: %i$)\nRaum - 3 (Preisgeld: %i$)",JACKPOT,JACKPOTE,JACKPOTZ);
- ShowPlayerDialog(playerid,DIALOG_WETTE, DIALOG_STYLE_LIST,"Spielmodus: Eine im Lauf",str, "Spielen", "Abbrechen");
- GivePlayerMoney(playerid,5000000);
- return 1;
- }
- CMD:exiteil(playerid,params[])
- {
- if(InEIL[playerid][0] == 1 || InEIL[playerid][1] == 1 || InEIL[playerid][2] == 1)
- {
- InEIL[playerid][0] = 0;
- InEIL[playerid][1] = 0;
- InEIL[playerid][2] = 0;
- SetPlayerInterior(playerid,0);
- SetPlayerVirtualWorld(playerid,0);
- ResetPlayerWeapons(playerid);
- SpawnPlayer(playerid);
- } else return SendClientMessage(playerid,-1,"Du bist nicht im Spielmodus: Eine im Lauf!");
- return 1;
- }
- CMD:eilstats(playerid,params[])
- {
- new str[256];
- format(str,sizeof(str), "EIL-Siege: %i\nEIL-Verluste: %i\nEIL-Kills: %i\nEIL-Tode: %i\nEiL-KD: %0.2f",EInfo[playerid][EiLSiege],EInfo[playerid][EiLVerluste],EInfo[playerid][EKills],EInfo[playerid][ETode],Float:EInfo[playerid][EKills]/Float:EInfo[playerid][ETode]);
- ShowPlayerDialog(playerid,EILSTATS, DIALOG_STYLE_MSGBOX,"EiL-Statistiken", str, "OK", "");
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement