[Ajuda] /Aviso
#1

Fiz um /aviso e quando junta 3 avisos, nгo estб prendendo o player. Nгo estб nem fazendo a funзгo que deveria fazer. O que eu quero й que quando ele chegar a 3 avisos ele prende o player. O que estб acontecendo й que ele chega a 3 avisos daн pra frente nem envia mais as mensagens. Nem prender chega.
Code:
PHP код:
CMD:aviso(playerid, params[])
{
    new 
id, motivo[200], iname[20], file[50], pname[20], string[200];
    if(!
Jogador[playerid][Admin]) return SendClientMessage(playerid, 0xFF0000AA, "| ERRO | Vocк nгo tem permissгo para usar este comando.");
    if(
Jogador[playerid][Admin] > 0)
    {
        if(
sscanf(params, "us", id, motivo)) return SendClientMessage(playerid, 0xFF0000AA, "| ERRO | Use /aviso (id) (motivo).");
        
GetPlayerName(id, iname, 20);
        
GetPlayerName(playerid, pname, 20);
        
format(file, sizeof(file), "Contas/%s.ini", iname);
        if(
Avisos[id] == 0 || Avisos[id] == 1 || Avisos[id] == 2)
        {
        if(
Jogador[playerid][Admin] == 1)
        {
            
format(string, sizeof(string), "| AVISO | O(A) jogador(a) %s(%d) foi avisado(a) pelo(a) Ajudante %s(%d).", iname, id, pname, playerid);
            
SendClientMessageToAll(0xFF0000FF, string);
            
format(string, sizeof(string), "Motivo: %s", motivo);
            
SendClientMessage(id, 0xFF0000FF, string);
            
Avisos[id]++;
            
DOF2_SetInt(file, "Avisos", Avisos[id]);
            
format(string, sizeof(string), "Avisos no total: %d", Avisos[id]);
            
SendClientMessage(id, 0xFF0000FF, string);
            return 
1;
        }
        if(
Jogador[playerid][Admin] == 2)
        {
            
format(string, sizeof(string), "| AVISO | O(A) jogador(a) %s(%d) foi avisado(a) pelo(a) Moderador(a) %s(%d).", iname, id, pname, playerid);
            
SendClientMessageToAll(0xFF0000FF, string);
            
format(string, sizeof(string), "Motivo: %s", motivo);
            
SendClientMessage(id, 0xFF0000FF, string);
            
Avisos[id]++;
            
DOF2_SetInt(file, "Avisos", Avisos[id]);
            
format(string, sizeof(string), "Avisos no total: %d", Avisos[id]);
            
SendClientMessage(id, 0xFF0000FF, string);
            return 
1;
        }
        if(
Jogador[playerid][Admin] == 3)
        {
            
format(string, sizeof(string), "| AVISO | O(A) jogador(a) %s(%d) foi avisado(a) pelo(a) Administrador(a) %s(%d).", iname, id, pname, playerid);
            
SendClientMessageToAll(0xFF0000FF, string);
            
format(string, sizeof(string), "Motivo: %s", motivo);
            
SendClientMessage(id, 0xFF0000FF, string);
            
Avisos[id]++;
            
DOF2_SetInt(file, "Avisos", Avisos[id]);
            
format(string, sizeof(string), "Avisos no total: %d", Avisos[id]);
            
SendClientMessage(id, 0xFF0000FF, string);
            return 
1;
        }
        if(
Jogador[playerid][Admin] == 4)
        {
            
format(string, sizeof(string), "| AVISO | O(A) jogador(a) %s(%d) foi avisado(a) pelo(a) Staff %s(%d).", iname, id, pname, playerid);
            
SendClientMessageToAll(0xFF0000FF, string);
            
format(string, sizeof(string), "Motivo: %s", motivo);
            
SendClientMessage(id, 0xFF0000FF, string);
            
Avisos[id]++;
            
DOF2_SetInt(file, "Avisos", Avisos[id]);
            
format(string, sizeof(string), "Avisos no total: %d", Avisos[id]);
            
SendClientMessage(id, 0xFF0000FF, string);
            return 
1;
        }
        if(
Avisos[id] == 3)
        {
        
format(string, sizeof(string), "| AVISO | O(A) jogador(a) %s(%d) foi preso por 30 minutos pelo(a) BOT.", iname, id);
        
SendClientMessageToAll(0xFF0000FF, string);
        
SendClientMessage(id, 0xFF0000FF, "Motivo: 3 avisos.");
        
SetPlayerWantedLevel(id, 0);
        
KillTimer(TempContPreso[id]);
        
TogglePlayerControllable(id, 1);
        
SetPlayerPos(id, 264.6306, 76.9457, 1001.0391);
        
SetPlayerInterior(id, 6);
        
SetPlayerHealth(id, 999999);
        
ResetPlayerWeapons(id);
        
DOF2_SetInt(file, "PresoAdm", 1);
        
DOF2_SetInt(file, "Preso", 0);
        
minPreso[id] += 30;
        
segPreso[id] += 00;
        
TempContPreso[id] = SetTimerEx("TempoPreso", 1000, true, "i", id);
        
TextDrawShowForPlayer(id, RelogioPreso[id]);
        
prendeu[playerid] = 1;
        
Preso[id] = 1;
        
DOF2_SetString(file, "Preso Por", "BOT");
        
DOF2_SetInt(file, "Avisos", 0);
        
DOF2_SetInt(file, "Tempo Preso", 20);
        
DOF2_SetString(file, "Motivo Preso", "3 avisos");
        
DOF2_SaveFile();
    }
    }
    }
    return 
1;
} 
Reply
#2

