[Ajuda] /MudarNick em dudb
#1

Quero colocar um comando /MudarNick, mais nгo sei como salvar o nick e muito menos como fazer o comando pra funcionar com dudb :S

Код:
/*
FilterScript de registro Feito por: [Joaum]
E baseado em uma demostra de como fazer um script
Voce pode Incluir mais coisa ou usar no Gamemode mas por favor Nгo Mude uma Linha e Reupe com Seu nome
Quando Testei Alguns nomes com [] podem ficar como numeros
Se bugar me Avisem


Como Usar:Ponha na linha filtersrpits no seu GameMode
Como mudar o status:irei por esse funcao mas voce pode editalo apos criar uma conta
ele fikara na pasta do scriptFiles com o nome
*/
/*


VERSAO 2.0 Com Alguns codigos como:
Stats Visivel Para outras pessoas
Registro tem que ter entre 3 a 20 Linhas
Horas e Minutos logados
Anti flood Que Fazia aperecer varias mensagem
As tentativas antes do kick
*/
#include <a_samp>
#include <dutils>
#include <dudb>
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

#define MAXIMAS_TENTATIVAS 3 // numero de tentativas antes do kick
#define MINIMO 4 //Minimas letras da senha
#define MAXIMO 20//Maximas Letras Da senha
#define ANTIFLOOD 3

new PLAYERLIST_authed[MAX_PLAYERS];
new pkills[MAX_PLAYERS];
new pdeaths[MAX_PLAYERS];
new tentativas[MAX_PLAYERS];
new MinutosDeJogo[MAX_PLAYERS];
new HorasJogo[MAX_PLAYERS];
new inominado[MAX_PLAYERS];//anti flood
new ConnectTimer;


forward HorasDeJogo();
//===============================================[CORES]============================
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_WHITE 0xFFFFFFFF
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_BLUE 0x0000BBAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_DARKRED 0x660000AA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_TEAL 0x00808000
#define COLOR_PINK 0xFF66FFAA
#define COLOR_BRIGHTRED 0xFF0000AA
#define COLOR_INDIGO 0x4B00B0AA
#define COLOR_VIOLET 0x9955DEEE
#define COLOR_LIGHTRED 0xFF99AADD
#define COLOR_SEAGREEN 0x00EEADDF
#define COLOR_GRAYWHITE 0xEEEEFFC4
#define COLOR_LEMON 0xDDDD2357
#define COLOR_BLACK 0x000000AA
#define COLOR_LIGHTGREEN 0x24FF0AB9
#define COLOR_DARKBLUE 0x3399FFAA
#define COLOR_PURPLE 0x800080AA
#define COLOR_CYAN 0x00FFFFAA
#define COLOR_BROWN 0x993300AA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_SYSTEM 0xEFEFF7AA

public OnFilterScriptInit()
{
 	print("\n================================================================");
 	print("   					Sistema de registro 2.0:");
	print("       					Iniciado");
	print("						Created By: Joaum");
	print("================================================================");
	print("\n");
	
	ConnectTimer = SetTimer("HorasDeJogo",60000,1);
}

public OnFilterScriptExit()
{
KillTimer(ConnectTimer);
}
stock SystemMsg(playerid,msg[]) {
   if ((IsPlayerConnected(playerid))&&(strlen(msg)>0)) {
       SendClientMessage(playerid,COLOR_SYSTEM,msg);
   }
   return 1;
}

