Vip 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
  • Hey, ich möchte einen Chat erstellen den nur leute mit Premium Rang nutzen können aber kp wie man das machen kann. Könnte mir jemand das Scripten?


    if(SpielerInfo[i][pDonateRank] == 1)


    Der Befehl zum nutzen dieses Chat sollte /vip sein.


    Und es gibt 4 Donate Ränge. Die Farbe vom Chat sollte Blau sein. Braucht ihr noch mehr Informationen?

  • Vileicht so, weiß aber nicht ob der geht:


    Farbe difinieren:


    #define COLOR_Blue 0x33CCFFAA


    Hier der Befehl:
    if(strcmp(cmd, "/vip", true) == 0 || strcmp(cmd, "/premium", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    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: /vip [vip chat]");
    return 1;
    }
    if(SpielerInfo[i][pDonateRank] == 1)
    {
    format(string, sizeof(string), "*%d Donator %s: %s", PlayerInfo[playerid][pAdmin], sendername, result);
    }
    else return 1;
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(SpielerInfo[i][pDonateRank] == 1)
    {
    SendClientMessage(i,COLOR_Blue,string);
    }
    }
    }
    Log("Vip-Chat.txt",string);
    }
    return 1;
    }

  • Geht nicht, lässt sich nicht Compelieren. Hier mal der Code für den /r chat für die Fraktionen


    if(strcmp(cmd, "/radio", true) == 0 || strcmp(cmd, "/r", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    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, "FEHLER: (/r)adio [radio chat]");
    return 1;
    }
    if(SpielerInfo[playerid][sMember] == 1 || SpielerInfo[playerid][sLeader] == 1)
    {
    if(SpielerInfo[playerid][pRank] == 6) { format(string, sizeof(string), "** Chief %s: %s, over. **", sendername, result); }
    else if(SpielerInfo[playerid][pRank] == 5) { format(string, sizeof(string), "** Captain %s: %s, over. **", sendername, result); }
    else if(SpielerInfo[playerid][pRank] == 4) { format(string, sizeof(string), "** Lieutenant %s: %s, over. **", sendername, result); }
    else if(SpielerInfo[playerid][pRank] == 3) { format(string, sizeof(string), "** Sergeant %s: %s, over. **", sendername, result); }
    else if(SpielerInfo[playerid][pRank] == 2) { format(string, sizeof(string), "** Officer %s: %s, over. **", sendername, result); }
    else if(SpielerInfo[playerid][pRank] == 1) { format(string, sizeof(string), "** Cadet %s: %s, over. **", sendername, result); }
    else
    {
    format(string, sizeof(string), "** Cadet %s: %s, over. **", sendername, result);
    }
    SendRadioMessage(1, TEAM_BLUE_COLOR, string);
    printf("%s", string);
    return 1;
    }


    Es sollte genau so sein bloss das es halt nur premium haben machen können die rängenamen für vips sind


    Rang 1 ist: Bürger von SA
    Rang 2: Ehrenbürger
    Rang 3: V.I.P
    Rang 4: ÜBERSKILLER

  • Hallo,


    versuche es mal damit. Funktioniert ganz sicher :)


    if(strcmp(cmd, "/vip", true) == 0 )
    {
    if(IsPlayerConnected(playerid))
    {
    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, "Benutze: /vip [Nachricht]");
    return 1;
    }
    if(PlayerInfo[playerid][pDonateRank] >=1)
    {
    if(PlayerInfo[playerid][pDonateRank] == 1) { format(string, sizeof(string), "** "Dein Rang" %s: %s **", sendername, result); }
    else if(PlayerInfo[playerid][pDonateRank] == 2) { format(string, sizeof(string), "** "Dein Rang" %s: %s **", sendername, result); }
    else if(PlayerInfo[playerid][pDonateRank] == 3) { format(string, sizeof(string), "** "Dein Rang" %s: %s **", sendername, result); }
    else if(PlayerInfo[playerid][pDonateRank] == 4) { format(string, sizeof(string), "** "Dein Rang" %s: %s **", sendername, result); }
    else
    {
    format(string, sizeof(string), "** Noob %s: %s, Ende. **", sendername, result);
    }
    SendLeaderMessage(1, 0xD7AD62FF, string);
    SendLeaderMessage(2, 0xD7AD62FF, string);
    SendLeaderMessage(3, 0xD7AD62FF, string);
    SendLeaderMessage(4, 0xD7AD62FF, string);
    printf("%s", string);
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTRED, "Auf diesem Server bist du kein Premium User!");
    return 1;
    }
    }
    return 1;
    }


    MfG [MRC]NeZcar

  • if(strcmp(cmd, "/vip", true) == 0 || strcmp(cmd, "/v", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    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, "FEHLER: /vip [vip chat]");
    return 1;
    }
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(SpielerInfo[i][pDonateRank] == 1) { format(string, sizeof(string), "** Bürger von SA %s: %s, over. **", sendername, result); }
    else if(SpielerInfo[i][pDonateRank] == 2){ format(string, sizeof(string), "** Ehrenbürger %s: %s, over. **", sendername, result); }
    else if(SpielerInfo[i][pDonateRank] == 3){ format(string, sizeof(string), "** V.I.P %s: %s, over. **", sendername, result); }
    else if(SpielerInfo[i][pDonateRank] == 4){ format(string, sizeof(string), "** ÜBERSKILLER %s: %s, over. **", sendername, result); }
    SendClientMessage(i,COLOR_Blue,string);
    printf("%s", string);
    return 1;
    }
    }
    }

  • Achso :) Aber ich glaube, laut deiner Version müsste das jeder nutzen können, da nur überprüft wird, wenn du *Donatorrang hast dass vor deinem Name z.B. Bürger von SA steht.

  • if(strcmp(cmdtext, "/vip", true) == 0 )
    {
    if(IsPlayerConnected(playerid))
    {
    new idx;
    new sendername[MAX_PLAYER_NAME];
    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, "Benutze: /vip [Nachricht]");
    return 1;
    }
    if(SpielerInfo[playerid][pDonateRank] >=1)
    {
    if(SpielerInfo[playerid][pDonateRank] == 1) { format(string, sizeof(string), "**Dein Rang" %s: %s **", sendername, result); }
    else if(SpielerInfo[playerid][pDonateRank] == 2) { format(string, sizeof(string), "** Dein Rang" %s: %s **", sendername, result); }
    else if(SpielerInfo[playerid][pDonateRank] == 3) { format(string, sizeof(string), "** Dein Rang" %s: %s **", sendername, result); }
    else if(SpielerInfo[playerid][pDonateRank] == 4) { format(string, sizeof(string), "** Dein Rang" %s: %s **", sendername, result); }
    else
    {
    format(string, sizeof(string), "** Noob %s: %s, Ende. **", sendername, result);
    }
    SendLeaderMessage(1, 0xD7AD62FF, string);
    SendLeaderMessage(2, 0xD7AD62FF, string);
    SendLeaderMessage(3, 0xD7AD62FF, string);
    SendLeaderMessage(4, 0xD7AD62FF, string);
    printf("%s", string);
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTRED, "Auf diesem Server bist du kein Premium User!");
    return 1;
    }
    }
    return 1;
    }


    4 Errors -.-


    C:\Dokumente und Einstellungen\Administrator\Desktop\Script\pawno\include\opa_objects.inc(92) : warning 201: redefinition of constant/macro (symbol "OnGameModeInit")
    C:\Dokumente und Einstellungen\Administrator\Desktop\GFR.pwn(17413) : error 017: undefined symbol "string"
    C:\Dokumente und Einstellungen\Administrator\Desktop\GFR.pwn(17413) : error 017: undefined symbol "string"
    C:\Dokumente und Einstellungen\Administrator\Desktop\GFR.pwn(17413) : error 017: undefined symbol "s"
    C:\Dokumente und Einstellungen\Administrator\Desktop\GFR.pwn(17413) : 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.


    Habe alles versucht aber kp :D

  • Ja, so schlau bin ich auch :D ne ich habe es unter onplayercommandtext. Trotzdem Danke :D