Beiträge von firestormZ

    Am besten machst du es mit variablen, wenn er das erste mal connectet setzt du die erste variable auf 1, und wenn der spieler stribt fragst du ab ob sie auf 1 ist, wenn ja dann soll er dich im krankenhausspawnen lassen und wenn nein dann am noobspawn ^^

    Du hast kein Parameter für Level angegeben :)

    //LoadPlayer
    new query[500];
    format(query,sizeof(query),"UPDATE `accounts` SET `Level` = '%d' WHERE `Name` = '%s'",SpielerInfo[playerid][pLevel],PlayerName(playerid));
    mysql_query(query);
    SetPlayerScore(playerid,SpielerInfo[playerid][pLevel]);


    if(strcmp(cmdtext,"/essen",true)==0)
    {
    new Float:health; //FLoat definieren
    GetPlayerHealth(playerid, health); // Leben abfragen
    SetPlayerHealth(playerid, health+5); //Das abgefragte Leben (health) +5 :)
    SendClientMessage(playerid, 0xFFFFFFFF, "Guten Hunger!"); //nachricht senden
    return 1;
    }

    @midomen: Du hast vergessen die Interiorwelt von dem spieler auslesen zu lassen :thumbup:


    ocmd:goto(playerid,params[])
    {
    new Float:posy,Float:posx,Float:posz,spieler,int;
    if(sscanf(params,"u",spieler))return SendClientMessage(playerid,farbe,"Benutzung: /goto [Spieler]");
    if(variableobspieleradministenumoderpvar?>=adminrangabdemmansichportendarf)
    {
    GetPlayerPos(spieler,posx,posy,posz);
    int = GetPlayerInterior(spieler); //hast du vergessen :)
    if(IsPlayerInAnyVehicle(playerid))
    {
    new auto;
    auto = GetVehicleID(playerid);
    SetVehiclePos(auto,posx,posy,posz);
    LinkVehicleToInterior(auto,int);
    SetPlayerInterior(playerid,int);
    PutPlayerInVehicle(playerid,auto,0);
    }
    else
    {
    SetPlayerPos(playerid,posx,posy,posz);
    SetPlayerInterior(playerid,int);
    }
    }
    return 1;
    }


    ocmd:set(playerid,params[])
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 0)return SendClientMessage(playerid,WHITE,"Du bist nicht Eingeloggt");
    new pID,stufe,cmd[64];
    if(sscanf(params,"usi",pID,cmd,stufe))return SendClientMessage(playerid,WHITE,"Benutzung: /set [Playerid/Name] [Name] [Anzahl]");
    if(strcmp(cmd,"Respektpunkte",true,14)==0)
    {
    SpielerInfo[pID][Respektpunkte] = stufe;
    }
    else if(strcmp(cmd,"Geld",true,5)==0)
    {
    GivePlayerMoney(pID,stufe);
    }
    return 1;
    }

    Du hast keine Parameter beim Speichern angegeben, hier ist es mal richtig :)

    stock SpielerSpeichern(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid)) // Sofern der Spieler eingelogg ist bzw. im Spielt ist und kein NPC / BOT ist.
    {
    if(GetPVarInt(playerid,"logged") == 1) // Ob er eingeloggt ist, hätten wir diesen PVar nicht und der Spieler würde währen des Einloggen's Disconnecten wo die Variablen von ihm noch nicht geladen wurden, so wäre danach alles auf 0
    {
    new Float:x, Float:y, Float:z;
    // Use GetPlayerPos, passing the 3 float variables we just created
    GetPlayerPos(playerid, x, y, z);
    new query[500]; // Neuer query || TIPP : Die Länge eines Querys lässt sich mit Notepad++ Sehr leicht ermitteln einfach den Input hineinschreiben und ablesen wieviel Zeichen dieser hat.
    format(query,sizeof(query),"UPDATE `accounts` SET `Level` = '%d', `Money` = '%d', `Admin` = '%d', `pX` = '%f', `pY` = '%f', `pZ` = '%f' WHERE `Name` = '%s'",PInfo[playerid][pLevel],PInfo[playerid][pMoney],PInfo[playerid][pAdmin], x, y, z, SpielerName(playerid));
    mysql_query(query); // Wir senden ab
    }
    }
    return 1;
    }

    Edit: Ich mach es dir jetzt auch mal mit der FacingAngle (In der Richtung, in der der Spieler gerade schaut.):

    stock SpielerSpeichern(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid)) // Sofern der Spieler eingelogg ist bzw. im Spielt ist und kein NPC / BOT ist.
    {
    if(GetPVarInt(playerid,"logged") == 1) // Ob er eingeloggt ist, hätten wir diesen PVar nicht und der Spieler würde währen des Einloggen's Disconnecten wo die Variablen von ihm noch nicht geladen wurden, so wäre danach alles auf 0
    {
    new Float:x, Float:y, Float:z,Float:a;
    // Use GetPlayerPos, passing the 3 float variables we just created
    GetPlayerPos(playerid, x, y, z);
    GetPlayerFacingAngle(playerid, a);
    new query[500]; // Neuer query || TIPP : Die Länge eines Querys lässt sich mit Notepad++ Sehr leicht ermitteln einfach den Input hineinschreiben und ablesen wieviel Zeichen dieser hat.
    format(query,sizeof(query),"UPDATE `accounts` SET `Level` = '%d', `Money` = '%d', `Admin` = '%d', `pX` = '%f', `pY` = '%f', `pZ` = '%f', `pA` = '%f' WHERE `Name` = '%s'",PInfo[playerid][pLevel],PInfo[playerid][pMoney],PInfo[playerid][pAdmin], x, y, z, a, SpielerName(playerid));
    mysql_query(query); // Wir senden ab
    }
    }
    return 1;
    }
    SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pSkin], PlayerInfo[playerid][pX], PlayerInfo[playerid][pY], PlayerInfo[playerid][pZ], PlayerInfo[playerid][pA], 0, 0, 0, 0, 0, 0 );
    SetCameraBehindPlayer(playerid); //setzt die Kamera hinter dem Spieler :)
    SpawnPlayer(playerid);

    Du musst es nur entsprechend anpassen beim stock SpielerLaden :) wenn du Hilfe brauchst, sag mir bescheid oder melde dich hier im Thread :)


    Erklärung: %f ist ein Parameter für Floats = Dezimalzahl(Zahl mit Kommastellen)


    Mit freundlichen Grüßen
    firestormZ

    Ergänzung von @midomen:


    LinkVehicleToInterior..
    SetVehicleVirtualWorld...
    diese Funktionen musst du anpassen und am besten auslesen, wo playerid sich gerade befindet, z.B.

    LinkVehicleToInterior(vehicleid,GetPlayerInterior(playerid));


    for(new i = 0; i < MAX_PLAYERS;i++)
    {
    if(Medic[i] != 1) return SendClientMessage(playerid,ROT,"Es ist kein Arzt im Dienst!"); //deine abfrage (nutze i und klein playerid)
    {
    SetPlayerMarkerForPlayer(playerid, i, 0xFF0019FF);
    SendClientMessage(i,0xFF0019FF,"Ein neuer Notruf ist eingegangen, sprecht euch ab und fahrt zu dem Patienten!");
    //hier auch überall nur i statt playerid verwenden ^^
    }
    }


    ocmd:give(playerid,params[])
    {
    new pID, modul[45];
    if(sscanf(params,"s[20]u",modul,pID))return SendClientMessage(playerid,Grau,"Benutze: /give [Modul] [Playerid]");
    if(strcmp(modul,"license",true,10)==0)
    {
    SendClientMessage(pID,ROT,"TEST");
    }
    return 1;
    }

    Ein Float ist eine Dezimalzahl und ein Integer eine einfache Zahl, bei %f wird dein Leben z.B so ausgegeben = 100.0000, du kannst aber auch floatround nutzen und dein Leben wird als 100 ausgegeben :)

    new Float:leben, string[64];
    GetPlayerHealth(playerid, leben);
    format(string, sizeof(string), "Leben: %d", floatround(leben));