stock PlayerName(playerid) {
  new name[255];
  GetPlayerName(playerid, name, 255);
  return name;
}


  dcmd_register(playerid,params[]) {

    // Se ja logou o comando nao pode funcionar
    if (PLAYERLIST_authed[playerid]) return SystemMsg(playerid,"| ERRO | Vocк jб estб logado.");

    // Nao funcionara se a conta existir
    if (udb_Exists(PlayerName(playerid))) return SendClientMessage(playerid,COLOR_BRIGHTRED,"| ERRO | A conta jб existe, use /Login [Senha].");

    // Esqueceu a senha?
    if (strlen(params)==0) return SendClientMessage(playerid,COLOR_BRIGHTRED,"| ERRO | Use: /Register [Senha]");

	if (strlen(params)>MAXIMO) return SendClientMessage(playerid,COLOR_BRIGHTRED,"| ERRO | A senha nгo deve ser maior que 20 caracteres.");

	if (strlen(params)<MINIMO) return SendClientMessage(playerid,COLOR_BRIGHTRED,"| ERRO | A senha nгo deve ser menor que 4 caracteres.");

    // Salvar o dinheiro e os status
    if (udb_Create(PlayerName(playerid),params)) {
	PLAYERLIST_authed[playerid]=true;
 	SendClientMessage(playerid,COLOR_LIGHTGREEN,"| INFO | Registrado com sucesso!");
 	GivePlayerMoney(playerid,0);
 	new Float:X;
	new Float:Y;
	new Float:Z;
	GetPlayerPos(playerid, X, Y, Z);
	PlayerPlaySound(playerid,1147, X, Y, Z);//musiquinha
 	}
    return true;

 }
 
 public OnPlayerConnect(playerid) {
  tentativas[playerid] = 0;
  PLAYERLIST_authed[playerid]=false;
  if (udb_Exists(PlayerName(playerid))) return SendClientMessage(playerid, COLOR_SEAGREEN, "");
  return false;

}

public OnPlayerCommandText(playerid,cmdtext[]) {
  dcmd(login,5,cmdtext); // login tem 5 letras
  dcmd(register,8,cmdtext); // register tem 8 letras
  dcmd(stats,5,cmdtext);

  return false;
}

public OnPlayerDisconnect(playerid) {

  if (PLAYERLIST_authed[playerid]) {
     // se ele estava logado salve!!!
    dUserSetINT(PlayerName(playerid)).("Money",GetPlayerMoney(playerid));
    dUserSetINT(PlayerName(playerid)).("Score",GetPlayerScore(playerid));
    dUserSetINT(PlayerName(playerid)).("Kills",pkills[playerid]);
    dUserSetINT(PlayerName(playerid)).("Deaths",pdeaths[playerid]);
    dUserSetINT(PlayerName(playerid)).("Minutos",MinutosDeJogo[playerid]);
    dUserSetINT(PlayerName(playerid)).("Horas",HorasJogo[playerid]);
  }
  PLAYERLIST_authed[playerid]=false;

  return false;
}

public OnPlayerRequestSpawn(playerid)
{
	new Float:X;
	new Float:Y;
	new Float:Z;
	inominado[playerid]++;
	if (!PLAYERLIST_authed[playerid]){
	if (udb_Exists(PlayerName(playerid))) {
	if (inominado[playerid] == ANTIFLOOD){
 	SendClientMessage(playerid, COLOR_BRIGHTRED, "| ERRO | Vocк deve logar primeiro.");
	GetPlayerPos(playerid, X, Y, Z);
	PlayerPlaySound(playerid,1147, X, Y, Z);//musiquinha
	inominado[playerid] = 0;
	return 0;
	}
	return 0;
	}
	}
	return 1;
}

public OnPlayerText(playerid, text[])
{   if (!PLAYERLIST_authed[playerid]){
	if (udb_Exists(PlayerName(playerid))){
	SystemMsg(playerid,"{FF0000}| ERRO | Vocк deve logar primeiro.");
	new Float:X;
	new Float:Y;
	new Float:Z;
	GetPlayerPos(playerid, X, Y, Z);
	PlayerPlaySound(playerid,1147, X, Y, Z);//musiquinha
	}
	return 0;
    }
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)

