/kidnap Problem

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
  • Lieber Leser,


    ich habe soeben einen /kidnap Befehl in mein GF-Edit geschrieben.
    Errors bekomme ich keine, jedoch funktioniert er nicht.


    Wenn ich z.B. mal /kidnap 3 eingebe und in keinem Fahrzeug sitze, kommt nicht die Meldung: "Das geht nicht in einem Fahrzeug!".
    Wenn ich nur /kidnap eingebe kommt halt wie es benutzen soll. Schaut mal drüber, verbessert und erklärt mir meinen Fehler. Habe vorhin erst angefangen mit Strcmp zu abreiten :)


    if(strcmp(cmd, "/kidnap", true) == 0)
    {
    new tmp[256];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "BENUTZUNG: /kidnap [Playerid/PartOfName]");
    return 1;
    }

    new giveplayer = strval(tmp);

    if(IsPlayerConnected(giveplayer))
    {
    if(IsAMember(playerid))
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(giveplayer, x, y, z);
    if(IsPlayerInRangeOfPoint(playerid, 3.0, x, y, z))
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    if(IsPlayerInAnyVehicle(giveplayerid))
    {
    SendClientMessage(playerid, COLOR_GREY, "Spieler befindet sich in einem Fahrzeug!");
    }
    else
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerInRangeOfPoint(i, 7.5, x, y, z))
    {
    new str[256], sendername[MAX_PLAYER_NAME], giveplayername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerName(giveplayer, giveplayername, sizeof(giveplayername));
    format(str, sizeof(str), "%s hat %s in sein Fahrzeug gezogen!", sendername, giveplayername);
    SendClientMessage(i, COLOR_GREEN, str);
    }
    }
    SendClientMessage(giveplayer, COLOR_GREY, "Du wurdest entführt!");
    TogglePlayerControllable(giveplayer, false);
    new vehicle = GetPlayerVehicleID(playerid);
    PutPlayerInVehicle(giveplayer, vehicle, 2);
    }
    }
    else { SendClientMessage(playerid, COLOR_GREY, "Du sitzt in keinem Fahrzeug!"); }
    }
    else { SendClientMessage(playerid, COLOR_GREY, "Angegebener Spieler ist nicht nah genug!"); }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist kein GangMember/Leader!");
    }
    }
    else { SendClientMessage(playerid, COLOR_GREY, "Invalid ID/Player"); }
    return 1;
    }


    //Edit: Code fail, verbessert
    //Edit: Problem noch nicht gelöst

    Liebe Grüße


    Marcel

    Einmal editiert, zuletzt von marcel97p ()

  • Du sagst, dass, wenn der Spieler in einem Fahrzeug geht, funktioniert es nicht, versuch es mal so:

    if(strcmp(cmd, "/kidnap", true) == 0)
    {
    new tmp[256];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "BENUTZUNG: /kidnap [Playerid/PartOfName]");
    return 1;
    }

    new giveplayer = strval(tmp);

    if(IsPlayerConnected(giveplayer))
    {
    if(IsAMember(playerid))
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(giveplayer, x, y, z);
    if(IsPlayerInRangeOfPoint(playerid, 3.0, x, y, z))
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    if(!IsPlayerInAnyVehicle(giveplayerid))
    {
    SendClientMessage(playerid, COLOR_GREY, "Spieler befindet sich in einem Fahrzeug!");
    }
    else
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerInRangeOfPoint(i, 7.5, x, y, z))
    {
    new str[256], sendername[MAX_PLAYER_NAME], giveplayername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerName(giveplayer, giveplayername, sizeof(giveplayername));
    format(str, sizeof(str), "%s hat %s in sein Fahrzeug gezogen!", sendername, giveplayername);
    SendClientMessage(i, COLOR_GREEN, str);
    }
    }
    SendClientMessage(giveplayer, COLOR_GREY, "Du wurdest entführt!");
    TogglePlayerControllable(giveplayer, false);
    new vehicle = GetPlayerVehicleID(playerid);
    PutPlayerInVehicle(giveplayer, vehicle, 2);
    }
    }
    else { SendClientMessage(playerid, COLOR_GREY, "Du sitzt in keinem Fahrzeug!"); }
    }
    else { SendClientMessage(playerid, COLOR_GREY, "Angegebener Spieler ist nicht nah genug!"); }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist kein GangMember/Leader!");
    }
    }
    else { SendClientMessage(playerid, COLOR_GREY, "Invalid ID/Player"); }
    return 1;
    }