[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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,
    sobald ich mich einlogge erstellt sich dieser MySQL Log


    Code
    [15:05:56] [WARNING] CMySQLResult::GetRowDataByName - field not found ("Respektpunte")
    [15:05:56] [ERROR] cache_get_field_content_int - invalid data type
    [15:05:56] [WARNING] CMySQLResult::GetRowDataByName - field not found ("Geld")
    [15:05:56] [ERROR] cache_get_field_content_int - invalid data type

    Bitte um hilfe

  • Hi, arbeite gerade an einem Ping, FPS & Packetloss 3D Text System, doch es scheint nicht zu funktionieren :(



    new PlayerText3D:pInfos[MAX_PLAYERS];




    Da wo ich meine Accounts lade


    C
    /* Ping,FPS,PL Text */
    	new Float:pX,Float:pY,Float:pZ;
    	GetPlayerPos(id,pX,pY,pZ);
    	pInfos[id] = CreatePlayer3DTextLabel(id, "", -1, pX, pY, pZ-7, 15.0, id, INVALID_VEHICLE_ID, 0);
    	return 1;






    Hoffe mir kann jemand helfen :)


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Moin.


    @Jeffry



    Ich habe eine Public Function und übergebe Variablen.
    Diese Function wird via CallRemoteFunction aufgerufen, da der aufruf aus einem anderen Script kommt.
    In der Public Function selbst wird erfolgreich der Wert wie es von mir gewünscht ist, in die Variable geschrieben (SendClientMessage Debugging)
    Doch die Referenzen bleiben nicht bestehen. Ich bekomme nicht im anderen Script (dort wo der CallRemote herkommt) die abgeänderte Variable zurück.
    PS: Es handelt sich um ein Array Object.

  • Ja, eines im einen Code, und eines im anderen Code, das die geänderten Daten in Empfang nimmt und dann die Variable entsprechend ändert, die du referenzieren wolltest.


    Als Alternativen:
    - Alles in einem Code haben.
    - Über Dateien/Datenbank die Daten hin- und herschicken/übergeben (CallRemoteFunction dann nur als Event nutzen).

  • Das kannst du ganz einfach mithilfe einer if-else Abfrage realisieren. Hast du denn bereits einen Anfang mit deinem "/makeleader"-Befehl? Falls nicht, dann versuche diesen erst einmal soweit aufzubauen, wie es dir möglich ist, und danach können wir dir dann immer noch weiterhelfen. Das bringt ja nichts, wenn wir dir den ganzen Code schon fertig schicken. ;)

  • Frage^^


    Wie wird eigentlich in SAMP die Velocity / Geschwindigkeit benutzt? Normalerweise wird die Geschwindigkeit mit Gesamtdistance / Zeit berechnet, jetzt stellt sich aber die Frage wie es in SAMP geregelt wird bzw wie die Zeitvariable heißt, brauche das für genaue Berechnungen :)


    Standart geht so (in km/h):


    X,Y und Z sind die Variablen von GetVehicleVelocity.
    Math.sqrt bedeutet "QuadratWurzel ziehen"
    speed = Math.sqrt(X*X+Y*Y+Z*Z)*136.666667;
    Woher kommt jetzt diese Zahl: "136.666667"? Normalerweise (um mp/h) zu berechnen steht da glaube "100", dennoch, wozu multipliziert man bzw warum mit 100?

  • https://wiki.sa-mp.com/wiki/InterpolateCameraPos
    https://wiki.sa-mp.com/wiki/InterpolateCameraLookAt


    Dazu musst du aber noch SetPlayerPos aktualisieren (in der Nähe von der fliegenden Kamera), damit die Welt dort korrekt laden kann.
    Außerdem kannst du für die Kamera dieses Filterscript verwenden. Schau es dir einfach mal an ;)
    http://forum.sa-mp.com/showthread.php?t=330879

    Oder, statt den Spieler immer zu teleportieren, simplerweise mit folgender Funktion:
    TogglePlayerSpectating(playerid, 1);

  • Moin


    @Jeffry


    Ich bastel mir derzeitig eine eigene Bibliothek, um einfacher neue Scripte erstellen zu können sowie auch per STRG+Leertaste arbeiten zu können.
    Allerdings sagt mir der Compiler, das meine gewünschte Funktion nicht vorhanden ist.
    Mein Script sieht folgendermaßen aus:


    Natürlich beinhaltet meine Bibliothek mehr. Und soll auf dauer wachsen.
    Aber ich verstehe nicht die auftretende Fehlermeldung:



    C
    error 017: undefined symbol "User_IsAdmin"


    Warum kommt die Meldung? Ich kann es nicht nachvollziehen.

  • Es werden nur vollständige Anweisungen ersetzt, keine Teil-Übereinstimmungen.


    So würde es klappen:
    #define lib_IsAdmin User_IsAdmin
    /*
    native User_IsAdmin(PlayerID,rang);
    */
    forward bool:lib_IsAdmin(p,r);
    stock bool:lib_IsAdmin(p,r) return GetPVarInt(p,"Adminlevel")>=r;
    #undef lib_IsAdmin


    Aber dann kannst du es auch gleich ohne den Define machen.

  • Wo bist mein Fehler:


    GetPlayerPos(playerid, pInfo[playerid][pSpawnX], pInfo[playerid][pSpawnY], pInfo[playerid][pSpawnZ]);
    GetPlayerFacingAngle(playerid, pInfo[playerid][pSpawnR]);


    Fehler: