View difference between Paste ID: ZZgE0pVk and aZMfTVnb
SHOW: | | - or go back to the newest paste.
1
//Includs
2
#include <a_samp>
3
#include <dini>
4
#include <ocmd>
5
//Dialoge
6
#define DIALOG_REGISTER 1
7
#define DIALOG_LOGIN 2
8
#define DIALOG_WAFFENLIST 3
9
//Farben
10
#define ROT 0xCA0000FF
11
#define GRUN 0x00FF00FF
12
#define GELB 0xFFFF00FF
13
#define GRUNHELL 0xB7FF7DFF
14
#define BLAU 0x0000FFFF
15
#define ROTDUNKEL 0xC10000FF
16
#define WEISS 0xFFFFFFFF
17
//Fraktionsnamen
18
//Stadtfraks
19
#define fraktname1 "LSPD"
20
#define fraktname2 "Army"
21
#define fraktname3 "FBI"
22
#define fraktname4 "President"
23
#define fraktname5 "Bodyguard"
24
#define fraktname6 "Medic"
25
#define fraktname7 "Feuerwehr"
26
#define fraktname8 "Ordnungsamt"
27
#define fraktname9 "Taxi"
28
#define fraktname10 "San Andreas Medien AG"
29-
//Zivilisten
29+
30-
#define zivispawn 1715.2509,-1911.7201,13.5665
30+
31
//Gangs und Mafien
32
#define fraktname11 "Grove Street"
33
#define fraktname12 "Front Yard Ballas"
34
#define fraktname13 "Las Santos Vagos"
35
#define fraktname14 "La Cosa Nostra"
36
#define fraktname15 "Yakuza"
37
#define fraktname16 "Los Aztecas"
38
#define fraktname17 "Terroristen"
39
#define fraktname18 "Russische Mafia"
40
#define fraktname19 "Red Soldiers"
41
#define fraktname20 "Los Santos Bikerklub"
42
//Variablen
43
new waffen_kauf;
44
new bsnenter;
45
new tor;
46
new AMUenter;
47
new AMUexit;
48
new LSPDenter;
49
new LSPDexit;
50
51
main()
52
{
53
	print("\n----------------------------------");
54
	print(" GermanDayLife");
55
	print("----------------------------------\n");
56
}
57
58
public OnGameModeInit()
59
{
60
    DisableInteriorEnterExits();
61
    //Pickups
62
    AMUenter=CreatePickup(1318,1,1368.3853,-1279.7742,13.5469);
63
	AMUexit=CreatePickup(1318,1,316.4271,-169.6953,999.6010);
64
	waffen_kauf=CreatePickup(1314,2,312.3146,-166.1411,999.6010);
65
	bsnenter=CreatePickup(1318,1,1199.2341,-918.6306,43.1197);
66
	LSPDenter=CreatePickup(1318,1,1554.7645,-1675.7560,16.1953);
67
	LSPDexit=CreatePickup(1218,1,246.7480,62.3232,1003.6406,6);
68
	//Gamemodename und Spawn
69
	SetGameModeText("GDL v 0.4");
70
	AddPlayerClass(0, 1715.2509,-1911.7201,13.5665, 269.1425, 0, 0, 0, 0, 0, 0);
71
	//Objects
72
	//Extras
73
	CreateObject(1359, 1703.5999755859, -1917.1999511719, 13.300000190735, 0, 0, 0);
74
	CreateObject(1235, 1712.6999511719, -1908.8000488281, 13.10000038147, 0, 0, 0);
75
	CreateObject(2744, 1711.1999511719, -1890.0999755859, 14.699999809265, 0, 0, 0);
76
	CreateObject(1775, 1703.0999755859, -1898.4000244141, 13.699999809265, 0, 0, 92);
77
	CreateObject(1366, 1727.5999755859, -1860.4000244141, 13.199999809265, 0, 0, 0);
78
	CreateObject(1346, 1734.1999511719, -1860.8000488281, 13.89999961853, 0, 0, 176);
79
	CreateObject(1319, 1699.9000244141, -1860.8000488281, 13.10000038147, 0, 0, 0);
80
	CreateObject(1319, 1700.0999755859, -1862.5, 13.10000038147, 0, 0, 0);
81
	CreateObject(1319, 1700.4000244141, -1864.4000244141, 13.10000038147, 0, 0, 0);
82
	CreateObject(1319, 1700.5999755859, -1866.5, 13.10000038147, 0, 0, 0);
83
	CreateObject(1319, 1700.8000488281, -1869, 13.10000038147, 0, 0, 0);
84
	CreateObject(1257, 1474.6999511719, -1724.5999755859, 13.800000190735, 0, 0, 90);
85
	CreateObject(3934, 1563.5999755859, -1705, 27.39999961853, 0, 0, 0);
86
	CreateObject(3934, 1562.9000244141, -1645.0999755859, 27.39999961853, 0, 0, 0);
87
	CreateObject(1349, 1103.6999511719, -1436.9000244141, 15.39999961853, 0, 0, 0);
88
	CreateObject(1349, 1103.6999511719, -1435.8000488281, 15.39999961853, 0, 0, 0);
89
	CreateObject(1349, 1103.6999511719, -1434.5999755859, 15.39999961853, 0, 0, 0);
90
	CreateObject(1359, 1102.8000488281, -1448.6999511719, 15.5, 0, 0, 0);
91
	CreateObject(1776, 1102, -1463.4000244141, 15.89999961853, 0, 0, 70);
92
	CreateObject(1292, 2462.3000488281, -1689.6999511719, 13.10000038147, 0, 0, 188);
93
	CreateObject(1265, 2458.1999511719, -1683.1999511719, 13, 0, 0, 0);
94
	CreateObject(1265, 2459.8000488281, -1680.9000244141, 13, 0, 0, 0);
95
	CreateObject(1220, 2448.6999511719, -1688.4000244141, 12.89999961853, 0, 0, 0);
96
	CreateObject(1227, 2511.3999023438, -1682.5, 13.39999961853, 0, 0, 220);
97
	CreateObject(13011, 2525.6999511719, -1669.6999511719, 14.89999961853, 0, 0, 272);
98
	//LSPD Base
99
	CreateObject(8674, 1544.9000244141, -1602.4000244141, 17.39999961853, 0, 0, 0);
100
	CreateObject(8674, 1539.5999755859, -1612.5999755859, 17.39999961853, 0, 0, 90);
101
	CreateObject(8674, 1539.8000488281, -1607.5, 17.39999961853, 0, 0, 90);
102
	CreateObject(8674, 1565.4000244141, -1602.4000244141, 17.39999961853, 0, 0, 0);
103
	CreateObject(8674, 1555.0999755859, -1602.5, 17.39999961853, 0, 0, 0);
104
	CreateObject(8674, 1575.6999511719, -1602.3000488281, 17.39999961853, 0, 0, 0);
105
	CreateObject(8674, 1585.8000488281, -1602.4000244141, 17.39999961853, 0, 0, 0);
106
	CreateObject(8674, 1596, -1602.4000244141, 17.39999961853, 0, 0, 0);
107
	CreateObject(8674, 1603.1999511719, -1638.0999755859, 17.39999961853, 0, 0, 0);
108
	CreateObject(8674, 1608.0999755859, -1607.5999755859, 17.39999961853, 0, 0, 90);
109
	CreateObject(8674, 1608.0999755859, -1617.8000488281, 17.39999961853, 0, 0, 90);
110
	CreateObject(8674, 1608.0999755859, -1627.8000488281, 17.39999961853, 0, 0, 90);
111
	CreateObject(8674, 1608.0999755859, -1632.8000488281, 17.39999961853, 0, 0, 90);
112
	CreateObject(8674, 1602.7998046875, -1602.3994140625, 17.39999961853, 0, 0, 0);
113
	tor=CreateObject(2990, 1539.4000244141, -1628, 16.299999237061, 0, 0, 270);
114
	CreateObject(974, 1539.6999511719, -1619.5999755859, 15.300000190735, 0, 0, 90);
115
	CreateObject(974, 1539.4000244141, -1636.4000244141, 15.300000190735, 0, 0, 90);
116
	CreateObject(974, 1539.3000488281, -1642.6999511719, 15.300000190735, 0, 0, 90);
117
	CreateObject(974, 1541.9000244141, -1647.8000488281, 15.800000190735, 0, 0, 144);
118
	//Fahrzeuge
119
	//Spawn
120
	AddStaticVehicle(481,1704.8000488281,-1930.3000488281,13.199999809265,268,1,1);
121
	AddStaticVehicle(481,1704.8000488281,-1916.6999511719,13.199999809265,268,1,1);
122
	AddStaticVehicle(481,1704.8000488281,-1931.0999755859,13.199999809265,268,1,1);
123
	AddStaticVehicle(481,1704.8000488281,-1916,13.199999809265,268,1,1);
124
	AddStaticVehicle(481,1704.8000488281,-1917.5,13.199999809265,268,1,1);
125
	AddStaticVehicle(481,1704.8000488281,-1919,13.199999809265,268,1,1);
126
	AddStaticVehicle(481,1704.8000488281,-1920.3000488281,13.199999809265,268,1,1);
127
	AddStaticVehicle(481,1704.8000488281,-1921.3000488281,13.199999809265,268,1,1);
128
	AddStaticVehicle(481,1704.8000488281,-1922.5,13.199999809265,268,1,1);
129
	AddStaticVehicle(481,1704.8000488281,-1923.8000488281,13.199999809265,268,1,1);
130
	AddStaticVehicle(481,1704.8000488281,-1925.1999511719,13.199999809265,268,1,1);
131
	AddStaticVehicle(481,1704.8000488281,-1926.3000488281,13.199999809265,268,1,1);
132
	AddStaticVehicle(481,1704.8000488281,-1927.3994140625,13.199999809265,268,1,1);
133
	AddStaticVehicle(481,1704.8000488281,-1928.1999511719,13.199999809265,268,1,1);
134
	AddStaticVehicle(481,1704.8000488281,-1929.0999755859,13.199999809265,268,1,1);
135
	//LSPD
136
	AddStaticVehicle(427,1526.3196,-1647.6541,6.0225,178.9572,0,1); // LSPDCar1
137
	AddStaticVehicle(427,1530.3049,-1645.7202,6.0221,178.9984,0,1); // LSPDCar2
138
	AddStaticVehicle(427,1534.5930,-1646.8679,6.0225,179.7012,0,1); // LSPDCar3
139
	AddStaticVehicle(427,1538.9760,-1645.6367,6.0223,180.9586,0,1); // LSPDCar4
140
	AddStaticVehicle(523,1558.7963,-1709.1243,5.4631,0.2629,0,0); // LSPDCar5
141
	AddStaticVehicle(523,1562.4943,-1709.6666,5.4618,1.8270,0,0); // LSPDCar6
142
	AddStaticVehicle(523,1567.0380,-1709.7822,5.4628,359.5711,0,0); // LSPDCar7
143
	AddStaticVehicle(523,1570.5226,-1709.5018,5.4630,0.2231,0,0); // LSPDCar8
144
	AddStaticVehicle(523,1574.4706,-1709.4990,5.4631,2.7739,0,0); // LSPDCar9
145
	AddStaticVehicle(523,1578.5623,-1708.9825,5.4637,1.0170,0,0); // LSPDCar10
146
	AddStaticVehicle(523,1583.3236,-1709.2498,5.4627,0.5957,0,0); // LSPDCar11
147
	AddStaticVehicle(523,1587.3689,-1708.5403,5.4640,1.2149,0,0); // LSPDCar12
148
	AddStaticVehicle(523,1591.4569,-1709.1667,5.4631,357.1451,0,0); // LSPDCar13
149
	AddStaticVehicle(523,1595.3225,-1708.8187,5.4630,359.7963,0,0); // LSPDCar14
150
	AddStaticVehicle(596,1543.7648,-1651.0701,5.6110,89.0582,0,1); // LSPDCar15
151
	AddStaticVehicle(596,1543.8955,-1655.1593,5.6112,89.9894,0,1); // LSPDCar16
152
	AddStaticVehicle(596,1544.7544,-1659.1458,5.6127,91.9720,0,1); // LSPDCar17
153
	AddStaticVehicle(596,1543.8933,-1663.0269,5.6107,91.5590,0,1); // LSPDCar18
154
	AddStaticVehicle(596,1544.3802,-1668.3225,5.6122,91.5724,0,1); // LSPDCar19
155
	AddStaticVehicle(596,1545.1771,-1671.8517,5.6110,89.8180,0,1); // LSPDCar20
156
	AddStaticVehicle(596,1544.4210,-1675.9332,5.6126,91.2491,0,1); // LSPDCar21
157
	AddStaticVehicle(596,1544.6296,-1680.2563,5.6124,87.6297,0,1); // LSPDCar22
158
	AddStaticVehicle(596,1544.8156,-1684.1040,5.6122,90.5950,0,1); // LSPDCar23
159
	AddStaticVehicle(596,1544.7532,-1690.7930,5.6148,89.5658,0,1); // LSPDCar24
160
	AddStaticVehicle(599,1585.7335,-1671.5511,6.0791,271.4576,0,1); // LSPDCar25
161
	AddStaticVehicle(599,1585.9315,-1667.5302,6.0767,268.4925,0,1); // LSPDCar26
162
	AddStaticVehicle(601,1531.0563,-1687.5808,5.6522,272.4738,1,1); // LSPDCar27
163
	AddStaticVehicle(601,1529.5619,-1683.8572,5.6495,268.0426,1,1); // LSPDCar28
164
	AddStaticVehicle(497,1566.7086,-1696.3584,28.5723,90.9417,0,1); // LSPDCar29
165
	AddStaticVehicle(497,1564.5278,-1654.2399,28.5445,88.1333,0,1); // LSPDCar30
166
}
167
public OnGameModeExit()
168
{
169
	return 1;
170
}
171
public OnPlayerRequestClass(playerid, classid)
172
{
173
	SetPlayerVirtualWorld(playerid,1+playerid);
174
	SetPlayerPos(playerid, 1715.2509,-1911.7201,13.5665);
175
	SetPlayerCameraPos(playerid, 1715.0929,-1910.2992,13.5665);
176
	SetPlayerCameraLookAt(playerid, 1715.2509,-1911.7201,13.5665);
177
	return 1;
178
}
179
180
public OnPlayerConnect(playerid)
181
{
182
	SendClientMessage(playerid,GELB,"Wilkommen auf GDL[GermanDayLife] viel Spaß");
183
    new Spielerdatei[64];
184
	new name[MAX_PLAYER_NAME];
185
	GetPlayerName(playerid,name,sizeof(name));
186
	format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
187
	if(dini_Exists(Spielerdatei))
188
	{
189
		ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Account gefunden Gib bitte dein Passwort ein","Einlogen","Abbruch");
190
	}
191
	else
192
	{
193
	    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Register","Gib bitte das gewünschte Passwort ein","Registrieren","Abbruch");
194
	}
195
	return 1;
196
}
197
198
public OnPlayerDisconnect(playerid, reason)
199
{
200
	if(GetPVarInt(playerid,"loggedin")==1)
201
	{
202
	    SpielerSpeichern(playerid);
203
	}
204
	return 1;
205
}
206
207
public OnPlayerSpawn(playerid)
208
{
209
	switch(GetPVarInt(playerid,"Fraktion"))
210
	{
211
		case 0:{SetPlayerPos(playerid);}
212
		case 1:{SetPlayerInterior(playerid,6);SetPlayerPos(playerid,lspdspawn);SetPlayerSkin(playerid,267);SetPlayerColor(playerid,BLAU);GivePlayerWeapon(playerid,24,200);GivePlayerWeapon(playerid,30,200);GivePlayerWeapon(playerid,41,500);GivePlayerWeapon(playerid,3,1);}
213
	}
214-
		case 0:{SetPlayerPos(playerid,zivispawn);}
214+
215-
		case 1:{SetPlayerPos(playerid,lspdspawn);SetPlayerSkin(playerid,267);SetPlayerColor(playerid,BLAU);GivePlayerWeapon(playerid,24,200);GivePlayerWeapon(playerid,30,200);GivePlayerWeapon(playerid,41,500);GivePlayerWeapon(playerid,3,1);}
215+
216
public OnPlayerDeath(playerid, killerid, reason)
217
{
218
	return 1;
219
}
220
221
public OnVehicleSpawn(vehicleid)
222
{
223
	return 1;
224
}
225
226
public OnVehicleDeath(vehicleid, killerid)
227
{
228
	return 1;
229
}
230
231
public OnPlayerText(playerid, text[])
232
{
233
	return 1;
234
}
235
236
public OnPlayerCommandText(playerid, cmdtext[])
237
{
238
	if(strcmp("/help",cmdtext,true)==0)
239
	{
240
		SendClientMessage(playerid,WEISS,"Account:/stats");
241
		SendClientMessage(playerid,WEISS,"Algemein:/selbstmord");
242
		SendClientMessage(playerid,WEISS,"Adminlvl 1:/gotolowrider /gotobsn /gotoamu /gotopd /heal");
243
		SendClientMessage(playerid,WEISS,"Adminlvl 2:");
244
		SendClientMessage(playerid,WEISS,"Adminlvl 3:");
245
		SendClientMessage(playerid,WEISS,"Adminlvl 4:");
246
		SendClientMessage(playerid,WEISS,"Adminlvl 5:/restart");
247
	}
248
	if(strcmp("/gotoLowrider",cmdtext,true)==0)
249
	{
250
		if(isPlayerAnAdmin(playerid,1))
251
		{
252
			SetPlayerPos(playerid,2129.2546,-1119.9949,25.3736);
253
			SendClientMessage(playerid,GRUN,"Du hast dich erfolgreich teleportiert.");
254
			return 1;
255
		}
256
		SendClientMessage(playerid,ROT,"Du bist kein Admin!");
257
	}
258
	if(strcmp("/gotoBSN", cmdtext, true) == 0)
259
	{
260
		if(isPlayerAnAdmin(playerid,1))
261
		{
262
		    SetPlayerPos(playerid,1200.6033,-923.7955,43.0128);
263
		    SendClientMessage(playerid,GRUN,"Du hast dich erfolgreich teleportiert.");
264
		    return 1;
265
		}
266
		SendClientMessage(playerid,ROT,"Du bist kein Admin!");
267
	}
268
    if(strcmp("/gotoPD", cmdtext, true) ==0)
269
	{
270
		if(isPlayerAnAdmin(playerid,1))
271
		{
272
		    SetPlayerPos(playerid,1542.1548,-1675.6178,13.5539);
273
		    SendClientMessage(playerid,GRUN, "Du hast dich erfolgreich teleportiert.");
274
		    return 1;
275
		}
276
		SendClientMessage(playerid,ROT,"Du bist kein Admin!");
277
	}
278
	if(strcmp("/gotoAMU",cmdtext,true)==0)
279
	{
280
		if(isPlayerAnAdmin(playerid,1))
281
		{
282
	        SetPlayerPos(playerid,1364.4803,-1284.7002,13.5469);
283
	        SendClientMessage(playerid,GRUN,"Du hast dich erfolgreich teleportiert.");
284
	        return 1;
285
		}
286
		SendClientMessage(playerid,ROT,"Du bist kein Admin!");
287
	}
288
	if(strcmp(cmdtext,"/stats",true)==0)
289
	{
290
		new string[128];
291
		new fraktname[64];
292
		switch(GetPVarInt(playerid,"Fraktion"))
293
		{
294
			case 0:{fraktname="Zivilist";}
295
			case 1:{fraktname=fraktname1;}
296
			case 2:{fraktname=fraktname2;}
297
			case 3:{fraktname=fraktname3;}
298
			case 4:{fraktname=fraktname4;}
299
			case 5:{fraktname=fraktname5;}
300
			case 6:{fraktname=fraktname6;}
301
			case 7:{fraktname=fraktname7;}
302
			case 8:{fraktname=fraktname8;}
303
			case 9:{fraktname=fraktname9;}
304
			case 10:{fraktname=fraktname10;}
305
			case 11:{fraktname=fraktname11;}
306
			case 12:{fraktname=fraktname12;}
307
			case 13:{fraktname=fraktname13;}
308
			case 14:{fraktname=fraktname14;}
309
			case 15:{fraktname=fraktname15;}
310
			case 16:{fraktname=fraktname16;}
311
			case 17:{fraktname=fraktname17;}
312
			case 18:{fraktname=fraktname18;}
313
			case 19:{fraktname=fraktname19;}
314
			case 20:{fraktname=fraktname20;}
315
		}
316
		//Reihe 1
317
		format(string,sizeof(string),"[Name: %s] [Level: %i] [Adminlevel: %i] [Fraktion: %s]",SpielerName(playerid),GetPlayerScore(playerid),GetPVarInt(playerid,"Adminlevel"),fraktname);
318
		SendClientMessage(playerid,GRUNHELL,string);
319
	}
320
	if(strcmp(cmdtext,"/heal",true)==0)
321
	{
322
		if(isPlayerAnAdmin(playerid,1))
323
		{
324
		    SetPlayerHealth(playerid,100);
325
		    SendClientMessage(playerid,GRUN,"Du hast dich geheilt.");
326
		    return 1;
327
		}
328
		SendClientMessage(playerid,ROT,"Du bist kein Admin!");
329
		return 1;
330
	}
331
332
	if(strcmp(cmdtext,"/selbstmord",true)==0)
333
	{
334
		SetPlayerHealth(playerid,0);
335
		return 1;
336
	}
337
	if(strcmp(cmdtext,"/restart",true)==0)
338
	{
339
		if(isPlayerAnAdmin(playerid,5))
340
		{
341
		    SendRconCommand("gmx");
342
		    return 1;
343
		}
344
		SendClientMessage(playerid,ROT,"Du bist kein Admin!");
345
		return 1;
346
	}
347
	return 1;
348
}
349
/*OCMDS*/
350
ocmd:pd1auf(playerid,params[])
351
{
352
	if(isPlayerInFrak(playerid,2))
353
	{
354
		if(IsPlayerInRangeOfPoint(playerid,10,1539.4000244141, -1628, 16.299999237061))return SendClientMessage(playerid,ROT,"Du bist nicht in der nähe vom Tor");
355
		MoveObject(tor,1539.4000244141, -1628, 16.299999237061-10,3);
356
		return 1;
357
	}
358
	SendClientMessage(playerid,ROT,"Du bist nicht berechtigt das zu machen!");
359
	return 1;
360
}
361
ocmd:pd1zu(playerid,params[])
362
{
363
	if(isPlayerInFrak(playerid,2))
364
	{
365
		if(IsPlayerInRangeOfPoint(playerid,10,1539.4000244141, -1628, 16.299999237061))return SendClientMessage(playerid,ROT,"Du bist nicht in der nähe vom Tor");
366
		MoveObject(tor,1539.4000244141, -1628, 16.299999237061,3);
367
		return 1;
368
	}
369
	SendClientMessage(playerid,ROT,"Du bist nicht berechtigt das zu machen!");
370
	return 1;
371
}
372
ocmd:makeadmin(playerid,params[])
373
{
374
    if(!isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,ROT,"Du bist kein Admin!");
375
	new pID, rank;
376
	if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,BLAU,"/makeadmin [ID] [Adminlevel]");
377
	if(rank<1||rank>5)return SendClientMessage(playerid,ROT,"Bitte gültiges Adminlevel angeben.");
378
	SetPVarInt(pID,"Adminlevel",rank);
379
	SpielerSpeichern(pID);
380
	SendClientMessageToAll(GRUN,".:[Es wurde jemand zum Admin gemacht.]:.");
381
	return 1;
382
}
383
384
ocmd:ban(playerid,params[])
385
{
386
	if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du bist kein Admin!");
387
	new pID, reason[128],string[128];
388
	if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,BLAU,"/ban [ID oder voller Name] [Grund]");
