SA-MP Forums Archive
[Pedido] Arrumar meu script - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Pedido] Arrumar meu script (/showthread.php?tid=510906)



Arrumar meu script - gmstrikker - 03.05.2014

Meu sendfamily msg й por ORG, exemplo eu puxo a public sendfamily msg 32 vai msg pra todos da ORG 32, eu queria mudar isso pra Sobrenome iguais, tipo eu sou Pedro_Nunes eu mando msg ai todos que forem _Nunes vгo ver essa msg alguem pode quebrar essa p mim?
pawn Код:
public SendFamilyMessage(family, COLOR, string[])
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(PlayerInfo[i][pMembro] == family || PlayerInfo[i][pLider] == family)
            {
                if(!gFam[i])
                {
                    SendClientMessage(i, COLOR, string);
                }
            }
        }
    }
}



Re: Arrumar meu script - Gii - 03.05.2014

https://sampforum.blast.hk/showthread.php?tid=510368


Re: Arrumar meu script - lucas_mdr1235 - 03.05.2014

Tenta esse cуdigo ai. Nгo testei #PutaQuePariuTalvezTenhaComoOtimizarMaisLol
PHP код:
//Modo de uso exemplo
YCMD:familia(playerid, params[], help)
{
    new 
result[102];
    new 
string[128];
    new 
SobrenomesF[24];
    if(
sscanf(params, "s[102]",result))
    {
        
SendClientMessage(playerid, COLOR_GRAD2, "USE: /familia [Mensagem]");
        return 
1;
    }
    if(
strlen(result) > 102) { SendClientMessage(playerid, -1, "Mensagem muito grande. Limite de 102 caracteres ! ! !"); return 0; }
    
Stri_Str(pNome(playerid), "_",  SobrenomesF);
    
format(string, sizeof(string), "Familia %s >> %s: %s ! ! !", SobrenomesF, pNome(playerid), result);}
    
SendFamilyMessage(SobrenomesF, COLOR, result);
    return 
1;
}

//Subistituir sua FORWARD por esta aqui
forward SendFamilyMessage(SobrenomeF[], COLOR, strings[]);

//Subistituir sua PUBLIC por esta aqui
public SendFamilyMessage(SobrenomeF[], COLOR, strings[])//Public modificada
{
    new 
string[128];
    for(new 
i = 0; i < MAX_PLAYERS; i++)
    {
        if(
IsPlayerConnected(i))
        {
            
Stri_Str(pNome(i), SobrenomeF,  string);
            if(!
gFam[i])
            {
                if(
strcmp(string, SobrenomeF, true) == 0)
                {
                    
SendClientMessage(i, COLOR, strings);
                }
            }
        }
    }
    return 
1;
}

//Colocar no final do GM fora das PUBLIC
Stri_Str(str[], ch[],  out[], sz = sizeof(str))//BY zSuYaNw >> Funзгo extrair uma string apartir de uma palavra
{
    static 
p, z;
    
p = strfind(str, ch);
    
z = strlen(str);
    
strmid(out, str, p, z+p, sz);
    return 
out;
}
stock pNome(playerid)
{
    new 
nome[MAX_PLAYER_NAME];
    
GetPlayerName(playerid, nome, sizeof(nome));
    return 
nome;
}