{

	if (killerid != INVALID_PLAYER_ID) {

			pkills[killerid] ++;
			pdeaths[playerid] ++;
		}


 	return 1;

}


  dcmd_login(playerid,params[]) {

    // Porque logar-se dinovo??
    if (PLAYERLIST_authed[playerid]) return SystemMsg(playerid,"{FF0000}| ERRO | Vocк jб estб logado.");

    // O Comando Naso pode funcioanr se
    // a conta nao existe
    if (!udb_Exists(PlayerName(playerid))) return SystemMsg(playerid,"{FF0000} | ERRO | A conta nгo existe, use /Register [Senha].");

    // Esqueceu a senha?
    if (strlen(params)==0) return SendClientMessage(playerid,COLOR_BRIGHTRED,"| ERRO | Use: /Login [Senha]");

    if (udb_CheckLogin(PlayerName(playerid),params)) {
       // Acertou a senha

       // Aki devolver os status da ultima conta
       GivePlayerMoney(playerid,dUserINT(PlayerName(playerid)).("money")+GetPlayerMoney(playerid));
       SetPlayerScore(playerid,dUserINT(PlayerName(playerid)).("Score")+GetPlayerScore(playerid));
       pkills[playerid] = (playerid,dUserINT(PlayerName(playerid)).("Kills")+pkills[playerid]);
       pdeaths[playerid] = (playerid,dUserINT(PlayerName(playerid)).("Deaths")+pdeaths[playerid]);
       MinutosDeJogo[playerid] = (playerid,dUserINT(PlayerName(playerid)).("Minutos")+MinutosDeJogo[playerid]);
   	   HorasJogo[playerid] = (playerid,dUserINT(PlayerName(playerid)).("Horas")+HorasJogo[playerid]);
       PLAYERLIST_authed[playerid]=true;

       return SystemMsg(playerid,"{FFFF00}| INFO | Logado com sucesso!");
    }
    // Senha incorreta
	tentativas[playerid]++;
	if(tentativas[playerid] == MAXIMAS_TENTATIVAS) {
    SystemMsg(playerid,"{FF0000}» Vocк foi kickado por tentar entrar em contas de outros.");
    new string[258];
    format(string,258,PlayerName(playerid));
    print(string);
	Kick(playerid);
 	}
	else if (tentativas[playerid] == MAXIMAS_TENTATIVAS-1){
	SendClientMessage(playerid, COLOR_BRIGHTRED, "| ERRO | Senha incorreta, na prуxima serб kickado.");//ui...
	}
	return 	SystemMsg(playerid,"| ERRO | Senha incorreta!");
 }

dcmd_stats(playerid,params[])
{
	new string[128];
    if(!strlen(params)) {
		format(string, sizeof(string),"{FFFF00} | STATUS | DM:  Matou: %d • Morreu: %d • Mйdia: %f | Race:  Score: %d • Dinheiro: $%d • Tempo de Jogo: %d:%d",
		pkills[playerid], pdeaths[playerid], (Float:pkills[playerid]/Float:pdeaths[playerid]), GetPlayerScore(playerid),
		GetPlayerMoney(playerid),HorasJogo[playerid],MinutosDeJogo[playerid]);
    }
    else
    {
	    new player1, playername[MAX_PLAYER_NAME];
    	player1 = strval(params);

	 	if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
			GetPlayerName(player1, playername, sizeof(playername));
			format(string, sizeof(string),"{FFFF00} | STATUS | %s [id %d]: DM:  Matou: %d • Morreu: %d • Mйdia: %f | Race:  Score: %d • Dinheiro: $%d • Tempo de jogo: %d:%d",
			playername, player1, pkills[player1], pdeaths[player1], (Float:pkills[player1]/Float:pdeaths[player1]),
			GetPlayerScore(player1), GetPlayerMoney(player1),HorasJogo[player1],MinutosDeJogo[player1]);
		} else return SendClientMessage(playerid,COLOR_RED, "{FF0000}| ERRO | Jogador nгo conectado.");
	}
	return SendClientMessage(playerid,COLOR_WHITE,string);
}

public HorasDeJogo()
{
for(new i=0;i<MAX_PLAYERS;i++)
{
   if(IsPlayerConnected(i))
   {
	  if(MinutosDeJogo[i] < 60)
	  {
	  MinutosDeJogo[i]++;
	  }else{
	  MinutosDeJogo[i] = 0;
	  HorasJogo[i]++;
	  }
   }
}
}
esse й o cуdigo inteiro do meu sistema de registro, se alguem puder ajudar
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)