verifique se o player esta conectado para evitar crashar... o mбximo de caracteres que pode mostra na tela й 128 vocк pode poupar muitas cйlulas nessas strings..
PHP код:
CMD:aviso(playerid, params[])
{
    new 
id, motivo[200], iname[20], file[50], pname[20], string[200];
    if(!
Jogador[playerid][Admin])
    return 
SendClientMessage(playerid, 0xFF0000AA, "| ERRO | Vocк nгo tem permissгo para usar este comando.");
    if(
sscanf(params, "us[30]", id, motivo))
    return 
SendClientMessage(playerid, 0xFF0000AA, "| ERRO | Use /aviso (id) (motivo).");
    if(
IsPlayerConnected(id))
    {
        
GetPlayerName(id, iname, 20);
        
GetPlayerName(playerid, pname, 20);
        
        
format(file, sizeof(file), "Contas/%s.ini", iname);
        switch(
Jogador[playerid][Admin])
        {
            case 
1:
            {
                
format(string, sizeof(string), "| AVISO | O(A) jogador(a) %s(%d) foi avisado(a) pelo(a) Ajudante %s(%d).", iname, id, pname, playerid);
                
SendClientMessageToAll(0xFF0000FF, string);
                
format(string, sizeof(string), "Motivo: %s", motivo);
                
SendClientMessage(id, 0xFF0000FF, string);
                
Avisos[id]++;
                
DOF2_SetInt(file, "Avisos", Avisos[id]);
                
format(string, sizeof(string), "Avisos no total: %d", Avisos[id]);
                
SendClientMessage(id, 0xFF0000FF, string);
            }
            case 
2:
            {
                
format(string, sizeof(string), "| AVISO | O(A) jogador(a) %s(%d) foi avisado(a) pelo(a) Moderador(a) %s(%d).", iname, id, pname, playerid);
                
SendClientMessageToAll(0xFF0000FF, string);
                
format(string, sizeof(string), "Motivo: %s", motivo);
                
SendClientMessage(id, 0xFF0000FF, string);
                
Avisos[id]++;
                  
DOF2_SetInt(file, "Avisos", Avisos[id]);
                
format(string, sizeof(string), "Avisos no total: %d", Avisos[id]);
                
SendClientMessage(id, 0xFF0000FF, string);
            }
            case 
3:
            {
                
format(string, sizeof(string), "| AVISO | O(A) jogador(a) %s(%d) foi avisado(a) pelo(a) Administrador(a) %s(%d).", iname, id, pname, playerid);
                
SendClientMessageToAll(0xFF0000FF, string);
                
format(string, sizeof(string), "Motivo: %s", motivo);
                
SendClientMessage(id, 0xFF0000FF, string);
                
Avisos[id]++;
                
DOF2_SetInt(file, "Avisos", Avisos[id]);
                
format(string, sizeof(string), "Avisos no total: %d", Avisos[id]);
                
SendClientMessage(id, 0xFF0000FF, string);
            }
            case 
4:
            {
                 
format(string, sizeof(string), "| AVISO | O(A) jogador(a) %s(%d) foi avisado(a) pelo(a) Staff %s(%d).", iname, id, pname, playerid);
                
SendClientMessageToAll(0xFF0000FF, string);
                
format(string, sizeof(string), "Motivo: %s", motivo);
                
SendClientMessage(id, 0xFF0000FF, string);
                
Avisos[id]++;
                
DOF2_SetInt(file, "Avisos", Avisos[id]);
                
format(string, sizeof(string), "Avisos no total: %d", Avisos[id]);
                
SendClientMessage(id, 0xFF0000FF, string);
            }
        }
        if(
Avisos[id] == 3)
        {
            
format(string, sizeof(string), "| AVISO | O(A) jogador(a) %s(%d) foi preso por 30 minutos pelo(a) BOT.", iname, id);
            
SendClientMessageToAll(0xFF0000FF, string);
            
SendClientMessage(id, 0xFF0000FF, "Motivo: 3 avisos.");
            
SetPlayerWantedLevel(id, 0);
            
KillTimer(TempContPreso[id]);
            
TogglePlayerControllable(id, 1);
            
SetPlayerPos(id, 264.6306, 76.9457, 1001.0391);
            
SetPlayerInterior(id, 6);
            
SetPlayerHealth(id, 999999);
            
ResetPlayerWeapons(id);
            
DOF2_SetInt(file, "PresoAdm", 1);
            
DOF2_SetInt(file, "Preso", 0);
            
minPreso[id] += 30;
            
segPreso[id] += 00;
            
TempContPreso[id] = SetTimerEx("TempoPreso", 1000, true, "i", id);
            
TextDrawShowForPlayer(id, RelogioPreso[id]);
            
prendeu[playerid] = 1;
            
Preso[id] = 1;
            
DOF2_SetString(file, "Preso Por", "BOT");
            
DOF2_SetInt(file, "Avisos", 0);
            
DOF2_SetInt(file, "Tempo Preso", 20);
            
DOF2_SetString(file, "Motivo Preso", "3 avisos");
            
DOF2_SaveFile();
        }
    }
    return 
1;
} 
Reply
#3

