[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
  • Beitrag von YaBroo ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Hey. :)


    Meine Mathematischen Kenntnisse wollen grad nicht so wirklich anspringen...


    Ich habe einmal die "Variable" um den maximalen Speicher an Tank von einem Fahrzeug herauszufinden, und die Variable für den aktuellen Tank.


    Ich möchte einen Benzin-Kanister Befehl erstellen.
    Dieser hat 5 Liter Inhalt.
    Der Kanister soll nur funktionieren solange das Fahrzeug weniger als 5Liter vom maximalen Tank hat.
    Also, idk wie ich das beschreiben soll.


    Fahrzeug hat 30 Liter maximalen Tank.
    Fahrzeug hat aktuell 27 Liter, Kanister funktioniert nicht.
    Kanister Funktioniert bspw. erst ab 25.00 Liter.


    Die Variablen sind wie folgt:

    VehicleData[GetVehicleModel(vehicleid)-400][vehMaxTank]


    // und:


    Vehicle[vehicleid][vehFuel]


    @Jeffry :)

  • Danke @Jeffry , funktioniert bisher sehr gut :)!


    Habe noch eine kleine Frage, habe ein Befehl erstellt um den Server zu sperren / entsperren (Passwort). Der funktioniert, nur ist die Nachicht irgendwie komisch.


    So schaut der Befehl aus:



    CMD:lock(playerid, params[]) {
    new cQuery[128];



    if(pData[playerid][P_Admin] < 6) return
    SendClientMessage(playerid, COLOR_RED, LV_Fail);



    if(params[0] != '\0') {
    format(cQuery, sizeof(cQuery), "password %s", params[0]);
    SendRconCommand(cQuery);
    format(cQuery, sizeof(cQuery), "Server has been locked by %s%s", GetPlayerColor(playerid) >>> 8, GetName(playerid));
    }
    else {
    SendRconCommand("password 0");
    format(cQuery, sizeof(cQuery), "Server has been unlocked by %s%s", GetPlayerColor(playerid) >>> 8, GetName(playerid));
    }



    SendClientMessageToAll(COLOR_ORANGE, cQuery);
    return 1;
    }


    und so die Nachicht (komische Buchstaben):



    Ich habe das Gefühl das liegt irgendwie an GetPlayerName, oder?


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Beitrag von YaBroo ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Wieder zu spät :=) ().
  • if(Vehicle[vehicleid][vehFuel]+5 > VehicleData[GetVehicleModel(vehicleid)-400][vehMaxTank]) return SendClientMessage(playerid, 0xFF0000FF, "Error: Tank zu voll.");

    Danke :)


    Hab noch ein Problem:


    if(!(Spieler[playerid][pJob] == 2) || !(Spieler[playerid][pFraktion] == 1))return SendClientMessage(playerid, COLOR_GREY, "** Du bist kein Beamter/Detektiv.");


    Habe pJob = 2, es kommt ich bin kein Beamter/Detektiv.


    Ich bin pFraktion = 1, es funktioniert.


    Hmm ..

  • @Jeffry


    Hmm scheint nicht zu funktionieren, es wird immer nur der Server gesperrt. Befehl schaut so aus:




    CMD:lock(playerid, params[]) {
    new cQuery[128];



    if(pData[playerid][P_Admin] < 6) return
    SendClientMessage(playerid, COLOR_RED, LV_Fail);



    if(strlen(params)) {
    format(cQuery, sizeof(cQuery), "password %s", params[0]);
    SendRconCommand(cQuery);
    format(cQuery, sizeof(cQuery), "Server has been locked by {%06x}%s ", GetPlayerColor(playerid) >>> 8, GetName(playerid));
    }
    else {
    SendRconCommand("password 0");
    format(cQuery, sizeof(cQuery), "Server has been unlocked by {%06x}%s ", GetPlayerColor(playerid) >>> 8, GetName(playerid));
    }



    SendClientMessageToAll(COLOR_ORANGE, cQuery);
    return 1;
    }


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Bei der zweiten Methode erhalte ich folgende Errors:


    C:\Users\David\Desktop\LnD\gamemodes\main.pwn(2957) : warning 217: loose indentation
    C:\Users\David\Desktop\LnD\gamemodes\main.pwn(2959) : warning 209: function "cmd_lock" should return a value
    C:\Users\David\Desktop\LnD\gamemodes\main.pwn(2960) : error 010: invalid function or declaration
    C:\Users\David\Desktop\LnD\gamemodes\main.pwn(2965) : error 021: symbol already defined: "SendClientMessageToAll"
    C:\Users\David\Desktop\LnD\gamemodes\main.pwn(2966) : error 010: invalid function or declaration
    Pawn compiler 3.10.20150531 Copyright (c) 1997-2006, ITB CompuPhase




    3 Errors.


    Mit freundlichen Grüßen
    JustMe.77 8)

  • @Jeffry


    Habe das leicht überflogen, aber es funktioniert nur mit Listitems Dialogen und nicht mit MSGBox Dialogen oder?
    Was ich weiß ist das es per MSG Box möglich ist, Slice hat da irgendwas erstellt kann da ein SS hochladen wenn erwünscht. Nur weiß ich leider nicht wie er das gemacht hat.


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Beitrag von Syno ()

    Dieser Beitrag wurde vom Autor gelöscht ().