· 8 years ago · Apr 01, 2018, 08:04 PM
1#include <a_samp>
2#include <a_mysql>
3
4main() {}
5
6//Natives
7native WP_Hash(buffer[], len, const str[]);
8
9//Ustawienia
10#define START_MONEY 1200
11
12//Definicje
13#define SCRIPT_NAME "Role Play"
14#define SCRIPT_VERSION "Alpha"
15#define SCRIPT_AUTHOR "Stocku"
16#define INFO_STRING "{00FF00}[Info]{FFFFFF}:"
17#define ERROR_STRING "{FF0000}[Blad]{FFFFFF}:"
18#define INFO_BAD_CMD "{00FF00}[Info]{FFFFFF}: Serwer nie posiada takiej komendy."
19
20//Parametry postaci
21#define GENDER_MALE 1
22#define GENDER_FEMALE 0
23
24//Enumeratory
25enum PlayerData
26{
27 bool:LoggedIn,
28 bool:ShowMouse,
29 Cache:Cache_ID,
30 UID,
31 Password[129],
32 Age,
33 Level,
34 Gender,
35 SkinID,
36 Money,
37 AdminLVL
38
39};
40new Player[MAX_PLAYERS][PlayerData];
41
42new MySQL:SQL_ID;
43
44public OnGameModeInit()
45{
46 SetGameModeText("RolePlay - Alpha2");
47 printf("[Uruchamiam] Skrypt: %s\n>Wersja: %s\n>Autor: [%s]\n", SCRIPT_NAME,SCRIPT_VERSION, SCRIPT_AUTHOR);
48 if(MySQL_Init())
49 {
50 //WCZYTYWANIE DANYCH Z BAZY
51 MySQL_SetUpTables();
52 printf("[Sprawdzam] Skrypt: %s pomyslnie uruchomiony!\n", SCRIPT_NAME);
53 SetTimer("SecondUpdate", 1000, true);
54 }
55 return 1;
56}
57
58public OnGameModeExit()
59{
60 mysql_close(SQL_ID);
61 return 1;
62}
63
64public OnPlayerConnect(playerid)
65{
66 SetSpawnInfo(playerid, NO_TEAM, 0, 817.2330, -1348.2781, 12.5273, 359.6867, 0, 0, 0, 0, 0, 0);
67 return 1;
68}
69
70public OnPlayerSpawn(playerid)
71{
72 if(Player[playerid][LoggedIn] == false)
73 {
74 //NIE ZALOGOWANY
75 SetPlayerInterior(playerid, 0);
76 SetPlayerVirtualWorld(playerid, 50 + playerid);
77 SetPlayerCameraPos(playerid, 813.4518, -1343.4792, 12.5337);
78 SetPlayerCameraLookAt(playerid, 817.2330, -1348.2781, 12.5273);
79 TogglePlayerControllable(playerid, false);
80 ShowPlayerMouse(playerid, true);
81 SelectTextDraw(playerid, -1);
82 }
83 else
84 {
85 //ZALOGOWANY
86 }
87 return 1;
88}
89
90public OnPlayerRequestSpawn(playerid)
91{
92 return 1;
93}
94
95public OnPlayerRequestClass(playerid, classid)
96{
97 SpawnPlayer(playerid);
98 return 1;
99}
100
101public OnPlayerCommandText(playerid, cmdtext[])
102{
103 if(strcmp("/jet", cmdtext, true) == 0)
104 {
105 SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USEJETPACK);
106 return 1;
107 }
108 return SendClientMessage(playerid, -1, INFO_BAD_CMD);
109}
110
111//TIMERY
112forward SecondUpdate();
113public SecondUpdate()
114{
115 for(new playerid, j = GetPlayerPoolSize(); playerid <= j; playerid++)
116 {
117 if(IsPlayerConnected(playerid))
118 {
119 if(Player[playerid][ShowMouse])
120 {
121 ShowPlayerMouse(playerid, true);
122 }
123 }
124 }
125 return 1;
126}
127
128//Stocki
129stock MySQL_SetUpTables()
130{
131 mysql_tquery(SQL_ID, "CREATE TABLE IF NOT EXISTS `accounts` ( \
132 `uid` INT(11) NOT NULL AUTO_INCREMENT, \
133 `name` TEXT NOT NULL COLLATE 'utf8_polish_ci', \
134 `password` TEXT NOT NULL COLLATE 'utf8_polish_ci', \
135 `skinid` INT(11) NOT NULL, \
136 `money` INT(11) NOT NULL DEFAULT '0', \
137 `gender` INT(11) NOT NULL, \
138 `age` INT(11) NOT NULL, \
139 `level` INT(11) NOT NULL DEFAULT '1', \
140 `adminlvl` INT(11) NOT NULL DEFAULT '0', \
141 `lastip` TEXT NOT NULL COLLATE 'utf8_polish_ci', \
142 `lastonline` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, \
143 `createdate` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, \
144 PRIMARY KEY (`uid`))");
145 return 1;
146}
147stock MySQL_Init()
148{
149 mysql_log();
150 SQL_ID = mysql_connect_file("mysql.ini");
151 if(SQL_ID == MYSQL_INVALID_HANDLE || mysql_errno(SQL_ID) != 0)
152 {
153 print("[MYSQL - BLAD] Nie mozna polaczyc sie z baza danych! Wylaczam serwer.");
154 SendRconCommand("exit");
155 return 0;
156 }
157 print("[MYSQL - Info] Pomyslnie polaczono z baza danych!");
158 return 1;
159}
160
161stock ShowPlayerMouse(playerid, bool:show)
162{
163 if(show)
164 {
165 SelectTextDraw(playerid, 0xFF0000FF);
166 Player[playerid][ShowMouse] = true;
167 }
168 else
169 {
170 CancelSelectTextDraw(playerid);
171 Player[playerid][ShowMouse] = false;
172 }
173 return 1;
174}