Beiträge von Kaliber

    Das Problem ist wen ich das Fahrzeug abgeschleppe zeigt er nichts im Log an.

    • Wie kommst du auf die 1 in mysql_log? Ich hab doch geschrieben, du sollst alles loggen. 1 entspricht nur den Fehlern, wir wollen aber alles wissen. (LOG_ALL entspricht dezimal betrachtet der 7 also wenn dann mysql_log(7)) aber nutz doch einfach das Makro ^^
    • Dafür gibt es eine separate Log Datei..die MySQL Log heißt..

    Du hast eine Variable jetzt vom Typ bool.


    Das heißt, du musst es nicht 0 setzen, sondern false.


    Vehicle[vehicleid][vehDestroyed] = false;


    Das wäre richtig :)


    und beim Laden gibt es hier keine spezifische bool Funktion, daher nutze einen Trick:


    PrivateVehicle[playerid][slot][vehDestroyed] = !!cache_get_field_content_int(0, "vehDestroyed");

    Schein gut zusein, was ist die Wirkung von _:

    _: entfernt den TAG einer Variable.


    Also zum Beispiel Float: oder bool: oder MySQL: wird entfernt und du erhälst den reinen Integer wert.


    Allerdings ist die Benutzung von _: in den seltesten Situationen wirklich sauber, man sollte da eher die richtigen Funktionen nutzen.


    Du beispielsweise nutzt cache_get_field_content_float für einen Integer Wert.


    Klar kannst du dann den Tag entfernen und kommst auf deinen Int, wow xD


    Man kann auch gleich die richtige Funktion nutzen und zwar: cache_get_field_content_int dann kann man sich dieses doppelte "casten" schenken.

    Da gibt es mehrere Möglichkeiten.


    • Du verwendest eine globale Variable wie z.B. new muteTargets[MAX_PLAYERS]; und dann weist du in deinem Command die so zu: muteTargets[playerid] = pID; und kannst dann immer darauf zugreifen. Problem hierbei ist natürlich, dass du permanent Speicher reservierst und dabei wahrscheinlich nur ganz kurz die Variable brauchst, kommt halt darauf an, wenn du damit ganz oft was machen willst und viele Zugriffe hast, dann ist diese Variante zu empfehlen, da sie schneller ist, als Variante zwei.
    • Denn hier nutzt du einfach ein PVar. Machst also einfach im Befehl SetPVarInt(playerid,"muteTarget",pID); und kannst dann im Dialog folgendes verwenden: new pID = GetPVarInt(playerid,"muteTarget");. Und das schöne dabei ist, sobald du fertig mit der Verwendung bist, kannst du den Speicher wieder freigeben, mit DeletePVar(playerid,"muteTarget");. Allerdings dauern hier die Zugriffe minimal länger, da unter anderem der String erst aufgelöst werden muss.

    Hoffe ich konnte dir helfen :)

    Hmm das sieht ja schon sehr merkwürdig aus :D


    Ich empfehle dir nochmal zu prüfen, ob Includes + Plugins zusammenpassen und dann nochmal die Skripte einzeln zu kompilieren mit den aktuellen Includes :)


    Als Test kannst du ja mal versuchen, das Skript ohne Filterscripts zu laden oder ohne das TDE Plugin, ich denke da könnte es vielleicht Probleme geben ^^

    Er öffnet glaube ich den Singleplayer anstatt den Multiplayer.

    Dann musst du die Kompatibilität von deiner gta_sa.exe auf z.B. Windows 7 oder Windows XP 3 setzen.


    Von SA:MP keine Kompatibilität setzen.


    Und anschließend SA:MP als Admin starten, das sollte eigentlich funktionieren :)

    versuch es so

    Du hast hier einen string quasi, der 2000 Indizes belegt.
    Das entspricht 2000 * 4 Byte = 8.000 Byte = 8kb die du da allozierst.
    Das geht aber auch mit 600. Somit würdest du (600 * 4 Byte = 2.400 Byte = 2.4kb) 5.6kb sparen.
    Das kann schon performanz technisch was aus machen.


    Dann kann man hier noch strcat nutzen, welches den String befüllt und zwar sehr schnell und effizient und am Ende nur ein format macht.


    So sieht das dann ordentlich aus:


    C
    new DialogString[600];
    strcat(DialogString,"{FFFFFF}Linie 1: LS Stadtlinie 1 {33AA33}(%d){FFFFFF}, ab Skill 0\n");
    strcat(DialogString,"{FFFFFF}Linie 2: LS Stadtlinie 2 {33AA33}(%d){FFFFFF}, ab Skill 2\n");
    strcat(DialogString,"{FFFFFF}Linie 3: LS Stadtlinie 3 (East) {33AA33}(%d){FFFFFF}, ab Skill 3\n");
    strcat(DialogString,"{FFFFFF}Linie 4: LS-SF {33AA33}(%d/5){FFFFFF}, ab Skill 4\n");
    strcat(DialogString,"{FFFFFF}Linie 5: SF-LS {33AA33}(%d/5){FFFFFF}, ab Skill 4\n");
    strcat(DialogString,"{FFFFFF}Linie 6: SF Stadtlinie 1 {33AA33}(%d/5){FFFFFF}, ab Skill 6\n");
    strcat(DialogString,"{FFFFFF}Linie 7: SF Stadtlinie 2 {33AA33}(%d/5){FFFFFF}, ab Skill 7\n");
    strcat(DialogString,"{FFFFFF}Linie 8: SF-LV {33AA33}(%d/5){FFFFFF}, ab Skill 8\n");
    format(DialogString,sizeof(DialogString),DialogString, linie[0], linie[1], linie[2], linie[3], linie[4], linie[5], linie[6], linie[7]);