[HELP] Einen Punkt speichern und dann wieder laden?

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
  • Hi,
    ich habe mal gesehen das man seine Position speicher (z.b mit /savepoint) und ihn dann mit (z.b /loadpoint) wieder aufrufen kann und zu dem Punkt dann teleportiert wird. Aber meine Frage ist, ob ihr mir dabei helfen könnt?
    Und der "/savepoint" sollte nicht gespeichert werden, sprich wenn ich mich neu einlogge sollte er nicht "existieren"...wäre echt nett wenn ihr mir helfen könnt



    mfg jeck_s :D

  • also was mit nem string??



    if(strcmp((cmdtext,"/savepoint",cmdtext,true) == 0)
    {
    new string[128];
    GetPlayerPos(playerid, &Float:x, &Float:y, &Float:z,sizeof(Koordinaten));
    {
    if(strcmp(cmdtext,"/loadpoint",true) == 0)
    format(string,sizeof(string), "%s", Koordinaten);
    SetPlayerPos(string);
    }
    return 1;
    }


    nur ein ansatz

  • Ne so liebe rnicht ;)


    if(strcmp((cmdtext,"/savepoint",cmdtext,true) == 0)
    {
    new Float:APos[3];
    GetPlayerPos(playerid,APos[0],APos[1],APos[2]);
    }


    if(strcmp((cmdtext,"/gotopoint",cmdtext,true) == 0)
    {
    new Float:APos[3];
    SetPlayerPos(playerid,APos[0],APos[1],APos[2]);
    }

  • thx :D:D:D:D:D
    habe es nonch bearbeitet^^ Du hatest paar Klammer Feheler (oben bei cmdtext)
    hier ist der richtige, fehlerfreie Code:



    if(strcmp("/savepoint",cmdtext,true) == 0)
    {
    new Float:APos[3];
    GetPlayerPos(playerid,APos[0],APos[1],APos[2]);
    }


    if(strcmp("/gotopoint",cmdtext,true) == 0)
    {
    new Float:APos[3];
    SetPlayerPos(playerid,APos[0],APos[1],APos[2]);
    return 1;
    }


    thx ;)


    mfg jeck_s



  • mhm, des geht leider net ;(


    kann mir da pls einer helfen?
    hier sind Screen's...und ich glaube den Ort kennt jeder :thumbdown:


    /savepoint
    /gotopoint


    und danach lande ich hier:



    pls help

  • also so sollen nicht in einer Datei gespeichert werden....

  • Viel zu kompliziert mit Datei^^


    Die Vorposter hatten mit ihren Befehlen recht, nur ich würde es so machen:



    new Float:SaveX[MAX_PLAYERS],Float:SaveY[MAX_PLAYERS],Float:SaveZ[MAX_PLAYERS];



    if(strcmp("/savepoint",cmdtext,true) == 0)
    {
    GetPlayerPos(playerid,SaveX[playerid],SaveY[playerid],SaveZ[playerid]);
    SendClientMessage(playerid,COLOR_GREEN,"Deine Position wurde gespeichert");
    return 1;
    }


    if(strcmp("/gotopoint",cmdtext,true) == 0)
    {
    SetPlayerPos(playerid,SaveX[playerid],SaveY[playerid],SaveZ[playerid]);
    return 1;
    }

  • Hab hier mal meinen selbergemachten dcmd befehl hoffe du weißt wie es umzuschreiben geht geht ja nur ums prinzip:
    new Float:SavePosX[MAX_PLAYERS];
    new Float:SavePosY[MAX_PLAYERS];
    new Float:SavePosZ[MAX_PLAYERS];
    dcmd_savepos(playerid,params[])
    {
    #pragma unused params
    if(pInfo[playerid][admin] >= 1)//meine defin. für admins(kannste ja weglassen)
    {
    GetPlayerPos(playerid,SavePosX[playerid],SavePosY[playerid],SavePosZ[playerid]);
    SendClientMessage(playerid,/*deine Farbe*/,"Deine Position wurde erfolgreich gespeichert.");
    }
    else
    {
    SendClientMessage(playerid,/*deine Farbe*/,"Du darfst diesen Command nicht nutzen!");
    }
    return 1;
    }


    dcmd_gotopos(playerid,params[])
    {
    #pragma unused params
    if(pInfo[playerid][admin] >= 1)//meine defin. für admins
    {
    if(SavePosX[playerid]==0)
    {
    return SendClientMessage(playerid,/*deine Farbe*/,"Du musst vorher /savepos eingeben!");
    }
    new vehicleid = GetPlayerVehicleID(playerid);
    new State = GetPlayerState(playerid);
    SetPlayerPos(playerid,SavePosX[playerid],SavePosY[playerid],SavePosZ[playerid]);
    if(IsPlayerInAnyVehicle(playerid) && State == PLAYER_STATE_DRIVER)
    {
    SetVehiclePos(vehicleid,SavePosX[playerid],SavePosY[playerid],SavePosZ[playerid]);
    PutPlayerInVehicle(playerid,vehicleid,0);
    }
    }
    else
    {
    SendClientMessage(playerid,/*deine Farbe*/,"Du darfst diesen Command nicht nutzen!");
    }
    return 1;
    }


  • thx =)


    bad_company, leider weiß ich net wie man dcmd umschreibt...aber auch danke für deinen aufwand! Habe es mir anschgeschaut und es hat mir auch gehofeln



    mfg jeck_s