Beiträge von FamoZ

    Servus Leute,


    schnell eine Frage, ich schaff es einfach nicht..


    Ich habe diese Abfrage für mein /renthouse Befehl drin und möchte damit prüfen ob der Spieler bereits als Mieter in der Datei eingetragen ist:


    if(strcmp(dini_Get(house, "Mieter1"), PlayerName(playerid), true) == 0 || if(strcmp(dini_Get(house, "Mieter2"), PlayerName(playerid), true) == 0 || if(strcmp(dini_Get(house, "Mieter3"), PlayerName(playerid), true) == 0 || if(strcmp(dini_Get(house, "Mieter4"), PlayerName(playerid), true) == 0) return SendClientMessage(playerid, C_GREY, "Du bist bereits Mieter dieses Hauses");


    Nur leider bekomme ich auch die Message das ich bereits Mieter bin obwohl mein Name nicht in der Datei steht.
    Woran kann das liegen? Ist an dieser Abfrage irgendwas falsch?


    Sry für Rechtschreibfehler bin gerade an meinem Handy. ^^

    stock 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;
    }


    Hast du den in deinem Script?

    Ich glaube es gibt schon Standart so ein Filterscript.


    Das heisst glaube ich Admin_Spec oder so.


    Guck ma in deinem Filterscripts Ordner. ;)

    Hier:


    ocmd:gotocoords(playerid, params[])
    {
    new Float:x, Float:y, Float:z, str[128];
    if(sscanf(params, "fff", x, y, z)) return SendClientMessage(playerid, 0xFFFFFF, "/gotocoords [X] [Y] [Z]");
    {
    SetPlayerPos(playerid, x, y, z);
    format(str, sizeof(str), "Du hast dich erfolgreich zu den Coords: %f %f %f teleportiert", x, y, z);
    SendClientMessage(playerid, 0xFFFFFF, str);
    }
    return 1;
    }

    Upps,


    also unter OnPlayerCommandText ist mir klar.. wegen strcmp, aber ich hatte hinter dem ECMD ein ":" Bins von OCMD gewöhnt. ^^


    Aber ist ja auch egal, funkt deins denn jetzt oder wie?

    Die hier:


    C:\Users\Alex\Desktop\Untitled.pwn(114 -- 115) : error 029: invalid expression, assumed zero
    C:\Users\Alex\Desktop\Untitled.pwn(122) : warning 225: unreachable code
    C:\Users\Alex\Desktop\Untitled.pwn(114) : warning 203: symbol is never used: "ECMD"

    Also gehts jetzt?
    Ansonsten mach es nochmal mit OCMD:


    ocmd:payday(playerid, params[])
    {
    new str[128], time;
    time = GetPlayerPayDay(playerid) - PAY;
    format(str, sizeof(str), "Noch %d Minuten bis zum nächsten Payday", time);
    SendClientMessage(playerid, 0xFFFFFFFF, str);
    return 1;
    }


    Weil mit deinem ECMD bekomm ich auch Errors.. Obwohl ich es so wie du definiert habe..

    Probiers ma so:


    ECMD:("/payday")
    {
    new str[128], time;
    time = GetPlayerPayDay(playerid) - pay;
    format(str, sizeof(str), "Noch %d Minuten bis zum nächsten Payday", time);
    SendClientMessage(playerid, 0xFFFFFFFF, str);
    return 1;
    }

    Du kannst mal diese Abfrage hier versuchen:


    if(gTeam[killerid] == gTeam[playerid]) return Kick(killerid);


    Wenn das auch nicht geht, dann muss irgendwas an deinen Teams verbuggt sein.

    Servus Leute,


    ich habe diese Abfrage in einem Befehl um ein Haus zu mieten:


    if(strcmp(dini_Get(house, "Besitzer"), PlayerName(playerid), true) == 0) return SendClientMessage(playerid, C_GREY, "Du kannst dein eigenes Haus nicht mieten");


    Ich möchte wenn der Name des Spielers mit dem Besitzer der in der Datei steht übereinstimmt, das der Befehl abgebrochen wird und eine Nachricht erscheint.


    Ist diese Abfrage denn richtig so?