Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <ocmd>
- #include <dini>
- #include <MD5>
- // DIALOGE
- #define DIALOG_REGISTER 1
- #define DIALOG_LOGIN 2
- #define DIALOG_RANGLIST1 3
- #define DIALOG_RANGLIST2 4
- #define DIALOG_RANGLIST3 5
- // COLORS
- #define ROT 0xF50000FF
- #define ORANGE 0xFF6400FF
- #define GELB 0xFFF000FF
- #define GRÜN 0x00FF28FF
- #define WBLAU 0x0073FFFF
- #define HBLAU 0x00F5FFFF
- #define BLAU 0x0005FFFF
- new wetterid;
- new WetterRandom[][] = {
- {32}, {42}, {9}
- };
- forward WetterTimer();
- main()
- {
- print("\n GAMEMODE LOADED:");
- print("Open world pvp by MichiEXE");
- print("\n");
- }
- public OnGameModeInit()
- {
- ShowPlayerMarkers(0);
- WetterTimer();
- SetTimer("WetterTimer", 420000, 1);
- SetGameModeText("PVP 4.0");
- AddPlayerClass(179, 1958.3783, 1343.1572, 15.3746, 269.1425, 23, 99999999, 0, 0, 18, 66);
- return 1;
- }
- public OnGameModeExit()
- {
- return 1;
- }
- public WetterTimer()
- {
- new rand = random(sizeof(WetterRandom));
- new stringw[16];
- wetterid = WetterRandom[rand][0];
- format(stringw, sizeof(stringw), "weather %d", wetterid);
- SendRconCommand(stringw);
- printf("Wetter ID: %d", wetterid);
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- SetPlayerSkillLevel(playerid,1,999);
- SetPlayerSkillLevel(playerid,2,999);
- SetPlayerSkillLevel(playerid,3,999);
- SetPlayerSkillLevel(playerid,4,999);
- SetPlayerSkillLevel(playerid,5,999);
- SetPlayerSkillLevel(playerid,6,999);
- SetPlayerSkillLevel(playerid,7,999);
- SetPlayerSkillLevel(playerid,8,999);
- SetPlayerSkillLevel(playerid,9,999);
- SetPlayerSkillLevel(playerid,10,999);
- if(IsPlayerNPC(playerid))return 1;
- new Spielerdatei[64];
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
- if(dini_Exists(Spielerdatei))
- {
- new wstring[128];
- format(wstring,sizeof(wstring),"~g~Herzlich Willkommen! %s",SpielerName(playerid));
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
- }
- else
- {
- new wstring[128];
- format(wstring,sizeof(wstring),"~g~Herzlich Willkommen! %s",SpielerName(playerid));
- ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- if(GetPVarInt(playerid,"loggedin")==1)
- {
- SpielerSpeichern(playerid);
- }
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- switch(random(8))
- {
- case 0:
- {
- SetPlayerPos(playerid,854.7510,-1528.8744,13.3134);
- SetPlayerSkin(playerid,293);
- }
- case 1:
- {
- SetPlayerPos(playerid,2348.9409,-2013.7266,13.5435);
- }
- case 2:
- {
- SetPlayerPos(playerid,2355.8218,-652.2814,128.0547);
- SetPlayerSkin(playerid,292);
- }
- case 3:
- {
- SetPlayerPos(playerid,2135.2119,1139.2625,13.5114);
- }
- case 4:
- {
- SetPlayerPos(playerid,-1502.6747,1964.6270,48.4219);
- SetPlayerSkin(playerid,250);
- }
- case 5:
- {
- SetPlayerPos(playerid,-2285.5442,3.9275,35.3203);
- }
- case 6:
- {
- SetPlayerPos(playerid,-1364.6809,-483.6778,14.1719);
- SetPlayerSkin(playerid,272);
- }
- case 7:
- {
- SetPlayerPos(playerid,-1500.1915,-2414.3032,27.6496);
- }
- case 8:
- {
- SetPlayerPos(playerid,-32.7926,-2489.1541,36.6484);
- }
- }
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- ocmd:setadmin(playerid,params[])
- {
- if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du bist kein Administrator.");
- new pID, rank;
- if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,ROT,"/setadmin [spieler] [level]");
- if(rank<1||rank>2)return SendClientMessage(playerid,ROT,"Bitte einen gültigen Rang angeben.");
- SetPVarInt(pID,"Adminlevel",rank);
- SpielerSpeichern(pID);
- return 1;
- }
- ocmd:ranglist(playerid,params[])
- {
- ShowPlayerDialog(playerid,DIALOG_RANGLIST1,DIALOG_STYLE_MSGBOX,"Ränge - Gast","Hier auf dem Server gibts es eine Gruppe für jeden.(Anfangs)\nDiese nennt sich 'Gast',und hat nur einige wenige Befehle.\nDiese könnt ihr mit /HELP sehen.\nDie Gruppe 'Gast' kann als 'Normale Spieler' angesehen werden.","Danke"," ");
- return 1;
- }
- ocmd:ban(playerid,params[])
- {
- if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du bist kein Administrator.");
- new pID, reason[128],string[128];
- if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,BLAU,"/ban [id] [grund]");
- format(string,sizeof(string),"AdmCmd: %s wurde von %s gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
- SendClientMessageToAll(ROT,string);
- SetPVarInt(pID,"Baned",1);
- Kick(pID);
- return 1;
- }
- ocmd:kick(playerid,params[])
- {
- new plid;
- new grund[64];
- new string[128];
- if(IsPlayerConnected(plid))
- {
- if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist kein Supporter.");
- if(sscanf(params,"us",plid,grund))return SendClientMessage(playerid,BLAU,"Tippe: /kick [Id/Name][Grund]");
- if(GetPVarInt(plid,"Adminlevel") > GetPVarInt(playerid,"Adminlevel")) return SendClientMessage(playerid,ROT,"Du hast noch nicht genügend Rechte.");
- format(string,sizeof(string),"%s wurde von %s gekickt Grund: %s",SpielerName(plid),SpielerName(playerid),grund);
- SendClientMessageToAll(ROT,string);
- Kick(plid);
- }
- return 1;
- }
- ocmd:nitro(playerid,params[])
- {
- if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist kein Supporter.");
- {
- new veh;
- veh = GetPlayerVehicleID(playerid);
- if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid,ROT,"Du bist in keinem Fahrzeug.");
- {
- AddVehicleComponent(veh,1010);
- SendClientMessage(playerid,WBLAU,"Füge Nitro zum Auto hinzu.");
- }
- }
- return 1;
- }
- ocmd:getip(playerid,params[])
- {
- new plidip[128];
- new plid;
- new string[64];
- if(IsPlayerConnected(plid))
- {
- if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du bist kein Administrator.");
- if(sscanf(params,"d",plid))return SendClientMessage(playerid,BLAU,"Tippe: /getip [Id/Name]");
- if(GetPVarInt(plid,"Adminlevel") > GetPVarInt(playerid,"Adminlevel")) return SendClientMessage(playerid,ROT,"Du hast nicht genügend Rechte.");
- GetPlayerIp(plid,plidip,sizeof(plidip));
- format(string,sizeof(string),"IP: %s",plidip);
- SendClientMessage(playerid,BLAU,string);
- }
- return 1;
- }
- ocmd:freeze(playerid,params[])
- {
- new plid;
- new string[128];
- if(IsPlayerConnected(plid))
- {
- if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"**Du bist kein Supporter.");
- if(sscanf(params,"u",plid))return SendClientMessage(playerid,BLAU,"Tippe: /freeze [Id/Name]");
- if(GetPVarInt(plid,"Adminlevel") > GetPVarInt(playerid,"Adminlevel")) return SendClientMessage(playerid,ROT,"Das darfst du nicht tuen");
- TogglePlayerControllable(plid, 0);
- format(string,sizeof(string), "Admin %s hat dich gefreezet.",SpielerName(playerid));
- SendClientMessage(plid,ROT,string);
- }
- return 1;
- }
- ocmd:unfreeze(playerid,params[])
- {
- new plid;
- new string[128];
- if(IsPlayerConnected(plid))
- {
- if(!isPlayerAnAdmin(playerid, 1))return SendClientMessage(playerid,ROT,"Du bist kein Supporter.");
- if(sscanf(params,"u",plid))return SendClientMessage(playerid,BLAU,"Tippe: /unfreeze [Id/Name]");
- TogglePlayerControllable(plid, 1);
- format(string,sizeof(string), "Admin %s hat dich entfreezet.",SpielerName(playerid));
- SendClientMessage(plid,WBLAU,string);
- }
- return 1;
- }
- ocmd:warn(playerid,params[])
- {
- new plid;
- new grund[20];
- new string[128];
- if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du bist kein Administrator.");
- if(sscanf(params,"us",plid,grund))return SendClientMessage(playerid,BLAU,"Tippe: /warn [Id/Name][Grund]");
- if(GetPVarInt(plid,"Adminlevel") > GetPVarInt(playerid,"Adminlevel")) return SendClientMessage(playerid,ROT,"Du hast noch nicht genügend Rechte.");
- format(string,sizeof(string),"Admin %s hat dich gewarnt.Grund: %s",SpielerName(playerid),grund);
- SendClientMessage(plid,ROT,string);
- SetPVarInt(plid,"Warn",GetPVarInt(plid,"Warn")+1);
- return 1;
- }
- ocmd:help(playerid,params[])
- {
- SendClientMessage(playerid,ORANGE,"~~~~~~~~~~~~~~~~~~~~~ HILFE ~~~~~~~~~~~~~~~~~~~~~");
- SendClientMessage(playerid,ROT,"INFORMATION/SYSTEM:");
- SendClientMessage(playerid,BLAU," /sup = Öffnet ein Ticket,und meldet dieses einem Admin/Supporter.Dieser kümmert sich sofort darum.");
- SendClientMessage(playerid,BLAU," /ranglist = Zeigt dir alle Ränge an.");
- SendClientMessage(playerid,BLAU," /respawn = Tötet dich,und spawnt dich neu.");
- SendClientMessage(playerid,BLAU," /serverinfo = Zeigt allgemeine Infos an.");
- SendClientMessage(playerid,BLAU," /regeln = Zeigt die Regeln an.");
- SendClientMessage(playerid,ROT,"SPIELER BEFEHLE:");
- SendClientMessage(playerid,BLAU," /respawn = Tötet dich,und spawnt dich neu.");
- SendClientMessage(playerid,BLAU," /");
- return 1;
- }
- ocmd:setarmour(playerid,params[])
- {
- new plid;
- new string[128];
- if(IsPlayerConnected(plid))
- {
- if(!isPlayerAnAdmin(playerid, 1))return SendClientMessage(playerid,ROT,"Du bist kein Supporter.");
- if(sscanf(params,"u",plid))return SendClientMessage(playerid,BLAU,"Tippe: /setarmour [Id/Name]");
- SetPlayerArmour(plid,100);
- format(string,sizeof(string), "Admin %s hat dir eine Schutzweste gegeben.",SpielerName(playerid));
- SendClientMessage(plid,WBLAU,string);
- }
- return 1;
- }
- ocmd:giveweapon(playerid,params[])
- {
- new weid;
- new munni;
- new plid;
- if(IsPlayerConnected(plid))
- {
- if(!isPlayerAnAdmin(playerid, 2))return SendClientMessage(playerid,ROT,"Du bist kein Administrator.");
- if(sscanf(params,"udd",plid,weid,munni))return SendClientMessage(playerid,BLAU,"Tippe: /giveweapon [Id/Name] [WaffenId][Muni]");
- GivePlayerWeapon(plid,weid,munni);
- }
- return 1;
- }
- ocmd:sethealth(playerid,params[])
- {
- new string[128];
- new plid;
- if(IsPlayerConnected(plid))
- {
- if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist kein Supporter.");
- if(sscanf(params,"u",plid))return SendClientMessage(playerid,BLAU,"Tippe: /sethealth [Id/Name]");
- SetPlayerHealth(plid,100);
- format(string,sizeof(string),"Admin %s hat dein Leben aufgefüllt.",SpielerName(playerid));
- }
- return 1;
- }
- ocmd:car(playerid,params[])
- {
- new rein;
- new car;
- new string[128];
- if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du bist kein Administrator.");
- if(sscanf(params,"d",car))return SendClientMessage(playerid,BLAU,"Tippe: /car [CarId]");
- if(car < 400 || car > 611)return SendClientMessage(playerid,ROT,"Ein Auto mit dieses ID gibt es nicht!");
- new Float:x, Float:y, Float:z;
- GetPlayerPos(playerid,x,y,z);
- rein = CreateVehicle(car,x,y,z,0,0,0,99999999999999999999);
- PutPlayerInVehicle(playerid,rein,0);
- format(string,sizeof(string),"Du hast dir erfolgreich Car: %i ,gespawnt.",car);
- SendClientMessage(playerid,WBLAU,string);
- return 1;
- }
- ocmd:broadcast(playerid,params[])
- {
- new text[128];
- if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du bist kein Administrator.");
- if(sscanf(params,"s",text))return SendClientMessage(playerid,BLAU,"Tippe: /broadcast [text]");
- GameTextForAll(text,2000,3);
- return 1;
- }
- 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==DIALOG_LOGIN)
- {
- if(response==0)
- {
- SendClientMessage(playerid,BLAU,"Du hast den Vorgang abgebrochen.");
- Kick(playerid);
- return 1;
- }
- if(response==1)
- {
- if(!strlen(inputtext))
- {
- SendClientMessage(playerid,BLAU,"Das Passwort war nicht lang genug.");
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
- return 1;
- }
- else
- {
- Login(playerid,inputtext);
- return 1;
- }
- }
- }
- if(dialogid==DIALOG_REGISTER)
- {
- if(response==0)
- {
- SendClientMessage(playerid,BLAU,"Du hast den Vorgang abgebrochen.");
- Kick(playerid);
- return 1;
- }
- if(response==1)
- {
- if(!strlen(inputtext))
- {
- SendClientMessage(playerid,BLAU,"Das Passwort war nicht lang genug.");
- ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
- return 1;
- }
- else
- {
- Register(playerid,inputtext);
- return 1;
- }
- }
- }
- if(dialogid==DIALOG_RANGLIST1)
- {
- if(response==0)
- {
- ShowPlayerDialog(playerid,9999999999,DIALOG_STYLE_MSGBOX,"s","s","s","s");
- return 1;
- }
- if(response==1)
- {
- ShowPlayerDialog(playerid,DIALOG_RANGLIST2,DIALOG_STYLE_MSGBOX,"Ränge - Supporter","Natürlich gibt es Spieler die Hilfe benötigen.Dazu haben wir unsere Supporter.\nSie leiten den Support und helfen so mit anderen Usern\nsich zurecht zu finden.\nDiese Gruppe hat nun einige neue Befehle,um Usern zu helfen.\nDiese Gruppe darf sich aber auch 'Besondere Items' cheaten,da sie-\num Usern zu Helfen,einige Resourcen benötigen.\nBefehle für Supporter mit /shelp !","Danke"," ");
- return 1;
- }
- }
- if(dialogid==DIALOG_RANGLIST2)
- {
- if(response==0)
- {
- ShowPlayerDialog(playerid,9999999999,DIALOG_STYLE_MSGBOX,"s","s","s","s");
- return 1;
- }
- if(response==1)
- {
- ShowPlayerDialog(playerid,DIALOG_RANGLIST3,DIALOG_STYLE_MSGBOX,"Ränge - Admin (Besitzer)","Es müssen ja auch sogenannte Besitzer / Leiter geben.\nDie Gruppe 'Admin' ist extra für diese gedacht.\nEigendlich ist/sind nur der Scripter/Besitzer selber Admin.\nAber auch enge Bekannte und bereits bekannte Community Mitglieder.\nDieser Rang hat also die Absolute 'Macht '.\nBefehle für Admins: /ahelp ","Danke"," ");
- return 1;
- }
- }
- if(dialogid==DIALOG_RANGLIST3)
- {
- if(response==0)
- {
- ShowPlayerDialog(playerid,9999999999,DIALOG_STYLE_MSGBOX,"s","s","s","s");
- return 1;
- }
- if(response==1)
- {
- ShowPlayerDialog(playerid,9999999999,DIALOG_STYLE_MSGBOX,"s","s","s","s");
- return 1;
- }
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- // ******************************** STOCKS *************************************
- // *****************************************************************************
- stock SpielerName(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- return name;
- }
- stock Register(playerid,key[])
- {
- new Spielerdatei[64];
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
- dini_Create(Spielerdatei);
- dini_Set(Spielerdatei,"Passwort",key);
- SendClientMessage(playerid,BLAU,"Erfolgreich registriert.");
- SetPlayerScore(playerid,0);
- SetPVarInt(playerid,"loggedin",1);
- return 1;
- }
- stock Login(playerid,key[])
- {
- new Spielerdatei[64];
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
- if(gettime()<dini_Int(Spielerdatei,"timeban"))
- {
- SendClientMessage(playerid,ROT,"Du bist noch gebannt. Komm später wieder.");
- Kick(playerid);
- return 1;
- }
- if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
- {
- LoadAccount(playerid);
- SendClientMessage(playerid,BLAU,"Erfolgreich eingeloggt.");
- return 1;
- }
- else
- {
- SendClientMessage(playerid,BLAU,"Falsches Passwort.");
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
- return 1;
- }
- }
- stock LoadAccount(playerid)
- {
- new Spielerdatei[64];
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
- SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
- SetPlayerHealth(playerid,dini_Float(Spielerdatei,"Gesundheit"));
- GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
- SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
- SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
- SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
- if(GetPVarInt(playerid,"Baned")==1)
- {
- SendClientMessage(playerid,ROT,"Du bist vom Server gebannt.");
- Kick(playerid);
- }
- if(GetPVarInt(playerid,"Warn")==3)
- {
- SendClientMessage(playerid,ROT,"Du hast 3 Verwarnungen und bis ab jetzt Gebannt!.");
- Kick(playerid);
- }
- SetPVarInt(playerid,"loggedin",1);
- return 1;
- }
- stock SpielerSpeichern(playerid)
- {
- if(GetPVarInt(playerid,"loggedin")==1)
- {
- new Spielerdatei[64];
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
- dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
- dini_FloatSet(Spielerdatei,"Gesundheit",GetPlayerHealth(playerid));
- dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
- dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
- dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
- dini_IntSet(Spielerdatei,"Muted",GetPVarInt(playerid,"Muted"));
- dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
- dini_IntSet(Spielerdatei,"timeban",GetPVarInt(playerid,"timeban"));
- }
- return 1;
- }
- stock isPlayerAnAdmin(playerid,rang)
- {
- if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1;
- return 0;
- }
- // *********************** SSCANF *************************
- //*************************************************************
- stock sscanf(sstring[], format[], {Float,_}:...)
- {
- #if defined isnull
- if (isnull(sstring))
- #else
- if (sstring[0] == 0 || (sstring[0] == 1 && sstring[1] == 0))
- #endif
- {
- return format[0];
- }
- #pragma tabsize 4
- new
- formatPos = 0,
- sstringPos = 0,
- paramPos = 2,
- paramCount = numargs(),
- delim = ' ';
- while (sstring[sstringPos] && sstring[sstringPos] <= ' ')
- {
- sstringPos++;
- }
- while (paramPos < paramCount && sstring[sstringPos])
- {
- switch (format[formatPos++])
- {
- case '\0':
- {
- return 0;
- }
- case 'i', 'd':
- {
- new
- neg = 1,
- num = 0,
- ch = sstring[sstringPos];
- if (ch == '-')
- {
- neg = -1;
- ch = sstring[++sstringPos];
- }
- do
- {
- sstringPos++;
- if ('0' <= ch <= '9')
- {
- num = (num * 10) + (ch - '0');
- }
- else
- {
- return -1;
- }
- }
- while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
- setarg(paramPos, 0, num * neg);
- }
- case 'h', 'x':
- {
- new
- num = 0,
- ch = sstring[sstringPos];
- do
- {
- sstringPos++;
- 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 = sstring[sstringPos]) > ' ' && ch != delim);
- setarg(paramPos, 0, num);
- }
- case 'c':
- {
- setarg(paramPos, 0, sstring[sstringPos++]);
- }
- case 'f':
- {
- new changestr[16], changepos = 0, strpos = sstringPos;
- while(changepos < 16 && sstring[strpos] && sstring[strpos] != delim)
- {
- changestr[changepos++] = sstring[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(sstring, format[formatPos], false, sstringPos)) == -1)
- {
- if (format[end + 1])
- {
- return -1;
- }
- return 0;
- }
- format[end] = '\'';
- sstringPos = ch + (end - formatPos);
- formatPos = end + 1;
- }
- case 'u':
- {
- new
- end = sstringPos - 1,
- id = 0,
- bool:num = true,
- ch;
- while ((ch = sstring[++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
- sstring[end] = '\0';
- num = false;
- new
- name[MAX_PLAYER_NAME];
- id = end - sstringPos;
- foreach (Player, playerid)
- {
- GetPlayerName(playerid, name, sizeof (name));
- if (!strcmp(name, sstring[sstringPos], true, id))
- {
- setarg(paramPos, 0, playerid);
- num = true;
- break;
- }
- }
- if (!num)
- {
- setarg(paramPos, 0, INVALID_PLAYER_ID);
- }
- sstring[end] = ch;
- #if defined __SSCANF_FOREACH__
- #undef foreach
- #undef __SSCANF_FOREACH__
- #endif
- }
- sstringPos = end;
- }
- case 's', 'z':
- {
- new
- i = 0,
- ch;
- if (format[formatPos])
- {
- while ((ch = sstring[sstringPos++]) && ch != delim)
- {
- setarg(paramPos, i++, ch);
- }
- if (!i)
- {
- return -1;
- }
- }
- else
- {
- while ((ch = sstring[sstringPos++]))
- {
- setarg(paramPos, i++, ch);
- }
- }
- sstringPos--;
- setarg(paramPos, i, '\0');
- }
- default:
- {
- continue;
- }
- }
- while (sstring[sstringPos] && sstring[sstringPos] != delim && sstring[sstringPos] > ' ')
- {
- sstringPos++;
- }
- while (sstring[sstringPos] && (sstring[sstringPos] == delim || sstring[sstringPos] <= ' '))
- {
- sstringPos++;
- }
- 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
Advertisement