Savespawn

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
  • Moin Bratfischis,


    mein Kollege und ich haben bei unserem Script ein Problem. Wir haben uns (als Scriptinganfänger) mal an ein Enum gesetzt. Dort haben wir folgendes eingetragen:


    enum SpielerInfo
    {
    geschlecht,
    alter,
    skin,
    wanteds,
    //level,
    geld,
    eingeloggt,
    Float: spx,
    Float: spy,
    Float: spz,
    firstspawn
    }


    new sInfo[MAX_PLAYERS][SpielerInfo];


    Nun haben wir den CMD /savespawn erstellt:


    ocmd:savespawn(playerid,params[])
    {
    new name[128], save[128];
    new Float:spX,Float:spY,Float:spZ;
    GetPlayerPos(playerid,spX,spY,spZ);
    GetPlayerName(playerid,name,sizeof(name));
    format(save,sizeof(save),"/Spieler/%s.ini",name);
    if(dini_Exists(save))
    {
    SendClientMessage(playerid,COLOR_GREEN,"Info: Neuen Spawn gesetzt");
    dini_FloatSet(save,"spx",spX);
    dini_FloatSet(save,"spy",spY);
    dini_FloatSet(save,"spz",spZ);
    }
    return 1;
    }


    In der Datei werde diese auch eingetragen. Allerdings nicht wieder ausgelesen bzw. geändert nachdem Spawn.


    Zum Auslesen haben wir unter OnPlayerConnect geschrieben:


    new pName[MAX_PLAYER_NAME], save[128];
    GetPlayerName(playerid,pName,sizeof(pName));
    format(save,sizeof(save),"/Spieler/%s.ini",pName);


    if(!dini_Exists(save))
    {
    ShowPlayerDialog(playerid, DIALOG_REGISTER1, DIALOG_STYLE_INPUT, "Registrierung", "Gebe hier dein gewünschtes Passwort ein:", "OK", "Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid, DIALOG_LOGIN1, DIALOG_STYLE_INPUT, "Login", "Gebe bitte hier dein Passwort ein:", "OK", "Abbrechen");
    SetPlayerSkin(playerid,dini_Int(save,"skin"));
    SetPlayerWantedLevel(playerid,dini_Int(save,"wanteds"));
    GivePlayerMoney(playerid,dini_Int(save,"geld"));
    SetPlayerPos(playerid,dini_Float(save,"spx"),dini_Float(save,"spy"),dini_Float(save,"spz"));
    }
    return 1;


    Also man Spawnt nun mit unseren eingestellten Noobskin am Bahnhof in LV. Wir haben momentan keine FirstSpawn Abfrage drin.
    Woran kann das liegen das die Position nicht umgeändert wird?

    "Dem wird befohlen, der sich nicht selbst gehorchen kann" - Friedrich Nietzsche