Mehre Fragen

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
  • Hallo,
    habe einen Befehl geschrieben das man seinen Skin changen kann, leider funktioniert dies noch nicht. Kann mir jemand sagen woran es liegt? Weil habe ja eigentlich alles richtig gemacht.


    ocmd:skin(playerid, params[]) {
    new skinid;
    if(sscanf(params, "ddd", skinid)) return SendClientMessage(playerid, Red, "Verwendung: /skin [Skinid]");
    if(skinid < 0 || skinid > 299) return SendClientMessage(playerid, Red, "Skinid von 0 bis 299!");
    SetPlayerSkin(playerid, skinid);
    SendClientMessage(playerid, Grün, "Du hast deinen Skin erfolgreich geändert");
    return 1;
    }

    Einmal editiert, zuletzt von mediumkova ()

  • Beitrag von Akino Kiritani ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Danke


    Ahja noch eine Frage,
    wie kann ich es machen das im SendClientMessage steht "Du hast deinen Skin erfolgreich zu "SkindID" geändert.
    Würde es so machen:
    SendClientMessage(playerid, Grün, "Du hast deinen Skin erfolgreich zu skinid geändert");
    aber bin mir nicht sicher ob es gehen würde.

  • Das machst du so:
    ocmd:skin(playerid, params[]) {
    new skinid;
    if(sscanf(params, "d", skinid)) return SendClientMessage(playerid, Red, "Verwendung: /skin [Skinid]");
    if(skinid < 0 || skinid > 299) return SendClientMessage(playerid, Red, "Skinid von 0 bis 299!");
    SetPlayerSkin(playerid, skinid);
    new str[144];
    format(str, sizeof(str), "Du hast deinen Skin erfolgreich zu Skin %d geändert.", skinid);
    SendClientMessage(playerid, Grün, str);
    return 1;
    }


    format => Platzhalter mit Variablen füllen.
    %d => Zahl
    %s => Text (String)
    %f => Float (Kommazahl)
    http://wiki.sa-mp.com/wiki/Format

  • Habe es jetzt so in meinem Script:
    ocmd:skin(playerid, params[]) {
    new skinid;
    if(sscanf(params, "d", skinid)) return SendClientMessage(playerid, Red, "Verwendung: /skin [Skinid]");
    if(skinid < 0 || skinid > 299) return SendClientMessage(playerid, Red, "Skinid von 0 bis 299!");
    SetPlayerSkin(playerid, skinid);
    new str[144];
    format(str, sizeof(str), "Du hast deinen Skin erfolgreich geändert.%d, skinid);
    SendClientMessage(playerid, Grün, str);
    return 1;
    }
    P.S.Habe erst gestern mit Pawn angefangen sorry :D


    Bekomme aber dann diese Fehlercodes:

    Code
    C:\Users\Admin\Desktop\Dateien\GTA Server\gamemodes\Deathmatch.pwn(107) : error 037: invalid string (possibly non-terminated string)
    C:\Users\Admin\Desktop\Dateien\GTA Server\gamemodes\Deathmatch.pwn(107) : error 017: undefined symbol "Du"
    C:\Users\Admin\Desktop\Dateien\GTA Server\gamemodes\Deathmatch.pwn(107) : error 017: undefined symbol "hast"
    C:\Users\Admin\Desktop\Dateien\GTA Server\gamemodes\Deathmatch.pwn(107) : fatal error 107: too many error messages on one line
  • Du hast das etwas durcheinander gebracht, schau mal:


    Deins:
    format(str, sizeof(str), "Du hast deinen Skin erfolgreich geändert.%d, skinid);


    richtig:
    format(str, sizeof(str), "Du hast deinen Skin erfolgreich zu Skin %d geändert.", skinid);


    Du hattest die hinteren Anführungszeichnen vergessen, und das %d muss an die Stelle im Text zwischen den Anführungszeichen, wo du später die Nummer stehen haben willst.

  • hier ist der Befehl zum zerstören von Fahrzeugen einfach deine Variablen einsetzten


    ocmd:deletcar(playerid,params[])
    {
    if(!isAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Info: Du bist dazu nicht befugt!");
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid,ROT,"Du bist in keinem Fahrzeug.");
    DestroyVehicle(GetPlayerVehicleID(playerid));
    return 1;
    }


    ich weiß jetze nicht ob du das so meintest aber hier ein link da wirst du schon alleine schlau drüber wenn nicht dann frag


    http://wiki.sa-mp.com/wiki/SendClientMessageToAll


    Mit Freundlichen Grüßen
    Snake ♤


    #edit links eingefügt

    Einmal editiert, zuletzt von snake112 ()

  • @ICookie
    Habe es schon hinbekommen, aber wenn ich jetzt ein Fahrzeug zerstören möchte funktioniert es nicht.


    ocmd:des(playerid, params[]) {
    DestroyVehicle(playerid);
    SendClientMessage(playerid, Grün, "Du hast das Fahrzeug erfolgreich zerstört");
    return 1;
    }
    Wo liegt der Fehler?^^

  • Du darfst nicht die playerid zerstören, sondern die Fahrzeug ID:


    DestroyVehicle(GetPlayerVehicleID(playerid));


    Das kannst du dir so vorstellen:
    new vehicleID;
    vehicleID = GetPlayerVehicleID(playerid); //ID des Fahrzeugs in dem der Spieler ist.
    DestroyVehicle(vehicleID); //vehicleID zerstören.

  • ocmd:del(playerid,params[])
    {
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid,COLOR_GREY,"Du sitzt in keinem Fahrzeug.");
    DestroyVehicle(GetPlayerVehicleID(playerid));
    SendClientMessage(playerid,COLOR_INFO,"Das Fahrzeug wurde gelöscht.");
    return 1;
    }