Beiträge von Kaliber

    Jo ich versuch gerade zu finden wo OnGameModeExit definiert ist oder Rcon Command "exit" aber ich finde nur die natives und nicht die funktion, weißt du wo die sind?

    Ich habe keine Ahnung, was du suchst.



    This callback is called when a gamemode ends, either through 'gmx', the server being shut down, or [wiki]GameModeExit[/wiki].



    This callback will NOT be called if the server crashes or the process is killed by other means, such as using the Linux kill command or pressing the close-button on the Windows console.


    Ich empfehle dir einen eigenen restart befehl, wo du alles speicherst und danach dann den Server neustartest :)

    oder kann ich IsPlayerAdmin lassen für Adminbefehle? (Kein RCON)

    Ich verstehe die Frage nicht? IsPlayerAdmin ist nur für RCON Admins.
    Wenn du möchtest, dass sich ein RCON Admin Admin Befehle ausführen darf, dann kannst du es drinnen lassen, das liegt doch an dir :D



    iPAA(playerid)

    Hier fehlt der Rang. Du müsstest z.B. iPAA(playerid, 4) schreiben.


    Allerdings fragst du ja zusätzlich immer das Admin Level ab..machst du ja direkt neben iPAA...


    2x abfragen brauchst du es nicht ^^

    Zeile 2 natürlich löschen...


    Dafür gibt es ja Zeile 4...



    Deine Variante sagt wieder tag mismatch

    Ist das etwa ein bool?


    Dann schreib es so:


    C
    stock SendAdminMessage(color, message[])
    {
        for(new i=GetPlayerPoolSize(); i!=-1; i--)
        {
            if(SD[i][pEingeloggt] && (SpielerDaten[i][pAdmin] > 0 || IPA(i))) SendClientMessage(i, color, message);
        }
        return 1;
    }

    edit: IsPlayerAdmin ist nur eine Abfrage ob man RCON Admin ist?

    Korrekt: [wiki]IsPlayerAdmin[/wiki] Check if a player is logged in as an RCON admin.



    Ich meine übrigens das au Zeile 26.

    Achso, dann schreibe das so:


    C
    format(string,sizeof(string), GARN(pID));
    SD[pID][pAdmin] = adminid;
    format(string, sizeof(string), "Du hast %s %s den Teamrang %s gegeben", string,SD[pID][pName], GARN(pID));
    SCM(playerid, BLAU, string);


    SendAdminMessage klappt immer noch nicht. Ich habs auch mit deinem Vorschlag probiert.

    Das ist seeehr merkwürdig 8|


    Bist du denn sicher, dass Eingeloggt[i] auf 1 ist und du das damit machst und nicht mit SD[playerid][pEingeloggt]?

    Diese Nachriht bekomt dann doch auch der der den anderen zum Admin macht oder?

    In deinem Fall, ja, da du ihn zum Admin machst und dann SAM aufrufst.



    das wenn ich zb nen Spieler n Teamrang gebe da steht Spieler xy wurde von yz zum Supporter ernannt

    Das machst du doch?! Das steht doch in Zeile 28.



    jedoch will endAdminMesage immer noch nicht

    Ich sagte ja schon dein Code ist korrekt.
    Das einzige was du evtl nicht berücksichtigt hast ist, dass der RCON Admin keine Nachrichten bekommt.
    Soll dieser auch die Nachrichten bekommen? Wenn ja, schreib die Funktion so:


    C
    stock SendAdminMessage(color, message[])
    {
        for(new i=GetPlayerPoolSize(); i!=-1; i--)
        {
            if(Eingeloggt[i] == 1 && (SpielerDaten[i][pAdmin] > 0 || IPA(i))) SendClientMessage(i, color, message);
        }
        return 1;
    }

    Das hat davor funktioniert, bis ich alles auf R41 4 umgescriptet hab.

    Hast du eventuell die Reihenfolge unter MySQL Connect nicht beachtet?


    Da steht ja, Access denied for user das heißt, er kann sich schon mal mit dem remote host verbinden.


    (Dennoch abzuraten weil sehr langsam + unsicher).


    Also kann es nur an 2 Sachen liegen:


    1. Benutzername oder Passwort falsch (evtl verursacht durch die Reihenfolge).
    2. Nicht genügend Rechte.

    Jetzt will meine SendAdminMessage nicht funktionieren.

    Dann bist du eventuell kein Admin?


    Denn der Code ist richtig.



    Momentan kommt der Rang dort den ich vergebe.

    Kannst du mehr von dem Befehl zeigen?


    Und ist das nicht genau das, was du willst?!

    Hey Brotfische,


    bitte nicht hauen, dass ich das in dieser Sektion veröffentliche, aber wusste nicht, wo sonst (kann ja verschoben werden).


    Klammerfehler sind ein doof und passieren leider gerade bei Anfängern relativ häufig.


    Und da der Pawn-Compiler dann crasht (oder man 26 Errors bekommt) und man vor einem großen Skript sitzt...ist man erstmal planlos.


    Es gab mal eine Website, die einen Klammerfehler Finder zur Verfügung gestellt hatte, aber diese ist offline (bzw ich finde keine andere akkurate mehr).


    Deshalb dachte ich mir, ich schreib kurz selbst eine.


    UPDATE


    Was beachtet die Seite?

    • Kommentare werden ignoriert (//).
    • Single-Line Strings werden ignoriert (also alles was in " " steht).
    • Chars werden auch gefiltert '{' wird also übersprungen.
    • Defines werden ignoriert, wenn man jetzt #define a(%0) print("opfer"); { gemacht hat, also unregelmäßige Brackets in einem define..dann hat man selbst Schuld...^^

    Was bedeutet die Zeile die mir ausgegeben wird?
    Wir stellen uns eine Block Funktion vor:


    C
    public OnPlayerConnect(playerid)
    {
        if(playerid == 0)
        {
            print("oh playerid 0");
    
    
        return 1;
    }

    Also hier sehen wir, dass in Zeile 6 eine Klammer vergessen wurde.
    Die Website wird jetzt sagen, dass die Klammer in Zeile 2 nicht geschlossen wurde.


    Das ist auch korrekt. Man weiß also jetzt, dass in diesem Block quasi der Fehler liegt.



    Schlusswort
    Also falls Fehler auftreten oder jemand noch Anregungen hat, könnt ihr diese mir gerne mitteilen :)


    Link: http://klammerfehler.bplaced.net/


    Viel Spaß und Erfolg beim skripten! :klugs:

    Bei mir im Chat kommt das diese Person zu wenig rechte hat. Jedoch kommt dann aber auch noch $Hi wenn ich $ Hi schreibe.

    Achso ja, du hast einfach das return 0 vergessen:


    hab bei MySQL mein MySQL Server angegeben da nur der Server SA-MP drauf hat.

    Das ist keine gute Idee einen externen MySQL Server zu haben.
    Ich weiß nicht, ob SA:MP da überhaupt mitspielt.


    Was muss hier einbauen damit man den Chat mit $ und § nicht nutzen kann wenn man kein Admin ist?
    Wenn ich kein Admin bin kommt ich hab zu enig rechte und es wird zB. $Text ausgegeben.

    Kannst du das etwas genauer erklären? Aktuell wird doch ausgegeben, dass diese Person zu wenig Rechte hat.

    SpielerDaten[playerid][pAdmin] >= 5 && SpielerDaten[playerid][pAdmin] == 7

    Wie soll jemand einen Rang größer 5 aber gleich 7 haben? Das geht nur, wenn er 7 ist :D


    Lösche das mit dem == 7



    Kurze Frage was mache ich falsch es wird alles mit 0 ms ausgegeben?

    Da machst du nix falsch...das ist so, dir werden nur Millisekunden angezeigt, aber dein Server brauch für das Ausführen nur Mikrosekunden :D

    Oki, schreibe es so:


    Warum. -> Kann man bei Fisch wen keine Vorhanden sind das da steht "Nicht Vorhanden"?

    Meinst du so? :D