View difference between Paste ID: drZbtemd and bP1TA52k
SHOW: | | - or go back to the newest paste.
1
public OnPlayerConnect(playerid)
2
{
3
4
	SendClientMessage(playerid,COLOR_LIGHTGREEN,"Willkommen auf United Santos Roleplay!");
5
	new Spielerdatei[64];
6
	new Name[MAX_PLAYER_NAME];
7
	GetPlayerName(playerid,Name,sizeof(Name));
8
	format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",Name);
9
	if(dini_Exists(Spielerdatei))
10
	{
11
	    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"United Santos Roleplay - Login","Willkommen zurück! Bitte log Dich nun ein.","Login","Abbrechen");
12
 	}
13
	else
14
	{
15
		ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"United Santos Roleplay - Registrierung","Willkommen auf unserem Server!\nUm auf dem Server spielen zu können benötigst Du\neinen Account. Bitte gib nun Dein gewünschtes Passwort ein!","Registrieren","Abbruch");
16
	}
17
	return 1;
18
}
19
20
public OnPlayerDisconnect(playerid, reason)
21
{
22
	SaveAccount(playerid);
23
	return 1;
24
}
25
26
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
27
{
28
29
30
	if(dialogid==DIALOG_REGISTER)
31
	{
32
	    if(response==0)
33
	    {
34
			SendClientMessage(playerid,COLOR_LIGHTRED,"Du hast die Registration abgebrochen, Du wirst nun gekickt!");
35
	        Kick(playerid);
36
	        return 1;
37
		}
38
		if(response==1)
39
		{
40
			if(!strlen(inputtext))
41
			{
42
				SendClientMessage(playerid,COLOR_LIGHTRED,"Bitte gib ein Passwort ein um fortzufahren.");
43
                ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"United Santos Roleplay - Registrierung","Bitte gib ein gültiges Passwort ein!","Registrieren","Abbruch");
44
				return 1;
45
			}
46
			else
47
			{
48
				Register(playerid,inputtext);
49
				return 1;
50
			}
51
		}
52
	}
53
54
55
	if(dialogid==DIALOG_LOGIN)
56
	{
57
	    if(response==0)
58
	    {
59
			SendClientMessage(playerid,COLOR_LIGHTRED,"Du hast den Loginvorgang abgebrochen, Du wirst nun gekickt!");
60
	        Kick(playerid);
61
	        return 1;
62
		}
63
		if(response==1)
64
		{
65
			if(!strlen(inputtext))
66
			{
67
				SendClientMessage(playerid,COLOR_LIGHTRED,"Bitte gib Dein Passwort ein um fortzufahren.");
68
                ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"United Santos Roleplay - Login","Willkommen zurück! Bitte log Dich nun ein.","Login","Abbrechen");
69
				return 1;
70
			}
71
			else
72
			{
73
				Login(playerid,inputtext);
74
				return 1;
75
			}
76
		}
77
	}
78
}
79
80
stock Register(playerid,key[])
81
{
82
	new Spielerdatei[64];
83
	new Name[MAX_PLAYER_NAME];
84
	GetPlayerName(playerid,Name,sizeof(Name));
85
	format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",Name);
86
	dini_Create(Spielerdatei);
87
	dini_Set(Spielerdatei,"Passwort",key);
88
	SetPVarInt(playerid,"Fraktion",0);
89
	SetPlayerScore(playerid,1);
90
	SendClientMessage(playerid,COLOR_LIGHTGREEN,"Erfolgreich registriert! Viel Spaß auf USR!");
91
	return 1;
92
}
93
94
stock Login(playerid,key[])
95
{
96
	new Spielerdatei[64];
97
	new Name[MAX_PLAYER_NAME];
98
	GetPlayerName(playerid,Name,sizeof(Name));
99
	format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",Name);
100
	if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),true))
101
	{
102
	    LoadAccount(playerid);
103
		SendClientMessage(playerid,COLOR_LIGHTGREEN,"Erfolgreich eingeloggt, viel Spaß weiterhin!");
104
	}
105
	else
106
	{
107
	    SendClientMessage(playerid,COLOR_LIGHTRED,"Falsche Passwort, bitte versuch es erneut!");
108
	    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"United Santos Roleplay - Login","Du hast ein falsches Passwort eingegeben, bitte versuch es erneut!","Login","Abbrechen");
109
	}
110
	return 1;
111
}
112
113
stock LoadAccount(playerid)
114
{
115
	new Spielerdatei[64];
116
	new Name[MAX_PLAYER_NAME];
117
	GetPlayerName(playerid,Name,sizeof(Name));
118
	format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",Name);
119
	SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
120
	GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
121
	SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
122
	SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
123
	return 1;
124
}
125
126
stock SaveAccount(playerid)
127
{
128
	new Spielerdatei[64];
129
	new Name[MAX_PLAYER_NAME];
130
	GetPlayerName(playerid,Name,sizeof(Name));
131
	format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",Name);
132
	dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
133
	dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
134
	dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
135
	dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
136
	return 1;
137
}