Код:
CMD:aviso(playerid, params[]) 
{ 
    new id, motivo[200], iname[20], file[50], pname[20], string[200]; 
    if(!Jogador[playerid][Admin]) return SendClientMessage(playerid, 0xFF0000AA, "| ERRO | Vocк nгo tem permissгo para usar este comando."); 
  

        Avisos[id]++;
        DOF2_SetInt(file, "Avisos", Avisos[id]); 

        if(Avisos[id] == 3) 
        {  
        SetPlayerWantedLevel(id, 0); 
        KillTimer(TempContPreso[id]); 
        TogglePlayerControllable(id, 1); 
        SetPlayerPos(id, 264.6306, 76.9457, 1001.0391); 
        SetPlayerInterior(id, 6); 
        SetPlayerHealth(id, 999999); 
        ResetPlayerWeapons(id); 
        DOF2_SetInt(file, "PresoAdm", 1); 
        DOF2_SetInt(file, "Preso", 0); 
        minPreso[id] += 30; 
        segPreso[id] += 00; 
        TempContPreso[id] = SetTimerEx("TempoPreso", 1000, true, "i", id); 
        TextDrawShowForPlayer(id, RelogioPreso[id]); 
        prendeu[playerid] = 1; 
        Preso[id] = 1; 
        DOF2_SetString(file, "Preso Por", "BOT"); 
        DOF2_SetInt(file, "Avisos", 0); 
        DOF2_SetInt(file, "Tempo Preso", 20); 
        DOF2_SetString(file, "Motivo Preso", "3 avisos"); 
        DOF2_SaveFile(); 

    format(string, sizeof(string), "| AVISO | O(A) jogador(a) %s(%d) foi preso por %d minuto(s) pelo(a) BOT.", iname, id, minPreso[id]); 
        SendClientMessageToAll(0xFF0000FF, string); 
        SendClientMessage(id, 0xFF0000FF, "Motivo: 3 avisos"); 
        return 1;
    } 

    if(jogador[playerid][Admin] > 0)
    {
      format(string, sizeof(string), "| AVISO | O(A) jogador(a) %s(%d) foi avisado(a) pelo(a) Staff %s(%d).", iname, id, pname, playerid); 
            SendClientMessageToAll(0xFF0000FF, string); 
            format(string, sizeof(string), "Motivo: %s", motivo); 
            SendClientMessage(id, 0xFF0000FF, string); 
           
            format(string, sizeof(string), "Avisos no total: %d", Avisos[id]); 
            SendClientMessage(id, 0xFF0000FF, string); 
            return 1; 
    }
    return 1; 
}
Desculpa a mб organizaзгo, mas estou no celular.
Reply
#4

