Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include ocmd
- #include dini
- #define BLAU 0x0087FFFF
- #define ROT 0xE10000FF
- new amuein;
- new amuaus;
- new lspdein;
- new lspdexit;
- new lspdgarageein;
- new lspdgarageexit;
- new ein;
- new aus;
- new bsnein;
- new bsnaus;
- #define DIALOG_TUTORIAL 1
- #define DIALOG_REGISTER 2
- #define DIALOG_LOGIN 3
- #define Bankmenu 1
- #define Einzahlung 2
- #define Auszahlung 3
- #define Ueberweisung 4
- #define Kontostand 5
- #define EinzahlungText 6
- #define AuszahlungText 7
- #define UeberweisungText1 8
- #define Ueberweisung2 9
- #define fraktname1 "LSPD"
- #define fraktname2 "Mafia"
- #define fraktname3 "Medic"
- #define fraktname4 "Ballas"
- #define fraktname5 "Grove"
- #define fraktname6 "Feuerwehr"
- #define fraktname7 "Müllman"
- #define fraktname8 "Taxi"
- main()
- {
- print("\n----------------------------------");
- print("PWK");
- print("----------------------------------\n");
- }
- public OnGameModeInit()
- {
- //pickup
- amuein = CreatePickup(1559, 1,1368.9911,-1279.6251,13.5469, -1);
- amuaus = CreatePickup(1559, 1,285.4950,-41.7768,1001.5156, -1);
- lspdein = CreatePickup(1559, 1,1555.3223,-1676.0045,16.1953, -1);
- lspdexit = CreatePickup(1559, 1,288.9533,166.9254,1007.1719, -1);
- lspdgarageein = CreatePickup(1559, 1,1568.8241,-1689.9856,6.2188, -1);
- lspdgarageexit = CreatePickup(1559, 1,1062.2305,2077.1062,10.8203, -1);
- ein = CreatePickup(1559, 1,1315.4070,-897.8334,39.5781, -1);
- aus = CreatePickup(1559, 1,-25.8334,-188.2471,1003.5469, -1);
- bsnein = CreatePickup(1559, 1,1199.0779,-918.1874,43.1241, -1);
- bsnaus = CreatePickup(1559, 1,362.8601,-75.1325,1001.5078, -1);
- SetGameModeText("PWK");
- AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- DisableInteriorEnterExits();
- return 1;
- }
- public OnGameModeExit()
- {
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- SetPlayerVirtualWorld(playerid,1+playerid);
- SetPlayerPos(playerid,1462.7377,-1025.4229,23.8281);
- SetPlayerCameraPos(playerid,1462.7377,-1025.4229,23.8281);
- SetPlayerCameraLookAt(playerid,1463.2388,-1024.4950,23.8281);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- 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))
- {
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
- }
- else
- {
- 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)
- {
- SetPlayerVirtualWorld(playerid,0);
- SetPlayerPos(playerid,1461.0916,-1013.0022,26.8438);
- SetPlayerFacingAngle(playerid,176.9750);
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- SendClientMessage(playerid,BLAU,"Gestorben");
- 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,5))return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
- new pID, rank;
- if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,ROT,"/setadmin [spieler] [level]");
- if(rank<1||rank>5)return SendClientMessage(playerid,ROT,"Bitte gültigen Rang angeben.");
- SetPVarInt(pID,"Adminlevel",rank);
- SpielerSpeichern(pID);
- SendClientMessageToAll(BLAU,"Es wurde jemand zu Admin gemacht.");
- return 1;
- }
- ocmd:ban(playerid,params[])
- {
- if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
- 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[])
- {
- if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
- new pID, reason[128],string[128];
- if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,BLAU,"/kick [id] [grund]");
- format(string,sizeof(string),"AdmCmd: %s wurde von %s gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
- SendClientMessageToAll(ROT,string);
- Kick(pID);
- return 1;
- }
- ocmd:f(playerid,params[])
- {
- new text[128];
- if(sscanf(params,"s",text))return SendClientMessage(playerid,ROT,"/f [text]");
- format(text,sizeof(text),"Member %s: %s",(playerid),text);
- for(new i=0; i<GetMaxPlayers(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(isPlayerInFrakt(i,GetPVarInt(playerid,"Fraktion")))
- {
- SendClientMessage(i,BLAU,text);
- }
- }
- }
- return 1;
- }
- ocmd:makeleader(playerid,params[])
- {
- if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Rang zu Niedrig.");
- new pID,fID;
- if(sscanf(params,"ui",pID,fID))return SendClientMessage(playerid,BLAU,"/makeleader [playerid] [fraktionsid]");
- SetPVarInt(pID,"Fraktion",fID);
- SendClientMessage(playerid,BLAU,"Erfolgreich.");
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if (strcmp("/essen", cmdtext, true, 10) == 0)
- {
- if(IsPlayerInRangeOfPoint(playerid,50.0,375.962463,-65.816848,1001.507812))
- {
- new Float:health;
- GetPlayerHealth(playerid,health);
- SetPlayerHealth(playerid,health +5);
- SendClientMessage(playerid,BLAU, "Du hast einen Hamburger gegessen");
- }
- return 1;
- }
- if (strcmp(cmdtext,"/zivi",true)==0)
- {
- SetPlayerPos(playerid,2073.3804,1177.2048,9.9579);
- SendClientMessage(playerid,0xFF0019FF,"Teleport");
- return 1;
- }
- if (strcmp(cmdtext,"/bsn",true)==0)
- {
- SetPlayerPos(playerid,1193.7031,-924.2075,43.0864);
- SendClientMessage(playerid,0xFF0019FF,"Teleport");
- return 1;
- }
- if (strcmp(cmdtext,"/police",true)==0)
- {
- SetPlayerPos(playerid,1569.1826,-1691.6302,5.8906);
- SendClientMessage(playerid,0xFF0019FF,"Teleport");
- return 1;
- }
- if (strcmp(cmdtext,"/fire",true)==0)
- {
- SetPlayerPos(playerid,1269.5789,-1841.8774,13.3971);
- SendClientMessage(playerid,0xFF0019FF,"Teleport");
- return 1;
- }
- if (strcmp(cmdtext,"/gr",true)==0)
- {
- SetPlayerPos(playerid,2477.6858,-1673.4369,13.3381);
- SendClientMessage(playerid,0xFF0019FF,"Teleport");
- return 1;
- }
- if (strcmp(cmdtext,"/ba",true)==0)
- {
- SetPlayerPos(playerid,1911.4570,-1137.5837,24.6016);
- SendClientMessage(playerid,0xFF0019FF,"Teleport");
- return 1;
- }
- if (strcmp(cmdtext,"/bin",true)==0)
- {
- SetPlayerPos(playerid,895.9185,-1217.9935,16.9766);
- SendClientMessage(playerid,0xFF0019FF,"Teleport");
- return 1;
- }
- if (strcmp(cmdtext,"/texi",true)==0)
- {
- SetPlayerPos(playerid,1753.9580,-1912.0745,13.5678);
- SendClientMessage(playerid,0xFF0019FF,"Teleport");
- return 1;
- }
- if(strcmp(cmdtext,"/uuw",true)==0)
- {
- SetPlayerHealth(playerid,100);
- return 1;
- }
- if(strcmp(cmdtext,"/kill",true)==0)
- {
- SetPlayerHealth(playerid,0);
- return 1;
- }
- if(strcmp(cmdtext,"/stats",true)==0)
- {
- new string[128];
- new fraktname[64];
- switch(GetPVarInt(playerid,"Fraktion"))
- {
- case 0:{fraktname="Keine";}
- case 1:{fraktname=fraktname1;}
- case 2:{fraktname=fraktname2;}
- case 3:{fraktname=fraktname3;}
- case 4:{fraktname=fraktname4;}
- case 5:{fraktname=fraktname5;}
- case 6:{fraktname=fraktname6;}
- case 7:{fraktname=fraktname7;}
- case 8:{fraktname=fraktname8;}
- }
- //1 reihe
- format(string,sizeof(string),"[Name: %s] [Level: %i] [Adminlevel: %i] [Fraktion: %s]",(playerid),GetPlayerScore(playerid),GetPVarInt(playerid,"Adminlevel"),fraktname);
- SendClientMessage(playerid,BLAU,string);
- //2 reihe
- return 1;
- }
- if(strcmp(cmdtext,"/nschild",true)==0)
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- new vehicleid;
- vehicleid=GetPlayerVehicleID(playerid);
- SetVehicleNumberPlate(vehicleid,"Test");
- SetVehicleToRespawn(vehicleid);
- PutPlayerInVehicle(playerid,vehicleid,0);
- }
- 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)
- {
- if(pickupid == bsnein)
- {
- SetPlayerPos(playerid,375.962463,-65.816848,1001.507812);
- SetPlayerFacingAngle(playerid,10.4945);
- SetPlayerInterior(playerid,10);
- }
- if(pickupid == bsnaus)
- {
- SetPlayerPos(playerid,1198.7782,-921.0991,43.0328);
- SetPlayerFacingAngle(playerid,184.9995);
- SetPlayerInterior(playerid,0);
- }
- if(pickupid == ein)
- {
- SetPlayerPos(playerid,-25.884498,-185.868988,1003.546875);
- SetPlayerFacingAngle(playerid,0.9267);
- SetPlayerInterior(playerid,17);
- }
- if(pickupid == aus)
- {
- SetPlayerPos(playerid,1315.1958,-901.1573,39.5781);
- SetPlayerFacingAngle(playerid,179.6733);
- SetPlayerInterior(playerid,0);
- }
- if(pickupid == lspdgarageein)
- {
- SetPlayerPos(playerid,1059.895996,2081.685791,10.820312);
- SetPlayerFacingAngle(playerid,7.8069);
- SetPlayerInterior(playerid,0);
- }
- if(pickupid == lspdgarageexit)
- {
- SetPlayerPos(playerid,1568.1360,-1692.1991,5.8906);
- SetPlayerFacingAngle(playerid,173.9116);
- SetPlayerInterior(playerid,0);
- }
- if(pickupid == lspdein)
- {
- SetPlayerPos(playerid,288.745971,169.350997,1007.171875);
- SetPlayerFacingAngle(playerid,274.0340);
- SetPlayerInterior(playerid,3);
- }
- if(pickupid == lspdexit)
- {
- SetPlayerPos(playerid,1551.9924,-1676.0465,16.0969);
- SetPlayerFacingAngle(playerid,94.6606);
- SetPlayerInterior(playerid,0);
- }
- if(pickupid == amuein)
- {
- SetPlayerPos(playerid,286.148986,-40.644397,1001.515625);
- SetPlayerFacingAngle(playerid,273.8179);
- SetPlayerInterior(playerid,1);
- }
- if(pickupid == amuaus)
- {
- SetPlayerPos(playerid,1366.4150,-1279.7748,13.5469);
- SetPlayerFacingAngle(playerid,85.3578);
- SetPlayerInterior(playerid,0);
- }
- 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_TUTORIAL)
- {
- if(response==1)
- {
- SetPlayerPos(playerid,1227.1797,-914.0590,42.6812);
- SendClientMessage(playerid,0xFFFF00FF,"Du wurdest Teleportiert");
- }
- if(response==0)
- {
- SendClientMessage(playerid,BLAU,"Ok dann halt nicht...");
- }
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- 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(!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"));
- 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);
- }
- 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_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
- dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
- dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
- dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
- }
- return 1;
- }
- stock isPlayerInFrakt(playerid,fraktid)
- {
- if(GetPVarInt(playerid,"Fraktion")==fraktid)return 1;
- return 0;
- }
- stock isPlayerAnAdmin(playerid,rang)
- {
- if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1;
- return 0;
- }
- 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;
- }
- stock SpielerName(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- return name;
- }
Add Comment
Please, Sign In to add comment