[Pedido] Base de /trocarnick
#1

Em minha GM, fiz um /TrocarNick porйm na parte do DOF2_RenameFile nгo entendi como usar pra alterar o nome do arquivo dentro da pasta '-'
Entгo queria uma base pra ver o modo de usar DOF2_RenameFile em um /TrocarNick. ^^
Reply
#2

Olб ja que vocк quer uma base vou mandar a minha,

PHP код:
@removed 
Reply
#3

Quote:
Originally Posted by IlanZ
Посмотреть сообщение
Olб ja que vocк quer uma base vou mandar a minha,

PHP код:
CMD:mudarnick(playerid, params[])
{
    new 
nome[24];
    if(
sscanf(params,"s[24]",nome)) return SendClientMessage(playerid, Corretamente, "Use corretamente: /mudarnick [Novo nick]");
    if(
DOF2_FileExists(PlayerConta(playerid))) return SendClientMessage(playerid, Vermelho, "ERROR: Esse nome jб estб registrado no servidor");
    if(
strfind(nome, "Luiiz", true) != -1 || strfind(nome, "nelsu", true) != -1 || strfind(nome, "blabla", true) != -1 || strfind(nome, "blabla", true) != -1)
    {
        
SendClientMessage(playerid, Vermelho, "ERROR: Vocк nгo pode botar esse nome");
        return 
1;
    }
    if(
strlen(nome) < 3 || strlen(nome) > 24)
     {
           
SendClientMessage(playerid, Vermelho, "ERROR: Digite um nome entre 3 a 24 caracteres.");
         return 
1;
    }
    else
    {
        new 
String[90], string[90],stringold[90], ilan[80];
        
format(stringold, sizeof(stringold), "Contas/%s.ini",PlayerName(playerid));
        
format(String, sizeof(String), "Vocк mudou seu nick para '%s' nгo esqueзa de mudar no SA-MP Client",nome);
        
format(ilan, sizeof(ilan), "%s acabou de mudar o nick para '%s'", PlayerName(playerid), nome);
        
SendClientMessageToAll(-1, ilan);
        
SendClientMessage(playerid, -1, String);
        
format(string, sizeof(string), "Contas/%s.ini", nome);
        
DOF2_RenameFile(stringold, string);
        
SetPlayerName(playerid, nome);
    }
    return 
1;
} 
Pelo o que eu entendi, sу tinha que criar 2 new(nickantigo e nicknovo) e definir elas. Fiz o mesmo mas nгo tб alterando o nick na pasta. Continua o mesmo ;-;
PHP код:
CMD:mudarnick(playerid, params[])
{
    new 
nickn[20], nickold[20], pname[20], Ano1, Mes1, Dia1, Hora1, Minuto1, Segundo1, string[200];
    
getdate(Ano1, Mes1, Dia1);
    
gettime(Hora1, Minuto1, Segundo1);
    
GetPlayerName(playerid, pname, 20);
    
format(nickold, sizeof(nickold), "Contas/%s.ini", pname);
    if(
NickLiberado[playerid] == 0) return SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Vocк nгo estб liberado para mudar nick. Peзa pelo /Duvida.");
    if(
NickLiberado[playerid] == 1)
    {
        
format(string, sizeof(string), "Contas/%s.ini", pname);
        
DOF2_RenameFile(nickold, string);
        if(
sscanf(params, "s[128]", nickn)) return SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Use: /MudarNick (novo nick).");
        
SetPlayerName(playerid, nickn);
        
format(string, sizeof(string), "| NICK | O(A) %s %s(%d) trocou de nick. Novo nick: %s (%02d/%02d/%02d %02d:%02d:%02d)", CargoAdm(playerid), pname, playerid, nickn, Dia1, Mes1, Ano1, Hora1, Minuto1, Segundo1);
        
SendClientMessageToAll(0xF3FF00AA, string);
        
NickLiberado[playerid] = 0;
    }
    return 
1;
} 
Edit: Vi que criou um arquivo na pasta scriptfiles. Arquivo com o nick sу que sem .ini. Apenas um arquivo sem extensгo '-'
Reply
#4

PHP код:

