Beiträge von Jeffry

    Ich sehe gerade, dass da der Range gar nicht eingetragen war. Schreib es so:
    stock isPlayerInAmmu(playerid)
    {
    if(IsPlayerInRangeOfPoint(playerid,20.0,295.8211,-38.4289,1001.5156)) return 1;
    return 0;
    }


    Im Kompiler dürfen keine Warnungen/Errors sein!



    @CIBERKILLER: Was habe ich da gesagt?
    Sowas hier geht nicht:
    new var = 10;
    new str[var + 5];


    Aber das geht:
    new var[10];
    new sr[sizeof(var) + 5]; // => str[10 + 5] => str[15]

    Ich denke schon dass das dies hier nicht funktioniert.


    Klar funktioniert das. sizeof ist eine Art Konstante, keine Variable. Der Compiler wandelt den sizeof-Wert vor dem kompilieren in eine Zahl um.


    ----


    ocmd:waffekaufen(playerid,params[])
    {
    if(isPlayerInAmmu(playerid))
    {
    new outstr[(sizeof(WeapBuy)*24)+(sizeof(WeapBuy)*11)], addstr[34];
    for(new i=0;i<sizeof(WeapBuy);i++)
    {
    format(addstr, sizeof(addstr), "%s (%i$)\n", WeapBuy[i][wbI_weapName], WeapBuy[i][wbI_weapPrice]);
    strcat(outstr, addstr);
    }
    ShowPlayerDialog(playerid, DIALOG_BUYWEAPON, DIALOG_STYLE_LIST, "Waffenkauf", outstr, "Kaufen", "Abbrechen");
    }
    else SendClientMessage(playerid,ORANGE,"Du bist nicht im Waffensymbol eines Ammunations.");
    return 1;
    }


    stock isPlayerInAmmu(playerid)
    {
    if(IsPlayerInRangeOfPoint(playerid,20.0,295.8211,-38.4289,1001.5156)) return 1;
    return 0;
    }

    Doch, du greifst auf eine Funktion zu, die muss deklariert werden.


    stock ReturnUser(l_PlayerName[]) //©Jeffry
    {
    new l_name[MAX_PLAYER_NAME];
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(GetPlayerName(i, l_name, MAX_PLAYER_NAME))
    {
    if(!strcmp(l_name,l_PlayerName, true)) return i;
    }
    }
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(GetPlayerName(i, l_name, MAX_PLAYER_NAME))
    {
    if(strfind(l_name,l_PlayerName,true)!=-1) return i;
    }
    }
    return INVALID_PLAYER_ID;
    }

    Apokrate: Ich nehme an du hast es auf einem Linux System liegen, dort ist es so, weil Linux gleiche Dateinamen mit unterschiedlicher Schreibweise unterstützt. Windows nicht. Da mag man sich streiten was besser ist.


    Wenn du jede Schreibweise auf Linux als ein Account haben willst, dann solltest du das Account in Kleinbuchstaben speichern, und dann beim connect den SpielerName wieder in Kleinbuchstaben ändern (temporärer string) und damit abfragen ob das Konto existiert.
    Falls du dir nicht vorstellen kannst wie, poste deine Login und Registrations Funktionen, und das was dazugehört, dann zeige ich es dir später.


    ICy.:
    true = eGaL wiE (case insensitive)
    false = Genau (case sensitive)

    Nicht ganz, aber fast.
    Du musst noch eine if-Verknüpfung einbauen, damit der Server weiß, dass er danach abfragen soll, sonst ist deine mysql_GetInt Anweisung technisch gesehen ohne Anweisung.
    public OnPlayerConnect(playerid)
    {
    new banned = mysql_GetInt(Tabelle_Spieler, "Ban","Name", GetName(playerid));
    if(banned == 1)
    {
    SendClientMessage(playerid,Rot,"Du bist gebannt vom Server!");
    Kick(playerid);
    }
    }
    Falls du es noch nicht verwendest: Nutze die Kick/Ban Fix - Include: [ INCLUDE ] Kick/Ban Fix
    Sonst siehst du die Nachricht nicht.


    EDIT: @iEnerqie: Jetzt hast du genau wiederholt was ich geschrieben habe. :rolleyes:

    Almero:
    So wird das nicht wirklich was. Zum einen fehlt da eine Klammer nach der IF Verknüpfung und zum anderen wirst du mit dieser Zeile einen Tag Mismatch bekommen, weil du ein bool (der Teil mit dem Ausrufezeichen) mit einem Integer vergleichst.
    Wegen deiner Frage in PN:
    Nein, man wird mich auf TeamSpeak nicht antreffen. Falls doch, bin ich es nicht. Ich nutze TeamSpeak nicht. ;)
    Kann dir nicht antworten, da du nur Nachrichten von Freunden akzeptierst.


    So wäre es korrekt:
    if(SpielerInfo[playerid][pPerso] == 1) return SendClientMessage(playerid,COLOR_RED,"Du bis bereits in Besitz eines Personalausweises!");

    Wenn du ein mysql_SetInt hast, dann hast du doch bestimmt auch ein mysql_GetInt. Das fragst du beim Login ab, ob es 1 ist, wenn ja schmeißt du den Spieler wieder aus dem Server.


    Speichern tust du es ja schon, so wie der Code aussieht.

    Klappt es, wenn du den Farbwert mit AA direkt in GangZoneShowForAll einfügst?
    Poste mal ansonsten mal den Code mit dem du die GangZone anzeigen lässt.


    Du bist dir auch wirklich sicher, dass du beim testen keinen Fehler gemacht hast, also die Zonen gar nicht sichtbar hattest?

    Also ich habe es mit den vier Objekten getestet, bei mir kam der Print jedes mal, hat super geklappt.


    Wenn du willst, kannst du mir den gesamten Filterscript in PN schicken, dann teste ich den mal bei mir aus. Um deine Maps brauchst du dir keine Sorgen machen, wenn du es nur mir schickst, ich fange damit nichts an und werde sie auch nicht weitergeben.


    Ansonsten könnte ich dir noch vorschlagen jede Zeile zu debuggen.