Problem mit strcmp

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
  • Moin,
    ich hab ein Problem mit strcmp. Ich will mit einem /raus Befehl mehrere Eingänge machen. Dies geht soweit auch, jedoch bekomm ich immer wieder Fehlermeldungen obwohl
    ich raus gekommen bin.


    if(strcmp(cmdtext,"/raus",true)==0)
    {
    if(IsPlayerInRangeOfPoint(playerid, 3.0, 238.80000305176,139.30000305176,1003))//Vorne
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,627.79998779297,-571.79998779297,17.5);
    }
    else
    SendClientMessage(playerid,ROT,"Hier ist nichts, wo du raus gehen kannst");

    if(IsPlayerInRangeOfPoint(playerid, 3.0, 206.80000305176,179.89999389648,1003))//Hinten
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,610.90002441406,-583.09997558594,18.39999961853);
    }
    else
    SendClientMessage(playerid,ROT,"Hier ist nichts, wo du raus gehen kannst");

    if(IsPlayerInRangeOfPoint(playerid, 3.0, 387.29998779297,173.89999389648,1008.4000244141))//Stadthalle
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,1743.0999755859,-1862.3000488281,13.60000038147);
    }
    else
    SendClientMessage(playerid,ROT,"Hier ist nichts, wo du raus gehen kannst");

    return 1;
    }

  • Du musst zwischen den IsPlayerInRangeOfPoint-Abfragen else-if benutzen und nicht einfach eine neue "unabhängige" if-Abfrage.


    So muss es sein:
    if(strcmp(cmdtext,"/raus",true)==0) {
    if(IsPlayerInRangeOfPoint(playerid, 3.0, 238.80000305176,139.30000305176,1003))//Vorne
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,627.79998779297,-571.79998779297,17.5);
    } else if(IsPlayerInRangeOfPoint(playerid, 3.0, 206.80000305176,179.89999389648,1003))//Hinten
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,610.90002441406,-583.09997558594,18.39999961853);
    } else if(IsPlayerInRangeOfPoint(playerid, 3.0, 387.29998779297,173.89999389648,1008.4000244141))//Stadthalle
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,1743.0999755859,-1862.3000488281,13.60000038147);
    } else {
    SendClientMessage(playerid,ROT,"Hier ist nichts, wo du raus gehen kannst");
    }
    return 1;
    }


    Habe nicht auf Indentation, etc. geachtet, solltest nur verstehen, was ich meine.

  • if(strcmp(cmdtext,"/raus",true)==0)
    {
    if(IsPlayerInRangeOfPoint(playerid, 3.0, 238.80000305176,139.30000305176,1003))//Vorne
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,627.79998779297,-571.79998779297,17.5);
    }


    else if(IsPlayerInRangeOfPoint(playerid, 3.0, 206.80000305176,179.89999389648,1003))//Hinten
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,610.90002441406,-583.09997558594,18.39999961853);
    }


    else if(IsPlayerInRangeOfPoint(playerid, 3.0, 387.29998779297,173.89999389648,1008.4000244141))//Stadthalle
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,1743.0999755859,-1862.3000488281,13.60000038147);
    }
    else{/* Wenn er nirgends ist..*/}


    return 1;
    }

  • if(strcmp(cmdtext,"/ausruesten",true)==0)
    {
    if(IsPlayerInRangeOfPoint(playerid, 3.0,1524.8000488281,-1677.9000244141,5.9000000953674 ))//LSPD
    {
    if(isPlayerInFrakt(playerid, 1))
    {
    SendClientMessage(playerid,0xFFFFFFFF,"Du hast dich ausgerüstet!");
    GivePlayerWeapon(playerid, 24, 150);
    GivePlayerWeapon(playerid, 31, 500);
    GivePlayerWeapon(playerid, 29, 500);
    SetPlayerArmour(playerid, 100.0);
    }
    }


    else if(IsPlayerInRangeOfPoint(playerid, 3.0,610.90002441406,-583.09997558594,18.39999961853))//Grove Street
    {
    SetPlayerInterior(playerid,3);
    SetPlayerPos(playerid,206.80000305176,179.89999389648,1003);
    }


    else if(IsPlayerInRangeOfPoint(playerid, 3.0, 1743.0999755859,-1862.3000488281,13.60000038147))//Ballas
    {
    SetPlayerInterior(playerid,3);
    SetPlayerPos(playerid,387.29998779297,173.89999389648,1008.4000244141);
    }


    else if(IsPlayerInRangeOfPoint(playerid, 3.0, 1743.0999755859,-1862.3000488281,13.60000038147))//Mafia
    {
    SetPlayerInterior(playerid,3);
    SetPlayerPos(playerid,387.29998779297,173.89999389648,1008.4000244141);
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du bist bei keinem Ausrüstenpickup");
    }
    return 1;
    }