Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ////////////////////////////////////////////////////////////////////////////////
- // Mafia vs. Cops LVTDM 1.0 (0.3c Version) //
- // ©2011 by Honig, Kaster und g3neration (: //
- ////////////////////////////////////////////////////////////////////////////////
- //===============================INCLUDES=====================================//
- #include <a_samp>
- #include <dini>
- #include <Dudb>
- #include <sscanf>
- #pragma tabsize 0
- #pragma unused strtok
- #pragma unused ret_memcpy
- #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
- //===============================DEFINES======================================//
- #define COLOR_BLUE 0x0000FFFF
- #define COLOR_RED 0xFF0000FF
- #define COLOR_YELLOW 0xFFFF00FF
- #define COLOR_GREEN 0x00FF00FF
- #define COLOR_WHITE 0xFFFFFFFF
- #define Gunshop 1
- new LVTurm;
- new LVTurm1;
- //===============================gTEAMS=======================================//
- static gTeam[MAX_PLAYERS];
- #define TEAM_ZIVILISTEN 0
- #define TEAM_COPS 1
- #define TEAM_MAFIA 2
- //=================================NEWS=======================================//
- new bool:loggedin[MAX_PLAYERS];
- new price[] = {5000,6500,8000,10000,1000};
- //==============================ENUM STRUCTURES===============================//
- enum Info
- {
- Password,
- Money,
- Score,
- Kills,
- Deaths,
- Adminlevel,
- bankgeld
- }
- new pInfo[MAX_PLAYERS][Info];
- //============================================================================//
- main()
- {
- print("\n-----------------------------------------");
- print(" Running SoNL Deathmatch by Honig und Edit by Kaster und g3neration");
- print("-----------------------------------------\n");
- }
- public OnGameModeInit()
- {
- //==============================GAMEMODE TEXT=================================//
- SetGameModeText("SoNL DM V1.1(0.3c)");
- //==============================TRIAD CARS====================================//
- AddStaticVehicle(560,1881.1771,954.0503,10.5254,270.0610,112,112); // Triadcar1
- AddStaticVehicle(560,1881.0806,957.4236,10.5256,271.3663,112,112); // Triadcar2
- AddStaticVehicle(506,1925.2111,938.4047,10.4478,269.3415,112,112); // Triadcar3
- AddStaticVehicle(506,1932.3177,938.3237,10.4477,269.6419,112,112); // Triadcar4
- AddStaticVehicle(409,2037.9182,1020.6960,10.5427,0.9193,112,112); // Triadcar5
- AddStaticVehicle(603,2037.7992,987.3119,10.5810,0.4470,112,112); // Triadcar6
- AddStaticVehicle(562,1881.1682,963.5891,10.4794,269.2056,112,112); // Triadcar7
- AddStaticVehicle(562,2023.3652,1088.5280,10.4031,268.5323,112,112); // Triadcar8
- //==============================COP CARS======================================//
- AddStaticVehicle(598,2251.6067,2460.3315,10.5673,178.8149,7,1); // PoliceCar1
- AddStaticVehicle(598,2269.0366,2442.5854,10.5674,359.5301,7,1); // PoliceCar2
- AddStaticVehicle(598,2273.9431,2442.2820,10.5671,358.4214,7,1); // PoliceCar3
- AddStaticVehicle(598,2277.9246,2477.1570,10.5665,359.4208,7,1); // PoliceCar4
- AddStaticVehicle(528,2290.6155,2443.4846,10.8652,358.2004,7,1); // PoliceCar5
- AddStaticVehicle(528,2295.2424,2443.2202,10.8638,355.8154,7,1); // PoliceCar6
- AddStaticVehicle(523,2252.0234,2440.8708,10.3873,357.0417,7,1); // PoliceCar7
- AddStaticVehicle(523,2255.7297,2440.9026,10.3945,0.3249,7,1); // PoliceCar8
- //==============================TRIAD SKINS===================================//
- AddPlayerClass(117,1902.7887,963.8871,10.8203,187.8959,24,50,0,0,0,0); // TriadSkin1
- AddPlayerClass(118,1902.7887,963.8871,10.8203,187.8959,24,50,0,0,0,0); // TriadSkin2
- //AddPlayerClass(294,1902.7887,963.8871,10.8203,187.8959,24,50,0,0,0,0); // TriadSkin3
- //==============================COP SKINS=====================================//
- AddPlayerClass(282,2296.2197,2451.5889,10.8203,84.8908,24,50,0,0,0,0); // CopSkin1
- AddPlayerClass(285,2296.2197,2451.5889,10.8203,84.8908,24,50,0,0,0,0); // CopSkin2
- AddPlayerClass(286,2296.2197,2451.5889,10.8203,84.8908,24,50,0,0,0,0); // CopSkin3
- //=============================ZIVI===========================================//
- AddPlayerClass(7,1642.5880,1299.4125,10.8203,306.1936,24,50,0,0,0,0);//ZIVIskin1
- AddPlayerClass(19,1642.5880,1299.4125,10.8203,306.1936,24,50,0,0,0,0);//ZIVIskin2
- AddPlayerClass(29,1642.5880,1299.4125,10.8203,306.1936,24,50,0,0,0,0);//ZIVIskin3
- AddStaticVehicle(462,1650.3301,1316.7639,10.4805,180.4011,112,112);
- AddStaticVehicle(402,1653.4802,1316.7698,10.4801,178.2112,112,112);
- AddStaticVehicle(402,1657.1058,1317.2075,10.4801,176.1011,112,112);
- AddStaticVehicle(402,1660.1272,1299.0432,10.4781,182.6192,112,112);
- AddStaticVehicle(402,1650.7758,1287.2600,10.4877,1.7626,112,112);
- //============================PICKUPS AND OCJECTS=============================//
- CreatePickup(1254,1,2000.1968,1538.7894,13.5859); // GunShopPickup
- LVTurm = CreatePickup(1240,2,2094.3508,1282.6508,10.8203);// LVTURM2
- LVTurm1 =AddStaticPickup(1240,2,2094.3508,1282.6508,10.8203);// LVTURM
- print("LV Turm Pickuo erstellt");
- CreatePickup(1317, 23, 2168.3638,2114.7170,10.8203);//model id ?mom 1317
- //===========================3D TEXT LABELS===================================//
- Create3DTextLabel("/waffenschop",COLOR_GREEN,2000.1968,1538.7894,13.5859,40.0,0);//GunShopLabel
- return 1;
- }
- public OnGameModeExit()
- {
- return 1;
- }//kp mom
- public OnPlayerRequestClass(playerid, classid)
- {
- SetPlayerInterior(playerid, 10);
- SetPlayerPos(playerid, 1995.3157,1017.8690,994.8906);
- SetPlayerFacingAngle(playerid, 263.7333);
- SetPlayerCameraPos(playerid, 1998.8292,1017.6395,994.8906);
- SetPlayerCameraLookAt(playerid, 1991.7678,1018.0959,994.8906);
- //========================TRIAD CLASS SELECTION===============================//
- if(classid >= 0 && classid <= 1)
- {
- SetPlayerColor(playerid,0x00FFFFFF);
- gTeam[playerid] = TEAM_MAFIA;
- GameTextForPlayer(playerid,"~h~Triads",1000,5);
- }
- //========================COP CLASS SELECTION=================================//
- if(classid >= 2 && classid <= 4)
- {
- SetPlayerColor(playerid,0x0000FFFF);
- gTeam[playerid] = TEAM_COPS;
- GameTextForPlayer(playerid,"~h~COPS",1000,5);
- }
- //=====================ZIVI CLASS SELECTION===================================//
- if(classid >= 5 && classid <= 7)
- {
- SetPlayerColor(playerid,0xff00ff);
- gTeam[playerid] = TEAM_ZIVILISTEN;
- GameTextForPlayer(playerid,"~h~ZIVI",1000,5);
- }
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- SendClientMessage(playerid,COLOR_WHITE,"Herzlich Willkommen bei SoNL Deathmatch");
- new name[128];
- new save[128];
- GetPlayerName(playerid,name,sizeof(name));
- format(save,sizeof(save),"/Spieler/%s.ini");
- if(dini_Exists(save))
- {
- SendClientMessage(playerid, COLOR_WHITE, "Wilkommen zurück! Um dich einzu loggen tippe /login Password");
- GivePlayerMoney(playerid,dini_Int(save,"Money"));
- SetPlayerScore(playerid,dini_Int(save,"Score"));
- pInfo[playerid][Kills] = dini_Int(save,"Kills");
- pInfo[playerid][Deaths] = dini_Int(save,"Deaths");
- pInfo[playerid][Adminlevel] = dini_Int(save, "AdminLevel");
- }
- else
- {
- if(!dini_Exists(save))
- {
- SendClientMessage(playerid, COLOR_RED, "Zum Reggen /register Password!");
- }
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- new name[128];
- new save[128];
- GetPlayerName(playerid,name,sizeof(name));
- format(save,sizeof(save),"/Spieler/%s.ini",name);
- if(dini_Exists(save))
- {
- dini_IntSet(save,"Money",GetPlayerMoney(playerid));
- dini_IntSet(save,"Score",GetPlayerScore(playerid));
- dini_IntSet(save,"Kills",pInfo[playerid][Kills]);
- dini_IntSet(save,"Deaths",pInfo[playerid][Deaths]);
- dini_IntSet(save,"Adminlevel",pInfo[playerid][Adminlevel]);
- }
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- //================MAPICONS====================================================//
- SetPlayerMapIcon( playerid, 12, 2000.1968,1538.7894,13.5859, 6, 0); // GunShop Icon
- //===============INTERIOR OF THE PLAYER=======================================//
- SetPlayerInterior(playerid, 0);
- //==============IF NOT LOGGINED===============================================//
- new name[128], save[128];
- GetPlayerName(playerid,name,sizeof(name));
- format(save,sizeof(save),"/Spieler/%s.ini",name);
- if(loggedin[playerid] == false)
- {
- SendClientMessage(playerid, COLOR_RED, "ERROR: Du musst dich vor dem Spawmen einloggen! Sonnst werden deine Skills nicht gespeichert.");
- }
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- //========KILLS AND DEATHS====================================================//
- pInfo[killerid][Kills] ++;
- pInfo[playerid][Deaths] ++;
- //===============NEWS=========================================================//
- new playercash;
- //===============SET SCORE====================================================//
- SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
- //==============SET MONEY=====================================================//
- if(killerid == INVALID_PLAYER_ID)
- {
- SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
- ResetPlayerMoney(playerid);
- }
- else
- {
- SendDeathMessage(killerid,playerid,reason);
- playercash = GetPlayerMoney(playerid);
- if (playercash > 0)
- {
- GivePlayerMoney(killerid, playercash);
- ResetPlayerMoney(playerid);
- }
- else
- {
- }
- }
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- dcmd(kick,4,cmdtext);
- dcmd(setlevel,8,cmdtext);
- dcmd(ban,3,cmdtext);
- //====================NEWS====================================================//
- new spieler[MAX_PLAYER_NAME];
- //===================KILL COMMAND=============================================//
- if (strcmp("/kill", cmdtext, true, 10) == 0)
- {
- SetPlayerHealth(playerid, 0);
- return 1;
- }
- //==================OBJECTIVE COMMAND=========================================//
- if (strcmp("/hilfe", cmdtext, true, 10) == 0)
- {
- SendClientMessage(playerid,COLOR_WHITE,"In LVTDM:Mafia vs. Cops gibt es kein Ende b.h. DM zum abwinken.");
- SendClientMessage(playerid,COLOR_WHITE,"Wenn du einen User tötest bekommst du sein Geld was er auf der Hand hatte.");
- SendClientMessage(playerid,COLOR_WHITE,"Wenn du getötet wirdst wir dir dein ganzes Geld auf der Hand abgenommen. Der Mörder bekommt es.");
- SendClientMessage(playerid,COLOR_WHITE,"Du kannst neues Geld aber verdienen wenn du in den Casinos spielst.");
- SendClientMessage(playerid,COLOR_WHITE,"Das Geld ist für neue Waffen");
- SendClientMessage(playerid,COLOR_WHITE,"/kill,/help,/waffenshop,/bank");
- return 1;
- }
- //================REGISTER COMMAND============================================//
- if(strcmp(strget(cmdtext,0), "/register", true) == 0)
- {
- new save[40];
- GetPlayerName(playerid,spieler,sizeof(spieler));
- format(save, sizeof(save),"Spieler/%s.ini",spieler); //Speicherort
- if(!dini_Exists(save))
- {
- dini_Create(save);
- dini_IntSet(save,"passwort",udb_hash(strget(cmdtext,1)));
- SendClientMessage(playerid, COLOR_GREEN, "Der Account wurde regestriert!");
- SendClientMessage(playerid, COLOR_GREEN, "Du kannst dich nun einloggen");
- GivePlayerMoney(playerid, 5000);
- }
- else
- {
- if(dini_Exists(save))
- {
- SendClientMessage(playerid, COLOR_RED, "Error:Der Name ist bereits vergeben!~n~Wähle einen neuen!");
- }
- }
- return 1;
- }
- //=========LOGIN COMMAND======================================================//
- if(strcmp(strget(cmdtext,0), "/login", true) == 0)
- {
- new save[40], s2[256];
- GetPlayerName(playerid,spieler,sizeof(spieler));
- format(save,sizeof(save),"Spieler/%s.ini",spieler);
- if(dini_Exists(save))
- {
- s2=dini_Get(save,"passwort");
- if(strval(s2)==udb_hash(strget(cmdtext,1)))
- {
- loggedin[playerid] = true;
- SendClientMessage(playerid, COLOR_GREEN, "Du bist nun eingeloggt!");
- }
- else
- {
- SendClientMessage(playerid, COLOR_RED,"Error! Falsches Password!!");
- }
- }
- return 1;
- }
- //=========GUNSHOP COMMAND====================================================//
- if (strcmp("/waffenshop", cmdtext, true) == 0)
- {
- if(IsPlayerInRangeOfPoint(playerid,5.0,2000.1968,1538.7894,13.5859))
- {
- ShowPlayerDialog(playerid,Gunshop,DIALOG_STYLE_LIST,"Waffen","Desert Eagle - $5000\nMP5 - $6500\nShotgun - $8000\nAK47 - $10000\nArmour - $1000","kaufen","Zurück");
- return 1;
- }
- else
- {
- SendClientMessage(playerid, COLOR_RED, "DU bist nicht beim Waffenshop Pickup!!");
- }
- }
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == Gunshop)
- {
- if(response)
- {
- if(listitem == 0)
- {
- if(price[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,COLOR_RED,"Du Hast nicht genug Geld!");
- GivePlayerWeapon(playerid,24,50);
- GivePlayerMoney(playerid, -5000);
- }
- if(listitem == 1)
- {
- if(price[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,COLOR_RED,"Du Hast nicht genug Geld!");
- GivePlayerWeapon(playerid,29,200);
- GivePlayerMoney(playerid, -6500);
- }
- if(listitem == 2)
- {
- if(price[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,COLOR_RED,"Du Hast nicht genug Geld!");
- GivePlayerWeapon(playerid,31,300);
- GivePlayerMoney(playerid, -8000);
- }
- if(listitem == 3)
- {
- if(price[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,COLOR_RED,"Du Hast nicht genug Geld!");
- GivePlayerWeapon(playerid,25,25);
- GivePlayerMoney(playerid, -10000);
- }
- if(listitem == 4)
- {
- if(price[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,COLOR_RED,"Du Hast nicht genug Geld!");
- SetPlayerArmour(playerid,100.0);
- GivePlayerMoney(playerid, -1000);
- }
- }
- }
- return 1;
- }
- ////////////////////////////////////////////////////////////////////////////////
- //============STOCKS AND MORE PUBLICS=========================================//
- stock strget(strx[], pos, search = ' ') {
- new arg, ret[128], idxx;
- for (new i = 0; i < strlen(strx); i++) {
- if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
- arg++;
- if (arg == pos + 1){
- ret[i-idxx] = EOS;
- return ret;
- } else if (arg == pos)
- idxx= i+1;
- }
- else if (arg == pos)
- ret[i - idxx] = strx[i];
- }
- return ret;
- }
- //public OnPlayerStateChange(playerid, newstate, oldstate)
- //{
- //if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
- //{
- // PlayAudioStreamForPlayer(playerid, "http://www.wdr.de/wdrlive/media/einslive.m3u");
- //}
- //else if(oldstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_PASSENGER)
- //{
- //StopAudioStreamForPlayer(playerid);
- //}
- //return 0;
- //}
- //public OnPlayerUpdate(playerid)
- //{
- // if(!IsPlayerConnected(playerid)) return 0;
- // if(IsPlayerNPC(playerid)) return 1;
- // if(GetPlayerInterior(playerid) == 17) {
- // if(IsPlayerInRangeOfPoint(playerid,70.0,489.5824,-14.7563,1000.6797)) {
- // if(!GetPVarInt(playerid,"alhambra")) {
- // SetPVarInt(playerid,"alhambra",1);
- // PlayAudioStreamForPlayer(playerid, "http://www.wdr.de/wdrlive/media/einslive.m3u",480.9575,-3.5402,1002.0781,40.0,true);
- // }
- // }
- // }
- // else {
- // if(GetPVarInt(playerid,"alhambra")) {
- // DeletePVar(playerid,"alhambra");
- // StopAudioStreamForPlayer(playerid);
- // }
- // }
- //return 1;
- //}
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- if(pickupid == LVTurm)
- {
- GivePlayerHealth(playerid, 50);
- }
- if(pickupid == LVTurm1)
- {
- GivePlayerHealth(playerid, 50);
- }
- return 1;
- }
- stock GivePlayerHealth(playerid,Float:Health){
- new Float:health; GetPlayerHealth(playerid,health);
- SetPlayerHealth(playerid,health+Health);
- return 1;}
- dcmd_kick(playerid,params[]){
- new pID, str[64];
- if(sscanf(params, "uz",pID,str))return SendClientMessage(playerid,0xFF0000FF,"USAGE: /kick ID Grund");
- if (pID == INVALID_PLAYER_ID)return SendClientMessage(playerid,0xFF0000FF,"Kein Spieler mit angegebener ID Online!");
- if (pID == playerid)return SendClientMessage(playerid,0xFF0000FF,"Du kannst dich nicht selber kicken!");
- if(pInfo[playerid][Adminlevel] >= 1335){
- new ThePlayer[MAX_PLAYER_NAME], str2[128];
- GetPlayerName(pID,ThePlayer,sizeof(ThePlayer));
- format(str2,sizeof(str2),"%s wurde vom Server gekickt!(Grund: %s)",ThePlayer,str[0] ? str : "<Kein Grund>");
- SendClientMessageToAll(0xFF0000FF,str);
- Kick(pID);}
- else{
- SendClientMessage(playerid,0xFF0000FF,"Du bist kein Administrator!");
- return 1;}
- return 1;}
- dcmd_setlevel(playerid,params[]){
- new pID, Level;
- if(sscanf(params, "ud",pID,Level))return SendClientMessage(playerid,0xFF0000FF,"Benutze: /setlevel [ID][Level]!");
- if (pID == INVALID_PLAYER_ID)return SendClientMessage(playerid,0xFF0000FF,"Spielerid ist nicht vorhanden!");
- if(pInfo[playerid][Adminlevel] >= 2000){
- new adminstring[128],levelsetter[MAX_PLAYER_NAME], playername[MAX_PLAYER_NAME];
- GetPlayerName(pID,playername,sizeof playername);
- format(adminstring,sizeof(adminstring),"Spieler/%s.ini",playername);
- GetPlayerName(playerid,levelsetter,sizeof(levelsetter));
- dini_IntSet(adminstring,"Adminlevel",Level);
- format(adminstring,sizeof(adminstring),"%s hat dein Level auf %d gesetzt!",levelsetter, Level);
- SendClientMessage(pID,0x33FF33FF, adminstring);}
- else{
- SendClientMessage(playerid,0xFF0000FF,"Du bist kein Administrator!");
- return 1;}
- return 1;}
- // Ban Befehl
- dcmd_ban(playerid,params[]){
- new pID, string[70];
- if(sscanf(params,"uz",pID,string)) return SendClientMessage(playerid,0xFF0000FF,"Benutze: /ban [playerid] [Grund]");
- if(pID == INVALID_PLAYER_ID) return SendClientMessage(playerid,0xFF0000FF,"Dies ist kein Aktiver Spieler!");
- if(pID == playerid) return SendClientMessage(playerid,0xFF0000FF,"Du kannst dich nicht selber Bannen!");
- if(pInfo[playerid][Adminlevel] >= 1336){
- new Spieler[MAX_PLAYER_NAME],Spieler1[MAX_PLAYER_NAME], str[128];
- GetPlayerName(pID,Spieler,sizeof(Spieler));
- GetPlayerName(playerid,Spieler1,sizeof(Spieler1));
- format(str,sizeof(str),"AdmCmd: %d wurde von %s vom Server verbannt! Grund: %s",Spieler,Spieler1,str);
- SendClientMessageToAll(0xFF0000FF,str);
- Ban(pID);}
- return 1;}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement