Problem mit dcmd

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 hab hier nen kleines Problemchen:
    dcmd_popt(playerid,params[]) {


    if(!strlen(params)) {
    return SendClientMessage(playerid,COLOR_RED,"USAGE: /popt [playerid]");
    }
    new
    pID=strval(params);
    if(!IsPlayerConnected(pID)) {
    return SendClientMessage(playerid,COLOR_RED,"Kein Spieler mit angegebener ID Online");
    }
    new PVEH;
    PVEH = GetPlayerVehicleId(pID);
    new panels, doors, lights, tires;
    GetVehicleDamageStatus(vehicleid, panels, doors, lights, tires);
    UpdateVehicleDamageStatus(vehicleid, panels, doors, lights, 15);
    return 1;
    }
    Ich bekomme diese Fehler:


    Was isn hier falsch??? ;(

    #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

    Der Satz des Dracoblue

  • Erstens ist der Command schwachsinnig, zweitens brauchst du min 0.3 RC5

  • Ich find verdammt nochmal keinen Downloadlink, der funktioniert :cursing:

    #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

    Der Satz des Dracoblue

  • @Darkfire: Dass ist R2 und nicht RC5.
    FoxHound: Ich bin von seinem tutorial ausgegangen.

    #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

    Der Satz des Dracoblue

  • Ok, upgedatet habe ich...

    #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

    Der Satz des Dracoblue

  • Ich habs jetzt ohne dcmd gemacht
    if(!strcmp(cmd,"/popt",true,5)) {
    new
    sID[128],
    pID;
    sID=strtok(cmdtext,idx);
    if(!strlen(sID)) {
    return SendClientMessage(playerid,COLOR_RED,"USAGE: /popt [playerid]");
    }
    pID=strval(sID);
    if(!IsPlayerConnected(pID)) {
    return SendClientMessage(playerid,COLOR_RED,"Kein Spieler mit angegebener ID Online");
    }
    new pvID;
    pvID = GetPlayerVehicleID(pID);
    new panels, doors, lights, tires;
    GetVehicleDamageStatus(pvID, panels, doors, lights, tires);
    UpdateVehicleDamageStatus(pvID, panels, doors, lights, 15);
    }
    Naja, villeicht nicht die intelligenteste Lösung, aber es funktioniert.
    Trotzdem danke für eure Hilfe

    #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

    Der Satz des Dracoblue