DonateRank Chat?

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 habe da ein Scriptwunsch und zwar ich besitze ein GF dort hat kann man auch Premium machen also die user und zwar möchte ich wenn ein premium User was im normalen Chat schreibt das da Steht zb [Premium] Hunter und dann sein text


    Abfrage : pDonateRank


    kann mir da jemand helfen? wäre echt supper wenn sich jemand die zeit nhemen Könnte

  • mach doch unter OnPlayerText eine Abfrage
    also so
    if(sInfo[playerid][pDonateRank] == 1)
    {
    new string[256];
    new sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "[Premium]%s sagt: %s", sendername, text);
    SendClientMessageToAll(FARBE,string)
    }
    else
    {
    new string[256];
    new sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "[User]%s sagt: %s", sendername, text);
    SendClientMessageToAll(FARBE,string)
    }

  • ich habs mal gemacht und bekomme errors


    und zwar in dieser zeile


    if(sInfo[playerid][pDonateRank] == 1)



    Zeile (36744) : Unbekannte Variable : "sInfo"
    Zeile (36744) : Befehl hat keinen Sinn
    Zeile (36744) : Erwartete Zeichen ";", aber gefunden "]"
    Zeile (36744) : Ungültiger Befehl
    Zeile (36744) : Zuviele Fehler in einer Zeile

  • emm meints du das hier?


    enum pInfo
    {
    pKey[128],
    pLevel,
    pAdmin,
    pDonateRank,
    gPupgrade,
    pConnectTime,
    pReg,
    pSex,
    pAge,
    pSpawnx,
    pSpawny,
    pSpawnz,
    pOrigin,
    pCK,
    pSFLic,
    pBSLic,
    pLVLic,
    pMuted,
    pExp,
    pCash,
    pAccount,
    pCrimes,
    pKills,
    pDeaths,
    pArrested,
    pRoadblock,
    pWantedDeaths,
    pPhoneBook,
    pPersonalausweis,
    pLottoNr,
    pFishes,
    pBiggestFish,
    pJob,
    pPayCheck,
    pHeadValue,
    pJailed,
    pJailTime,
    pMats,
    pDrugs,
    pLeader,
    pMember,
    pFMember,
    pRank,
    pChar,
    pContractTime,
    pDetSkill,
    pSexSkill,
    pBoxSkill,
    pLawSkill,
    pMechSkill,
    pJackSkill,
    pCarSkill,
    pNewsSkill,
    pDrugsSkill,
    pCookSkill,
    pFishSkill,
    Float:pHealth,
    Float:pSHealth,
    pInt,
    pLocal,
    pTeam,
    pModel,
    pPnumber,
    pPhousekey,
    pPbiskey,
    Float:pPos_x,
    Float:pPos_y,
    Float:pPos_z,
    pCarLic,
    pFlyLic,
    pBoatLic,
    pFishLic,
    pGunLic,
    pGun1,
    pGun2,
    pGun3,
    pGun4,
    pAmmo1,
    pAmmo2,
    pAmmo3,
    pAmmo4,
    pCarTime,
    pPayDay,
    pPayDayHad,
    pCDPlayer,
    pWins,
    pLoses,
    pAlcoholPerk,
    pDrugPerk,
    pMiserPerk,
    pPainPerk,
    pTraderPerk,
    pTut,
    pMissionNr,
    pWarns,
    pAdjustable,
    pFuel,
    pMarried,
    pBomb,
    pMarriedTo[128],
    Wantedlevel,
    //pTot,
    Float:pTx,
    Float:pTy,
    Float:pTz,
    pAFK,
    };


    hab das Stink normale GF

  • So hat nun alles geklapt nun hab ich das Problem das wenn ich was Schreibe schreibe dann steht da auch hunter sagt also da steht dann [user] hunter sagt und dann da drunter auch hunter sagt wie kann man dann das Normale chat ausschalten?


    EDITE: und wenn ich am LSPD Bin und ein andere User schreibt etwas dann kann ich es Lesse Wollt es gern so haben wie das Normale chat das man wenn man in der nähe ist das man es nur lessen kann




    mfg

  • if(strcmp(cmd, "/local", true) == 0 || strcmp(cmd, "/l", true) == 0 || strcmp(cmd, "/say", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist nicht eingeloggt !");
    return 1;
    }
    if(klebeband[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_LIGHTRED, "Du hast ein Klebeband um deinen Mund - du kannst nicht reden");
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Nutze: (/l)ocal [local chat]");
    return 1;
    }
    format(string, sizeof(string), "%s sagt: %s", sendername, result);
    ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
    printf("%s", string);
    }
    return 1;
    }


    ist das richtig?


    PS: und wenn ich am LSPD Bin und ein andere User schreibt etwas dann kann ich es Lesse Wollt es gern so haben wie das Normale chat das man wenn man in der nähe ist das man es nur lessen kann

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • public OnPlayerText(playerid, text[])
    {
    if(Adminabfrage(playerid,1))
    {
    new string[256];
    new sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "[Rank1]%s:%s", sendername, text);
    SendClientMessageToAll(WEISS,string);
    }
    else
    {
    new string[256];
    new sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "%s:%s", sendername, text);
    SendClientMessageToAll(WEISS,string);
    }
    if(Adminabfrage(playerid,2))
    {
    new string[256];
    new sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "[Rank]%s:%s", sendername, text);
    SendClientMessageToAll(WEISS,string);
    }
    else
    {
    new string[256];
    new sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "%s:%s", sendername, text);
    SendClientMessageToAll(WEISS,string);
    }
    return 1;
    }

  • Er frägt auch 2x ab, ob es ein Admin ist oder?


    public OnPlayerText(playerid, text[])
    {
    if(Adminabfrage(playerid,1))
    {
    new string[256];
    new sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "[Rank1]%s:%s", sendername, text);
    SendClientMessageToAll(WEISS,string);
    }
    else if(Adminabfrage(playerid,2))
    {
    new string[256];
    new sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "[Rank]%s:%s", sendername, text);
    SendClientMessageToAll(WEISS,string);
    }
    else
    {
    new string[256];
    new sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "%s:%s", sendername, text);
    SendClientMessageToAll(WEISS,string);
    }
    return 1;
    }


    Dürfte funktionieren


  • Diese Lösung ist sehr umständlich, besser wäre es per elseif, noch besser mit switch und case, also welcher Adminlevel derjenige ist

  • So habs nun gefunden realchat hab ich nun entfern nun Wenn ich als User Schreibe kommt kommt dann nur ein mal [User] hunter so sollte es auch sein so nun mache ich mich zum Premium dann Steht da auch Premiun Hunter aber dann steht da auch User Hunter also wenn ich Hi als Premium schreibe kommt


    [Premium] Hunter sagt hi


    [User] Hunter sagt hi


    Hier der code
    ist ganz am ende vom OnPlayerText


    if(PlayerInfo[playerid][pDonateRank] >= 1)
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "[V.I.P] %s sagt: %s", sendername, text);
    ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
    }
    else
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "%s sagt: %s", sendername, text);
    ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
    return 0;
    }
    return 1;
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen