Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Script erstellt von .Kid
- Angefangen: 28.04.2015, 16:51 Uhr
- Released: 30.04.2015, 17:17 Uhr
- Alle Credits gehen an .Kid!
- Sa-mp.de: http://forum.sa-mp.de/index.php?page=User&userID=36843
- YouTube: https://www.youtube.com/channel/UC4eiLV3QEN_vYfvZwgEcwiw
- -
- Ich möchte ausserdem noch der Breadfish community danken, da ich bei jeder Frage hilfe bekommen habe! :) Meistens war eine verständliche erklärung auch noch dabei! :)
- */
- #include <a_samp> //Standart Include von Sa-Mp.com
- #include <dini> //Zum Speichern von z.b. Login/Registersystem
- #include <MD5> //Zum verschlüsseln vom Passwort.
- #include <sscanf>
- //Belohunungen
- #define win 100 //Wie viel man für einen Kill bekommt
- #define loss -50 //Wie viel man für einen Tod verliert.
- //Dialoge
- #define REGISTER 1
- #define LOGIN 2
- #define HELP 3
- #define SKILLS 4
- #define ZIEL 5
- #define PN 6
- #define UPDATES 7
- //Farben
- #define KID_COL_BLAU 0x0000FFFF // #define um etwas zu definieren, KID_COL_BLAU <- Der definierte name für "0x0000FFFF (farbe blau), d.h. ich kann jetzt statt den Farbencode "KID_COL_BLAU" schreiben!
- #define KID_COL_ROT 0xFF0000FF // Beispiel: SendClientMessage(playerid,KID_COL_BLAU,"Beispiel");
- #define KID_COL_LILA 0x8000FFFF // Mit Code: SendClientMessage(playerid,0x0000FFFF,"Beispiel");
- #define KID_COL_GRUEN 0x00FF00FF
- #define KID_COL_ROSA 0xFF80C0FF
- #define KID_COL_BRAUN 0x804000FF
- #define KID_COL_GOLD 0xE6C60FFF
- #define KID_COL_GRAU 0xCAD0CFFF
- //Textdraws
- new Text:Textdraw1;
- main()
- {
- print("\n----------------------------------");
- print(" Air Wars 0.1 by .Kid erfolgreich gestartet");
- print(" Viel Spaß!");
- print("----------------------------------\n");
- }
- public OnGameModeInit()
- {
- //Flugzeuge
- AddStaticVehicle(520,1994.5735,-2312.1282,14.2701,134.3981,0,0); // Hydra 1
- AddStaticVehicle(520,1997.1077,-2324.9016,14.2701,129.9122,0,0); // Hydra 2
- AddStaticVehicle(520,1996.3342,-2367.8149,14.2701,120.0281,0,0); // Hydra 3
- AddStaticVehicle(520,1997.7827,-2380.1140,14.2701,116.0656,0,0); // Hydra 4
- AddStaticVehicle(520,1996.3485,-2241.4131,14.2701,109.1792,0,0); // Hydra 5
- AddStaticVehicle(520,1997.2007,-2254.3931,14.2701,110.9099,0,0); // Hydra 6
- AddStaticVehicle(520,1908.1270,-2241.8862,14.2701,214.4017,0,0); // Hydra 7
- AddStaticVehicle(520,1919.8911,-2239.0974,14.2701,213.4983,0,0); // Hydra 8
- AddStaticVehicle(520,1933.2643,-2238.5410,14.2701,212.9186,0,0); // Hydra 97
- AddStaticVehicle(520,1997.5245,-2267.2620,14.2701,107.4385,0,0); // Hydra 10
- AddStaticVehicle(520,1992.4548,-2300.7881,14.2701,135.3233,0,0); // Hydra 11
- AddStaticVehicle(520,1997.8073,-2391.7734,14.2701,112.7082,0,0); // Hydra 12
- AddStaticVehicle(425,1880.5433,-2301.9136,14.1161,61.3689,43,0); // Hunter 1
- AddStaticVehicle(425,1886.4210,-2282.9419,14.1046,62.8682,43,0); // Hunter 2
- AddStaticVehicle(592,2051.9041,-2593.5408,14.7430,90.6917,1,1); // Riese
- //Gemappt
- CreateObject(17015, 1666.3, -1654.3, 109.1, 0, 0, 0);
- CreateObject(17015, 1574.6, -1711.4, 61.3, 0, 0, 0);
- CreateObject(17015, 1575.1, -1694, 61.3, 0, 0, 0);
- CreateObject(17015, 1574.8, -1662.8, 61.3, 0, 0, 0);
- CreateObject(17015, 1574.4, -1639.6, 61.3, 0, 0, 0);
- CreateObject(17016, 1479.2, -1724.6, 91.8, 0, 270, 276);
- CreateObject(17050, 1543.2, -1544.3, 66.2, 0, 0, 0);
- CreateObject(17050, 1526.4, -1527, 66.2, 0, 0, 0);
- CreateObject(17050, 1508.8, -1544.6, 66.2, 0, 0, 0);
- CreateObject(17050, 1488.4, -1519.3, 66.2, 0, 0, 0);
- CreateObject(17050, 1477.9, -1551.2, 66.2, 0, 0, 2);
- CreateObject(17050, 1496.6, -1574, 66.2, 0, 0, 2);
- CreateObject(17050, 1459.7, -1568.2, 66.2, 0, 0, 2);
- CreateObject(17050, 1458.8, -1525.8, 66.2, 0, 0, 360);
- CreateObject(3334, 1483.9, -1729.7, 16.8, 0, 0, 0);
- CreateObject(3334, 1483.5, -1734.7, 16.8, 0, 0, 0);
- CreateObject(16111, 1778.9, -1757.7, 62.6, 0, 0, 0);
- CreateObject(16111, 1780.8, -1782.6, 62.6, 0, 0, 194);
- CreateObject(10763, 1761.9, -1782.4, 79, 0, 0, 318);
- CreateObject(3438, 1410.2, -1632.5, 79, 0, 0, 0);
- CreateObject(3438, 1432.1, -1651.4, 79, 0, 0, 0);
- CreateObject(11008, 1345.4, -1550.2, 91.4, 0, 0, 76);
- CreateObject(13725, 1340.6, -1549, 118.2, 0, 0, 0);
- CreateObject(17016, 1475.7, -1724.3, 69.8, 0, 270, 275.999);
- CreateObject(17015, 1665.9, -1620.2, 109.1, 0, 0, 0);
- CreateObject(17015, 1637.5, -1625.3, 109.1, 0, 0, 0);
- CreateObject(17015, 1636.8, -1650.9, 109.1, 0, 0, 0);
- CreateObject(17015, 1578.1, -1613.1, 61.3, 0, 0, 0);
- CreateObject(17015, 1566.8, -1585.6, 61.3, 0, 0, 0);
- CreateObject(17015, 1587.7, -1566.3, 61.3, 0, 0, 0);
- CreateObject(17015, 1591.7, -1721.7, 61.3, 0, 0, 0);
- CreateObject(17015, 1609.7, -1732.3, 61.3, 0, 0, 0);
- CreateObject(17015, 1610.7, -1566, 61.3, 0, 0, 0);
- CreateObject(5720, 1399.2, -1673.5, 50.9, 0, 0, 270);
- CreateObject(5720, 1397.9, -1704.2, 50.5, 0, 0, 270);
- CreateObject(6866, 1594.2, -1807.5, 37.9, 0, 0, 0);
- CreateObject(6962, 1421.5, -2621.1001, 19.3, 0, 0, 0);
- CreateObject(17023, 1493.7, -2593.2, 64.6, 0, 0, 0);
- CreateObject(17023, 1492.6, -2552.2, 64.6, 0, 0, 0);
- CreateObject(17023, 1493, -2511.8999, 64.6, 0, 0, 0);
- CreateObject(17023, 1505.1, -2474.7, 64.6, 0, 0, 0);
- CreateObject(17023, 1514.3, -2622.1001, 64.6, 0, 0, 0);
- CreateObject(17051, 1948.2, -2222.5, 12.5, 0, 0, 0);
- CreateObject(17051, 1971.9, -2221.5, 12.5, 0, 0, 0);
- CreateObject(17051, 1996.3, -2221.6001, 12.5, 0, 0, 0);
- //Textdraws
- Textdraw1 = TextDrawCreate(20.5 ,302 , "AirWars v0.1 by .Kid");
- TextDrawFont(Textdraw1 , 2);
- TextDrawLetterSize(Textdraw1 , 0.3, 4.2);
- TextDrawColor(Textdraw1 , 0xffffffFF);
- TextDrawSetOutline(Textdraw1 , false);
- TextDrawSetProportional(Textdraw1 , true);
- TextDrawSetShadow(Textdraw1 , 1);
- SetGameModeText("Air Wars 0.1");
- AddPlayerClass(285,1967.1250,-2233.5352,13.5469,4.0131,0,0,0,0,0,0); // Spawn
- return 1;
- }
- public OnGameModeExit()
- {
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
- SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
- SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
- SetSpawnInfo( playerid, 0, 285,1967.1250,-2233.5352,13.5469,4.0131,0,0,0,0,0,0);
- SpawnPlayer(playerid); //Der Spieler muss nicht auf "Spawn" klicken! Das passiert nun Automatisch!
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new Spieler[64];
- new Sname[MAX_PLAYER_NAME];
- GetPlayerName(playerid,Sname,sizeof(Sname));
- format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
- if(dini_Exists(Spieler))
- {
- SetPlayerPos(playerid, 1985.2334,-2281.9707,13.5469);
- SetPlayerCameraPos(playerid, 1985.2334,-2281.9707,13.5469);
- SetPlayerCameraLookAt(playerid, 1985.2334,-2281.9707,13.5469);
- SendClientMessage(playerid,KID_COL_BLAU,"Du bist bereits registriert!");
- SendClientMessage(playerid,KID_COL_BLAU,"Gescripted von .Kid!");
- ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_PASSWORD,"Login","Dein Account wurde gefunden! Logge dich ein!","Login","Abbrechen");
- }
- else
- {
- SetPlayerPos(playerid, 1985.2334,-2281.9707,13.5469);
- SetPlayerCameraPos(playerid, 1985.2334,-2281.9707,13.5469);
- SetPlayerCameraLookAt(playerid, 1985.2334,-2281.9707,13.5469);
- SendClientMessage(playerid,KID_COL_BLAU,"Herzlich Willkommen auf dem AirWars Server!");
- SendClientMessage(playerid,KID_COL_BLAU,"Gescripted von .Kid!");
- ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Air Wars Registration","Bitte wähle ein Passwort!","Registrieren","Abbrechen");
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- GetPlayerMoney(playerid);
- }
- public OnPlayerSpawn(playerid)
- {
- TextDrawShowForPlayer(playerid, Textdraw1);
- SendClientMessage(playerid,KID_COL_GRUEN,"Für Hilfe /help!");
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason) //Killbelohnung: 100$ + 1 Score
- {
- if(killerid == INVALID_PLAYER_ID) return 1;
- SendClientMessage(killerid, KID_COL_GRUEN, "Du hast 100$ Killbelohnung erhalten!");
- GivePlayerMoney(playerid,loss); //Das Opfer verliert für einen Tod 50$.
- GivePlayerMoney(killerid,win); //Der Killer bekommt für einen Kill 100$.
- SetPlayerScore(killerid, GetPlayerScore(killerid) + 1); //"+1" steht dafür, wie viele Score man für einen kill bekommt. +1 stünde für einen dazu.
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- if(killerid == INVALID_PLAYER_ID) return 1;
- SendClientMessage(killerid, KID_COL_GRUEN, "Du hast 50$ Fahrzeug-Zerstörbonus erhalten!");
- GivePlayerMoney(killerid,50); //Der "Zerstörer" bekommt für einen Kill 50$.
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new cmd[32], params[128];
- sscanf(cmdtext, "s[32]s[128]", cmd, params);
- if (strcmp("/help", cmdtext, true, 10) == 0) //der /hilfe befehl inform eines Dialoges.
- {
- ShowPlayerDialog(playerid,HELP,DIALOG_STYLE_LIST,"Hilfe","/skills - Für eine Liste an skills\n/ziel - Hier wird dir der Server ein wenig erklärt\n/pn - Mit dem Befehl kannst du anderen eine nachricht schreiben\n/Updates - Die neuesten Updates!","Okay","Okay");
- return 1;
- }
- if (strcmp("/skills", cmdtext, true, 10) == 0)
- {
- ShowPlayerDialog(playerid,SKILLS,DIALOG_STYLE_LIST,"Skills","/rep - Für 1000$ erhält dein Flugzeug 300 HP.\n/spawn - Für 1500$ wirst du einmal respawnt! \n/schleudersitz - Für 2000$ wirst du aus deinem Flugzeug geschissen + Fallschirm.\n","Okay","Okay");
- return 1;
- }
- if (strcmp("/ziel", cmdtext, true, 10) == 0)
- {
- ShowPlayerDialog(playerid,ZIEL,DIALOG_STYLE_MSGBOX,"Spielerziele","Auf Air Wars geht es darum andere Gegner per Kampfflugzeuge zu erschiessen!\nDafür haben wir 2 verschiedene Vehicles! Hydra und Hunter\nEs geht darum, die meisten Score und das meiste Geld zu haben.","Okay","Okay");
- return 1;
- }
- if (strcmp("/pn", cmdtext, true, 10) == 0)
- {
- ShowPlayerDialog(playerid,PN,DIALOG_STYLE_MSGBOX,"Private Nachricht","Hier wird zurzeit gearbeitet!","Okay","Okay");
- return 1;
- }
- if (strcmp("/updates", cmdtext, true, 10) == 0)
- {
- ShowPlayerDialog(playerid,UPDATES,DIALOG_STYLE_MSGBOX,"Updates: AirWar v0.1","v0.1: Begin.. (Login/Register, Befehle, Defines etc.)!","Okay","Okay");
- return 1;
- }
- if (strcmp("/credits", cmdtext, true, 10) == 0)
- {
- SendClientMessage(playerid,KID_COL_ROT,"Script by .Kid");
- print("Jemand hat den /credits befehl benutzt! c:");
- print("Air Wars by .Kid");
- return 1;
- }
- if (strcmp("/rep", cmdtext, true, 10) == 0)
- {
- if(GetPlayerMoney(playerid) >= 1000) //Falls der spieler 1000 oder mehr $ hat.
- {
- new Float:Health;
- new vehicleid = GetPlayerVehicleID(playerid); //Die Vehicleid herausfinden, in der der spieler sitzt.
- GetVehicleHealth(vehicleid, Health); //Das Leben des Vehicles herausfinden (Standardmäßig 1000).
- SetVehicleHealth(vehicleid, Health + 300); //300 Leben vom Vehicle reparieren. (bsp: davor: 300/1000 - dannach: 600/1000)
- SendClientMessage(playerid, KID_COL_ROT, "Das Fahrzeug wurde um 300HP repariert!");
- SendClientMessage(playerid, KID_COL_ROT, "Für die Reperatur musst du 1000$ zahlen!");
- GivePlayerMoney(playerid, -1000); //Dem Spieler 1000$ abziehen.
- }
- else
- {
- SendClientMessage(playerid, KID_COL_ROT,"Du hast keine 1000$!"); //Falls der spieler keine 1000$ hat.
- }
- return 1;
- }
- if (strcmp("/spawn", cmdtext, true, 10) == 0)
- {
- if(GetPlayerMoney(playerid) >= 1500)
- {
- SendClientMessage(playerid, KID_COL_ROT, "Du wirst nun gerespawnt!");
- SendClientMessage(playerid, KID_COL_ROT, "Für den Respawn musst du 1500$ zahlen!");
- GivePlayerMoney(playerid, 1500);
- SpawnPlayer(playerid);
- }
- else
- {
- SendClientMessage(playerid, KID_COL_ROT,"Du hast keine 1500$!");
- }
- return 1;
- }
- if (strcmp("/schleudersitz", cmdtext, true, 10) == 0)
- {
- if(GetPlayerMoney(playerid) >= 2000)
- {
- new Float:x,Float:y,Float:z;
- if(sscanf(params, "u",playerid))
- GetPlayerPos(playerid, x,y,z); //Die Position des Spielers wird geprüft.
- SetPlayerPos(playerid, x, y-3, z+10); //Der Spieler wird ein paar Meter hochgeschläudert.
- GivePlayerMoney(playerid, -2000);
- GivePlayerWeapon(playerid,46,1); // Der Spieler bekommt einen Fallschirm
- }
- else
- {
- SendClientMessage(playerid, KID_COL_ROT,"Du hast keine 2000$!");
- }
- return 1;
- }
- return 0;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- return 1;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnRconCommand(cmd[])
- {
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- return 1;
- }
- public OnObjectMoved(objectid)
- {
- return 1;
- }
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return 1;
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- return 1;
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- return 1;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- return 1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- return 1;
- }
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- return 1;
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- return 1;
- }
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- return 1;
- }
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == LOGIN)
- {
- if(response == 0)
- {
- SendClientMessage(playerid,KID_COL_ROT,"Hasta La Vista, Cowboy!"); //Falls der Spieler beim Login auf "Abbrechen" drückt.
- Kick(playerid);
- }
- if(response == 1)
- {
- Login(playerid,MD5_Hash(inputtext)); //Per MD5_Hash wird das Passwort verschlüsselt!
- return 1;
- }
- }
- if(dialogid == REGISTER)
- {
- if(response == 0)
- {
- SendClientMessage(playerid,KID_COL_ROT,"Hasta La Vista, Cowboy");
- Kick(playerid);
- return 1;
- }
- if(response == 1)
- {
- if(!strlen(inputtext))
- {
- SendClientMessage(playerid,KID_COL_ROT,"Bitte gebe ein Passwort ein!");
- ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Air Wars Registration","Bitte wähle ein Passwort!","Registrieren","Abbrechen");
- }
- Register(playerid,MD5_Hash(inputtext));
- return 1;
- }
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- stock Register(playerid,key[])
- {
- new Spieler[64];
- new Sname[MAX_PLAYER_NAME];
- GetPlayerName(playerid,Sname,sizeof(Sname));
- format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname); //in Scriptfiles/Spieler/Spielername.txt wird der Account gespeichert.
- dini_Create(Spieler); //Spieler wird erstellt.
- dini_Set(Spieler,"Passwort",key); //In die .txt kommt "passwort"
- dini_IntSet(Spieler,"Score",0); //Der SPielerscore
- dini_IntSet(Spieler,"Geld",0); //Das Geld.
- SendClientMessage(playerid,KID_COL_LILA,"Du hast dich erfolgreich registriert!");
- return 1;
- }
- stock Login(playerid,key[])
- {
- if(IsPlayerConnected(playerid))
- {
- new Spieler[64],Name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,Name,sizeof(Name));
- format(Spieler,sizeof(Spieler),"/Accounts/%s.ini",Name);
- if(!strcmp(key,dini_Get(Spieler,"Passwort"),false))
- {
- SpielerLaden(playerid);
- return 1;
- }
- else
- SendClientMessage(playerid,KID_COL_ROT,"Das passwort war nicht korrekt!");
- Kick(playerid);
- }
- return 1;
- }
- stock SpielerSpeichern(playerid)
- {
- new Spieler[64],Name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,Name,sizeof(Name));
- format(Spieler,sizeof(Spieler),"/Accounts/%s.ini",Name);
- if(dini_Exists(Spieler))
- {
- dini_IntSet(Spieler,"Score",GetPlayerScore(playerid));
- dini_IntSet(Spieler,"Geld",GetPlayerMoney(playerid));
- }
- return 1;
- }
- stock SpielerLaden(playerid)
- {
- new Spieler[64],Name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,Name,sizeof(Name));
- format(Spieler,sizeof(Spieler),"/Accounts/%s.ini",Name);
- if(dini_Exists(Spieler))
- {
- SetPlayerScore(playerid,dini_Int(Spieler,"Score"));
- SetPlayerMoney_Ex(playerid,dini_Int(Spieler,"Geld"));
- }
- return 1;
- }
- stock SetPlayerMoney_Ex(playerid,money_Ex)
- {
- ResetPlayerMoney(playerid);
- GivePlayerMoney(playerid,money_Ex);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement