koordinaten speichern

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
  • Vielleicht kennt ihr ja meinen letzten Thread. Breadfish konnte mir da sehr helfen danke nochmals falls die Helfer das lesen!


    Nun zum neuen Problem. Damit das individuelle Ganghaussystem fertig ist muss ich bestimmte Koordinaten speichern, um sie dann später mit IfIsPlayerInRangeOFPoint abzurufen. Ohne zwischendurch sich auszuloggen klappt die Funktion bis ins Detail. Nur ist das Problem obwohl ich meiner Meinung nach die Koordinaten richtig gespeichert hab, nähmlich genau so wie die Drogen oder Mats auch, klappt es einfach nicht das diese abegrufen werden und bei IsPlayerInRangeOFPoint einfach funktionieren.


    Damit ihr das ganze verfolgen könnt, hier die Zeiln von Pawno(pDrugs immer als Beispielswert bei den die Abspeicherung klappt):

    enum pInfo
    {
    pDrugs,
    Float:pDx,
    Float:pDy,
    Float:pDz,
    }

    Das was jetzt folgt hab ich genau so auch für pDy und pDz gemacht!

    Function OnPlayerRegister(playerid, password[])
    {
    if(IsPlayerConnected(playerid))
    {
    if (hFile)
    {
    format(var, 32, "Drugs=%d\n",PlayerInfo[playerid][pDrugs]);fwrite(hFile, var);
    format(var, 32, "VerstecktesKokainX=%d\n",PlayerInfo[playerid][pDx]);fwrite(hFile, var);
    }
    }
    }
    Function PlayerUpdate(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid])
    {
    if (hFile)
    {
    format(var, 32, "Drugs=%d\n",PlayerInfo[playerid][pDrugs]);fwrite(hFile, var);
    format(var, 32, "VerstecktesKokainX=%d\n",PlayerInfo[playerid][pDx]);fwrite(hFile, var);
    }
    }
    }
    }


    Function OnPlayerLogin(playerid,password[])
    {
    if ( UserFile )
    {
    if(strcmp(PlayerInfo[playerid][pKey],password, true ) == 0 )
    {
    while ( fread( UserFile , Data , sizeof( Data ) ) )
    {
    if( strcmp( key , "Drugs" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDrugs] = strval( val ); }
    if( strcmp( key , "VerstecktesKokainX" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMx] = strval( val ); }
    }
    }
    }
    }

    Das ist dann die Funktion die trotz ausloggen funktionieren soll. Wie gesagt ohne auszuloggen funktioniert sie aber wenn man sich ausgeloggt hat kommt immer das "else" "Hier hast du nichts versteckt".

    if(strcmp(cmdtext, "/dverstecken10" , true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    for(new i = 0; i < sizeof(HouseInfo); i++)
    {
    new location = PlayerInfo[playerid][pLocal];
    if(location < 255)
    {
    if(PlayerInfo[playerid][pDrugs] > 9)
    {
    new Float:dx,Float:dy,Float:dz;
    PlayerInfo[playerid][pDrugs] -= 10;
    PlayerInfo[playerid][Versteck] += 10;
    SendClientMessage(playerid,0xFF0000FF,"10 Gramm Kokain versteckt");
    GetPlayerPos(playerid,dx,dy,dz);
    PlayerInfo[playerid][pDx] = dx;
    PlayerInfo[playerid][pDy] = dy;
    PlayerInfo[playerid][pDz] = dz;
    }
    }
    }
    }
    }
    if(strcmp(cmdtext, "/dnehmen10" , true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new location = PlayerInfo[playerid][pLocal];
    if(IsPlayerInRangeOfPoint(playerid,10,PlayerInfo[playerid][pDx],PlayerInfo[playerid][pDy],PlayerInfo[playerid][pDz]))
    {
    if(location < 255)
    {
    if(PlayerInfo[playerid][Versteck] > 9)
    {
    PlayerInfo[playerid][pDrugs] += 10;
    PlayerInfo[playerid][Versteck] -= 10;
    SendClientMessage(playerid,0xFF0000FF,"10 Gramm Kokain genommen");
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Du hast hier nicht genug Kokain");
    }
    }
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Hier hast du nichts versteckt");
    }
    }
    }

  • Wäre echt nett aber ich denke das ist zu schwer für due Breadfishuser. Beim letzten Problem hat es schon gedauert bis jemand mir helfen konnte aber das ist wohl zu schwer jedenfalls für die aktiven User. Hoffe einer von den inaktiven stolpert hier nochmal drüber und ich kann das ganze doch noch lösen...

  • also ich habe mir das mal angesehen aber ich kann dir da wirklich nicht mehr weiterhelfen ich war da mind. 2 stunden dran aber hab es nicht hinbekommen.
    Ich hoffe es hilft dir jemand anderst der gut Scripten kann
    MfG

  • "%d" ist nur für integer also eine zahl...


    "%f" wäre für float in dem Fall bei dir Float:pDx


    also einfach %d zu %f

    [tabmenu][tab='Angebote','http://cdn3.iconfinder.com/data/icons/glyph/227/Tag-48.png']

    + Die Preise liegen bei 5-100+€ Ablauf:
    + Entweder ihr addet mich in Skype (PN vorher Schreiben) oder Ihr schreibt eine PN an mich (Betreff - Euer Wunsch z.B. Filterscript)
    + So nun schreibt ihr mir was ihr alles in dem Script haben wollt ich werd euch dann sagen ob ich es hinbekomme.
    + Dann machen wir ein groben Preis aus. Ich werde das Script erstellen und es zusammen mit dem Kunden Testen.



    [tab='Kontakt','http://cdn3.iconfinder.com/data/icons/line/36/person_add-48.png']
    edmix23

    + Bitte beim Adden angeben wer ihr seit oder per PN bescheid sagen!
    [tab='Zahlungs Methoden','https://cdn3.iconfinder.com/data/icons/line/36/check_money-32.png']
    +Paypal!
    +Direkte Banküberweisung

  • Und wie sieht es aus mit pMx, pMy, pMz?
    Zudem klappt wie gesagt die Abfrage vom Befehl genial nur das Speichern klappt nicht.
    So klappt es leider auch nicht. Falls ihr nicht weiter wisst gebe ich mal mehr Informationen
    enum pInfo
    {
    Float:pfx,
    Float:pfy,
    Float:pfz,
    Float:pMx,
    Float:pMy,
    Float:pMz,
    Float:pfx2,
    Float:pfy2,
    Float:pfz2,
    Float:pMx2,
    Float:pMy2,
    Float:pMz2,
    Float:pfx3,
    Float:pfy3,
    Float:pfz3,
    Float:pMx3,
    Float:pMy3,
    Float:pMz3
    }
    Function OnPlayerRegister(playerid, password[])
    {
    if(IsPlayerConnected(playerid))
    {
    if (hFile)
    {
    format(var, 32, "VerstecktesKokainX=%d\n",PlayerInfo[playerid][pfx]);fwrite(hFile, var);
    format(var, 32, "VerstecktesKokainY=%d\n",PlayerInfo[playerid][pfy]);fwrite(hFile, var);
    format(var, 32, "VerstecktesKokainZ=%d\n",PlayerInfo[playerid][pfz]);fwrite(hFile, var);
    format(var, 32, "VersteckteMatsX=%d\n",PlayerInfo[playerid][pMx]);fwrite(hFile, var);
    format(var, 32, "VersteckteMatsY=%d\n",PlayerInfo[playerid][pMy]);fwrite(hFile, var);
    format(var, 32, "VersteckteMatsZ=%d\n",PlayerInfo[playerid][pMz]);fwrite(hFile, var);
    format(var, 32, "VerstecktesKokainX2=%d\n",PlayerInfo[playerid][pfx2]);fwrite(hFile, var);
    format(var, 32, "VerstecktesKokainY2=%d\n",PlayerInfo[playerid][pfy2]);fwrite(hFile, var);
    format(var, 32, "VerstecktesKokainZ2=%d\n",PlayerInfo[playerid][pfz2]);fwrite(hFile, var);
    format(var, 32, "VersteckteMatsX2=%d\n",PlayerInfo[playerid][pMx2]);fwrite(hFile, var);
    format(var, 32, "VersteckteMatsY2=%d\n",PlayerInfo[playerid][pMy2]);fwrite(hFile, var);
    format(var, 32, "VersteckteMatsZ2=%d\n",PlayerInfo[playerid][pMz2]);fwrite(hFile, var);
    format(var, 32, "VerstecktesKokainX3=%d\n",PlayerInfo[playerid][pfx3]);fwrite(hFile, var);
    format(var, 32, "VerstecktesKokainY3=%d\n",PlayerInfo[playerid][pfy3]);fwrite(hFile, var);
    format(var, 32, "VerstecktesKokainZ3=%d\n",PlayerInfo[playerid][pfz3]);fwrite(hFile, var);
    format(var, 32, "VersteckteMatsX3=%d\n",PlayerInfo[playerid][pMx3]);fwrite(hFile, var);
    format(var, 32, "VersteckteMatsY3=%d\n",PlayerInfo[playerid][pMy3]);fwrite(hFile, var);
    format(var, 32, "VersteckteMatsZ3=%d\n",PlayerInfo[playerid][pMz3]);fwrite(hFile, var);
    }
    }
    }
    Function PlayerUpdate(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid])
    {
    if (hFile)
    {
    format(var, 32, "VerstecktesKokainX=%d\n",PlayerInfo[playerid][pfx]);fwrite(hFile, var);
    format(var, 32, "VerstecktesKokainY=%d\n",PlayerInfo[playerid][pfy]);fwrite(hFile, var);
    format(var, 32, "VerstecktesKokainZ=%d\n",PlayerInfo[playerid][pfz]);fwrite(hFile, var);
    format(var, 32, "VersteckteMatsX=%d\n",PlayerInfo[playerid][pMx]);fwrite(hFile, var);
    format(var, 32, "VersteckteMatsY=%d\n",PlayerInfo[playerid][pMy]);fwrite(hFile, var);
    format(var, 32, "VersteckteMatsZ=%d\n",PlayerInfo[playerid][pMz]);fwrite(hFile, var);
    format(var, 32, "VerstecktesKokainX2=%d\n",PlayerInfo[playerid][pfx2]);fwrite(hFile, var);
    format(var, 32, "VerstecktesKokainY2=%d\n",PlayerInfo[playerid][pfy2]);fwrite(hFile, var);
    format(var, 32, "VerstecktesKokainZ2=%d\n",PlayerInfo[playerid][pfz2]);fwrite(hFile, var);
    format(var, 32, "VersteckteMatsX2=%d\n",PlayerInfo[playerid][pMx2]);fwrite(hFile, var);
    format(var, 32, "VersteckteMatsY2=%d\n",PlayerInfo[playerid][pMy2]);fwrite(hFile, var);
    format(var, 32, "VersteckteMatsZ2=%d\n",PlayerInfo[playerid][pMz2]);fwrite(hFile, var);
    format(var, 32, "VerstecktesKokainX3=%d\n",PlayerInfo[playerid][pfx3]);fwrite(hFile, var);
    format(var, 32, "VerstecktesKokainY3=%d\n",PlayerInfo[playerid][pfy3]);fwrite(hFile, var);
    format(var, 32, "VerstecktesKokainZ3=%d\n",PlayerInfo[playerid][pfz3]);fwrite(hFile, var);
    format(var, 32, "VersteckteMatsX3=%d\n",PlayerInfo[playerid][pMx3]);fwrite(hFile, var);
    format(var, 32, "VersteckteMatsY3=%d\n",PlayerInfo[playerid][pMy3]);fwrite(hFile, var);
    format(var, 32, "VersteckteMatsZ3=%d\n",PlayerInfo[playerid][pMz3]);fwrite(hFile, var);
    }
    }
    }
    }
    Function OnPlayerLogin(playerid,password[])
    {
    if ( UserFile )
    {
    if(strcmp(PlayerInfo[playerid][pKey],password, true ) == 0 )
    {
    while ( fread( UserFile , Data , sizeof( Data ) ) )
    {
    if( strcmp( key , "VerstecktesKokainX" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pfx] = strval( val ); }
    if( strcmp( key , "VerstecktesKokainY" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pfy] = strval( val ); }
    if( strcmp( key , "VerstecktesKokainZ" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pfz] = strval( val ); }
    if( strcmp( key , "VersteckteMatsX2" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMx2] = strval( val ); }
    if( strcmp( key , "VersteckteMatsY2" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMy2] = strval( val ); }
    if( strcmp( key , "VersteckteMatsZ2" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMz2] = strval( val ); }
    if( strcmp( key , "VerstecktesKokainX2" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pfx2] = strval( val ); }
    if( strcmp( key , "VerstecktesKokainY2" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pfy2] = strval( val ); }
    if( strcmp( key , "VerstecktesKokainZ2" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pfz2] = strval( val ); }
    if( strcmp( key , "VersteckteMatsX3" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMx3] = strval( val ); }
    if( strcmp( key , "VersteckteMatsY3" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMy3] = strval( val ); }
    if( strcmp( key , "VersteckteMatsZ3" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMz3] = strval( val ); }
    if( strcmp( key , "VerstecktesKokainX3" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pfx3] = strval( val ); }
    if( strcmp( key , "VerstecktesKokainY3" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pfy3] = strval( val ); }
    if( strcmp( key , "VerstecktesKokainZ3" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pfz3] = strval( val ); }
    }
    }
    }
    }
    if(strcmp(cmdtext, "/dverstecken10" , true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    for(new i = 0; i < sizeof(HouseInfo); i++)
    {
    new location = PlayerInfo[playerid][pLocal];
    if(location < 255)
    {
    if(PlayerInfo[playerid][pDrugs] > 9)
    {
    new Float:dx,Float:dy,Float:dz;
    PlayerInfo[playerid][pDrugs] -= 10;
    PlayerInfo[playerid][Versteck] += 10;
    SendClientMessage(playerid,0xFF0000FF,"10 Gramm Kokain versteckt");
    GetPlayerPos(playerid,dx,dy,dz);
    PlayerInfo[playerid][pfx] = dx;
    PlayerInfo[playerid][pfy] = dy;
    PlayerInfo[playerid][pfz] = dz;
    }
    }
    }
    }
    }
    if(strcmp(cmdtext, "/dnehmen10" , true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new location = PlayerInfo[playerid][pLocal];
    if(IsPlayerInRangeOfPoint(playerid,10,PlayerInfo[playerid][pfx],PlayerInfo[playerid][pfy],PlayerInfo[playerid][pfz]))
    {
    if(location < 255)
    {
    if(PlayerInfo[playerid][Versteck] > 9)
    {
    PlayerInfo[playerid][pDrugs] += 10;
    PlayerInfo[playerid][Versteck] -= 10;
    SendClientMessage(playerid,0xFF0000FF,"10 Gramm Kokain genommen");
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Du hast hier nicht genug Kokain");
    }
    }
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Hier hast du nichts versteckt");
    }
    }
    }
    Und nach Relogg kommt immer "Hier hast du nichts versteckt".

  • Hab die Floats jetzt so eingestellt (hab nachgeguckt die anderen sind auch so eingestellt):
    if( strcmp( key , "VerstecktesKokainX" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pfx] = floatstr(val); }
    if( strcmp( key , "VerstecktesKokainY" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pfy] = floatstr(val); }
    if( strcmp( key , "VerstecktesKokainZ" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pfz] = floatstr(val); }


    Leider ist es immernoch der selbe Fehler....

  • Hab die Floats jetzt so eingestellt (hab nachgeguckt die anderen sind auch so eingestellt):
    if( strcmp( key , "VerstecktesKokainX" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pfx] = floatstr(val); }
    if( strcmp( key , "VerstecktesKokainY" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pfy] = floatstr(val); }
    if( strcmp( key , "VerstecktesKokainZ" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pfz] = floatstr(val); }


    Leider ist es immernoch der selbe Fehler....


    ouu okay ja dann musst nochmals Haxler oder !The0 fragen

  • Also einfach ganz oben im Script print("dnehmen10"); zB?


    Also einfach ganz oben im Script print("dnehmen10"); zB?


    Der Befehl "print" schreibt dir einen Text in deine Server Konsole!
    Damit kannst du also sehen, wann ein Befehl abgebrochen wird.
    Du kannst aber auch deinen String printen lassen (printf("%s",string);).
    Somit kannst du dir als Beispiel deine Koordinaten in die Serverkonsole schreiben lassen und kannst sehen,
    wo das Problem sein könnte.


    Ok also muss ich
    print("/dnehmen10");
    machen oder was (Als Beispiel)?