Jump to content
  • 0

pomoc Příkaz nefunguje jak má


Stellet

Dotaz

Ahoj, udělal jsem si příkaz na vysílačku... Ale něják to nejde jak má.. Podívejte se samy:

dm-1514275629003.png

 

Příkaz:

CMD:v(playerid, params[])
{
    if(Hrac[playerid][Frakce] == 1 && Hrac[playerid][Frakce] == 2 && Hrac[playerid][Frakce] == 3) return SendClientMessage(playerid, -1, "Tento příkaz nemůžeš používat.");
    {
        new Name[64];
        GetPlayerName(playerid,Name,64);
        new TEXT;
        if(sscanf(params,"s",TEXT)) return SendClientMessage(playerid,-1,"Použití: /f [TEXT]");
        {
            if(Hrac[playerid][Frakce] == 1)
            {
                new str[1000];
                format(str,sizeof(str),"**Vysílačka** %s říká: %s",Name,TEXT);
                for(new i = 0;i<MAX_PLAYERS;i++){if(Hrac[i][Frakce] == 1) return  SendClientMessage(i,-1,str);}
                return 1;
            }
            if(Hrac[playerid][Frakce] == 2)
            {
                new str[500];
                format(str,sizeof(str),"**Vysílačka** %s říká: %s",Name,TEXT);
                for(new i = 0;i<MAX_PLAYERS;i++){if(Hrac[i][Frakce] == 2) return  SendClientMessage(i,-1,str);}
                return 1;
            }
            if(Hrac[playerid][Frakce] == 3)
            {
                new str[500];
                format(str,sizeof(str),"**Vysílačka** %s říká: %s",Name,TEXT);
                for(new i = 0;i<MAX_PLAYERS;i++){if(Hrac[i][Frakce] == 3) return  SendClientMessage(i,-1,str);}
                return 1;
            }
        }
    }
    return 1;
}

 

Kdo si nevšiml tak místo jména to zobrazuje kousek stringu.

Link to comment
Share on other sites

2 odpovědí na tuto otázku

Recommended Posts

  • 0
Premena môže udržať len jeden bit informácie (jedno písmo).

Ale môžeš použiť array pre uloženie stringu zo sscanf. Stačí použiť params.

 

Taktiež, veľkosť tvojej array je zbytočne veľká, na array pre meno ti stačí len číslo 24 a správa pre užívateľa vie udržať len 128.

 



#define isnull(%1) \
((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))

CMD:v(playerid, params[])
{
if(Hrac[playerid][Frakce] == 1 && Hrac[playerid][Frakce] == 2 && Hrac[playerid][Frakce] == 3) return SendClientMessage(playerid, -1, "Tento príkaz nemužeš používat.");
{
new Name[MAX_PLAYER_NAME];
GetPlayerName(playerid,Name,sizeof(Name));
if(isnull(params)) return SendClientMessage(playerid,-1,"Použití: /f [TEXT]");
{
if(Hrac[playerid][Frakce] == 1)
{
new str[128];
format(str,sizeof(str),"**Vysílacka** %s ríká: %s",Name,params);
for(new i = 0;i<MAX_PLAYERS;i++){if(Hrac[i][Frakce] == 1) return SendClientMessage(i,-1,str);}
return 1;
}
if(Hrac[playerid][Frakce] == 2)
{
new str[128];
format(str,sizeof(str),"**Vysílacka** %s ríká: %s",Name,params);
for(new i = 0;i<MAX_PLAYERS;i++){if(Hrac[i][Frakce] == 2) return SendClientMessage(i,-1,str);}
return 1;
}
if(Hrac[playerid][Frakce] == 3)
{
new str[128];
format(str,sizeof(str),"**Vysílacka** %s ríká: %s",Name,params);
for(new i = 0;i<MAX_PLAYERS;i++){if(Hrac[i][Frakce] == 3) return SendClientMessage(i,-1,str);}
return 1;
}
}
}
return 1;
}

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...