// This callback gets called when a player interacts with a dialog public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { // Select the proper dialog to process switch (dialogid) { case DialogRegister: Dialog_Register(playerid, response, inputtext); // The "Register"-dialog case DialogLogin: Dialog_Login(playerid, response, inputtext); // The "Login"-dialog
ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_PASSWORD,"Login Account", "Enter your password below","Login","");
#define GameModeName "My server name is here" |
// This callback gets called when a player interacts with a dialog public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { // Select the proper dialog to process switch (dialogid) { case DialogRegister: Dialog_Register(playerid, response, inputtext); // The "Register"-dialog case DialogLogin: Dialog_Login(playerid, response, inputtext); // The "Login"-dialog |
Dialog_Register(playerid, response, inputtext[]) { new file[100], Name[MAX_PLAYER_NAME]; // Setup local variables GetPlayerName(playerid, Name, sizeof(Name)); // Get the playername format(file, sizeof(file), PlayerFile, Name); // Construct the complete filename for this player's account switch (response) // Check which button was clicked { case 1: // Player clicked "Register" { // Check if the player entered a password if(strlen(inputtext)>0) { // Store the password format(APlayerData[playerid][PlayerPassword], 50, "%s", inputtext); // Create the file and save default data to it, then reload it (so all data is put into the correct place) PlayerFile_Create(playerid); PlayerFile_Load(playerid); // Send a message to the client to inform him that his account has been registered SendClientMessage(playerid, 0xFFFFFFFF, TXT_AccountRegistered); APlayerData[playerid][LoggedIn] = true; // The player has logged in properly } else { SendClientMessage(playerid, 0xFFFFFFFF, TXT_WrongPassword); Kick(playerid); } } case 0: // Player clicked "Cancel" { // Show a message that the player must be registered to play on this server SendClientMessage(playerid, 0xFFFFFFFF, TXT_PlayerMustRegister); // Kick the player Kick(playerid); } } return 1; } |
/*Credits to Dracoblue*/
stock udb_hash(buf[]) {
new length=strlen(buf);
new s1 = 1;
new s2 = 0;
new n;
for (n=0; n<length; n++)
{
s1 = (s1 + buf[n]) % 65521;
s2 = (s2 + s1) % 65521;
}
return (s2 << 16) + s1;
}
Use Udb hash...
pawn Код:
|