SA-MP Forums Archive
[Ajuda] Mysql - 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: [Ajuda] Mysql (/showthread.php?tid=621810)



Mysql - Marllun - 15.11.2016

MYSQL



Olб pessoal, hoje eu estou com um problema de salvar os dados para banco de dados, eu criei um negocio de salvar grana sу que ele sу salvar quando eu editor no banco de dados, quando eu ganho grana no jogo ele nгo salvar para o banco de dados alguйm poderia ajuda por favor?


Re: [Ajuda]Mysql - Carlos001 - 15.11.2016

Manda o cod do seu sistema de salvamento...


Re: Mysql - RiqueP - 15.11.2016

base
PHP код:
new query[90], meunome[24];
GetPlayerName(playeridmeunome24);
format(querysizeof(query), "UPDATE `usuarios` SET `dinheiro`='%d' WHERE `nome`='%s'"GetPlayerMoney(playerid), meunome);
mysql_pquery(conexaoquery""""); 



Re: Mysql - Marllun - 15.11.2016

Aн o

Foto:http://imgur.com/a/dhs3r

Код:
#include <a_samp>
#include <a_mysql>
 
eu queria o de winrace dinheiro score 

enum {
	DIALOG_REGISTER,
	DIALOG_LOGIN
}

forward jig_OnPlayerConnect(playerid);
forward jig_OnPlayerLogin(playerid);

new
	jDB,
	jString[256],
	jName[MAX_PLAYERS][24],
	bool:jLogged[MAX_PLAYERS],
	jTries[MAX_PLAYERS]
;

public OnFilterScriptInit() {
	jDB = mysql_connect("localhost", "root", "jigRegister", "123");
	if(mysql_ping(jDB) < 1)
	    return SendRconCommand("unloadfs jigRegister");

	print("Connected!");
	mysql_function_query(jDB, "CREATE TABLE IF NOT EXISTS `jUsers` (`Name` VARCHAR(24) NOT NULL,`Password` VARCHAR(32) NOT NULL, `Skin` INT(11) NOT NULL DEFAULT '299',`Money` INT(11) NOT NULL DEFAULT '5000',`Score` INT(11) NOT NULL DEFAULT '0')", false, "", "");

	return 1;
}

public OnFilterScriptExit() {
	mysql_close(jDB);
	return 1;
}

public OnPlayerConnect(playerid) {
	jTries[playerid] = 0;
	GetPlayerName(playerid, jName[playerid], 24);

	mysql_format(jDB, jString, "SELECT * FROM `jUsers` WHERE `Name` = '%s'", jName[playerid]);
	mysql_function_query(jDB, jString, true, "jig_OnPlayerConnect", "i", playerid);
	return 1;
}

public jig_OnPlayerConnect(playerid) {
	new
		jRows,
		jFields
	;

	cache_get_data(jRows, jFields, jDB);
	if(!jRows) {
	    format(jString, sizeof(jString), "{FFFFFF}Olб {1E90FF}%s{FFFFFF}\nVocк ainda nгo й registrado no servidor.\nDigite uma senha para se registrar.", jName[playerid]);
	    ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "{FFFFFF}Registro", jString, "Registrar", "Cancelar");
	    return 1;
	}
	format(jString, sizeof(jString), "{FFFFFF}Olб denovo {1E90FF}%s{FFFFFF}\nDigite sua senha para fazer login no servidor.", jName[playerid]);
	ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FFFFFF}Login", jString, "Login", "Cancelar");
	return 1;
}

public OnPlayerDisconnect(playerid, reason) { 
    #pragma unused reason 
    if(jLogged[playerid]) { 
        mysql_format(jDB, jString, 
            "UPDATE `jUsers` SET WinRace = %d,`Skin` = %d, `Money` = %d, Score = %d WHERE `Name` = '%s'", 
 winsr[playerid], 
            GetPlayerSkin(playerid), 
            GetPlayerMoney(playerid), 
            GetPlayerScore(playerid), 
            jName[playerid] 
        ); 
        mysql_function_query(jDB, jString, false, "", ""); 
        jLogged[playerid] = false; 
    } 
    return 1; 
}  

public OnPlayerSpawn(playerid)
{
	return (jLogged[playerid]) ? (1) : (Kick(playerid));
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
	switch(dialogid) {
	    case DIALOG_REGISTER: {
	        if(!response)
	            Kick(playerid);

			else {
			    if(1 < strlen(inputtext) > 32) {
			        format(jString, sizeof(jString), "{FFFFFF}Olб {1E90FF}%s{FFFFFF}\nVocк ainda nгo й registrado no servidor.\nDigite uma senha para se registrar.\n\n{E31919}Erro: Sua senha deve conter entre 1 e 32 caracteres.", jName[playerid]);
	    			ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "{FFFFFF}Registro", jString, "Registrar", "Cancelar");
			    } else {
			        mysql_format(jDB, jString, "INSERT INTO `jUsers` (`Name`,`Password`) VALUES ('%s','%s')", jName[playerid], inputtext);
			        mysql_function_query(jDB, jString, false, "", "");

					format(jString, sizeof(jString), "{FFFFFF}Muito bem {1E90FF}%s{FFFFFF}\nConta registrada com sucesso.\nDigite sua senha para fazer login.", jName[playerid]);
					ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FFFFFF}Login", jString, "Login", "Cancelar");
			    }
			}
		}
		case DIALOG_LOGIN: {
			if(!response)
			    Kick(playerid);

			else {
			    mysql_format(jDB, jString, "SELECT * FROM `jUsers` WHERE `Name` = '%s' AND `Password` = '%s'", jName[playerid], inputtext);
			    mysql_function_query(jDB, jString, true, "jig_OnPlayerLogin", "i", playerid);
			}
		}
	}
	return 1;
}

public jig_OnPlayerLogin(playerid) { 
    new 
        jRows, 
        jFields 
    ; 

    cache_get_data(jRows, jFields, jDB); 
    if(!jRows) 
    { 
        ++ jTries[playerid]; 
        if(jTries[playerid] == 5) 
            return BanEx(playerid, "5 erros de senha"); 

        format(jString, sizeof(jString), "{FFFFFF}Senha incorreta {1E90FF}%s{FFFFFF}\nDigite sua verdadeira senha.\nChances: {E31919}%d", jName[playerid], (5 - jTries[playerid])); 
        ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FFFFFF}Login", jString, "Login", "Cancelar"); 
        return 1; 
    } 
    jLogged[playerid] = true; 
//Carregamento 
winsr[playerid] = cache_get_field_content_int(0,"WinRace ");  

    cache_get_field_content(0, "Money", jString, jDB); 
    ResetPlayerMoney(playerid); GivePlayerMoney(playerid, strval(jString)); 

    cache_get_field_content(0, "Score", jString, jDB); 
    SetPlayerScore(playerid, strval(jString)); 

    cache_get_field_content(0, "Skin", jString, jDB); 

    SetSpawnInfo(playerid, 0, strval(jString), 1568.2737, -1892.3541, 13.5595, 0.8003, 0, 0, 0, 0, 0, 0); 
    SpawnPlayer(playerid); 
    return 1; 
}



Re: Mysql - Marllun - 15.11.2016

++UP


Re: Mysql - Cleyson - 15.11.2016

Querer cуdigo pronto nгo vai te levar a lugar nenhum. Pois um simples UPDATE nгo й nada perto do que vocк ira precisar aprender para criar um sistema em Mysql. Entгo aconselho a vocк estudar um pouco mais sobre o plugin.

Mas o RiqueP jб te deu o exemplo de como salvar. Agora й sу estudar e adaptar para o seu GM.

Quote:
Originally Posted by RiqueP
Посмотреть сообщение
base
PHP код:
new query[90], meunome[24];
GetPlayerName(playeridmeunome24);
format(querysizeof(query), "UPDATE `usuarios` SET `dinheiro`='%d' WHERE `nome`='%s'"GetPlayerMoney(playerid), meunome);
mysql_pquery(conexaoquery""""); 



Re: Mysql - Marllun - 15.11.2016

mas eu jб fiz isso sу que nгo enviar para a database


Re: Mysql - Cleyson - 15.11.2016

Agora olhando o seu sistema, ele nгo usa um sistema de salvamento por ID, mesmo que vocк conserte ele vai se confundir todo para salvar.

De uma olhada nesse tutorial que eu mesmo fiz. Aqui. Leia atentamente.


Re: Mysql - Marllun - 15.11.2016

Cleyson vlw vou ver e fazer tudo certo e estudar mais +rep


Re: Mysql - Marllun - 15.11.2016

Cleyson mas tipo eu vir varios varios tutoriais mas eu queria sу salvar nгo refazer um novo sistema