Givecash CMD Error

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
  • hey,
    Da ich noch nicht soweit bin, so nen CMD selbst zu machen, hab ich ihn aus dem LVDM Gamemode genommen.
    Leider krieg ich immer folgende Errors:



    CMD:
    if(strcmp(cmdtext, "/givecash", true) == 0)
    {
    new tmp[256];
    tmp = strtok(cmdtext, idx);


    if(!strlen(tmp)) {
    SendClientMessage(playerid, FEHLERFARBE, "Benutzung: /givecash [playerid] [amount]");
    return 1;
    }
    giveplayerid = strval(tmp);


    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
    SendClientMessage(playerid, FEHLERFARBE, "Benutzung: /givecash [playerid] [amount]");
    return 1;
    }
    moneys = strval(tmp);


    if (IsPlayerConnected(giveplayerid)) {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    playermoney = GetPlayerMoney(playerid);
    if (moneys > 0 && playermoney >= moneys) {
    GivePlayerMoney(playerid, (0 - moneys));
    GivePlayerMoney(giveplayerid, moneys);
    format(string, sizeof(string), "You have sent %s(player: %d), $%d.", giveplayer,giveplayerid, moneys);
    SendClientMessage(playerid, INFOTEXT, string);
    format(string, sizeof(string), "You have recieved $%d from %s(player: %d).", moneys, sendername, playerid);
    SendClientMessage(giveplayerid, INFOTEXT, string);
    printf("%s(playerid:%d) has transfered %d to %s(playerid:%d)",sendername, playerid, moneys, giveplayer, giveplayerid);
    }
    else {
    SendClientMessage(playerid, INFOTEXT, "Invalid transaction amount.");
    }
    }
    else {
    format(string, sizeof(string), "%d is not an active player.", giveplayerid);
    SendClientMessage(playerid, IINFOTEXT, string);
    }
    return 1;
    }


    Ich hoffe mir kann dabei jemand helfen.
    mfg Kaiza

  • Man kann nicht einfach blind irgendwelchen Code aus einem Script in ein anderes kopieren. Das geht in so gut wie der gesamten Programmierwelt nicht!


    Die ganzen Fehler mit der Nummer 17 und 33 weisen dich darauf hin dass der Compiler (das Programm dass die PWN zur AMX macht) die entsprechenden Funktionen und Variablen nicht findet. Bzw. findet es manches, was aber dann meist falsch deklariert ist.


    Weitere Details welcher Fehler was bedeutet findest du in der Dokumentation.

    Intel Xeon W3690 Hexacore @ 4.5 GHz - 48GB Triple Channel DDR3 - GeForce RTX 2070 Super - Asus P6T Deluxe V1 @ P6T WS Pro BIOS

    Mainboard 12 Jahre, CPU 10 Jahre alt - old but gold!

  • tu das mal nach GANZ unten in das Script
    strtok(const string[], &index)
    {
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
    index++;
    }


    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
    result[index - offset] = string[index];
    index++;
    }
    result[index - offset] = EOS;
    return result;
    }

    new giveplayer[MAX_PLAYER_NAME];
    new giveplayerid
    Die zu den anderen news ;)

  • Ich bekomme zwar keine Errors, aber wenn ich zb /sendgeld 1 2000 mache, kommt "Unknown Command".
    Was hab ich falsch gemacht?


    if(strcmp(cmdtext, "/sendgeld", true) == 0)
    {
    new tmp[256];
    new giveplayer[MAX_PLAYER_NAME];
    new giveplayerid;
    new idx;
    new moneys;
    new playermoney;
    new string[128];
    new sendername[MAX_PLAYER_NAME];
    tmp = strtok(cmdtext, idx);


    if(!strlen(tmp)) {
    SendClientMessage(playerid, FEHLERFARBE, "Benutzung: /givecash [playerid] [amount]");
    return 1;
    }
    giveplayerid = strval(tmp);


    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
    SendClientMessage(playerid, FEHLERFARBE, "Benutzung: /givecash [playerid] [amount]");
    return 1;
    }
    moneys = strval(tmp);


    if (IsPlayerConnected(giveplayerid)) {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    playermoney = GetPlayerMoney(playerid);
    if (moneys > 0 && playermoney >= moneys) {
    GivePlayerMoney(playerid, (0 - moneys));
    GivePlayerMoney(giveplayerid, moneys);
    format(string, sizeof(string), "Du hast %s (ID: %d) %d$ gesendet.", giveplayer,giveplayerid, moneys);
    SendClientMessage(playerid, INFOTEXT, string);
    format(string, sizeof(string), "%s (ID: %d) hat dir %d$ gesendet.",sendername, playerid,moneys);
    SendClientMessage(giveplayerid, INFOTEXT, string);
    printf("%s (ID:%d) hat %s (ID:%d) %d$ gesendet.",sendername, playerid, giveplayer, giveplayerid, moneys);
    }
    else {
    SendClientMessage(playerid, FEHLERFARBE, "Fehler: Ungültige Summe.");
    }
    }
    else {
    format(string, sizeof(string), "Fehler: Es ist kein Spieler mit dem Namen %d Online.", giveplayerid);
    SendClientMessage(playerid, FEHLERFARBE, string);
    }
    return 1;
    }

    2 Mal editiert, zuletzt von Wheatley ()