Quote:
Originally Posted by Whoo
Посмотреть сообщение
verifique se o player esta conectado para evitar crashar... o mбximo de caracteres que pode mostra na tela й 128 vocк pode poupar muitas cйlulas nessas strings..
PHP код:
CMD:aviso(playerid, params[])
{
    new 
id, motivo[200], iname[20], file[50], pname[20], string[200];
    if(!
Jogador[playerid][Admin])
    return 
SendClientMessage(playerid, 0xFF0000AA, "| ERRO | Vocк nгo tem permissгo para usar este comando.");
    if(
sscanf(params, "us[30]", id, motivo))
    return 
SendClientMessage(playerid, 0xFF0000AA, "| ERRO | Use /aviso (id) (motivo).");
    if(
IsPlayerConnected(id))
    {
        
GetPlayerName(id, iname, 20);
        
GetPlayerName(playerid, pname, 20);
        
        
format(file, sizeof(file), "Contas/%s.ini", iname);
        switch(
Jogador[playerid][Admin])
        {
            case 
1:
            {
                
format(string, sizeof(string), "| AVISO | O(A) jogador(a) %s(%d) foi avisado(a) pelo(a) Ajudante %s(%d).", iname, id, pname, playerid);
                
SendClientMessageToAll(0xFF0000FF, string);
                
format(string, sizeof(string), "Motivo: %s", motivo);
                
SendClientMessage(id, 0xFF0000FF, string);
                
Avisos[id]++;
                
DOF2_SetInt(file, "Avisos", Avisos[id]);
                
format(string, sizeof(string), "Avisos no total: %d", Avisos[id]);
                
SendClientMessage(id, 0xFF0000FF, string);
            }
            case 
2:
            {
                
format(string, sizeof(string), "| AVISO | O(A) jogador(a) %s(%d) foi avisado(a) pelo(a) Moderador(a) %s(%d).", iname, id, pname, playerid);
                
SendClientMessageToAll(0xFF0000FF, string);
                
format(string, sizeof(string), "Motivo: %s", motivo);
                
SendClientMessage(id, 0xFF0000FF, string);
                
Avisos[id]++;
                  
DOF2_SetInt(file, "Avisos", Avisos[id]);
                
format(string, sizeof(string), "Avisos no total: %d", Avisos[id]);
                
SendClientMessage(id, 0xFF0000FF, string);
            }
            case 
3:
            {
                
format(string, sizeof(string), "| AVISO | O(A) jogador(a) %s(%d) foi avisado(a) pelo(a) Administrador(a) %s(%d).", iname, id, pname, playerid);
                
SendClientMessageToAll(0xFF0000FF, string);
                
format(string, sizeof(string), "Motivo: %s", motivo);
                
SendClientMessage(id, 0xFF0000FF, string);
                
Avisos[id]++;
                
DOF2_SetInt(file, "Avisos", Avisos[id]);
                
format(string, sizeof(string), "Avisos no total: %d", Avisos[id]);
                
SendClientMessage(id, 0xFF0000FF, string);
            }
            case 
4:
            {
                 
format(string, sizeof(string), "| AVISO | O(A) jogador(a) %s(%d) foi avisado(a) pelo(a) Staff %s(%d).", iname, id, pname, playerid);
                
SendClientMessageToAll(0xFF0000FF, string);
                
format(string, sizeof(string), "Motivo: %s", motivo);
                
SendClientMessage(id, 0xFF0000FF, string);
                
Avisos[id]++;
                
DOF2_SetInt(file, "Avisos", Avisos[id]);
                
format(string, sizeof(string), "Avisos no total: %d", Avisos[id]);
                
SendClientMessage(id, 0xFF0000FF, string);
            }
        }
        if(
Avisos[id] == 3)
        {
            
format(string, sizeof(string), "| AVISO | O(A) jogador(a) %s(%d) foi preso por 30 minutos pelo(a) BOT.", iname, id);
            
SendClientMessageToAll(0xFF0000FF, string);
            
SendClientMessage(id, 0xFF0000FF, "Motivo: 3 avisos.");
            
SetPlayerWantedLevel(id, 0);
            
KillTimer(TempContPreso[id]);
            
TogglePlayerControllable(id, 1);
            
SetPlayerPos(id, 264.6306, 76.9457, 1001.0391);
            
SetPlayerInterior(id, 6);
            
SetPlayerHealth(id, 999999);
            
ResetPlayerWeapons(id);
            
DOF2_SetInt(file, "PresoAdm", 1);
            
DOF2_SetInt(file, "Preso", 0);
            
minPreso[id] += 30;
            
segPreso[id] += 00;
            
TempContPreso[id] = SetTimerEx("TempoPreso", 1000, true, "i", id);
            
TextDrawShowForPlayer(id, RelogioPreso[id]);
            
prendeu[playerid] = 1;
            
Preso[id] = 1;
            
DOF2_SetString(file, "Preso Por", "BOT");
            
DOF2_SetInt(file, "Avisos", 0);
            
DOF2_SetInt(file, "Tempo Preso", 20);
            
DOF2_SetString(file, "Motivo Preso", "3 avisos");
            
DOF2_SaveFile();
        }
    }
    return 
1;
} 
existe muita coisa ai que nгo iria precisar.. apenas poluindo o comando
Reply
#5

Quote:
Originally Posted by HoodScript
Посмотреть сообщение
existe muita coisa ai que nгo iria precisar.. apenas poluindo o comando
sу dei uma organizada no comando do jovem nгo mudei o que ele fez
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)