string zu klein?

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Hey,
    bin gerade dabei das allererste mal mit dini zu arbeiten, habe aber auch schon mein erstes Problem.


    Habe gerade 2 Strings:


    vOwner[128]
    und
    INFO[64]


    Draus wird dann das hier gemacht:



    format(INFO, sizeof(INFO), "Owner[%d]",v);
    Vehicle[v][vOwner] = dini_Get("cars.cfg", INFO); //Fehlerzeile



    Aber egal welche Größe die Strings haben ich bekomme immer den Error:

    Zitat

    error 047: array sizes do not match, or destination array is too small

    Deshalb könnte ich jetzt mal eure Hilfe gebrauchen :D.

    ...

  • Ich würds mal so machen:
    format(Vehicle[v][vOwner],sizeof(Vehicle[v][vOwner]),dini_Get("cars.cfg", INFO));


    Und wenn das nicht geht:
    strmid(Vehicle[v][vOwner],dini_Get(String, "Name"),0,strlen(Vehicle[v][vOwner]),strlen(Vehicle[v][vOwner]));


    Ich scripte NICHT mehr, ich möchte mit NIEMANDEM einen Server aufmachen habe auch NICHTS mehr mit LoH zu tun, also lasst es mit den PNs!

    Einmal editiert, zuletzt von M4rciii ()

  • Naja also der Besitzer steht so in cars.cfg:


    Zitat

    Owner[0]=AlexandA

    Ich möchte die Ziffern die hinter dem = stehen in den String Vehicle[v][vOwner] übernehmen.



    Zu Maercell:


    Habe ich gemacht:
    format(INFO, sizeof(INFO), "Owner[%d]",v);
    //string = dini_Get("cars.cfg", INFO);
    //Vehicle[v][vOwner] = dini_Get("cars.cfg", INFO);
    format(Vehicle[v][vOwner],sizeof(Vehicle[v][vOwner]),dini_Get("cars.cfg", INFO));


    Jetzt bekomme ich 4 Errors + 1Warning in der Zeile:

    Zitat

    D:\Programme\Rockstar Games\GTA San Andreas\filterscripts\rl2.pwn(2887) : error 001: expected token: "]", but found "-identifier-"
    D:\Programme\Rockstar Games\GTA San Andreas\filterscripts\rl2.pwn(2887) : warning 215: expression has no effect
    D:\Programme\Rockstar Games\GTA San Andreas\filterscripts\rl2.pwn(2887) : error 001: expected token: ";", but found "]"
    D:\Programme\Rockstar Games\GTA San Andreas\filterscripts\rl2.pwn(2887) : error 029: invalid expression, assumed zero
    D:\Programme\Rockstar Games\GTA San Andreas\filterscripts\rl2.pwn(2887) : fatal error 107: too many error messages on one line

    ...

  • Alles klar, habe jetzt
    format(INFO, sizeof(INFO), "Owner[%d]",v);
    //string = dini_Get("cars.cfg", INFO);
    //Vehicle[v][vOwner] = dini_Get("cars.cfg", INFO);
    //format(Vehicle[v][vOwner],sizeof(Vehicle[v][vOwner]),dini_Get("cars.cfg", INFO));
    strmid(Vehicle[v][vOwner],dini_Get("cars.cfg", INFO),0,strlen(Vehicle[v][vOwner]),strlen(Vehicle[v][vOwner]));


    Gibt keine Errors. Da ich noch nie mit strmid gearbeitet habe und keinen blassen Schimmer habe wie das funktioniert, könntet ihr mir sagen ob dieser Code den selben Zweck erfüllt wie mein vorheriger?

    ...

  • Ich hab schon wieder ein Problem mit strmid und zwar wollte ich einen String in einen Array übergeben:
    strmid(JobInfo[Missions][Name],s,0,strlen(JobInfo[Missions][Name]),strlen(JobInfo[Missions][Name]));


    Also s ist ein string in dem ein Wort wie "Beruf" drinne steht. Aber wenn ich es beim überprüfen in den server "drucken" lasse kommt heraus:

    Zitat

    <null>



    //Edit:
    Problem für´s erste gelöst.