CMD
:mudarnick(playerid, params[]) 
{ 
    new 
nickn[20], nickold[24], pname[20], Ano1, Mes1, Dia1, Hora1, Minuto1, Segundo1, string[70], string2[80], string3[70]; 
    if(
sscanf(params, "s[20]", nickn)) return SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Use: /MudarNick (novo nick).");
    
getdate(Ano1, Mes1, Dia1); 
    
gettime(Hora1, Minuto1, Segundo1); 
    
GetPlayerName(playerid, pname, 20); 
    
GetPlayerName(playerid,nickold,24)
    
format(nickold, sizeof(nickold), "Contas/%s.ini", pname); 
    if(
NickLiberado[playerid] == 0) return SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Vocк nгo estб liberado para mudar nick. Peзa pelo /Duvida."); 
    if(
NickLiberado[playerid] == 1) 
    { 
        
format(string, sizeof(string), "Contas/%s.ini", nickold); 
        
format(string3, sizeof(string3),"Contas/%s.ini", nickn);
        
format(string2,sizeof(string2), "| NICK | O(A) %s %s(%d) trocou de nick. Novo nick: %s (%02d/%02d/%02d %02d:%02d:%02d)", CargoAdm(playerid), pname, playerid, nickn, Dia1, Mes1, Ano1, Hora1, Minuto1, Segundo1); 
        
SendClientMessageToAll(0xF3FF00AA, string2); 
        
NickLiberado[playerid] = 0; 
        
DOF2_RenameFile(string, string3);  
        
SetPlayerName(playerid, nickn); 
    } 
    return 
1; 
} 
Reply
#5

Quote:
Originally Posted by IlanZ
Посмотреть сообщение
PHP код:

CMD
:mudarnick(playerid, params[]) 
{ 
    new 
nickn[20], nickold[24], pname[20], Ano1, Mes1, Dia1, Hora1, Minuto1, Segundo1, string[70], string2[80], string3[70]; 
    if(
sscanf(params, "s[20]", nickn)) return SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Use: /MudarNick (novo nick).");
    
getdate(Ano1, Mes1, Dia1); 
    
gettime(Hora1, Minuto1, Segundo1); 
    
GetPlayerName(playerid, pname, 20); 
    
GetPlayerName(playerid,nickold,24)
    
format(nickold, sizeof(nickold), "Contas/%s.ini", pname); 
    if(
NickLiberado[playerid] == 0) return SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Vocк nгo estб liberado para mudar nick. Peзa pelo /Duvida."); 
    if(
NickLiberado[playerid] == 1) 
    { 
        
format(string, sizeof(string), "Contas/%s.ini", nickold); 
        
format(string3, sizeof(string3),"Contas/%s.ini", nickn);
        
format(string2,sizeof(string2), "| NICK | O(A) %s %s(%d) trocou de nick. Novo nick: %s (%02d/%02d/%02d %02d:%02d:%02d)", CargoAdm(playerid), pname, playerid, nickn, Dia1, Mes1, Ano1, Hora1, Minuto1, Segundo1); 
        
SendClientMessageToAll(0xF3FF00AA, string2); 
        
NickLiberado[playerid] = 0; 
        
DOF2_RenameFile(string, string3);  
        
SetPlayerName(playerid, nickn); 
    } 
    return 
1; 
} 
Msm coisa. Agr nem cria mais da scriptfiles nem na pasta Contas.
Reply
#6

Percebeu que Geta o nome do player no pname e nгo utiliza? haha
Pode ser o problema!
PHP код:
CMD:mudarnick(playerid, params[]) 
{ 
    new 
nickn[20], nickold[24], pname[20], Ano1, Mes1, Dia1, Hora1, Minuto1, Segundo1, string[70], string2[80], string3[70]; 
    if(
sscanf(params, "s[20]", nickn)) return SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Use: /MudarNick (novo nick).");
    
getdate(Ano1, Mes1, Dia1); 
    
gettime(Hora1, Minuto1, Segundo1); 
    
GetPlayerName(playerid, pname,20); 
    
GetPlayerName(playerid,nickold,24)
    
format(nickold, sizeof(nickold), "Contas/%s.ini", pname); 
    if(
NickLiberado[playerid] == 0) return SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Vocк nгo estб liberado para mudar nick. Peзa pelo /Duvida."); 
    if(
NickLiberado[playerid] == 1) 
    { 
        
format(string, sizeof(string), "Contas/%s.ini", pname); 
        
format(string3, sizeof(string3),"Contas/%s.ini", nickn);
        
format(string2,sizeof(string2), "| NICK | O(A) %s %s(%d) trocou de nick. Novo nick: %s (%02d/%02d/%02d %02d:%02d:%02d)", CargoAdm(playerid), pname, playerid, nickn, Dia1, Mes1, Ano1, Hora1, Minuto1, Segundo1); 
        
SendClientMessageToAll(0xF3FF00AA, string2); 
        
NickLiberado[playerid] = 0; 
        
DOF2_RenameFile(string, string3);  
        
SetPlayerName(playerid, nickn); 
    } 
    return 
1; 
} 
Reply
#7

