[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

  • Ich schließe mich mal der Suche an.

  • Kannst du das ausführlicher erklären bitte :s ?


    Also der Grund, wieso das Ganze nicht eingestreamt wird liegt darin, dass der Spieler mindestens 1 mal gespawnt werden muss.
    Jedoch gibt es eine Funktionen mit dem Namen Streamer_UpdateEx, mit der du die Objekte in einem Feld für den Spieler streamen lassen kannst.


    Syntax
    Streamer_UpdateEx(playerid, Float:x, Float:y, Float:z, worldid = -1, interiorid = -1);


    siehe auch :
    http://forum.sa-mp.com/showthread.php?t=102865



    Verwendungsbeispiel:



    public OnPlayerRequestClass(playerid, classid)
    {
    Streamer_UpdateEx(playerid,1117.58594, -1490.00781, 32.71875);
    TogglePlayerSpectating(playerid,false);
    SetPlayerPos(playerid,1126.8378, -1386.0857, 46.8765);
    SetPlayerCameraPos(playerid, 1126.8378, -1386.0857, 46.8765);
    SetPlayerCameraLookAt(playerid, 1123.0604, -1427.7638, 34.2935);
    return 1;
    }

  • Danke! ;)


    Ich versuche grad mit einem Befehl den Schaden von einem Fahrzeug zu bestimmen in dem ein Spieler sitzt.


    Bekomme es jedoch nich so hin.



    CMD:setcarhealth(playerid,params[])
    {
    if(GetPVarInt(playerid,"Level")<1) return SendClientMessage(playerid, -1, "Du musst ein "COL_LIGHTBLUE""#Level1" {FFFFFF}sein, um diese Funktion nutzen zu können.");
    if(sscanf(params,"ui",params[0],params[1])) return SendClientMessage(playerid,-1,""COL_LIGHTBLUE"Verwendung:{FFFFFF} /Setcarhealth <ID/Name> <Schaden> ");
    if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, -1,""COL_RED"Fehler: {FFFFFF}Spieler ist nicht online.");
    if(!IsPlayerInVehicle(params[0])) return SendClientMessage( playerid, -1, ""COL_RED"Fehler: {FFFFFF}Spieler ist nicht in einem Fahrzeug.");
    if(GetPVarInt(playerid,"Level")<GetPVarInt(params[0],"Level")) return SendClientMessage(playerid, -1, "Du kannst diesen Befehl nicht an diesem Administrator anwenden.");
    SetVehicleHealth(GetPlayerVehicleID, params[0], params[1]);
    return 1;
    }


    error 076: syntax error in the expression, or invalid function call


    was ist n da faul ?


    mfg

    • Offizieller Beitrag

    Welche Zeile denn?
    Und sollte es nicht IsPlayerInAnyVehicle heißen?
    Oder ist das eine eigene Funktion?


    Klappt das denn die var Params als Array zu nutzen?
    Es ist doch ein String, und somit wird bei params[0] nur der erste Buchstabe zurückgegeben, oder
    Täusch ich mich daß

  • Hab das jez so mit dem AnyVehicle, klappt alles ;) Da der Code



    CMD:setcarhealth(playerid,params[])
    {
    if(GetPVarInt(playerid,"Level")<1) return SendClientMessage(playerid, -1, "Du musst ein "COL_LIGHTBLUE""#Level1" {FFFFFF}sein, um diese Funktion nutzen zu können.");
    if(sscanf(params,"ui",params[0],params[1])) return SendClientMessage(playerid,-1,""COL_LIGHTBLUE"Verwendung:{FFFFFF} /Setcarhealth <ID/Name> <Schaden> ");
    if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, -1,""COL_RED"Fehler: {FFFFFF}Spieler ist nicht online.");
    if(!IsPlayerInAnyVehicle(params[0])) return SendClientMessage( playerid, -1, ""COL_RED"Fehler: {FFFFFF}Spieler ist nicht in einem Fahrzeug.");
    if(GetPVarInt(playerid,"Level")<GetPVarInt(params[0],"Level")) return SendClientMessage(playerid, -1, "Du kannst diesen Befehl nicht an diesem Administrator anwenden.");
    new vehicleid = GetPlayerVehicleID(playerid);
    SetVehicleHealth(vehicleid, params[1]);
    new String[245];
    format(String, sizeof String,"Du setzt "COL_LIGHTBLUE"%s's{FFFFFF} Fahrzeugschaden auf "COL_LIGHTBLUE"%d{FFFFFF}.",pName(params[0]),params[1]);
    SendClientMessage( playerid,-1, String);
    format(String, sizeof String,""COL_LIGHTBLUE"{FFFFFF}%s "COL_LIGHTBLUE"( {FFFFFF}%s "COL_LIGHTBLUE"){FFFFFF} setzt dein Fahrzeugschaden auf "COL_LIGHTBLUE"%d{FFFFFF}.",pName(playerid),GetPlayerLevelName(playerid),params[1]);
    SendClientMessage(params[0],-1, String);
    return 1;
    }


    Noch ne Frage .. :D



    CMD:explode(playerid, params[])
    {
    if(GetPVarInt(playerid,"Level")<2) return SendClientMessage(playerid, -1, "Du musst ein "COL_LIGHTBLUE""#Level2" {FFFFFF}sein, um diese Funktion nutzen zu können.");
    if(sscanf(params,"ui",params[0],params[1])) return SendClientMessage(playerid,-1,""COL_LIGHTBLUE"Verwendung:{FFFFFF} /explode <ID/Name>");
    if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, -1,""COL_RED"Fehler: {FFFFFF}Spieler ist nicht online.");
    new Float:x, Float:y, Float:z;
    GetPlayerPos(params[0],x,y,z);
    CreateExplosion(x,y,z,7,16);
    return 1;
    }


    Warum verlangt 2 Dinge ? also /explode (id) (irgendeine zahl..)
    Wenn ich das params 1 bei sscanf weg mache, geht gar nix mehr.

    Einmal editiert, zuletzt von Andreaas ()

  • Integer.


    Okay, danke! ;)


    //Edit:
    dir_list(dir:handle, storage[], &type);
    Was genau muss bei handle hin und was genau bei storage?
    Mit dem Beispiel in dem Thread kann ich auch nichts anfangen..
    Kann mir da jemand helfen?

    Mit freundlichen Grüßen
    ErikSon



    Scripte kleine Systeme auf Anfrage umsonst!
    Per PN könnt ihr mir gerne Scriptingfragen stellen.

    Einmal editiert, zuletzt von ErikSon () aus folgendem Grund: Weitere Frage

  • dHandle => Sollte klar sein
    item => Wonach du suchst, also was.
    type => Der Type (FM_File, etc.)

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen