format(string, sizeof(string),"%s",inputtext);
//Exemplo 1:
//Topo do GM
new string[64]; // Global
//Public
public OnPlayerConnect(playerid)
{
format(string, sizeof(string), "| INFO-SERVER | O(A) %s (%d) Entrou no servidor!", Nome(playerid), playerid);
SendClientMessageToAll(-1, string);
return 1;
}
//Exemplo 2:
//Public
public OnPlayerConnect(playerid)
{
new string[64]; // Local
format(string, sizeof(string), "| INFO-SERVER | O(A) %s (%d) Entrou no servidor!", Nome(playerid), playerid);
SendClientMessageToAll(-1, string);
return 1;
}
// Registro
DOF2_CreateFile(arquivo);
DOF2_SetString(arquivo, "senha", inputtext);
// Login
if(strlen(inputtext) < 4 || strlen(inputtext) > 24){
// retorna a dialog.
}else if(strcmp(inputtext, DOF2_GetString(arquivo, "senha"), true)){
// condiзгo
}
|
Isso nem ta certo string[MAX_PLAYERS][24];
quando vc ta formatando a string ele deve conter caracteres no caso vc ta colocando [MAX_PLAYERS] tbm [24] seria o MAX_PLAYER_NAME '-' Que eu saiba string pode ser local ou global '-' tipo: PHP код:
Se quiser salvar a senha do jogador na conta dele use o DOF2::SetString sem o format mesmo. @EDIT2 Tambйm nгo entendi muito o que vocк quer realmente! ![]() |
|
Nгo й necessбrio usar usar o inputtext no DOF2_CreateFile,
e nem usar um format. PHP код:
|
new StringS[19];
if(dialogid == 3)
{
if(response)
{
format(StringS, sizeof(StringS),"%s",inputtext);
}
}
[B]ai se tiver 2 pessoas se registrando ao mesmo tempo, nгo vai dar problema ? tipo eu coloquei minha senha, blz, ai outra pessoa colocou a senha tbm, a string n]гo vai armazenar a senha da outra ? jб que ela й um string global e nгo do player ?[/B]
#define MAX_SENHA 20
new SenhaPlayer[MAX_PLAYERS][MAX_SENHA+1];
if(dialogid == 3)
{
if(response)
{
format(SenhaPlayer[playerid], MAX_SENHA), "%s",inputtext); // SenhaPlayer[playerid] agora contem o inputtext.
}
}
, nгo acho que seja necessбrio armazena a senha do cara em uma variбvel, Jб que quando clicar na textdraw vai abrir a dialog, e o que vai precisar la й o inputtext.
|
PHP код:
, nгo acho que seja necessбrio armazena a senha do cara em uma variбvel, Jб que quando clicar na textdraw vai abrir a dialog, e o que vai precisar la й o inputtext. |
|
cara mas como vou inserir a senha antes de criar o arquivo ? sу vai criar o arquivo quando ele clicar em registrar, antes disso o file nгo existe, pode isso preciso enserir a senha em uma string '-'
|
DOF2_GetString(ArquivoPlayer(playerid), "senha");
if(dialogid == 3)
{
if(response)
{
if(strlen(inputtext) < 4 || strlen(inputtext) > 24){
// retorna a dialog registro
}
DOF2_CreateFile(ArquivoPlayer(playerid));
DOF2_SetString(ArquivoPlayer(playerid), "senha", inputtext);
}
}
ArquivoPlayer(playerid){
new file[64];
format(file, sizeof(file), "%s", GetPlayerNome(playerid))
return file;
}
|
Eu entendi o que vocк quer fazer, mas, eu faria a verificaзгo se a conta existe ou nao quando o player conectasse ao servidor, se nгo existir, criaria o arquivo, formataria a conta em questгo e inseria os dados nela de acordo com suas textdraws.
Caso o jogador nгo clicasse no botгo para Registrar ou desconectar do servidor sem acabar de registrar deletaria a conta formatada. |
public OnPlayerDisconnect(playerid, reason)
{
new Nome[24], stg[75];
GetPlayerName(playerid, Nome, sizeof(Nome));
switch(reason)
{
case 0: format(stg, sizeof(stg), "%s(%d) saiu do servidor por problemas de conexгo.", Nome, playerid);
case 1: format(stg, sizeof(stg), "%s(%d) saiu do servidor por vontade prуpria.", Nome, playerid);
case 2: format(stg, sizeof(stg), "%s(%d) foi kickado/banido do servidor.", Nome, playerid);
}
SendClientMessageToAll(-1, stg);
return 1;
}