Quote:
Originally Posted by IlanZ
Посмотреть сообщение
Percebeu que Geta o nome do player no pname e nгo utiliza? haha
Pode ser o problema!
PHP код:
CMD:mudarnick(playerid, params[]) 
{ 
    new 
nickn[20], nickold[24], pname[20], Ano1, Mes1, Dia1, Hora1, Minuto1, Segundo1, string[70], string2[80], string3[70]; 
    if(
sscanf(params, "s[20]", nickn)) return SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Use: /MudarNick (novo nick).");
    
getdate(Ano1, Mes1, Dia1); 
    
gettime(Hora1, Minuto1, Segundo1); 
    
GetPlayerName(playerid, pname,20); 
    
GetPlayerName(playerid,nickold,24)
    
format(nickold, sizeof(nickold), "Contas/%s.ini", pname); 
    if(
NickLiberado[playerid] == 0) return SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Vocк nгo estб liberado para mudar nick. Peзa pelo /Duvida."); 
    if(
NickLiberado[playerid] == 1) 
    { 
        
format(string, sizeof(string), "Contas/%s.ini", pname); 
        
format(string3, sizeof(string3),"Contas/%s.ini", nickn);
        
format(string2,sizeof(string2), "| NICK | O(A) %s %s(%d) trocou de nick. Novo nick: %s (%02d/%02d/%02d %02d:%02d:%02d)", CargoAdm(playerid), pname, playerid, nickn, Dia1, Mes1, Ano1, Hora1, Minuto1, Segundo1); 
        
SendClientMessageToAll(0xF3FF00AA, string2); 
        
NickLiberado[playerid] = 0; 
        
DOF2_RenameFile(string, string3);  
        
SetPlayerName(playerid, nickn); 
    } 
    return 
1; 
} 
Na verdade usa sim. No format do SendClientMessageToAll '-'
Reply
#8

Cara eu passei minutos refazendo e acho que agora vai funcionar, nгo й possivel kkk

PHP код:
CMD:mudarnick(playerid, params[]) 
{ 
    new 
nickn[24], data[6];
    if(
sscanf(params, "s[24]", nickn)) return SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Use: /MudarNick (novo nick).");
    
getdate(data[0], data[1], data[2]); 
    
gettime(data[3], data[4], data[5]); 
    if(
NickLiberado[playerid] == 0)
    {
        
SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Vocк nгo estб liberado para mudar nick. Peзa pelo /Duvida.");
    } 
    else
    { 
        new 
nicknovo[70], string[80], nickantigo[70]; 
        
format(nickantigo,sizeof(nickantigo), "Contas/%s.ini", PlayerName(playerid)); 
        
format(nicknovo,sizeof(nicknovo),"Contas/%s.ini",nickn);
        
format(string,sizeof(string),"| NICK | O(A) %s %s(%d) trocou de nick. Novo nick: %s (%02d/%02d/%02d %02d:%02d:%02d)", CargoAdm(playerid), PlayerName(playerid), playerid, nickn, data[2], data[1], data[0], data[3], data[4], data[5]); 
        
SendClientMessageToAll(0xF3FF00AA, string); 
        
DOF2_RenameFile(nickantigo, nicknovo);  
        
SetPlayerName(playerid, nickn); 
        
NickLiberado[playerid] = 0; 
    } 
    return 
1; 
}  

stock PlayerName(playerid){
    new 
aname[24];
    
GetPlayerName(playerid, aname, sizeof(aname));
    return 
aname;
} 
Reply
#9

Quote:
Originally Posted by IlanZ
Посмотреть сообщение
Cara eu passei minutos refazendo e acho que agora vai funcionar, nгo й possivel kkk

PHP код:
CMD:mudarnick(playerid, params[]) 
{ 
    new 
nickn[24], data[6];
    if(
sscanf(params, "s[24]", nickn)) return SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Use: /MudarNick (novo nick).");
    
getdate(data[0], data[1], data[2]); 
    
gettime(data[3], data[4], data[5]); 
    if(
NickLiberado[playerid] == 0)
    {
        
SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Vocк nгo estб liberado para mudar nick. Peзa pelo /Duvida.");
    } 
    else
    { 
        new 
nicknovo[70], string[80], nickantigo[70]; 
        
format(nickantigo,sizeof(nickantigo), "Contas/%s.ini", PlayerName(playerid)); 
        
format(nicknovo,sizeof(nicknovo),"Contas/%s.ini",nickn);
        
format(string,sizeof(string),"| NICK | O(A) %s %s(%d) trocou de nick. Novo nick: %s (%02d/%02d/%02d %02d:%02d:%02d)", CargoAdm(playerid), PlayerName(playerid), playerid, nickn, data[2], data[1], data[0], data[3], data[4], data[5]); 
        
SendClientMessageToAll(0xF3FF00AA, string); 
        
DOF2_RenameFile(nickantigo, nicknovo);  
        
SetPlayerName(playerid, nickn); 
        
NickLiberado[playerid] = 0; 
    } 
    return 
1; 
}  
stock PlayerName(playerid){
    new 
aname[24];
    
GetPlayerName(playerid, aname, sizeof(aname));
    return 
aname;
} 
Agora funcionou. Darei +REP se jб nгo tiver dado
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)