Hilfe SetTimer/SetTimerEx

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Allso ich wollte mal fragen wenn ich mich regestriert habe wie ich dann 15 sekunden im Interrior 1 sein kann
    Danke im vorraus

  • Wie meinst du das?
    SetTimerEx("Interior",1000,false,"ii",playerid, 1);
    forward Interior(playerid, int);
    public Interior(playerid, int){
    SetPlayerInterior(playerid, int);}

    Roleplay Network | Dᴇᴀᴅ.Nᴇᴛ

  • Ich mein das das wenn man sich regestriert hat in interior 1 ist für 15 sekunden und dan am normalen spawn spawnt

  • Unter Register
    SetPlayerInterior(playerid, 1);
    SetTimerEx("Spawn",15000,false,"i",playerid);


    Unten im Script


    public Spawn(playerid){
    SpawnPlayer(playerid);}

    Roleplay Network | Dᴇᴀᴅ.Nᴇᴛ

  • Wo muss ich das SetPlayerInterior ... hinmachen unter Register funzt net oder muss ich es beim Stock hinmachen ?

  • Ja ich mach das aber dann wenn ich mich regestriere spawne ich und seh keine map

  • Allso ich muss jez noch hinschreiben
    SetPlayerInterior(playerid, 0); oder was ?

  • Du musst es wie folgt machen



    SetPlayerPos(playerid,X,Y,Z);
    SetPlayerInterior(playerid,InteriorID);


    http://weedarr.wikidot.com/interior


    Hier befinden sich die nötigen Interior ID's
    Die dazu gehörigen Position kannst du dort auch finden jedoch empfehle ich dir
    im Spiel deine Position zu saven, wo du spawnen möchtest /Save.


    Ich weiß nicht, was ich noch dazu schreiben könnte :)
    //Edit
    Fehler entfernt
    Hilfe Hinzugefügt

    KleineHilfe 2.0

  • Und wie komm ich jez in interrior 1 rein ? (Shamal)
    Der gelbe Kegel is ja nich für 1 da

  • oK VERSUCHE Mal
    Klappt net es ist immer noch weis .....

  • Nö geht net ich poste mal mein GM

    #include <a_samp>#include <Ocmd>#include <dini>#include <MD5>


    #define COLOR_WHITE 0xFFFFFFAA#define weiß 0xFAFAFAFF#define rot 0xFF0005FF#define SpielerName #define BLAU 0x0087FFFF#define ROT 0xE10000FF#define REGISTER 1#define LOGIN 2#define ORANGE 0xFFA500FF







    forward Spawn (playerid);forward tot(playerid);







    main(){ print("\n----------------------------------"); print(" Script by funy888"); print("----------------------------------\n");}


    public OnGameModeInit(){
    ManualVehicleEngineAndLights(); ManualVehicleEngineAndLights(); SetGameModeText("Reallife Server"); AddPlayerClass(95,1714.2986,-1911.9281,13.5667,276.4668,0,0,0,0,0,0); AddStaticVehicle(409,1716.4517,-1862.2272,13.3765,92.6735,1,1);
    return 1;}
    public OnGameModeExit(){ return 1;}
    public OnPlayerRequestClass(playerid, classid){
    SetPlayerPos(playerid,1501.0714,-1757.1316,87.6142); SetPlayerCameraPos(playerid,1501.0714,-1757.1316,87.6142); SetPlayerCameraLookAt(playerid,72.7656); return 1;}
    public OnPlayerConnect(playerid){ new Spieler[64]; new Sname[MAX_PLAYER_NAME]; GetPlayerName(playerid,Sname,sizeof(Sname)); format(Spieler,sizeof(Spieler),"/Accounts/%s.txt",Sname); if(dini_Exists(Spieler)) { SendClientMessage(playerid,weiß,"Herzlich willkommen zurück auf unserem Server"); ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden.Gib bitte dein Passwort ein ","Login","Abbrechen"); } else {
    ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Regestrieren","Bitte wähle ein Passwort um dir ein Account zu erstellen.","Regestrieren","Abbrechen");
    }


    return 1;
    }




    public OnPlayerDisconnect(playerid, reason){
    return 1;}


    public OnPlayerSpawn(playerid){
    return 1;}
    public OnPlayerDeath(playerid, killerid, reason){
    {
    TogglePlayerControllable(playerid, 0); // Das Bringt das der spieler gefrezzt ist = er kann sich nicht bewegen.SetPlayerPos(playerid,1162.871704, -1339.109619, 14.297291); // Hier Stellt ihr ein wo euer spieler beim krankenhaus stehen sollSetPlayerCameraPos(playerid, 1223.379028, -1333.354126, 33.809105); // Die Kamera PositisionSetPlayerCameraLookAt(playerid, 1178.824829, -1325.804077, 13.284119); //Die Kamera BlickrichtungSetPlayerInterior(playerid, 0); // Das bringt das die Kamera nicht im haus istSendClientMessage(playerid,COLOR_WHITE,"|____ Krankenhaus ____|");SendClientMessage(playerid,COLOR_WHITE,"Du bist nun im Krankenhaus. Du wirst gerade behandelt und darfst das Krankenhaus");SendClientMessage(playerid,COLOR_WHITE,"nicht verlassen bis die Ärtze mit der Untersuchung fertig sind. Dieser Vorgang");SendClientMessage(playerid,COLOR_WHITE,"wird eine Zeit von mindestens 1ner Minuten nach sich ziehen.");SendClientMessage(playerid,COLOR_WHITE,"|_____________________|"); //Ihr Müsst nicht unbedingt diesen text nehmen ihr könnt ihn beliebig editieren oder einfach nur eine zeile behalten


    SetTimerEx("tot",60000,0,"i",playerid); // Das ist der timer, das heißt nach 1ner minute wird mann entlassen kann mann Belibig verändern. return 1;}
    return 1;
    }
    public OnVehicleSpawn(vehicleid){ return 1;}
    public OnVehicleDeath(vehicleid, killerid){ return 1;}
    public OnPlayerText(playerid, text[]){ return 1;}
    public OnPlayerCommandText(playerid, cmdtext[]){ if (strcmp("/help", cmdtext, true, 10) == 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){ 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,ROT,"Du hast den Login Vorgang abgeborchen"); Kick(playerid); return 1; } if(response == 1) { Login(playerid,MD5_Hash(inputtext)); return 1; } } if(dialogid == REGISTER) { if(response == 0) { SendClientMessage(playerid,ROT,"Du hast den Regestrierungsvorgang abgebrochen"); Kick(playerid); return 1; } if(response == 1) { if(!strlen(inputtext)) { SendClientMessage(playerid,ROT,"Bitte gebe ein Passwort ein"); ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Regestrieren","Bitte wähle ein Passwort um dir ein Account zu erstellen.","Regestrieren","Abbrechen"); } Register(playerid,MD5_Hash(inputtext)); return 1; } }return 1; }public OnPlayerClickPlayer(playerid, clickedplayerid, source){ return 1;}
    public tot(playerid){SetPlayerPos(playerid,1182.6981,-1324.6304,13.5790); // Hier eintragen wo mann nachdem man aus den krankenhaus entlassen wurde spawn sollSetPlayerHealth(playerid,50.00); // Hier könnt ihr einsellen wie viel leben mann haben soll nachdem mann entlassen wurdeGivePlayerMoney(playerid, -80); // Ganz hinten kannst du einstellen wie viel geld mann verlieren soll das - heißt abziehen das + dazu "Kann auch ganz weggemacht werden"SendClientMessage(playerid,COLOR_WHITE,"|____ Krankenhaus ____________|");SendClientMessage(playerid,COLOR_WHITE,"Du wurdest entlassen..");SendClientMessage(playerid,COLOR_WHITE,"Das ging schneller als gedacht");SendClientMessage(playerid,COLOR_WHITE,"Aber das kostet dich 80$");SendClientMessage(playerid,COLOR_WHITE,"|______________________________|"); // Ihr Müsst nicht unbedingt diesen text nehmen ihr könnt ihn beliebig editieren oder einfach nur eine zeile behalten}
    ocmd:heal(playerid,params[]){ new pID,string[128],string2[128]; if(!IsPlayerConnected(playerid))return SendClientMessage(playerid,rot,"Dieser Spiler ist nich Online !"); if(sscanf(params,"u",pID))return SendClientMessage(playerid,rot, "USAGE: /heal [ID]"); SetPlayerHealth(playerid,100.00); format(string,sizeof(string),"Du hast %s geheilt",SpielerName(pID)); format(string2,sizeof(string2),"Du wurdest vom Admin %s geheilt",SpielerName(playerid)); SendClientMessage(playerid,weiß,string2); SendClientMessage(pID,weiß,string2); return 1;}ocmd:spawn(playerid,params[]){ new pID,string[128],string2[128]; if(!IsPlayerConnected(playerid))return SendClientMessage(playerid,rot,"Dieser Spiler ist nich Online !"); if(sscanf(params,"u",pID))return SendClientMessage(playerid,rot, "USAGE: /spawn [ID]"); SetPlayerPos(playerid,1714.2986,-1911.9281,13.5667); format(string,sizeof(string),"Du hast %s gespawnt",SpielerName(pID)); format(string2,sizeof(string2),"Du wurdest vom Admin %s gespawnt",SpielerName(playerid)); SendClientMessage(playerid,weiß,string2); SendClientMessage(pID,weiß,string2); return 1;}/*----------------------------------------------------------------------------*-Function: sscanfParams: string[] - String to extract parameters from. format[] - Parameter types to get. {Float,_}:... - Data return variables.Return: 0 - Successful, not 0 - fail.Notes: A fail is either insufficient variables to store the data or insufficient data for the format string - excess data is disgarded.
    A string in the middle of the input data is extracted as a single word, a string at the end of the data collects all remaining text.
    The format codes are:
    c - A character. d, i - An integer. h, x - A hex number (e.g. a colour). f - A float. s - A string. z - An optional string. pX - An additional delimiter where X is another character. '' - Encloses a litteral string to locate. u - User, takes a name, part of a name or an id and returns the id if they're connected.
    Now has IsNumeric integrated into the code.
    Added additional delimiters in the form of all whitespace and an optioanlly specified one in the format string.-*----------------------------------------------------------------------------*/
    stock sscanf(string[], format[], {Float,_}:...){ #if defined isnull if (isnull(string)) #else if (string[0] == 0 || (string[0] == 1 && string[1] == 0)) #endif { return format[0]; } #pragma tabsize 4 new formatPos = 0, stringPos = 0, paramPos = 2, paramCount = numargs(), delim = ' '; while (string[stringPos] && string[stringPos] <= ' ') { stringPos++; } while (paramPos < paramCount && string[stringPos]) { switch (format[formatPos++]) { case '\0': { return 0; } case 'i', 'd': { new neg = 1, num = 0, ch = string[stringPos]; if (ch == '-') { neg = -1; ch = string[++stringPos]; } do { stringPos++; if ('0' <= ch <= '9') { num = (num * 10) + (ch - '0'); } else { return -1; } } while ((ch = string[stringPos]) > ' ' && ch != delim); setarg(paramPos, 0, num * neg); } case 'h', 'x': { new num = 0, ch = string[stringPos]; do { stringPos++; 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 = string[stringPos]) > ' ' && ch != delim); setarg(paramPos, 0, num); } case 'c': { setarg(paramPos, 0, string[stringPos++]); } case 'f': {
    new changestr[16], changepos = 0, strpos = stringPos; while(changepos < 16 && string[strpos] && string[strpos] != delim) { changestr[changepos++] = string[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(string, format[formatPos], false, stringPos)) == -1) { if (format[end + 1]) { return -1; } return 0; } format[end] = '\''; stringPos = ch + (end - formatPos); formatPos = end + 1; } case 'u': { new end = stringPos - 1, id = 0, bool:num = true, ch; while ((ch = string[++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 string[end] = '\0'; num = false; new name[MAX_PLAYER_NAME]; id = end - stringPos; foreach (Player, playerid) { GetPlayerName(playerid, name, sizeof (name)); if (!strcmp(name, string[stringPos], true, id)) { setarg(paramPos, 0, playerid); num = true; break; } } if (!num) { setarg(paramPos, 0, INVALID_PLAYER_ID); } string[end] = ch; #if defined __SSCANF_FOREACH__ #undef foreach #undef __SSCANF_FOREACH__ #endif } stringPos = end; } case 's', 'z': { new i = 0, ch; if (format[formatPos]) { while ((ch = string[stringPos++]) && ch != delim) { setarg(paramPos, i++, ch); } if (!i) { return -1; } } else { while ((ch = string[stringPos++])) { setarg(paramPos, i++, ch); } } stringPos--; setarg(paramPos, i, '\0'); } default: { continue; } } while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ') { stringPos++; } while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' ')) { stringPos++; } paramPos++; } do { if ((delim = format[formatPos++]) > ' ') { if (delim == '\'') { while ((delim = format[formatPos++]) && delim != '\'') {} } else if (delim != 'z') { return delim; } } } while (delim > ' '); return 0;}
    stock Register (playerid,key[]){ new Spieler[64]; new Sname[MAX_PLAYER_NAME]; GetPlayerName(playerid,Sname,sizeof(Sname)); format(Spieler,sizeof(Spieler),"/Accounts/%s.txt",Sname); dini_Create(Spieler); dini_Set(Spieler,"Passwort",key); dini_IntSet(Spieler,"Fraktion",0); SetPlayerPos(286.148986,-40.644397,1001.515625); SetPlayerInterior(playerid, 1); SetTimerEx("Spawn",15000,false,"i",playerid);



    return 1;}
    stock Login (playerid,key[]){ new Spieler[64]; new Sname[MAX_PLAYER_NAME]; GetPlayerName(playerid,Sname,sizeof(Sname)); format(Spieler,sizeof(Spieler),"/Accounts/%s.txt",Sname); if(!strcmp(key,dini_Get(Spieler,"Passwort"),false)) { SendClientMessage(playerid,weiß,"Du hast dich eingeloggt"); } else { SendClientMessage(playerid,ROT,"Du hast ein falscher Passwort eingegeben."); Kick(playerid); } return 1;}
    public Spawn(playerid){SpawnPlayer(playerid);}

  • Sorry hat sich verschoben

    #include <a_samp>
    #include <Ocmd>
    #include <dini>
    #include <MD5>



    #define COLOR_WHITE 0xFFFFFFAA
    #define weiß 0xFAFAFAFF
    #define rot 0xFF0005FF
    #define SpielerName
    #define BLAU 0x0087FFFF
    #define ROT 0xE10000FF
    #define REGISTER 1
    #define LOGIN 2
    #define ORANGE 0xFFA500FF








    forward Spawn (playerid);
    forward tot(playerid);








    main()
    {
    print("\n----------------------------------");
    print(" Script by funy888");
    print("----------------------------------\n");
    }



    public OnGameModeInit()
    {


    ManualVehicleEngineAndLights();
    ManualVehicleEngineAndLights();
    SetGameModeText("Reallife Server");
    AddPlayerClass(95,1714.2986,-1911.9281,13.5667,276.4668,0,0,0,0,0,0);
    AddStaticVehicle(409,1716.4517,-1862.2272,13.3765,92.6735,1,1);


    return 1;
    }


    public OnGameModeExit()
    {
    return 1;
    }


    public OnPlayerRequestClass(playerid, classid)
    {


    SetPlayerPos(playerid,1501.0714,-1757.1316,87.6142);
    SetPlayerCameraPos(playerid,1501.0714,-1757.1316,87.6142);
    SetPlayerCameraLookAt(playerid,72.7656);
    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Accounts/%s.txt",Sname);
    if(dini_Exists(Spieler))
    {
    SendClientMessage(playerid,weiß,"Herzlich willkommen zurück auf unserem Server");
    ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden.Gib bitte dein Passwort ein ","Login","Abbrechen");

    }
    else
    {


    ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Regestrieren","Bitte wähle ein Passwort um dir ein Account zu erstellen.","Regestrieren","Abbrechen");



    }



    return 1;


    }





    public OnPlayerDisconnect(playerid, reason)
    {


    return 1;
    }



    public OnPlayerSpawn(playerid)
    {


    return 1;
    }


    public OnPlayerDeath(playerid, killerid, reason)
    {


    {


    TogglePlayerControllable(playerid, 0); // Das Bringt das der spieler gefrezzt ist = er kann sich nicht bewegen.
    SetPlayerPos(playerid,1162.871704, -1339.109619, 14.297291); // Hier Stellt ihr ein wo euer spieler beim krankenhaus stehen soll
    SetPlayerCameraPos(playerid, 1223.379028, -1333.354126, 33.809105); // Die Kamera Positision
    SetPlayerCameraLookAt(playerid, 1178.824829, -1325.804077, 13.284119); //Die Kamera Blickrichtung
    SetPlayerInterior(playerid, 0); // Das bringt das die Kamera nicht im haus ist
    SendClientMessage(playerid,COLOR_WHITE,"|____ Krankenhaus ____|");
    SendClientMessage(playerid,COLOR_WHITE,"Du bist nun im Krankenhaus. Du wirst gerade behandelt und darfst das Krankenhaus");
    SendClientMessage(playerid,COLOR_WHITE,"nicht verlassen bis die Ärtze mit der Untersuchung fertig sind. Dieser Vorgang");
    SendClientMessage(playerid,COLOR_WHITE,"wird eine Zeit von mindestens 1ner Minuten nach sich ziehen.");
    SendClientMessage(playerid,COLOR_WHITE,"|_____________________|"); //Ihr Müsst nicht unbedingt diesen text nehmen ihr könnt ihn beliebig editieren oder einfach nur eine zeile behalten



    SetTimerEx("tot",60000,0,"i",playerid); // Das ist der timer, das heißt nach 1ner minute wird mann entlassen kann mann Belibig verändern.
    return 1;
    }


    return 1;


    }


    public OnVehicleSpawn(vehicleid)
    {
    return 1;
    }


    public OnVehicleDeath(vehicleid, killerid)
    {
    return 1;
    }


    public OnPlayerText(playerid, text[])
    {
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/help", cmdtext, true, 10) == 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)
    {
    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,ROT,"Du hast den Login Vorgang abgeborchen");
    Kick(playerid);
    return 1;
    }
    if(response == 1)
    {
    Login(playerid,MD5_Hash(inputtext));
    return 1;
    }
    }
    if(dialogid == REGISTER)
    {
    if(response == 0)
    {
    SendClientMessage(playerid,ROT,"Du hast den Regestrierungsvorgang abgebrochen");
    Kick(playerid);
    return 1;
    }
    if(response == 1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,ROT,"Bitte gebe ein Passwort ein");
    ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Regestrieren","Bitte wähle ein Passwort um dir ein Account zu erstellen.","Regestrieren","Abbrechen");

    }
    Register(playerid,MD5_Hash(inputtext));


    return 1;
    }
    }
    return 1;

    }
    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
    return 1;
    }


    public tot(playerid)
    {
    SetPlayerPos(playerid,1182.6981,-1324.6304,13.5790); // Hier eintragen wo mann nachdem man aus den krankenhaus entlassen wurde spawn soll
    SetPlayerHealth(playerid,50.00); // Hier könnt ihr einsellen wie viel leben mann haben soll nachdem mann entlassen wurde
    GivePlayerMoney(playerid, -80); // Ganz hinten kannst du einstellen wie viel geld mann verlieren soll das - heißt abziehen das + dazu "Kann auch ganz weggemacht werden"
    SendClientMessage(playerid,COLOR_WHITE,"|____ Krankenhaus ____________|");
    SendClientMessage(playerid,COLOR_WHITE,"Du wurdest entlassen..");
    SendClientMessage(playerid,COLOR_WHITE,"Das ging schneller als gedacht");
    SendClientMessage(playerid,COLOR_WHITE,"Aber das kostet dich 80$");
    SendClientMessage(playerid,COLOR_WHITE,"|______________________________|"); // Ihr Müsst nicht unbedingt diesen text nehmen ihr könnt ihn beliebig editieren oder einfach nur eine zeile behalten
    }


    ocmd:heal(playerid,params[])
    {
    new pID,string[128],string2[128];
    if(!IsPlayerConnected(playerid))return SendClientMessage(playerid,rot,"Dieser Spiler ist nich Online !");
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,rot, "USAGE: /heal [ID]");
    SetPlayerHealth(playerid,100.00);
    format(string,sizeof(string),"Du hast %s geheilt",SpielerName(pID));
    format(string2,sizeof(string2),"Du wurdest vom Admin %s geheilt",SpielerName(playerid));
    SendClientMessage(playerid,weiß,string2);
    SendClientMessage(pID,weiß,string2);
    return 1;
    }
    ocmd:spawn(playerid,params[])
    {
    new pID,string[128],string2[128];
    if(!IsPlayerConnected(playerid))return SendClientMessage(playerid,rot,"Dieser Spiler ist nich Online !");
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,rot, "USAGE: /spawn [ID]");
    SetPlayerPos(playerid,1714.2986,-1911.9281,13.5667);
    format(string,sizeof(string),"Du hast %s gespawnt",SpielerName(pID));
    format(string2,sizeof(string2),"Du wurdest vom Admin %s gespawnt",SpielerName(playerid));
    SendClientMessage(playerid,weiß,string2);
    SendClientMessage(pID,weiß,string2);
    return 1;
    }
    /*----------------------------------------------------------------------------*-
    Function:
    sscanf
    Params:
    string[] - String to extract parameters from.
    format[] - Parameter types to get.
    {Float,_}:... - Data return variables.
    Return:
    0 - Successful, not 0 - fail.
    Notes:
    A fail is either insufficient variables to store the data or insufficient
    data for the format string - excess data is disgarded.


    A string in the middle of the input data is extracted as a single word, a
    string at the end of the data collects all remaining text.


    The format codes are:


    c - A character.
    d, i - An integer.
    h, x - A hex number (e.g. a colour).
    f - A float.
    s - A string.
    z - An optional string.
    pX - An additional delimiter where X is another character.
    '' - Encloses a litteral string to locate.
    u - User, takes a name, part of a name or an id and returns the id if they're connected.


    Now has IsNumeric integrated into the code.


    Added additional delimiters in the form of all whitespace and an
    optioanlly specified one in the format string.
    -*----------------------------------------------------------------------------*/


    stock sscanf(string[], format[], {Float,_}:...)
    {
    #if defined isnull
    if (isnull(string))
    #else
    if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
    #endif
    {
    return format[0];
    }
    #pragma tabsize 4
    new
    formatPos = 0,
    stringPos = 0,
    paramPos = 2,
    paramCount = numargs(),
    delim = ' ';
    while (string[stringPos] && string[stringPos] <= ' ')
    {
    stringPos++;
    }
    while (paramPos < paramCount && string[stringPos])
    {
    switch (format[formatPos++])
    {
    case '\0':
    {
    return 0;
    }
    case 'i', 'd':
    {
    new
    neg = 1,
    num = 0,
    ch = string[stringPos];
    if (ch == '-')
    {
    neg = -1;
    ch = string[++stringPos];
    }
    do
    {
    stringPos++;
    if ('0' <= ch <= '9')
    {
    num = (num * 10) + (ch - '0');
    }
    else
    {
    return -1;
    }
    }
    while ((ch = string[stringPos]) > ' ' && ch != delim);
    setarg(paramPos, 0, num * neg);
    }
    case 'h', 'x':
    {
    new
    num = 0,
    ch = string[stringPos];
    do
    {
    stringPos++;
    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 = string[stringPos]) > ' ' && ch != delim);
    setarg(paramPos, 0, num);
    }
    case 'c':
    {
    setarg(paramPos, 0, string[stringPos++]);
    }
    case 'f':
    {


    new changestr[16], changepos = 0, strpos = stringPos;
    while(changepos < 16 && string[strpos] && string[strpos] != delim)
    {
    changestr[changepos++] = string[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(string, format[formatPos], false, stringPos)) == -1)
    {
    if (format[end + 1])
    {
    return -1;
    }
    return 0;
    }
    format[end] = '\'';
    stringPos = ch + (end - formatPos);
    formatPos = end + 1;
    }
    case 'u':
    {
    new
    end = stringPos - 1,
    id = 0,
    bool:num = true,
    ch;
    while ((ch = string[++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
    string[end] = '\0';
    num = false;
    new
    name[MAX_PLAYER_NAME];
    id = end - stringPos;
    foreach (Player, playerid)
    {
    GetPlayerName(playerid, name, sizeof (name));
    if (!strcmp(name, string[stringPos], true, id))
    {
    setarg(paramPos, 0, playerid);
    num = true;
    break;
    }
    }
    if (!num)
    {
    setarg(paramPos, 0, INVALID_PLAYER_ID);
    }
    string[end] = ch;
    #if defined __SSCANF_FOREACH__
    #undef foreach
    #undef __SSCANF_FOREACH__
    #endif
    }
    stringPos = end;
    }
    case 's', 'z':
    {
    new
    i = 0,
    ch;
    if (format[formatPos])
    {
    while ((ch = string[stringPos++]) && ch != delim)
    {
    setarg(paramPos, i++, ch);
    }
    if (!i)
    {
    return -1;
    }
    }
    else
    {
    while ((ch = string[stringPos++]))
    {
    setarg(paramPos, i++, ch);
    }
    }
    stringPos--;
    setarg(paramPos, i, '\0');
    }
    default:
    {
    continue;
    }
    }
    while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
    {
    stringPos++;
    }
    while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
    {
    stringPos++;
    }
    paramPos++;
    }
    do
    {
    if ((delim = format[formatPos++]) > ' ')
    {
    if (delim == '\'')
    {
    while ((delim = format[formatPos++]) && delim != '\'') {}
    }
    else if (delim != 'z')
    {
    return delim;
    }
    }
    }
    while (delim > ' ');
    return 0;
    }


    stock Register (playerid,key[])
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Accounts/%s.txt",Sname);
    dini_Create(Spieler);
    dini_Set(Spieler,"Passwort",key);
    dini_IntSet(Spieler,"Fraktion",0);
    SetPlayerPos(286.148986,-40.644397,1001.515625);
    SetPlayerInterior(playerid, 1);
    SetTimerEx("Spawn",15000,false,"i",playerid);




    return 1;
    }


    stock Login (playerid,key[])
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Accounts/%s.txt",Sname);
    if(!strcmp(key,dini_Get(Spieler,"Passwort"),false))
    {
    SendClientMessage(playerid,weiß,"Du hast dich eingeloggt");
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du hast ein falscher Passwort eingegeben.");
    Kick(playerid);
    }
    return 1;
    }


    public Spawn(playerid){
    SpawnPlayer(playerid);}

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen