Jump to content
  • 0

pomoc Registrácia / Login


MrShoTys74

Dotaz

Zdravím vás prosim vás vedel by mi niekto pomôct s Registraciu a loginem? našiel som tu v starom prispevku jednu registraciu a chcel som ju vyskusať trochu upraviť ale pri práci s ňou som zistil že ked stlačím tlačitko Ukončiť tak sa zruší registracia a dalej pokračuje spawn.. chcel by som to skúsiť aby to znovu hodilo registraciu ale aby ho to kicklo zo serveru ale nedarí sa mi to spravit asi mam niečo zle.. vie mi s tym niekto helpnut? Dakujem velmi pekne

 



#include <a_samp>
#include <dini>
#include <dudb> 
#include <dutils> 



#define SCM SendClientMessage
#define SendMessage SendClientMessage



#define modra 0x4778C9
#define MODRA 0x0000BBAA
#define MODRA2 0x4682B4AA
#define MODRA3 0x4169FFAA
#define SVMODRA 0x33CCFFAA
#define ZELENA 0x008000AA
#define CYAN 0x00FFFFAA
#define TMAVACYAN 0x008B8BAA
#define BILA 0xFFFFFFAA
#define ZLUTA 0xFFFF00AA
#define HNEDA 0xA52A2AAA
#define HNEDA2 0xBC8F8FAA
#define COKOLADA 0xD2691EAA
#define CERVENA 0xFF0000AA
#define SEDA 0x808080AA
#define FIALOVA 0x800080AA
#define RUZOVA 0xFFC0CBAA
#define CHARTR 0x7FFF00AA
#define ORANZCERV 0xFF4500AA
#define ORANZOVA 0xFF8C00AA
#define NEVIDITE 0x4682B400
#define B_SEDA 0x808080FF  
#define B_CERV 0xA40000FF 
#define B_BILA 0xFFFFFFFF 
#define B_ZELE 0x00A400FF 

#define REG_DIALOG 0
#define LOG_DIALOG 1




new Text:gMyTextdraw;





enum PLAYER_INFO
{
	bool:Login 
}
new Informace[MAX_PLAYERS][PLAYER_INFO]; 
stock Jmeno(playerid) // 
{
	new pName[MAX_PLAYER_NAME]; 

	if(IsPlayerConnected(playerid))
	{
		if(!IsPlayerNPC(playerid)) 
		{
			GetPlayerName(playerid, pName, sizeof(pName));
		}
	}
	return pName; 
}




main()
{
	print("\n----------------------------------");
	print("RealnySvet 7.0");
	print("----------------------------------\n");
}











