VIP Chat reagiert nicht

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 Leute
    Habe ein VIP Chat gemacht doch er geht nicht



    if(strcmp(cmdtext,"/vc",true,3) == 0)
    {
    new string[128],name[24];
    GetPlayerName(playerid,name,sizeof name);
    format(string,sizeof string,"[VIPChat] %s: %s",name,cmdtext[3]);


    if(!strlen(cmdtext[2]))
    {
    SendClientMessage(playerid,BLAU,"Benutze: /vc [text]");
    return 1;
    }


    if(IsPlayerAnVIP(playerid))
    {
    for(new i=0 ; i <GetMaxPlayers() ; i++)
    {
    if(IsPlayerAnVIP(i))
    {
    SendClientMessage(i,BRAUN,string);
    }
    }
    }
    return 1;
    }



    stock IsPlayerAnVIP(playerid)
    {
    if(GetPVarInt(playerid,"VIPStatus")==1)return 1;
    return 0;
    }


    Der Befehl gibt keine Errors oder ähnliches aus er reagiert einfach nicht



    Ich hoffe ihr könnt mir wieder mal helfen :D


    Danke im Voraus

  • stock IsPlayerAnVIP(playerid)
    {
    if(GetPVarInt(playerid,"VIPStatus") ==1 )
    {
    return 1;
    }
    return 0;
    }


    So wie du es vorher hattest müsste es funktionieren.
    Hat der Spieler über haupt den VIP Status?


    Hau am besten vor der Schleife das hier rein:


    if(!IsPlayerAnVIP(playerid)) return SendClientMessage(playerid,-1,"Du bist kein VIP");


    Und die Schleife dann halt ohne der Abfrage ob playerid VIP ist.

  • Habe es jetzt so


    ocmd:vc(playerid,params[])
    {
    if(GetPVarInt(playerid,"VIPStatus") != 1) return SendClientMessage(playerid,-1,"Du bist kein VIP");
    new string[100];
    if(IsPlayerAnVIP(playerid))
    if(sscanf(params,"s",string)) return SendClientMessage(playerid,LIGHTLIME,"Benutze: /vc [Text]");
    format(string,sizeof(string),"AdminChat: %s (%s)",string,SpielerName(playerid));
    for(new ii=0; ii<MAX_PLAYERS; ii++)
    {
    if(IsPlayerAnVIP(ii))
    {
    SendClientMessage(ii,LIGHTLIME,string);
    }
    }
    return 1;
    }


    und
    stock IsPlayerAnVIP(playerid)
    {
    if(GetPVarInt(playerid,"VIPStatus") ==1 )
    {
    return 1;
    }
    return 0;
    }


    Es geht leider immer noch nicht

  • ocmd:vc(playerid,params[])
    {
    if(GetPVarInt(playerid,"VIPStatus") != 1) return SendClientMessage(playerid,-1,"Du bist kein VIP");
    new string[100];
    if(sscanf(params,"s",string)) return SendClientMessage(playerid,LIGHTLIME,"Benutze: /vc [Text]");
    format(string,sizeof(string),"VipChat: %s (%s)",string,SpielerName(playerid));
    for(new ii=0; ii<MAX_PLAYERS; ii++)
    {
    if(GetPVarInt(ii,"VIPStatus") == 1)
    {
    SendClientMessage(ii,LIGHTLIME,string);
    }
    }
    return 1;
    }


    Versuchs mal so.

  • stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
    SetPVarInt(playerid,"Kills",dini_Int(Spielerdatei,"Kills"));
    SetPVarInt(playerid,"Tode",dini_Int(Spielerdatei,"Tode"));
    SetPVarInt(playerid,"Haus_Besitzer",dini_Int(Spielerdatei,"Haus_Besitzer"));
    SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
    SetPVarInt(playerid,"VIPSatus",dini_Int(Spielerdatei,"VIPStatus"));

    if(GetPVarInt(playerid,"Baned")==1)
    {
    SendClientMessage(playerid,ROT,"Du wurdest vom Server gebannt.");
    Kick(playerid);
    }
    SetPVarInt(playerid,"loggedin",1);
    return 1;
    }

  • Machs so
    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
    SetPVarInt(playerid,"Kills",dini_Int(Spielerdatei,"Kills"));
    SetPVarInt(playerid,"Tode",dini_Int(Spielerdatei,"Tode"));
    SetPVarInt(playerid,"Haus_Besitzer",dini_Int(Spielerdatei,"Haus_Besitzer"));
    SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
    SetPVarInt(playerid,"VIPStatus",dini_Int(Spielerdatei,"VIPStatus"));

    if(GetPVarInt(playerid,"Baned")==1)
    {
    SendClientMessage(playerid,ROT,"Du wurdest vom Server gebannt.");
    Kick(playerid);
    }
    SetPVarInt(playerid,"loggedin",1);
    return 1;
    }

  • Wo isn da der Unterschied?

  • Mach mal die Schleife in den Stock. Hab das so gemacht :stock SendAdminMessage(color,text[])
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i))continue;
    if(!isPlayerAnAdmin(i,1))continue;
    SendClientMessage(i,color,text);
    }
    return 1;
    }