Beiträge von Kinimod

    Nope, ist nach dem derzeitigen Entwicklungsstand von SA:MP nicht möglich.


    Du kannst Dir allerdings eine eigene Pickup Funktion erstellen, die in einem Array alle Pickup Positionen speichern:

    enum ENUM_PICKUP_POSITION_DATA{
    Float: pickupX,
    Float: pickupY,
    Float: pickupZ
    };
    new pickupPositions[MAX_PICKUPS][ENUM_PICKUP_POSITION_DATA];


    stock AddPickup(model, type, Float: x, Float: y, Float: z, virtualworld){ //Rückgabewerte: ID des Pickups
    CreatePickup(model, type, Float: x, Float: y, Float: z, virtualworld);
    for(new i=0; i<MAX_PICKUPS; i++){
    if(pickupPositions[i][pickupX] == 0 && pickupPositions[i][pickupY] == 0 && pickupPositions[i][pickupZ] == 0){
    pickupPositions[i][pickupX] = x;
    pickupPositions[i][pickupY] = y;
    pickupPositions[i][pickupZ] = z;
    return i;
    }
    }
    }


    Grad so im Posteditor geschrieben, Code ohne Gewähr. Sollte funktionieren, wenn nicht, sag bescheid.

    ehm das kann nicht gehen


    error 008: must be a constant expression; assumed zero
    das war irgendwie anders


    Du kannst ja auch einem String (genauer genommen einem Array) nichts mit dem =-Operartor zuweisen, wenn kein direkter Index angesprochen wird, was in deinem Fall aber nonsense wäre.
    Du musst die Zuweisung mit format() lösen.


    new Herkunft[ANZAHL_DER_MAXIMALEN_ZEICHEN];
    format(Herkunft, sizeof(Herkunft), "%s", PlayerInfo[targetid][pHerkunft]);
    format(string5, sizeof(string5), "\t\t\tHerkunft %s",Herkunft);


    Noch einfacher wäre es, direkt mit der Enumvariable (PlayerInfo) zu arbeiten und es nicht noch direkt in einer neuen Variable zu speichern.


    //E: PlayerInfo[targetid][pHerkunft] muss natürlich auch ein Array sein.

    Als erstes würde ich nur eine String Variable verwenden, die kann man doch einfach überschreiben, nachdem der erste Inhalt von dieser verwendet wurde.

    new date[7],string[64];
    getdate(date[0], date[1], date[2]);
    gettime(date[4], date[5], date[6]);
    format(string,sizeof(string), "%d.%d.%d",date[1],date[2],date[3]);
    SpielerInfo[playerid][pLastOnlineDatum] = string;
    format(string,sizeof(string), "%d:%d:%d",date[4],date[5],date[6]);
    SpielerInfo[playerid][pLastOnlineZeit] = string;


    //E: Du hast also auch die Prozentzeichen im format() vergessen, sollte aber auch nicht der Fehler des Problems sein.
    Wenn das so nicht funktioniert, wäre es hilfreich, dass du im Code per Kommentar angibst, wo sich ein Fehler befindet.

    Ich würde ja aher auf einen Timestamp zurückgreifen.


    pLastOnlineDatum => Integer


    SpielerInfo[playerid][pLastOnlineDatum] = gettime();
    Diese Funktion liefert den UNIX Timestamp, der später umgewandelt werden kann (in PHP durch die Funktion date() und in SAMP durch eine Funktion, die man googlen kann), da sie nur die Sekunden seit dem 01.01.1970 returnt.
    Sinnvoll, wenn man das Datum noch andersformig anzeigen lassen will.


    Wenn du das so nicht möchtest und das Datum direkt speichern willst:


    Ansonsten machst du aus "pLastOnlineDatum" einen String und lässt das Datum via format() formatieren und dann als String speicherhn.



    new hour, minute, second, day, month, year, date[17] /* Hab grad die Anzahl der möglichen Zeichen berücksichtigt, ka ob ich mich auf die Schnelle verrechnet habe */;
    gettime(hour, minute, second);
    format(date, sizeof(date), "%i.%i.%i - %i:%i", day, month, year, hour, minute);
    SpielerInfo[playerid][pLastOnlineDatum] = date;

    Wenn du neu in pawno (die Sprache heißt "PAWN" und der Editor nennt sich "PAWNO") bist, dann versuch dich erstmal an einem eigenen Script.
    Godfatherscripts sind viel zu umständlich und buggy, sodass Anfänger da viele Probleme haben.