/messages macht Probleme

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
  • Hallo,


    Ich versuche gerne ein einfaches /messages zu erstellen brauche aber etwas hilfe.
    hier mal mein Pwn code.


    if(strcmp("/messages", cmdtext, true, 10) == 0)
    {
    new pName[MAX_PLAYER_NAME];
    new string[48];
    GetPlayerName(playerid, pName, sizeof(pName));
    format(string, sizeof(string), "%s hat den Server betreten.", pName);
    SendClientMessage(playerid, 0xAAAAAAAA, string);
    }
    else
    {
    new pName[MAX_PLAYERS_NAME], string[56];
    GetPlayerName(playerid, pName, sizeof(pName));
    switch (reason)
    {
    case 0: format(string, sizeof(string), "%s hat den Server verlassen. (Timeout)");
    case 1: format(string, sizeof(string), "%s hat den Server verlassen.");
    }
    return 1;
    }


    D:\Selfmade.pwn(170) : warning 219: local variable "pName" shadows a variable at a preceding level
    D:\Selfmade.pwn(172) : error 035: argument type mismatch (argument 2)
    D:\Selfmade.pwn(172) : error 035: argument type mismatch (argument 2)
    D:\Selfmade.pwn(170) : warning 204: symbol is assigned a value that is never used: "pName"
    D:\Selfmade.pwn(170 -- 178) : warning 219: local variable "pName" shadows a variable at a preceding level
    D:\Selfmade.pwn(178) : error 017: undefined symbol "MAX_PLAYERS_NAME"
    D:\Selfmade.pwn(178) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.


    Real:

  • Ich weiß zwar nicht genau, was du da versuchst, aber es scheint mir, dass du einen Befehl erstellen willst, der die einlogg & auslogg nachrichten aktiviert bzw deaktiviert.


    1. Dann brauchst du eine globale Variable, am besten in das Spieler enum packen, da das dann auch gespeichert wird.


    2. Ich empfehle dir dringenst einen "cmd-prozessor" da diese sehr viel schneller, einfacher und performanter sind, als diese ständigen strcmp abfragen :)


    Als Beispiel nimm ocmd oder so :)



    So mal als grobes Beispiel :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • also wenn ich das grade richtig verstehe muss pMessages in meinen Enum Data. aber nicht normal so geschrieben pMessages sondern bool:pMessagesun dazu muss ich noch eine Spalte in der MySQL Database erstellen richtig?

    ja, sowie es Kaliber geschrieben hat ja.
    Kann man auch anders machen, das man jedes mal die NAchricht aktiveren kann, heißt wenn man connectet, das die Messages immer erst deaktiviert sind.


    Mehr transparents zu der Community!
    Aber bitte künftig: Transparenz und nicht Transparents

  • ja, sowie es Kaliber geschrieben hat ja.Kann man auch anders machen, das man jedes mal die NAchricht aktiveren kann, heißt wenn man connectet, das die Messages immer erst deaktiviert sind.

    hab das jetzt so.


    enum pData
    {
    p_id,
    bool:pLoggedIn,
    pName[MAX_PLAYER_NAME],
    pLevel,
    pAdmin,
    pMessages,
    pMoney,
    pKills,
    pDeaths
    }

  • hab das jetzt so.

    Hattest es doch schon richtig gesagt gehabt, dass du bool verwenden musst:


    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S