public OnGameModeInit()
{
	SetGameModeText("Reálny Svet 1.0");
	AddPlayerClass(0, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
	AddPlayerClass(5, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
	AddPlayerClass(6, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
	AddPlayerClass(7, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
	AddPlayerClass(8, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
	AddPlayerClass(9, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
	AddPlayerClass(10, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
	AddPlayerClass(11, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
	AddPlayerClass(12, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
	AddPlayerClass(13, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
	AddPlayerClass(14, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
	AddPlayerClass(15, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
	AddPlayerClass(16, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
	AddPlayerClass(17, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
	AddPlayerClass(18, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
	AddPlayerClass(19, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
	AddPlayerClass(20, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
	AddPlayerClass(21, 1875.2098,1336.1964,16.9223, 0.6600, 0, 0, 0, 0, 0, 0);
	return 1;
}

public OnGameModeExit()
{
	return 1;
}

public OnPlayerRequestClass(playerid, classid)
{




//================================================================================================================
	if(!Informace[playerid][Login]) 
	{
		if(udb_Exists(Jmeno(playerid))) 
		{
			new message[256]; 
			format(message, sizeof(message), "\n\n{FFFFFF}Vítaj {00FF00}%s{FFFFFF} späť na servery {00FF00}Realný Svet\n\n{FFFFFF}Pre prihlásenie zadaj {FF0000}heslo!\n\n", Jmeno(playerid));
			ShowPlayerDialog(playerid, LOG_DIALOG, DIALOG_STYLE_PASSWORD, "Prihlasenie", message, "Prihlásit", "Ukončit");
		}
		else
		{
			new message[256]; 
			format(message, sizeof(message), "\n\n{FFFFFF}Vítaj {00FF00}%s{FFFFFF} na servery {00FF00}Realný Svet\n\n{FFFFFF}Pre registraciu si zvol {FF0000}Heslo\n\n", Jmeno(playerid));
			ShowPlayerDialog(playerid, REG_DIALOG, DIALOG_STYLE_PASSWORD, "Registrácia", message, "Prihlásit", "Ukončit");
		}
	}
//================================================================================================================

    SetPlayerPos(playerid, 1875.2098,1336.1964,16.9223);
	SetPlayerCameraPos(playerid, 1873.6270,1342.7435,16.9223);
	SetPlayerCameraLookAt(playerid,1875.2098,1336.1964,16.9223);

	return 1;
}
public OnPlayerConnect(playerid)
{
//================================================================================================================
    Informace[playerid][Login] = false; 
    SendClientMessage(playerid,ZELENA, "Vítaj späť na setvery Realny Svet!");
    gMyTextdraw = TextDrawCreate(123.0, 123.0, "Nesprávne Heslo!");
//================================================================================================================
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
//================================================================================================================
    if(Informace[playerid][Login] == true) 
	{
		dUserSetINT(Jmeno(playerid)).("Penize",GetPlayerMoney(playerid)); 
		Informace[playerid][Login] = false; 
    }
//================================================================================================================
	return 1;
}

public OnPlayerSpawn(playerid)
{
    SetPlayerPos(playerid,-2034.4553,471.7131,35.1723);
	return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    SetPlayerPos(playerid, -2630.0396,700.8793,27.9495);
	SendClientMessage(playerid,ZELENA, "Zomrel si!");
	return 1;
}

public OnVehicleSpawn(vehicleid)
{
	return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
	return 1;
}

public OnPlayerText(playerid, text[])
{
	return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	if (strcmp("/mycommand", cmdtext, true, 10) == 0)
	{
		
		return 1;
	}
	return 0;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
	return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
	return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
	return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
	return 1;
}

public OnRconCommand(cmd[])
{
	return 1;
}

public OnPlayerRequestSpawn(playerid)
{
	return 1;
}

public OnObjectMoved(objectid)
{
	return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
	return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
	return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
	return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
	return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
	return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
	return 1;
}

public OnPlayerExitedMenu(playerid)
{
	return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
	return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
	return 1;
}

public OnPlayerUpdate(playerid)
{
	return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
	return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
	return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
	return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
//================================================================================================================
    if(dialogid == REG_DIALOG && response==1)
	{
		if(strlen(inputtext) == 0)
		{
			SendClientMessage(playerid, B_CERV, "[ ! ] Moc kratke heslo!");
			new message[256]; 
			format(message, sizeof(message), "\n\n{FFFFFF}Vítaj {00FF00}%s{FFFFFF} na servery {00FF00}Realný Svet\n\n{FFFFFF}Pre registraciu si zvol {FF0000}Heslo\n\n", Jmeno(playerid));
			ShowPlayerDialog(playerid, REG_DIALOG, DIALOG_STYLE_PASSWORD, "Registracia", message, "Prihlásit", "Ukončit");
		}
		else 
		{
			if (udb_Create(Jmeno(playerid),inputtext))
			{
				new message[256];
				format(message, sizeof(message), "\n\n{FFFFFF}Vítaj {00FF00}%s{FFFFFF} späť na servery {00FF00}Realný Svet\n\n{FFFFFF}Pre prihlásenie zadaj {FF0000}heslo!\n\n", Jmeno(playerid));
				ShowPlayerDialog(playerid, LOG_DIALOG, DIALOG_STYLE_PASSWORD, "Prihlasenie", message, "Prihlásit", "Ukončit");
			}
			else
			{
				new message[256];
				format(message, sizeof(message), "\n\n{FFFFFF}Vítaj {00FF00}%s{FFFFFF} na servery {00FF00}Realný Svet\n\n{FFFFFF}Pre registraciu si zvol {FF0000}Heslo\n\n", Jmeno(playerid));
				ShowPlayerDialog(playerid, REG_DIALOG, DIALOG_STYLE_PASSWORD, "Registrace", message, "Prihlásit", "Ukončit");
			}

		}
    }

	if(dialogid == LOG_DIALOG)
	{
		if(response==1)
		{
			if (udb_CheckLogin(Jmeno(playerid),inputtext)) 
			{
				//zde dávejte věci které se provedou po přihlášení - nahrání peněz atp.
				GivePlayerMoney(playerid,dUserINT(Jmeno(playerid)).("Penize")-GetPlayerMoney(playerid)); //nahraje uložené peníze
				//sem davejte veci ktere chcete nacist!
				TextDrawDestroy(gMyTextdraw);
				Informace[playerid][Login] = true; // že už je přihlášen
				new message[256]; //proměnná na uložení zprávy
				format(message, sizeof(message), "[ * ] Vitej ve hre %s!", Jmeno(playerid)); // zpráva s parametrem
				SendMessage(playerid, B_ZELE, message); //odeslání zprávy
			}
			else // pokud dal špatné heslo
			{
                TextDrawShowForPlayer(playerid, gMyTextdraw);
				SendMessage(playerid, B_CERV, "[ ! ] Spatne heslo!"); //napíše informaci
				new message[256]; //proměnná pro zprávu
				format(message, sizeof(message), "\n\n{FFFFFF}Vítaj {00FF00}%s{FFFFFF} späť na servery {00FF00}Realný Svet\n\n{FFFFFF}Pre prihlásenie zadaj {FF0000}heslo!\n\n", Jmeno(playerid)); //zpráva s parametrem Jmeno
				ShowPlayerDialog(playerid, LOG_DIALOG, DIALOG_STYLE_PASSWORD, "Prihlasenie", message, "Prihlásit", "Ukončít"); //pošle znova přihlašovací dialog
			}
		}
		else //pokud zmáčkne talčítko Konec
		{
            TextDrawHideForPlayer(playerid, gMyTextdraw);
			SendMessage(playerid, B_CERV, "[ ! ] Prihlaseni je povinne!"); //napíše informaci
			new message[256]; //proměnná pro zprávu
			format(message, sizeof(message), "\n\n{FFFFFF}Vítaj {00FF00}%s{FFFFFF} späť na servery {00FF00}Realný Svet\n\n{FFFFFF}Pre prihlásenie zadaj {FF0000}heslo!\n\n", Jmeno(playerid)); // zpráva
			ShowPlayerDialog(playerid, LOG_DIALOG, DIALOG_STYLE_PASSWORD, "Prihlaseni", message, "Prihlásit", "Ukončít"); //zobrazí znova log. dialog s zprávou
		}
	}
//================================================================================================================
	return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
	return 1;
}

 

Link to comment
Share on other sites

2 odpovědí na tuto otázku

Recommended Posts

  • 3

Ahoj, skús drobnú úpravu v OnDialogResponse:
 

if (dialogid == REG_DIALOG) // Všimni si, že som odstránil && response==1 z podmienky
{
    if (!response) // Ak hráč stlačí pravé tlačítko dialogu (v tvojom prípade "Ukončit"), response má hodnotu 0
    {
        // Sem vlož kód na zobrazenie registračného dialogu alebo kicknutie hráča zo serveru
        return 1;
    }
    
    if(strlen(inputtext) == 0)
    {
        SendClientMessage(playerid, B_CERV, "[ ! ] Moc kratke heslo!");
        new message[256]; 
        format(message, sizeof(message), "\n\n{FFFFFF}Vítaj {00FF00}%s{FFFFFF} na servery {00FF00}Realný Svet\n\n{FFFFFF}Pre registraciu si zvol {FF0000}Heslo\n\n", Jmeno(playerid));
        ShowPlayerDialog(playerid, REG_DIALOG, DIALOG_STYLE_PASSWORD, "Registracia", message, "Prihlásit", "Ukončit");
    }
    else 
    {
        if (udb_Create(Jmeno(playerid),inputtext))
        {
            new message[256];
            format(message, sizeof(message), "\n\n{FFFFFF}Vítaj {00FF00}%s{FFFFFF} späť na servery {00FF00}Realný Svet\n\n{FFFFFF}Pre prihlásenie zadaj {FF0000}heslo!\n\n", Jmeno(playerid));
            ShowPlayerDialog(playerid, LOG_DIALOG, DIALOG_STYLE_PASSWORD, "Prihlasenie", message, "Prihlásit", "Ukončit");
        }
        else
        {
            new message[256];
            format(message, sizeof(message), "\n\n{FFFFFF}Vítaj {00FF00}%s{FFFFFF} na servery {00FF00}Realný Svet\n\n{FFFFFF}Pre registraciu si zvol {FF0000}Heslo\n\n", Jmeno(playerid));
            ShowPlayerDialog(playerid, REG_DIALOG, DIALOG_STYLE_PASSWORD, "Registrace", message, "Prihlásit", "Ukončit");
        }

    }
}

 

  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...