This is the script that is failing to compile, and crashing the compiling software. 1. #include 2. // for the samp stuff 3. #include // for the functions dini and dudb need 4. 5.#include // for the userdatabase, get dudb version 2.0 for this. 6. #define dcmd(%1,%2,%3) if ((strcmp(%3, "/%1", true, %2+1) == 0)&&(((%3[%2+1]==0)&&(dcmd_%1(playerid,"")))||((%3[%2+1]==32)&&(dcmd_%1(playerid,%3[%2+2]))))) return 1 7. #define COLOR_SYSTEM 0xEFEFF7AA 8. 9. #define COLOR_RED 0xAA3333AA 10. #define COLOR_GREY 0xAFAFAFAA 11. #define COLOR_GREEN 0x33AA33AA 12. #define COLOR_YELLOW 0xFFFF00AA 13. 14. new mitra[MAX_PLAYERS]; 15. new pistole[MAX_PLAYERS]; 16. new IsSpawned[MAX_PLAYERS]; 17. new PLAYERLIST_authed[MAX_PLAYERS]; 18. #define AUTOLOCO 0 19. 20. main() 21. { 22. print("\n----------------------------------"); 23. print(" Kirks Test TYC RPG Script "); 24. print("----------------------------------\n"); 25. } 26. 27. public SystemMsg(playerid,msg[]) { 28. if ((IsPlayerConnected(playerid))&&(strlen(msg)>0)) { 29. SendClientMessage(playerid,COLOR_SYSTEM,msg); 30. } 31. return 1; 32. } 33. 34. public PlayerName(playerid) { 35. new name[MAX_PLAYER_NAME]; 36. GetPlayerName(playerid, name, MAX_PLAYER_NAME); 37. return name; 38. } 39. 40. 41. public OnGameModeInit() 42. { 43. print("GameModeInit()"); 44. SetGameModeText("RPG Mode - NOTHING ELSE"); 45. AddPlayerClass(105,2495.2942,-1686.7410,13.5146,345.1787,0,0,0,0,0,0); // GROVE 46. AddPlayerClass(106,2495.2942,-1686.7410,13.5146,345.1787,0,0,0,0,0,0); // GROVE 47. AddPlayerClass(107,2495.2942,-1686.7410,13.5146,345.1787,0,0,0,0,0,0); // GROVE 48. AddPlayerClass(102,2040.8317,-1636.4535,13.5469,282.3436,0,0,0,0,0,0); // BALLAS 49. AddPlayerClass(103,2045.2512,-1670.7961,13.3828,254.1668,0,0,0,0,0,0); // BALLAS 50. AddPlayerClass(104,2034.1675,-1665.8888,13.5469,265.4936,0,0,0,0,0,0); // BALLAS 51. AddPlayerClass(174,1787.3534,-1925.0656,13.3901,307.9801,0,0,0,0,0,0); // OG 52. AddPlayerClass(115,1801.7134,-1912.9382,13.3960,340.8804,0,0,0,0,0,0); // OG 53. AddPlayerClass(116,1792.5392,-1911.3932,13.3968,287.8483,0,0,0,0,0,0); // OG 54. AddPlayerClass(108,2059.0715,-1007.3425,47.9766,1.1025,0,0,0,0,0,0); // VAGOS 55. AddPlayerClass(109,2127.3621,-971.9185,58.6448,169.0507,0,0,0,0,0,0); // VAGOS 56. AddPlayerClass(110,2186.0625,-998.1495,66.4688,78.2629,0,0,0,0,0,0); // VAGOS 57. AddPlayerClass(217,1868.5045,-1384.3711,13.5127,79.3041,0,0,0,0,0,0); // BMX 58. AddPlayerClass(250,1868.6322,-1383.8907,13.5134,79.3041,0,0,0,0,0,0); // BMX 59. AddPlayerClass(293,1868.6322,-1383.8907,13.5134,79.3041,0,0,0,0,0,0); //BMX 60. AddPlayerClass(98,1497.1262,-690.2004,94.7500,190.8699,0,0,0,0,0,0); // Rich 61. AddPlayerClass(147,1497.1384,-688.9389,95.1966,184.3909,0,0,0,0,0,0); // Rich 62. AddPlayerClass(156,2014.4757,-1732.6592,14.2392,91.7454,0,0,0,0,0,0); // Old 63. AddPlayerClass(61,1788.0491,-2643.1636,13.5469,356.0182,0,0,0,0,0,0); // Pilot 64. AddPlayerClass(287,2734.2253,-2450.5940,17.5937,336.5316,0,0,0,0,0,0); //Military 65. AddPlayerClass(280,1576.8402,-1631.2933,13.3828,59.6309,0,0,0,0,0,0); // Police 66. AddPlayerClass(280,1569.3383,-1619.6395,13.5469,148.4500,0,0,0,0,0,0); // Police 67. AddPlayerClass(280,1556.2813,-1620.5048,13.5469,62.5959,0,0,0,0,0,0); // Police 68. AddStaticVehicle(458,2517.0291,-1672.4581,13.8968,53.9456,113,1); // GroveStreetSolair 69. AddStaticVehicle(466,2296.8979,-1633.0701,14.4439,356.4811,25,76); // GreenBottleGlendale 70. AddStaticVehicle(492,2298.3022,-1645.5243,14.5286,270.6505,81,27); // GreenBottleGreenWood 71. AddStaticVehicle(462,2198.5569,-1276.4036,24.1383,358.3150,14,14); // FaggioGardenNearGreenBottle 72. AddStaticVehicle(578,2052.0168,-1940.1796,13.9676,269.0157,1,1); // DFTLayby 73. AddStaticVehicle(400,1505.5155,-2360.6868,13.6431,1.1772,101,1); // LandStalkerLSAP 74. AddStaticVehicle(419,1518.6495,-2361.1870,13.3552,179.8577,13,76); // EsperantoLSAP 75. AddStaticVehicle(419,1457.7964,-2348.1006,13.3443,179.3872,13,76); // Esperanto2LSAP 76. AddStaticVehicle(477,1331.0952,-1081.1213,25.0323,90.9786,121,1); // ZR3000 near VineWood 77. AddStaticVehicle(535,2645.4460,-1990.6671,13.3178,0.3465,55,1); // locoslamvan 78. AddStaticVehicle(532,1905.7791,192.6017,36.2052,352.0815,0,0); // Harvesterfield 79. AddStaticVehicle(543,219.2118,25.1247,2.3968,267.3424,8,90); // truckxoomer 80. AddStaticVehicle(400,-2207.1980,-2146.7263,46.3290,233.8678,4,1); // LandstalkerChiliad 81. AddStaticVehicle(400,-2234.2571,-2167.9519,40.2118,32.6648,4,1); // Landstalkerchiliad 2 82. AddStaticVehicle(483,-2226.9490,-2163.3030,41.7159,206.4084,16,0); // campervan chiliad 83. AddStaticVehicle(508,-2223.0588,-2161.5708,42.8714,27.3742,1,1); // journeychiliad 84. AddStaticVehicle(560,-1958.6025,261.6516,35.1759,14.9033,41,29); // wangssultan 85. AddStaticVehicle(565,-1958.7087,303.2773,35.0946,122.6941,15,15); // FlashWangs 86. AddStaticVehicle(565,-2506.6941,255.4485,34.7963,178.8440,15,15); // FlashKings 87. AddStaticVehicle(579,-2513.7090,257.8713,35.1050,357.9512,15,15); // KingsHuntley AddStaticVehicle(458,1669.8694,1305.9108,10.6988,179.9549,109,1); // SolairLVAP AddStaticVehicle(477,1666.5168,1316.6794,10.5729,359.9756,101,1); // ZR-350 LVAP AddStaticVehicle(489,1650.4648,1286.9464,10.9713,179.8478,120,123); // RancherLVAP AddStaticVehicle(496,1701.8395,1316.7800,10.5370,359.5124,53,56); // BlistCompactLVAP AddStaticVehicle(496,1701.5864,1286.6661,10.5364,359.5281,53,56); // Blist2CompantLVAP AddStaticVehicle(487,1645.8623,1539.5914,10.9600,233.3095,26,3); // MaverickLVAP AddStaticVehicle(487,1628.9384,1529.6912,10.9716,230.5643,74,35); // ChopperLVAP AddStaticVehicle(511,1577.6918,1448.3977,12.2016,269.2121,8,66); // BeagleLVAP AddStaticVehicle(519,1324.1074,1597.8303,11.7424,84.3920,1,1); // ShamalLVAP AddStaticVehicle(446,-2325.3137,2326.6609,-0.4022,0.6024,1,53); // SqualoSFdocks AddStaticVehicle(430,-2409.1943,2318.4414,-0.0082,274.9771,46,26); // policeboatsfdocks return 1; 89. } 90. 91. public OnPlayerRequestClass(playerid, classid) 92. { 93. printf("OnPlayerRequestClass(%d, %d)", playerid, classid); 94. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); 95. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); 96. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); 97. return 1; 98. } 99. 100. public OnGameModeExit() 101. { 102. print("GameModeExit()"); 103. return 1; 104. } 105. 106. public OnPlayerConnect(playerid) 107. { 108. PLAYERLIST_authed[playerid]=false; 109. GameTextForPlayer(playerid,"Hey there, welcome to RPG Mode",2000,1); 110. SendClientMessage(playerid, COLOR_RED, "*** Welcome to Kirk's Real Life Server"); 111. SendClientMessage(playerid, COLOR_GREEN, "*** Please register or login!."); 112. SendClientMessage(playerid, COLOR_GREEN, "*** If your a bit unsure, type /help"); 113. return 1; 114. } 115. 116. dcmd_register(playerid,params[]) { 117. 118. // The command shouldn't work if we already are authed 119. if (PLAYERLIST_authed[playerid]) return SystemMsg(playerid,"Already authed."); 120. 121. // The command shouldn't work if an account with this 122. // nick already exists 123. if (udb_Exists(PlayerName(playerid))) return SystemMsg(playerid,"Account already exists, please use '/login password'."); 124. 125. // Did he forgot the password? 126. if (strlen(params)==0) return SystemMsg(playerid,"Correct usage: '/register password'"); 127. 128. // We save the money to the accstate 129. if (udb_Create(PlayerName(playerid),params)) return SystemMsg(playerid,"Account successfully created. Login with '/login password' now."); 130. return true; 131. 132. } 133. 134. dcmd_login(playerid,params[]) { 135. if(IsSpawned[playerid] == 1){ 136. // The command shouldn't work if we already are authed 137. if (PLAYERLIST_authed[playerid]) return SystemMsg(playerid,"*** Already authed."); 138. 139. // The command shouldn't work if an account with this 140. // nick does not exists 141. if (!udb_Exists(PlayerName(playerid))) return SystemMsg(playerid,"*** Account doesn't exist, please use '/register password'."); 142. 143. // Did he forgot the password? 144. if (strlen(params)==0) return SystemMsg(playerid,"*** Correct usage: '/login password'"); 145. 146. if (udb_CheckLogin(PlayerName(playerid),params)) { 147. // Login was correct 148. 149. // Following thing is the same like the missing SetPlayerCommand 150. GivePlayerMoney(playerid,dUserINT(PlayerName(playerid)).("money")-GetPlayerMoney(playerid)); 151. GivePlayerWeapon(playerid,dUserINT(PlayerName(playerid)).("pistole"),99999); 152. GivePlayerWeapon(playerid,dUserINT(PlayerName(playerid)).("mitra"),99999); 153. pistole[playerid] = dUserINT(PlayerName(playerid)).("pistole"); 154. mitra[playerid] = dUserINT(PlayerName(playerid)).("mitra"); 155. PLAYERLIST_authed[playerid]=true; 156. return SystemMsg(playerid,"*** Successfully authed!"); 157. } else { 158. // Login was incorrect 159. return SystemMsg(playerid,"*** Login failed!"); 160. } 161. }else{SystemMsg(playerid,"*** Spawn before logging!"); } 162. return true; 163. } 164. 165. public OnPlayerDisconnect(playerid) 166. { 167. if (PLAYERLIST_authed[playerid]) { 168. // Was loggedin, so save the data! 169. dUserSetINT(PlayerName(playerid)).("money",GetPlayerMoney(playerid)); 170. GivePlayerWeapon(playerid,dUserINT(PlayerName(playerid)).("shotgun"),99999); 171. GivePlayerWeapon(playerid,dUserINT(PlayerName(playerid)).("pistole"),99999); 172. GivePlayerWeapon(playerid,dUserINT(PlayerName(playerid)).("mitra"),99999); 173. shotgun[playerid] = dUserINT(PlayerName(playerid)).("shotgun"); 174. pistole[playerid] = dUserINT(PlayerName(playerid)).("pistole"); 175. mitra[playerid] = dUserINT(PlayerName(playerid)).("mitra"); 176. } 177. PLAYERLIST_authed[playerid]=false; 178. return false; 179. } 180. 181. public OnPlayerSpawn(playerid){ 182. IsSpawned[playerid] = 1; 183. GivePlayerWeapon(playerid, 24, 100000); 184. GivePlayerWeapon(playerid, mitra[playerid], 100000); 185. GivePlayerWeapon(playerid, pistole[playerid], 100000); 186. SetPlayerColor(playerid, COLOR_GREEN); 187. GivePlayerMoney(playerid, 5000); 188. } 189. 190. public OnPlayerDeath(playerid, killerid, reason) 191. { 192. printf("OnPlayerDeath(%d, %d, %d)", playerid, killerid, reason); 193. return 1; 194. } 195. 196. public OnVehicleSpawn(vehicleid) 197. { 198. printf("OnVehicleSpawn(%d)", vehicleid); 199. return 1; 200. 201. } 202. 203. public OnVehicleDeath(vehicleid, killerid) 204. { 205. printf("OnVehicleDeath(%d, %d)", vehicleid, killerid); 206. return 1; 207. } 208. 209. public OnPlayerText(playerid) 210. { 211. printf("OnPlayerText(%d)", playerid); 212. return 1; 213. } 214. 215. public OnPlayerCommandText(playerid, cmdtext[]) 216. { 217. new cmd[256]; 218. new idx; 219. new victim; 220. new say[256]; 221. cmd = strtok(cmdtext, idx); 222. dcmd(login,5,cmdtext); // because login has 5 characters 223. dcmd(register,8,cmdtext); // because register has 8 characters 224. 225. if (PLAYERLIST_authed[playerid]) { 226. 227. if(strcmp(cmd, "/lookarsenal", true) == 0) { 228. new mitrastring[256], shotgunstring[256], pistolestring[256], string[256], name[256]; 229. 230. new tmp[256]; 231. tmp = strtok(cmdtext, idx); 232. victim = strval(tmp); 233. GetPlayerName(victim, name, 256); 234. format(shotgunstring, 256, "%s's weapons:", name); 235. SendClientMessage(playerid, COLOR_RED, string); 236. switch (pistole[victim]) { 237. case 0: 238. { 239. format(pistolestring, 256, "Pistol: Desert."); 240. SendClientMessage(playerid, COLOR_RED, pistolestring); 241. } 242. case 22: 243. { 244. format(pistolestring, 256, "Pistol: Double Pistols."); 245. SendClientMessage(playerid, COLOR_RED, pistolestring); 246. } 247. } 248. switch (shotgun[victim]) { 249. case 0: 250. { 251. format(shotgunstring, 256, "Shotgun: None."); 252. SendClientMessage(playerid, COLOR_RED, shotgunstring); 253. } 254. case 25: 255. { 256. format(shotgunstring, 256, "Shotgun: Shotgun."); 257. SendClientMessage(playerid, COLOR_RED, shotgunstring); 258. } 259. case 27: 260. { 261. format(shotgunstring, 256, "Shotgun: Spaz 12."); 262. SendClientMessage(playerid, COLOR_RED, shotgunstring); 263. } 264. } 265. switch (mitra[victim]) { 266. case 0: 267. { 268. format(mitrastring, 256, "Rifle: None."); 269. SendClientMessage(playerid, COLOR_RED, mitrastring); 270. } 271. case 30: 272. { 273. format(mitrastring, 256, "Rifle: AK-47."); 274. SendClientMessage(playerid, COLOR_RED, mitrastring); 275. } 276. case 29: 277. { 278. format(mitrastring, 256, "Rifle: Mp5."); 279. SendClientMessage(playerid, COLOR_RED, mitrastring); 280. } 281. } 282. return true; 283. 284. } 285. 286. if(strcmp(cmd, "/help", true) == 0) { 287. SendClientMessage(playerid, #define COLOR_RED 0xAA3333AA, "*** Welcome into RPG mode by TommyLR"); 288. SendClientMessage(playerid, #define COLOR_GREEN 0x33AA33AA, "*** Command list:"); 289. SendClientMessage(playerid, #define COLOR_GREEN 0x33AA33AA, "*** /help /login /register"); 290. SendClientMessage(playerid, #define COLOR_GREEN 0x33AA33AA, "*** /loco"); 291. return 1; 292. } 293. 294. if(strcmp(cmd, "/loco", true) == 0) { 295. SendClientMessage(playerid, COLOR_GREEN, "*** GloboLoco"); 296. checkpoint[playerid] = AUTOLOCO; 297. SetPlayerCheckpoint(playerid,2644.6550,-2003.5380,13.1840,4); 298. return 1; 299. } 300. //car locking code copied from Allan. 301. if (strcmp(cmdtext, "/lock", true)==0) 302. { 303. if(IsPlayerInAnyVehicle(playerid)) 304. { 305. new State=GetPlayerState(playerid); 306. if(State!=PLAYER_STATE_DRIVER) 307. { 308. SendClientMessage(playerid,0xFFFF00AA,"You can only lock the doors as the driver."); 309. return 1; 310. } 311. new i; 312. for(i=0;i= 0){ 395. DisablePlayerCheckpoint(playerid); 396. SendClientMessage(playerid, COLOR_RED, "*** Welcome into AutoLoco Lowrider."); 397. return 1; 398. } 399. 400. public OnPlayerLeaveCheckpoint(playerid) 401. { 402. printf("OnPlayerLeaveCheckpoint(%d)", playerid); 403. return 1; 404. }