Beiträge von root

    Unter OnPlayerCommand Text packen ;)
    und arbeite mal wenns nicht geht mit if und else.


    Achja dein aufbau sieht etwas komisch aus, hier mal das beispiel vom main script an

    if (strcmp("/mycommand", cmdtext, true, 10) == 0)



    Was? Arbeite mit OCMD und sscanf kann dir sonst mal den ganzen Command schicken wenn du willst.

    Habs jetzt so jetzt zeigt er mir jedoch nur die kickhelp an bei allen befehlen und ohne returns immer alles.
    CODE:

    if(strcmp(string,"/kick",true,5))
    {
    SCM(playerid, COLOR_GREEN, "|_______________________________________________________|");
    SendClientMessage(playerid,COLOR_WHITE,"Benutzung: /kick [Spielerid/Name] [Grund]");
    SCM(playerid, COLOR_GREEN, "|_______________________________________________________|");
    return 1;
    }
    if(strcmp(string,"/ban",true,4))
    {
    SCM(playerid, COLOR_GREEN, "|_______________________________________________________|");
    SendClientMessage(playerid,COLOR_WHITE,"Benutzung: /ban [Spielerid/Name] [Grund]");
    SCM(playerid, COLOR_GREEN, "|_______________________________________________________|");
    return 1;
    }
    if(strcmp(string,"/banip",true,6))
    {
    SCM(playerid, COLOR_GREEN, "|_______________________________________________________|");
    SendClientMessage(playerid,COLOR_WHITE,"Benutzung: /banip [IP] [Grund]");
    SendClientMessage(playerid,COLOR_WHITE,"Benutzung: Beispiel: /banip 128.000.000.00 Cheater-Family");
    SCM(playerid, COLOR_GREEN, "|_______________________________________________________|");
    return 1;
    }
    if(strcmp(string,"/unbanip",true,8))
    {
    SCM(playerid, COLOR_GREEN, "|_______________________________________________________|");
    SendClientMessage(playerid,COLOR_WHITE,"Benutzung: /unbanip [Spielerid/Name] [Grund]");
    SendClientMessage(playerid,COLOR_WHITE,"Benutzung: Beispiel: /unbanip 128.000.000.00 Falsche IP");
    SCM(playerid, COLOR_GREEN, "|_______________________________________________________|");
    return 1;
    }
    if(strcmp(string,"/tv",true,3))
    {
    SCM(playerid, COLOR_GREEN, "|_______________________________________________________|");
    SendClientMessage(playerid,COLOR_WHITE,"Benutzung: /tv [Spielerid/Name]");
    SendClientMessage(playerid,COLOR_WHITE,"Benutzung: Man sieht alles aus des Sicht des angegebenen Spielers.");
    SCM(playerid, COLOR_GREEN, "|_______________________________________________________|");
    return 1;
    }
    if(strcmp(string,"/gmx",true,4))
    {
    SCM(playerid, COLOR_GREEN, "|_______________________________________________________|");
    SendClientMessage(playerid,COLOR_WHITE,"Benutzung: /gmx");
    SendClientMessage(playerid,COLOR_WHITE,"Benutzung: Speichert alle Daten und starten den Server in "restartsek" Sekunden neu.");
    SCM(playerid, COLOR_GREEN, "|_______________________________________________________|");
    return 1;
    }

    Hab mal ne Frage.
    Hab meinen /ahelp befehl so geschrieben das ich /ahelp befehl machen kann
    Mein Problem. Wenn ich /ahelp /ban mache funktzioniert das wunderbar.
    Wenn ich jedoch /ahelp /banip mache bekomme ich die banhelp. Eigentlich ja logisch da ich mit strfind arbeite. CODE:
    if(strfind(string, "/ban", true)!= -1)
    {
    SCM(playerid, COLOR_GREEN, "|_______________________________________________________|");
    SendClientMessage(playerid,COLOR_WHITE,"Benutzung: /ban [Spielerid/Name] [Grund]");
    SCM(playerid, COLOR_GREEN, "|_______________________________________________________|");
    return 1;
    }
    if(strfind(string, "/banip", true)!= -1)
    {
    SCM(playerid, COLOR_GREEN, "|_______________________________________________________|");
    SendClientMessage(playerid,COLOR_WHITE,"Benutzung: /banip [IP] [Grund]");
    SCM(playerid, COLOR_GREEN, "|_______________________________________________________|");
    return 1;
    }

    Wie kann ich das jetzt ändern das wenn ich /ahelp /banip mache das dan auch die banip help kommt und nicht das andere?
    MFG, TheBlueFireKing


    //EDIT arbeite mit ocmd!

    grund ist ein string kein interger also

    if(sscanf(params,"ui",pID,grund))return SendClientMessage(playerid,Rot,"Benutze: {FF0000}/ban [playerid] [Grund]");
    zu

    if(sscanf(params,"us",pID,grund))return SendClientMessage(playerid,Rot,"Benutze: {FF0000}/ban [playerid] [Grund]");


    //edit gleiche bei Kick

    So kannst es am einfachsten machen:

    stock IsPlayerNearObject(playerid, objectid, Float:range)
    {
    new Float:pos[3];
    GetObjectPos(objectid,pos[0],pos[1],pos[2]);
    if(IsPlayerInRangeOfPoint(playerid,range,pos[0],pos[1],pos[2])) return true;
    return false;
    }