389
	format(string,sizeof(string),"AdmCmd: %s wurde von %s gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
390
	SendClientMessageToAll(ROTDUNKEL,string);
391
	SetPVarInt(pID,"baned",1);
392
	Kick(pID);
393
	return 1;
394
}
395
396
ocmd:kick(playerid,params[])
397
{
398
	if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist kein Admin!");
399
	new pID, reason[128],string[128];
400
	if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,BLAU,"/kick [ID oder voller Name] [Grund]");
401
	format(string,sizeof(string),"AdmCmd: %s wurde von %s gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
402
	SendClientMessageToAll(ROTDUNKEL,string);
403
	Kick(pID);
404
	return 1;
405
}
406
407
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
408
{
409
	return 1;
410
}
411
412
public OnPlayerExitVehicle(playerid, vehicleid)
413
{
414
	return 1;
415
}
416
417
public OnPlayerStateChange(playerid, newstate, oldstate)
418
{
419
	return 1;
420
}
421
422
public OnPlayerEnterCheckpoint(playerid)
423
{
424
	return 1;
425
}
426
427
public OnPlayerLeaveCheckpoint(playerid)
428
{
429
	return 1;
430
}
431
432
public OnPlayerEnterRaceCheckpoint(playerid)
433
{
434
	return 1;
435
}
436
437
public OnPlayerLeaveRaceCheckpoint(playerid)
438
{
439
	return 1;
440
}
441
442
public OnRconCommand(cmd[])
443
{
444
	return 1;
445
}
446
447
public OnPlayerRequestSpawn(playerid)
448
{
449
	return 1;
450
}
451
452
public OnObjectMoved(objectid)
453
{
454
	return 1;
455
}
456
457
public OnPlayerObjectMoved(playerid, objectid)
458
{
459
	return 1;
460
}
461
462
public OnPlayerPickUpPickup(playerid, pickupid)
463
{
464
	if(pickupid==AMUenter)
465
	{
466
	    SetPlayerPos(playerid,316.524993,-167.706985,999.593750);
467
	    SetPlayerFacingAngle(playerid,84.1296);
468
	    SetPlayerInterior(playerid,6);
469
	    GameTextForPlayer(playerid,"Willkommen im ~n~~y~Ammunation",3000,5);
470
471
	}
472
	if(pickupid==AMUexit)
473
	{
474
	    SetPlayerPos(playerid,1366.1970,-1279.7380,13.5469);
475
	    SetPlayerFacingAngle(playerid,90);
476
	    SetPlayerInterior(playerid,0);
477
	}
478
479
480
	if(pickupid==bsnenter)
481
	{
482
		SetPlayerPos(playerid,375.962463,-65.816848,1001.507812);
483
		SetPlayerFacingAngle(playerid,90);
484
		SetPlayerInterior(playerid,10);
485
	}
486
	if(pickupid==waffen_kauf)
487
	{
488
		ShowPlayerDialog(playerid,DIALOG_WAFFENLIST,DIALOG_STYLE_LIST,"Was möchtest du kaufen?","Messer\nSchlagring\nSchaufel\nGolfschläger\nDesert Eagle\nSchalldämpferpistole\nMP5\nM4\nAK47","Kaufen","Abbrechen");
489
	}
490
491
	if(pickupid==LSPDenter)
492
	{
493
	SetPlayerPos(playerid,246.783996,63.900199,1003.640625);
494
	SetPlayerFacingAngle(playerid,90);
495
	SetPlayerInterior(playerid,6);
496
	GameTextForPlayer(playerid,"Willkommen im ~n~~y~LS Police Department",3000,5);
497
	}
498
499
	if(pickupid==LSPDexit)
500
	{
501
	SetPlayerPos(playerid,255.4752,66.8106,1003.6406);
502
	SetPlayerFacingAngle(playerid,90);
503
	SetPlayerInterior(playerid,0);
504
	GameTextForPlayer(playerid,"Willkommen im ~n~~y~LS Police Department",3000,5);
505
	}
506
	return 1;
507
}
508
509
public OnVehicleMod(playerid, vehicleid, componentid)
510
{
511
	return 1;
512
}
513
514
public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
515
{
516
	return 1;
517
}
518
519
public OnVehicleRespray(playerid, vehicleid, color1, color2)
520
{
521
	return 1;
522
}
523
524
public OnPlayerSelectedMenuRow(playerid, row)
525
{
526
	return 1;
527
}
528
529
public OnPlayerExitedMenu(playerid)
530
{
531
	return 1;
532
}
533
534
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
535
{
536
	return 1;
537
}
538
539
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
540
{
541
	return 1;
542
}
543
544
public OnRconLoginAttempt(ip[], password[], success)
545
{
546
	return 1;
547
}
548
549
public OnPlayerUpdate(playerid)
550
{
551
	return 1;
552
}
553
554
public OnPlayerStreamIn(playerid, forplayerid)
555
{
556
	return 1;
557
}
558
559
public OnPlayerStreamOut(playerid, forplayerid)
560
{
561
	return 1;
562
}
563
564
public OnVehicleStreamIn(vehicleid, forplayerid)
565
{
566
	return 1;
567
}
568
569
public OnVehicleStreamOut(vehicleid, forplayerid)
570
{
571
	return 1;
572
}
573
574
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
575
{
576
577
    if(dialogid==DIALOG_LOGIN)
578
	{
579
		if(response==0)
580
		{
581
			SendClientMessage(playerid,ROT,"Du hast den Vorgang abgebrochen /n und wurdest deshalb gekickt");
582
			Kick(playerid);
583
			return 1;
584
		}
585
		if(response==1)
586
		{
587
			if(!strlen(inputtext))
588
			{
589
				SendClientMessage(playerid,ROT,"Das Passwort war nicht lang genug");
590
				ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Account gefunden \n Gib bitte dein Passwort ein","Einlogen","Abbruch");
591
				return 1;
592
			}
593
			else
594
			{
595
			    Login(playerid,inputtext);
596
			    return 1;
597
			}
598
		}
599
	}
600
	if(dialogid==DIALOG_REGISTER)
601
	{
602
		if(response==0)
603
		{
604
			SendClientMessage(playerid,ROT,"Du hast den Vorgang abgebrochen /n und wurdest deshalb gekickt");
605
			Kick(playerid);
606
			return 1;
607
		}
608
		if(response==1)
609
		{
610
			if(!strlen(inputtext))
611
			{
612
				SendClientMessage(playerid,ROT,"Das Passwort war nicht lang genug");
613
				ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Register","Gib bitte das gewünschte Passwort ein","Registrieren","Abbruch");
614
				return 1;
615
			}
616
			else
617
			{
618
			    Register(playerid,inputtext);
619
			    return 1;
620
			}
621
		}
622
	}
623
	if(dialogid==DIALOG_WAFFENLIST)
624
	{
625
	        if(response==0)
626
	        switch(listitem)
627
	    {
628
	        case 0:
629
			{
630
			        GivePlayerWeapon(playerid,4,1);
631
			        GivePlayerMoney(playerid,-100);
632
			        SendClientMessage(playerid,BLAU,"Du hast dir ein Messer gekauft (Kosten:100$)");
633
			}
634
			case 1:
635
			{
636
			    	GivePlayerWeapon(playerid,1,1);
637
			    	GivePlayerMoney(playerid,-50);
638
			    	SendClientMessage(playerid,BLAU,"Du hast dir ein Schlagring gekauft (Kosten:50$)");
639
			}
640
			case 2:
641
			{
642
                    GivePlayerWeapon(playerid,6,1);
643
					GivePlayerMoney(playerid,-100);
644
					SendClientMessage(playerid,BLAU,"Du hast dir eine Schaufel gekauft (Kosten:100$)");
645
			}
646
			case 3:
647
			{
648
			        GivePlayerWeapon(playerid,2,1);
649
			        GivePlayerMoney(playerid,-100);
650
			        SendClientMessage(playerid,BLAU,"Du hast dir einen Golfschläger gekauft (Kosten:100$)");
651
			}
652
			case 4:
653
			{
654
			        GivePlayerWeapon(playerid,24,50);
655
					GivePlayerMoney(playerid,-250);
656
					SendClientMessage(playerid,BLAU,"Du hast dir eine Deagle gekauft (Kosten:250$)");
657
			}
658
			case 5:
659
			{
660
                    GivePlayerWeapon(playerid,23,100);
661
					GivePlayerMoney(playerid,-150);
662
					SendClientMessage(playerid,BLAU,"Du hast dir eine SchalldämpferPistole gekauft (Kosten:250$)");
663
			}
664
			case 6:
665
			{
666
					GivePlayerWeapon(playerid,29,300);
667
			        GivePlayerMoney(playerid,-350);
668
			        SendClientMessage(playerid,BLAU,"Du hast dir eine MP5 gekauft(Kosten:350$)");
669
			}
670
			case 7:
671
			{
672
			        GivePlayerWeapon(playerid,31,250);
673
			        GivePlayerMoney(playerid,-550);
674
			        SendClientMessage(playerid,BLAU,"Du hast dir eine M4 gekauft(Kosten:550$)");
675
			}
676
			case 8:
677
			{
678
			        GivePlayerWeapon(playerid,30,260);
679
			        GivePlayerMoney(playerid,-550);
680
			        SendClientMessage(playerid,BLAU,"Du hast dir eine AK47 gekauft(Kosten:550$) ");
681
			}
682
		}
683
	}
684
	return 1;
685
}
686
687
stock SpielerName(playerid)
688
{
689
	new name[MAX_PLAYER_NAME];
690
	GetPlayerName(playerid,name,sizeof(name));
691
	return name;
692
}
693
694
stock Register(playerid,key[])
695
{
696
	new Spielerdatei[64];
697
	new name[MAX_PLAYER_NAME];
698
	GetPlayerName(playerid,name,sizeof(name));
699
	format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
700
	dini_Create(Spielerdatei);
701
	dini_Set(Spielerdatei,"Passwort",key);
702
	SendClientMessage(playerid,GRUN,"Erfolgreich registriert");
703
	SetPlayerScore(playerid,0);
704
	SetPVarInt(playerid,"loggedin",1);
705
	return 1;
706
}
707
708
stock Login(playerid,key[])
709
{
710
    new Spielerdatei[64];
711
    new name[MAX_PLAYER_NAME];
712
    GetPlayerName(playerid,name,sizeof(name));
713
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
714
    if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
715
    {
716
        LoadAccount(playerid);
717
        SendClientMessage(playerid,GRUN,"Erfolgreich eingeloggt.");
718
        return 1;
719
    }
720
    else
721
    {
722
        SendClientMessage(playerid,ROT,"Falsches Passwort.");
723
        ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
724
        return 1;
725
    }
726
}
727
728
stock LoadAccount(playerid)
729
{
730
	new Spielerdatei[64];
731
	new name[MAX_PLAYER_NAME];
732
	GetPlayerName(playerid,name,sizeof(name));
733
	format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
734
	SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
735
	GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
736
	SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
737
	SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
738
	SetPVarInt(playerid,"baned",dini_Int(Spielerdatei,"baned"));
739
	SetPVarInt(playerid,"loggedin",1);
740
	//SpielerInfo[playerid][Adminlevel]=dini_Int(Spielerdatei,"Adminlevel");
741
	//SpielerInfo[playerid][Fraktion]=dini_Int(Spielerdatei,"Fraktion");
742
	if(GetPVarInt(playerid,"baned")==1)
743
	{
744
		SendClientMessage(playerid,ROT,"Du bist vom Server gebannt! :p");
745
		Kick(playerid);
746
	}
747
	return 1;
748
}
749
750
stock SpielerSpeichern(playerid)
751
{
752
    if(GetPVarInt(playerid,"loggedin")==1)
753
	{
754
        new Spielerdatei[64];
755
	    new name[MAX_PLAYER_NAME];
756
	    GetPlayerName(playerid,name,sizeof(name));
757
	    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
758
    	dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
759
    	dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
760
    	dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
761
    	dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
762
    	dini_IntSet(Spielerdatei,"baned",GetPVarInt(playerid,"baned"));
763
	}
764
	return 1;
765
}
766
767
stock isPlayerAnAdmin(playerid,rang)
768
{
769
	if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1;
770
	return 0;
771
772
}
773
774
stock isPlayerInFrak(playerid,fraktid)
775
{
776
	if(GetPVarInt(playerid,"fraktion")==fraktid)return 1;
777
	return 0;
778
}
779
780
stock sscanf(sstring[], format[], {Float,_}:...)
781
{
782
	#if defined isnull
783
		if (isnull(sstring))
784
	#else
785
		if (sstring[0] == 0 || (sstring[0] == 1 && sstring[1] == 0))
786
	#endif
787
		{
788
			return format[0];
789
		}
790
	#pragma tabsize 4
791
	new
792
		formatPos = 0,
793
		sstringPos = 0,
794
		paramPos = 2,
795
		paramCount = numargs(),
796
		delim = ' ';
797
	while (sstring[sstringPos] && sstring[sstringPos] <= ' ')
798
	{
799
		sstringPos++;
800
	}
801
	while (paramPos < paramCount && sstring[sstringPos])
802
	{
803
		switch (format[formatPos++])
804
		{
805
			case '\0':
806
			{
807
				return 0;
808
			}
809
			case 'i', 'd':
810
			{
811
				new
812
					neg = 1,
813
					num = 0,
814
					ch = sstring[sstringPos];
815
				if (ch == '-')
816
				{
817
					neg = -1;
818
					ch = sstring[++sstringPos];
819
				}
820
				do
821
				{
822
					sstringPos++;
823
					if ('0' <= ch <= '9')
824
					{
825
						num = (num * 10) + (ch - '0');
826
					}
827
					else
828
					{
829
						return -1;
830
					}
831
				}
832
				while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
833
				setarg(paramPos, 0, num * neg);
834
			}
835
			case 'h', 'x':
836
			{
837
				new
838
					num = 0,
839
					ch = sstring[sstringPos];
840
				do
841
				{
842
					sstringPos++;
843
					switch (ch)
844
					{
845
						case 'x', 'X':
846
						{
847
							num = 0;
848
							continue;
849
						}
850
						case '0' .. '9':
851
						{
852
							num = (num << 4) | (ch - '0');
853
						}
854
						case 'a' .. 'f':
855
						{
856
							num = (num << 4) | (ch - ('a' - 10));
857
						}
858
						case 'A' .. 'F':
859
						{
860
							num = (num << 4) | (ch - ('A' - 10));
861
						}
862
						default:
863
						{
864
							return -1;
865
						}
866
					}
867
				}
868
				while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
869
				setarg(paramPos, 0, num);
870
			}
871
			case 'c':
872
			{
873
				setarg(paramPos, 0, sstring[sstringPos++]);
874
			}
875
			case 'f':
876
			{
877
878
				new changestr[16], changepos = 0, strpos = sstringPos;
879
				while(changepos < 16 && sstring[strpos] && sstring[strpos] != delim)
880
				{
881
					changestr[changepos++] = sstring[strpos++];
882
    				}
883
				changestr[changepos] = '\0';
884
				setarg(paramPos,0,_:floatstr(changestr));
885
			}
886
			case 'p':
887
			{
888
				delim = format[formatPos++];
889
				continue;
890
			}
891
			case '\'':
892
			{
893
				new
894
					end = formatPos - 1,
895
					ch;
896
				while ((ch = format[++end]) && ch != '\'') {}
897
				if (!ch)
898
				{
899
					return -1;
900
				}
901
				format[end] = '\0';
902
				if ((ch = strfind(sstring, format[formatPos], false, sstringPos)) == -1)
903
				{
904
					if (format[end + 1])
905
					{
906
						return -1;
907
					}
908
					return 0;
909
				}
910
				format[end] = '\'';
911
				sstringPos = ch + (end - formatPos);
912
				formatPos = end + 1;
913
			}
914
			case 'u':
915
			{
916
				new
917
					end = sstringPos - 1,
918
					id = 0,
919
					bool:num = true,
920
					ch;
921
				while ((ch = sstring[++end]) && ch != delim)
922
				{
923
					if (num)
924
					{
925
						if ('0' <= ch <= '9')
926
						{
927
							id = (id * 10) + (ch - '0');
928
						}
929
						else
930
						{
931
							num = false;
932
						}
933
					}
934
				}
935
				if (num && IsPlayerConnected(id))
936
				{
937
					setarg(paramPos, 0, id);
938
				}
939
				else
940
				{
941
					#if !defined foreach
942
						#define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
943
						#define __SSCANF_FOREACH__
944
					#endif
945
					sstring[end] = '\0';
946
					num = false;
947
					new
948
						name[MAX_PLAYER_NAME];
949
					id = end - sstringPos;
950
					foreach (Player, playerid)
951
					{
952
						GetPlayerName(playerid, name, sizeof (name));
953
						if (!strcmp(name, sstring[sstringPos], true, id))
954
						{
955
							setarg(paramPos, 0, playerid);
956
							num = true;
957
							break;
958
						}
959
					}
960
					if (!num)
961
					{
962
						setarg(paramPos, 0, INVALID_PLAYER_ID);
963
					}
964
					sstring[end] = ch;
965
					#if defined __SSCANF_FOREACH__
966
						#undef foreach
967
						#undef __SSCANF_FOREACH__
968
					#endif
969
				}
970
				sstringPos = end;
971
			}
972
			case 's', 'z':
973
			{
974
				new
975
					i = 0,
976
					ch;
977
				if (format[formatPos])
978
				{
979
					while ((ch = sstring[sstringPos++]) && ch != delim)
980
					{
981
						setarg(paramPos, i++, ch);
982
					}
983
					if (!i)
984
					{
985
						return -1;
986
					}
987
				}
988
				else
989
				{
990
					while ((ch = sstring[sstringPos++]))
991
					{
992
						setarg(paramPos, i++, ch);
993
					}
994
				}
995
				sstringPos--;
996
				setarg(paramPos, i, '\0');
997
			}
998
			default:
999
			{
1000
				continue;
1001
			}
1002
		}
1003
		while (sstring[sstringPos] && sstring[sstringPos] != delim && sstring[sstringPos] > ' ')
1004
		{
1005
			sstringPos++;
1006
		}
1007
		while (sstring[sstringPos] && (sstring[sstringPos] == delim || sstring[sstringPos] <= ' '))
1008
		{
1009
			sstringPos++;
1010
		}
1011
		paramPos++;
1012
	}
1013
	do
1014
	{
1015
		if ((delim = format[formatPos++]) > ' ')
1016
		{
1017
			if (delim == '\'')
1018
			{
1019
				while ((delim = format[formatPos++]) && delim != '\'') {}
1020
			}
1021
			else if (delim != 'z')
1022
			{
1023
				return delim;
1024
			}
1025
		}
1026
	}
1027
	while (delim > ' ');
1028
	return 0;
1029
}
1030