Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 3 из 3
  1. #1
    Аватар для Andrik851
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.10.2018
    Сообщений
    199
    Репутация:
    1 ±

    шибки иварнинги компиляции

    Добрый вечер помогите решить ошибки и варнинги компиляции я в этом новичек и только учусь

    вот сам код
    1. //##############################################################################
    2. //### Система гаражей by Storn ###
    3. //##############################################################################
    4. #include <a_samp>
    5. #include <a_mysql>
    6. #include <sscanf2>
    7. #include <zcmd>
    8.  
    9. #define MYSQL_HOST "host.gta24host.ru"//Хост базы данных
    10. #define MYSQL_USER "user28306"//Пользователь MYSQL
    11. #define MYSQL_PASS "Lazarev1985"//Пароль MYSQL
    12. #define MYSQL_DB "user28306"//Название базы данных
    13. #define TABLE_GARAGE "garage"//Название таблицы с гаражами
    14. #define MAX_GARAGE 200//Максимальное количество гаражей на сервере (можно увеличить/уменьшить)
    15. #define D_GAR 2016//ID диалога гаражей
    16. #define COORD1 2346.0945,-234.7822,-32.5000//Координата по умолчанию (место где игрок появится при входе в гараж)
    17.  
    18. new ALLGARAGE = 0;
    19. new Query[2000];
    20. new str[250];
    21.  
    22. enum gInfo
    23. {
    24. gID,
    25. gOwner[24],
    26. gPrice,
    27. gInter,
    28. gVirtual,
    29. Float:gX1,
    30. Float:gY1,
    31. Float:gZ1,
    32. Float:gX2,
    33. Float:gY2,
    34. Float:gZ2,
    35. Float:gR2,
    36. Float:gX3,
    37. Float:gY3,
    38. Float:gZ3,
    39. Float:gR3,
    40. Float:gX4,
    41. Float:gY4,
    42. Float:gZ4,
    43. gLock,
    44. gUL,
    45. Text3D:gText,
    46. gPickup
    47. }
    48. new Garage[MAX_GARAGE][gInfo];
    49.  
    50.  
    51.  
    52. {
    53. ConnectMySQL(), LoadGarage();
    54.  
    55. CreateObject(5248,2346.1000977,-230.0000000,-33.7999992,0.0000000,0.0000000,0.0000000);//Гараж
    56. CreateObject(3508,2347.0000000,-230.5000000,-33.5000000,0.0000000,0.0000000,58.0000000);//Дно гаража
    57. return true;
    58. }
    59.  
    60. {
    61. DisconnectMySQL();
    62. return true;
    63. }
    64.  
    65.  
    66. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    67. {
    68. switch(dialogid)
    69. {
    70. case D_GAR:
    71. {
    72. if(!response) return DeletePVar(playerid, "G_ID");
    73. new id = GetPVarInt(playerid, "G_ID");
    74. if(!strcmp(Garage[id][gOwner], "None", true)) //если продается
    75. {//Купить гараж
    76. new nick[24];
    77. GetPlayerName(playerid, nick, sizeof(nick));
    78. if(GetPlayerGarage(playerid) != 0) return SendClientMessage(playerid, -1, "У Вас уже есть гараж!");
    79. if(GetPlayerMoney(playerid) < Garage[id][gPrice]) return SendClientMessage(playerid, -1, "Вам не хватает денег для покупки гаража!");
    80. strmid(Garage[id][gOwner], nick, 0, strlen(nick), 24);//Записываем ник игрока
    81.  
    82. GivePlayerMoney(playerid, -Garage[id][gPrice]), format(str, 30, "~r~- %d RUB", Garage[id][gPrice]), GameTextForPlayer(playerid, str, 1000, 1);
    83. SetGarageStr(id, "Owner", Garage[id][gOwner]);
    84. format(str, 144, "Вы успешно купили гараж номер %d за %d рублей. Используйте /garagemenu для управления гаражом!После рестарта пикап пропадет:Жмите Alt и продолжайте!", id, Garage[id][gPrice]);
    85. SendClientMessage(playerid, -1, str);
    86. UpdateGarage(id);
    87. }
    88. else//Если куплен
    89. {//Войти в гараж
    90. if(Garage[id][gLock] == 1) return SendClientMessage(playerid, -1, "Гараж закрыт!");
    91. SetPlayerPos(playerid, Garage[id][gX4], Garage[id][gY4], Garage[id][gZ4]), SetPlayerVirtualWorld(playerid, id), SetPlayerInterior(playerid, 1);
    92. if(Garage[id][gUL] > 0) PlayAudioStreamForPlayer(playerid, "http://www.zaycev.fm:9001/rnb/ZaycevFM(128)", 0.0, 0.0, 0.0, 50.0, 0);
    93. }
    94. return true;
    95. }
    96. case D_GAR+1://1. Заехать / Выехать\n2. Просмотр информации о гараже\n3. Закрыть / открыть гараж\n4. Продажа гаража государству\n5. Продажа гаража игроку\n6. Покупка улучшений для гаража
    97. {
    98. if(!response) return false;
    99. if(GetPlayerGarage(playerid) == 0) return SendClientMessage(playerid, -1, "У Вас нет гаража.");
    100. new i = GetPVarInt(playerid, "PlayerGarage");
    101. switch(listitem)
    102. {
    103. case 0:
    104. {
    105. if(IsPlayerInRangeOfPoint(playerid, 10.0, Garage[i][gX1], Garage[i][gY1], Garage[i][gZ1]))//Заезжаем в гараж
    106. {
    107. SetPVarInt(playerid, "G_ID", i);
    108. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, -1, "Вы должны быть за рулем транпорта!");
    109. new carid = GetPlayerVehicleID(playerid);
    110. Garage[i][gX2] = 2346;
    111. Garage[i][gY2] = -230.5;
    112. Garage[i][gZ2] = -32.4;
    113. Garage[i][gR2] = 180;
    114. SetVehiclePos(carid, Garage[i][gX2], Garage[i][gY2], Garage[i][gZ2]), SetVehicleZAngle(carid, Garage[i][gR2]);//Отправляем машину в гараж
    115. SetVehicleVirtualWorld(carid, i), SetPlayerVirtualWorld(playerid, i);//Задаем машине и игроку виртуальный мир
    116. SetPlayerInterior(playerid, 1), LinkVehicleToInterior(carid, 1);//Задаем машине и игроку интерьер
    117. PutPlayerInVehicle(playerid, carid, 0);//Сажаем игрока за руль
    118. SendClientMessage(playerid, -1, "Вы заехали в гараж!");
    119. if(Garage[i][gUL] > 0) PlayAudioStreamForPlayer(playerid, "http://www.zaycev.fm:9001/rnb/ZaycevFM(128)", 0.0, 0.0, 0.0, 50.0, 0);
    120. }
    121. else if(IsPlayerInRangeOfPoint(playerid, 10.0, Garage[i][gX2], Garage[i][gY2], Garage[i][gZ2]))//Выезжаем из гаража
    122. {
    123. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, -1, "Вы должны быть за рулем транпорта!");
    124. new carid = GetPlayerVehicleID(playerid), id = GetPVarInt(playerid, "G_ID");
    125. SetVehiclePos(carid, Garage[id][gX3], Garage[id][gY3], Garage[id][gZ3]), SetVehicleZAngle(carid, Garage[id][gR3]);
    126. SetVehicleVirtualWorld(carid, 0), SetPlayerVirtualWorld(playerid, 0);//Задаем машине и игроку виртуальный мир
    127. SetPlayerInterior(playerid, 0), LinkVehicleToInterior(carid, 0);//Задаем машине и игроку интерьер
    128. PutPlayerInVehicle(playerid, carid, 0);//Сажаем игрока за руль
    129. SendClientMessage(playerid, -1, "Вы выехали из гаража!");
    130. }
    131. else return SendClientMessage(playerid, -1, "Вы должны быть у гаража / в гараже!");
    132. }
    133. case 1:
    134. {
    135. if(!response) return false;
    136. format(str, sizeof(str), "{ffffff}Номер гаража: %d\n{ffffff}Стоимость гаража %d\n{ffffff}Уровень улучшений %d", i, Garage[i][gPrice], Garage[i][gUL]);
    137. ShowPlayerDialog(playerid, D_GAR+2, DIALOG_STYLE_MSGBOX, "Информация о гараже", str, "Назад", "");
    138. return true;
    139. }
    140. case 2:
    141. {
    142. if(!response) return false;
    143. if(IsPlayerInRangeOfPoint(playerid, 3.0, Garage[i][gX1], Garage[i][gY1], Garage[i][gZ1]))
    144. {
    145. if(Garage[i][gLock] == 0) return SendClientMessage(playerid, -1, "Вы закрыли гараж!"), SetGarageInter(i, "Lock", 1), Garage[i][gLock] = 1;
    146. else SendClientMessage(playerid, -1, "Вы открыли гараж!"), SetGarageInter(i, "Lock", 0), Garage[i][gLock] = 0;
    147. }
    148. else SendClientMessage(playerid, -1, "Вы должны быть рядом с гаражом!");
    149. return true;
    150. }
    151. case 3: format(str, sizeof(str), "{FFFFFF}Вы хотите продать гараж государству за %d рублей?", Garage[i][gPrice]/2), ShowPlayerDialog(playerid, D_GAR+3, DIALOG_STYLE_MSGBOX, "Вопрос", str, "Да", "Нет");
    152. case 4: ShowPlayerDialog(playerid, D_GAR+4, DIALOG_STYLE_INPUT, "Внимание", "Введите через запятую ID игрока и цену.\n\nПример: 18, 90000", "Далее", "Отмена");
    153. case 5:
    154. {
    155. if(Garage[i][gUL] == 0) return ShowPlayerDialog(playerid, D_GAR+5, DIALOG_STYLE_LIST, "Улучшения для гаража", "1. Магнитофон [1000 руб.]\n2. Набор инструментов [10000 руб.]\n3. Перекраска [15000 руб.]", "Купить", "Отмена");
    156. else if(Garage[i][gUL] == 1) return ShowPlayerDialog(playerid, D_GAR+5, DIALOG_STYLE_LIST, "Улучшения для гаража", "1. Магнитофон [КУПЛЕНО]\n2. Набор инструментов [10000 руб.]\n3. Перекраска [15000 руб.]", "Купить", "Отмена");
    157. else if(Garage[i][gUL] == 2) return ShowPlayerDialog(playerid, D_GAR+5, DIALOG_STYLE_LIST, "Улучшения для гаража", "1. Магнитофон [КУПЛЕНО]\n2. Набор инструментов [КУПЛЕНО]\n3. Перекраска [15000 руб.]", "Купить", "Отмена");
    158. else if(Garage[i][gUL] == 3) return SendClientMessage(playerid, -1, "Все улучшения приобретены!");
    159. }
    160. }
    161. return true;
    162. }
    163. case D_GAR+2:
    164. {
    165. if(!response) return false;
    166. return ShowPlayerDialog(playerid, D_GAR+1, DIALOG_STYLE_LIST, "Панель управления", "1. Заехать / Выехать\n2. Просмотр информации о гараже\n3. Закрыть / открыть гараж\n4. Продажа гаража государству\n5. Продажа гаража игроку\n6. Покупка улучшений для гаража", "Выбрать", "Отмена");
    167. }
    168. case D_GAR+3:
    169. {
    170. new i = GetPVarInt(playerid, "PlayerGarage");
    171. if(!response) return SendClientMessage(playerid, -1, "Вы отказались продавать гараж!");
    172. if(!IsPlayerInRangeOfPoint(playerid, 10.0, Garage[i][gX1], Garage[i][gY1], Garage[i][gZ1])) return SendClientMessage(playerid, -1, "Вы должны быть рядом с гаражом!");
    173. Garage[i][gUL] = 0, strmid(Garage[i][gOwner], "None", 0, strlen("None"), 24);
    174. SetGarageInter(i, "UL", 0), SetGarageStr(i, "Owner", Garage[i][gOwner]);
    175. GivePlayerMoney(playerid, Garage[i][gPrice]/2);
    176. SendClientMessage(playerid, -1, "Вы продали гараж государству!");
    177. UpdateGarage(i);
    178. DeletePVar(playerid, "PlayerGarage");
    179. return true;
    180. }
    181. case D_GAR+4:
    182. {
    183. if(!response) return false;
    184. new i = GetPVarInt(playerid, "PlayerGarage");
    185. if(!strlen(inputtext)) return ShowPlayerDialog(playerid, D_GAR+4, DIALOG_STYLE_INPUT, "Внимание", "Введите через запятую ID игрока и цену.\n\nПример: 18, 90000", "Далее", "Отмена");
    186. if(!IsPlayerInRangeOfPoint(playerid, 15.0, Garage[i][gX1], Garage[i][gY1], Garage[i][gZ1])) return SendClientMessage(playerid, -1, "Вы должны быть рядом с гаражом!");
    187. new id, price;
    188. if(sscanf(inputtext, "p<,>dd", id, price)) return ShowPlayerDialog(playerid, D_GAR+4, DIALOG_STYLE_INPUT, "Внимание", "Введите через запятую ID игрока и цену.\n\nПример: 18, 90000", "Далее", "Отмена");
    189. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "Игрок не на сервере!");
    190. if(!ProxDetector(15.0, playerid, id)) return SendClientMessage(playerid, -1, "Игрок находится далеко от Вас.");
    191. if(GetPlayerGarage(id) != 0) return SendClientMessage(playerid, -1, "У игрока уже есть гараж!");
    192. if(price < 1 || price > 5000000) return SendClientMessage(playerid, -1, "Укажите цену от 1 до 5000000!");
    193. if(price > GetPlayerMoney(id)) return SendClientMessage(playerid, -1, "У игрока не достаточно денег!");
    194.  
    195. new pname[24], pnames[24];
    196. GetPlayerName(playerid, pname, sizeof(pname)), GetPlayerName(id, pnames, sizeof(pnames));
    197. SetPVarInt(id, "GAR_PRICE", price), SetPVarInt(id, "GAR_PLAYERID", playerid);
    198. format(str, 144, "%s предлагает Вам купить гараж №%d за %d рублей.", i, pname, price);
    199. SendClientMessage(id, -1, str);
    200. SendClientMessage(id, -1, "Нажмите клавишу \"Y\" для согласия и \"N\" для отказа!");
    201.  
    202. format(str, 144, "Вы предложили %s купить Ваш гараж за %d руб.", pnames, price), SendClientMessage(playerid, -1, str);
    203. return true;
    204. }
    205. case D_GAR+5:
    206. {
    207. if(!response) return false;
    208. new i = GetPVarInt(playerid, "PlayerGarage");
    209. switch(listitem)
    210. {
    211. case 0:
    212. {
    213. if(Garage[i][gUL] > 0) return SendClientMessage(playerid, -1, "Это улучшение уже куплено!");
    214. if(GetPlayerMoney(playerid) < 1000) return SendClientMessage(playerid, -1, "Не достаточно средств для покупки улучшения!");
    215. GivePlayerMoney(playerid, -1000), SendClientMessage(playerid, -1, "Вы приобрели данное улучшение!");
    216. Garage[i][gUL]++, SetGarageInter(i, "UL", Garage[i][gUL]);
    217. }
    218. case 1:
    219. {
    220. if(Garage[i][gUL] > 1) return SendClientMessage(playerid, -1, "Это улучшение уже куплено!");
    221. if(GetPlayerMoney(playerid) < 10000) return SendClientMessage(playerid, -1, "Не достаточно средств для покупки улучшения!");
    222. GivePlayerMoney(playerid, -10000), SendClientMessage(playerid, -1, "Вы приобрели данное улучшение! Теперь вы сможете чинить транспорт в гараже (/repaircar)");
    223. Garage[i][gUL]++, SetGarageInter(i, "UL", Garage[i][gUL]);
    224. }
    225. case 2:
    226. {
    227. if(Garage[i][gUL] > 2) return SendClientMessage(playerid, -1, "Это улучшение уже куплено!");
    228. if(GetPlayerMoney(playerid) < 15000) return SendClientMessage(playerid, -1, "Не достаточно средств для покупки улучшения!");
    229. GivePlayerMoney(playerid, -15000), SendClientMessage(playerid, -1, "Вы приобрели данное улучшение! Теперь вы сможете перекрашивать транспорт в гараже (/paintcar)");
    230. Garage[i][gUL]++, SetGarageInter(i, "UL", Garage[i][gUL]);
    231. }
    232. }
    233. return true;
    234. }
    235. case D_GAR+6:
    236. {
    237. if(!response) return false;
    238. new i = GetPVarInt(playerid, "GAR_ID"), Float:POS[4];
    239. switch(listitem)
    240. {
    241. case 0: ShowPlayerDialog(playerid, D_GAR+7, DIALOG_STYLE_INPUT, "Изменение цены", "{ffffff}Введите новую цену для гаража:", "Далее", "Отмена");
    242. case 1: ShowPlayerDialog(playerid, D_GAR+8, DIALOG_STYLE_MSGBOX, "Предупреждение", "{ffffff}Вы уверены, что хотите продать гараж государству?", "Да", "Нет");
    243. case 2: ShowPlayerDialog(playerid, D_GAR+9, DIALOG_STYLE_INPUT, "Изменение владельца", "{ffffff}Введите ник нового владельца:", "Далее", "Отмена");
    244. case 3:
    245. {
    246. GetPlayerPos(playerid, POS[0], POS[1], POS[2]);
    247. Garage[i][gX1] = POS[0], Garage[i][gY1] = POS[1], Garage[i][gZ1] = POS[2];
    248. SetGarageFloat(i, "X1", POS[0]), SetGarageFloat(i, "Y1", POS[1]), SetGarageFloat(i, "Z1", POS[2]);
    249. UpdateGarage(i), SendClientMessage(playerid, -1, "Координаты входа в гараж изменены!");
    250. }
    251. case 4:
    252. {
    253. GetPlayerPos(playerid, POS[0], POS[1], POS[2]);
    254. Garage[i][gX4] = POS[0], Garage[i][gY4] = POS[1], Garage[i][gZ4] = POS[2];
    255. SetGarageFloat(i, "X4", POS[0]), SetGarageFloat(i, "Y4", POS[1]), SetGarageFloat(i, "Z4", POS[2]);
    256. UpdateGarage(i), SendClientMessage(playerid, -1, "Координаты выхода из гаража изменены!");
    257. }
    258. case 5:
    259. {
    260. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, -1, "Вы должны быть за рулем!");
    261. new carid = GetPlayerVehicleID(playerid);
    262. GetVehiclePos(carid, POS[0], POS[1], POS[2]), GetVehicleZAngle(carid, POS[3]);
    263. Garage[i][gX2] = POS[0], Garage[i][gY2] = POS[1], Garage[i][gZ2] = POS[2], Garage[i][gR2] = POS[3];
    264. SetGarageFloat(i, "X2", POS[0]), SetGarageFloat(i, "Y2", POS[1]), SetGarageFloat(i, "Z2", POS[2]), SetGarageFloat(i, "R2", POS[3]);
    265. SendClientMessage(playerid, -1, "Теперь при въезде в гараж транспорт будет появляться на этом месте!");
    266. }
    267. case 6:
    268. {
    269. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, -1, "Вы должны быть за рулем!");
    270. new carid = GetPlayerVehicleID(playerid);
    271. GetVehiclePos(carid, POS[0], POS[1], POS[2]), GetVehicleZAngle(carid, POS[3]);
    272. Garage[i][gX3] = POS[0], Garage[i][gY3] = POS[1], Garage[i][gZ3] = POS[2], Garage[i][gR3] = POS[3];
    273. SetGarageFloat(i, "X3", POS[0]), SetGarageFloat(i, "Y3", POS[1]), SetGarageFloat(i, "Z3", POS[2]), SetGarageFloat(i, "R3", POS[3]);
    274. SendClientMessage(playerid, -1, "Теперь при выезде из гаража транспорт будет появляться на этом месте!");
    275. }
    276. case 7:
    277. {
    278. if(Garage[i][gLock] == 0) return SendClientMessage(playerid, -1, "Вы закрыли гараж!"), SetGarageInter(i, "Lock", 1), Garage[i][gLock] = 1;
    279. else SendClientMessage(playerid, -1, "Вы открыли гараж!"), SetGarageInter(i, "Lock", 0), Garage[i][gLock] = 0;
    280. }
    281. }
    282. return true;
    283. }
    284. case D_GAR+7:
    285. {
    286. if(!response) return false;
    287. if(!strlen(inputtext)) return ShowPlayerDialog(playerid, D_GAR+7, DIALOG_STYLE_INPUT, "Изменение цены", "Введите новую цену для гаража:", "Далее", "Отмена");
    288. new price = strval(inputtext), i = GetPVarInt(playerid, "GAR_ID");
    289. if(price < 1) return ShowPlayerDialog(playerid, D_GAR+7, DIALOG_STYLE_INPUT, "Изменение цены", "Введите новую цену для гаража:", "Далее", "Отмена");
    290. Garage[i][gPrice] = price, SetGarageInter(i, "Price", price), SendClientMessage(playerid, -1, "Стоимость гаража изменена!"), UpdateGarage(i);
    291. return true;
    292. }
    293. case D_GAR+8:
    294. {
    295. if(!response) return false;
    296. new i = GetPVarInt(playerid, "GAR_ID");
    297. if(!strcmp(Garage[i][gOwner],"None",true)) return SendClientMessage(playerid, -1, "Гараж и так продается!");
    298. strmid(Garage[i][gOwner], "None", 0, strlen("None"), 24);
    299. SetGarageStr(i, "Owner", Garage[i][gOwner]);
    300. SendClientMessage(playerid, -1, "Вы успешно продали гараж!");
    301. UpdateGarage(i);
    302. return true;
    303. }
    304. case D_GAR+9:
    305. {
    306. if(!response) return false;
    307. new i = GetPVarInt(playerid, "GAR_ID");
    308. if(!strlen(inputtext)) return ShowPlayerDialog(playerid, D_GAR+9, DIALOG_STYLE_INPUT, "Изменение владельца", "{ffffff}Введите ник нового владельца:", "Далее", "Отмена");
    309. strmid(Garage[i][gOwner], inputtext, 0, strlen(inputtext), 24);
    310. SetGarageStr(i, "Owner", Garage[i][gOwner]);
    311. SendClientMessage(playerid, -1, "Вы успешно изменили владельца!");
    312. UpdateGarage(i);
    313. return true;
    314. }
    315. }
    316. return 1;
    317. }
    318.  
    319. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    320. {
    321. if(newkeys == KEY_WALK)
    322. {
    323. for(new i = 1; i <= ALLGARAGE; i++)
    324. {
    325. if(IsPlayerInRangeOfPoint(playerid, 2.0, Garage[i][gX1], Garage[i][gY1], Garage[i][gZ1]))
    326. {
    327. SetPVarInt(playerid, "G_ID", i);
    328. if(!strcmp(Garage[i][gOwner], "None", true))
    329. {
    330. format(str, sizeof(str), "{ffffff}Гараж номер %d продается!\nГосударственная стоимость гаража состовляет %d рублей.", i, Garage[i][gPrice]);
    331. ShowPlayerDialog(playerid, D_GAR, DIALOG_STYLE_MSGBOX, "Гараж продается!", str, "Купить", "Отмена");
    332. }
    333. else
    334. {
    335. format(str, sizeof(str), "{ffffff}Номер гаража: %d\nВладелец данного гаража %s.\nГосударственная стоимость гаража состовляет %d рублей.",
    336. i, Garage[i][gOwner], Garage[i][gPrice]);
    337. ShowPlayerDialog(playerid, D_GAR, DIALOG_STYLE_MSGBOX, "Гараж куплен!", str, "Войти", "Отмена");
    338. }
    339. }
    340. else if(IsPlayerInRangeOfPoint(playerid, 2.0, Garage[i][gX4], Garage[i][gY4], Garage[i][gZ4]) && GetPlayerVirtualWorld(playerid) == i)//Если игрок в гараже
    341. {
    342. new id = GetPVarInt(playerid, "G_ID");
    343. SetPlayerPos(playerid, Garage[id][gX1], Garage[id][gY1], Garage[id][gZ1]);
    344. SetPlayerVirtualWorld(playerid, 0), SetPlayerInterior(playerid, 0), StopAudioStreamForPlayer(playerid);
    345. }
    346. }
    347. }
    348. else if(newkeys == KEY_YES)
    349. {
    350. if(GetPVarInt(playerid, "GAR_PRICE") != 0)
    351. {
    352. new id = GetPVarInt(playerid, "GAR_PLAYERID"), price = GetPVarInt(playerid, "GAR_PRICE");
    353. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "Продавец не на сервере!"), DeletePVar(playerid, "GAR_PRICE"), DeletePVar(playerid, "GAR_PLAYERID");
    354. if(GetPlayerGarage(id) == 0) return SendClientMessage(playerid, -1, "У продавца уже нет гаража!"), DeletePVar(playerid, "GAR_PRICE"), DeletePVar(playerid, "GAR_PLAYERID");
    355. GivePlayerMoney(playerid, -price), GivePlayerMoney(id, price);
    356. SendClientMessage(playerid, -1, "Вы успешно купили гараж! Используйте: /garagemenu");
    357. SendClientMessage(id, -1, "Игрок согласился купить у Вас гараж!");
    358. new i = GetPVarInt(id, "PlayerGarage");
    359. new names[24];
    360. GetPlayerName(playerid, names, sizeof(names));
    361. strmid(Garage[i][gOwner], names, 0, strlen(names), 24);
    362. SetGarageStr(i, "Owner", Garage[i][gOwner]);
    363. DeletePVar(id, "PlayerGarage");
    364. DeletePVar(playerid, "GAR_PRICE"), DeletePVar(playerid, "GAR_PLAYERID");
    365. }
    366. }
    367. else if(newkeys == KEY_NO)
    368. {
    369. if(GetPVarInt(playerid, "GAR_PRICE") != 0)
    370. {
    371. SendClientMessage(playerid, -1, "Вы отказались от покупки!");
    372. SendClientMessage(GetPVarInt(playerid, "GAR_PLAYERID"), -1, "Игрок отказался от покупки гаража!");
    373. DeletePVar(playerid, "GAR_PRICE"), DeletePVar(playerid, "GAR_PLAYERID");
    374. }
    375. }
    376. return 1;
    377. }
    378.  
    379. stock ProxDetector(Float:radi, playerid, targetid)
    380. {
    381. if(IsPlayerConnected(playerid) && IsPlayerConnected(targetid))
    382. {
    383. new Float:PX, Float:PY, Float:PZ;
    384. new Float:oldposx, Float:oldposy, Float:oldposz;
    385. new Float:tempposx, Float:tempposy, Float:tempposz;
    386. GetPlayerPos(playerid, PX, PY, PZ);
    387. GetPlayerPos(targetid, oldposx, oldposy, oldposz);
    388. tempposx = (oldposx -PX);
    389. tempposy = (oldposy -PY);
    390. tempposz = (oldposz -PZ);
    391. if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
    392. {
    393. return true;
    394. }
    395. }
    396. return false;
    397. }
    398.  
    399. stock ConnectMySQL()
    400. {
    401. mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_DB, MYSQL_PASS);
    402. if(mysql_errno()) print(" Подключение к базе не успешно");
    403. else print(" Подключение к базе успешно");
    404. }
    405.  
    406. stock DisconnectMySQL() return mysql_close(), print("База данных успешно отключена!");//Отключаемся от БД
    407.  
    408. stock GetPlayerGarage(playerid)
    409. {
    410. new names[24];
    411. GetPlayerName(playerid, names, sizeof(names));
    412. new gar = 0;
    413. for(new i = 1; i <= ALLGARAGE; i++)
    414. {
    415. if(!strcmp(Garage[i][gOwner], names, true)) gar++, SetPVarInt(playerid, "PlayerGarage", i);
    416. }
    417. return gar;
    418. }
    419.  
    420. stock SetGarageInter(idx, stolb[], znach)
    421. {
    422. format(Query, 120, "UPDATE "TABLE_GARAGE" SET %s = '%d' WHERE ID = '%d' LIMIT 1", stolb, znach, idx);
    423. return mysql_query(query);
    424. }
    425.  
    426. stock SetGarageFloat(idx, stolb[], Float:znach)
    427. {
    428. format(Query, 120, "UPDATE "TABLE_GARAGE" SET %s = '%f' WHERE ID = '%d' LIMIT 1", stolb, znach, idx);
    429. return mysql_query(query);
    430. }
    431.  
    432. stock SetGarageStr(idx, stolb[], znach[])
    433. {
    434. format(Query, 120, "UPDATE "TABLE_GARAGE" SET %s = '%s' WHERE ID = '%d' LIMIT 1", stolb, znach, idx);
    435. return mysql_query(query);
    436. }
    437.  
    438. stock UpdateGarage(idx)
    439. {
    440. DestroyPickup(Garage[idx][gPickup]);
    441. Garage[idx][gPickup] = CreatePickup(1239, 23, Garage[idx][gX1], Garage[idx][gY1], Garage[idx][gZ1]);
    442. Delete3DTextLabel(Garage[idx][gText]);
    443. if(!strcmp(Garage[idx][gOwner],"None",true))
    444. {
    445. format(str, 100, "{FFFFFF}Гараж №%d продается!\nСтоимость: %d", idx, Garage[idx][gPrice]);
    446. Garage[idx][gText] = Create3DTextLabel(str, -1, Garage[idx][gX1], Garage[idx][gY1], Garage[idx][gZ1], 10.0, 0, 1);
    447. }
    448. else
    449. {
    450. format(str, 100, "{FFFFFF}Гараж №%d куплен!\nВладелец %s\nСтоимость: %d", idx, Garage[idx][gOwner], Garage[idx][gPrice]);
    451. Garage[idx][gText] = Create3DTextLabel(str, -1, Garage[idx][gX1], Garage[idx][gY1], Garage[idx][gZ1], 10.0, 0, 1);
    452. }
    453. return true;
    454. }
    455.  
    456. stock LoadGarage()
    457. {
    458. new query[2000];
    459. mysql_query("SELECT * FROM `"TABLE_GARAGE"` ORDER BY `"TABLE_GARAGE"`.`ID` ASC ");
    460. mysql_store_result();
    461. for(new i = 1; i <= ALLGARAGE; i++)
    462. {
    463. strmid(Garage[i][gOwner], "None", 0, strlen("None"), 24);
    464. }
    465. if(mysql_num_rows() > 0)
    466. {
    467. for(new idx = 1; idx <= mysql_num_rows(); idx++)
    468. {
    469. mysql_fetch_row(query);
    470. sscanf(query, "p<|>is[24]iiiffffffffffffffii",
    471. Garage[idx][gID],
    472. Garage[idx][gOwner],
    473. Garage[idx][gPrice],
    474. Garage[idx][gInter],
    475. Garage[idx][gVirtual],
    476. Garage[idx][gX1],
    477. Garage[idx][gY1],
    478. Garage[idx][gZ1],
    479. Garage[idx][gX2],
    480. Garage[idx][gY2],
    481. Garage[idx][gZ2],
    482. Garage[idx][gR2],
    483. Garage[idx][gX3],
    484. Garage[idx][gY3],
    485. Garage[idx][gZ3],
    486. Garage[idx][gR3],
    487. Garage[idx][gX4],
    488. Garage[idx][gY4],
    489. Garage[idx][gZ4],
    490. Garage[idx][gLock],
    491. Garage[idx][gUL]);
    492. ALLGARAGE++;
    493. if(!strcmp(Garage[idx][gOwner],"None",true))//Если продается
    494. {
    495. format(str, 100, "{FFFFFF}Гараж №%d продается!\nСтоимость: %d", idx, Garage[idx][gPrice]);
    496. Garage[idx][gText] = Create3DTextLabel(str, -1, Garage[idx][gX1], Garage[idx][gY1], Garage[idx][gZ1], 10.0, 0, 1);
    497. Garage[idx][gPickup] = CreatePickup(1239, 23, Garage[idx][gX1], Garage[idx][gY1], Garage[idx][gZ1]);
    498. }
    499. else//Если куплен
    500. {
    501. format(str, 100, "{FFFFFF}Гараж №%d куплен!\nВладелец %s\nСтоимость: %d", idx, Garage[idx][gOwner], Garage[idx][gPrice]);
    502. Garage[idx][gText] = Create3DTextLabel(str, -1, Garage[idx][gX1], Garage[idx][gY1], Garage[idx][gZ1], 10.0, 0, 1);
    503. Garage[idx][gPickup] = CreatePickup(1239, 23, Garage[idx][gX1], Garage[idx][gY1], Garage[idx][gZ1]);
    504. }
    505. }
    506. }
    507. mysql_free_result();
    508. print("\n----------------------------------");
    509. return printf("Было загружено %d гаражей.", ALLGARAGE);
    510. }
    511.  
    512.  
    513. CMD:addgarage(playerid, params[])//Создать гараж
    514. {
    515. if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "Вы не авторизированы!");
    516. if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Отказано в доступе!");
    517. if(sscanf(params, "d", params[0])) return SendClientMessage(playerid, -1, "Используйте: /addgarage [стоимость]");
    518. ALLGARAGE++;
    519. new i = ALLGARAGE;
    520. new Float:POS[3];
    521. GetPlayerPos(playerid, POS[0], POS[1], POS[2]);
    522. strmid(Garage[i][gOwner], "None", 0, strlen("None"), MAX_PLAYER_NAME);
    523. Garage[i][gPrice] = params[0], Garage[i][gInter] = i, Garage[i][gVirtual] = i;
    524. Garage[i][gX1] = POS[0], Garage[i][gY1] = POS[1], Garage[i][gZ1] = POS[2];
    525. Garage[i][gX4] = 2346.09, Garage[i][gY4] = -234.782, Garage[i][gZ4] = -32.5;
    526. format(str, 100, "{FFFFFF}Гараж №%d продается!\nСтоимость: %d", i, Garage[i][gPrice]);
    527. Garage[i][gText] = Create3DTextLabel(str, -1, Garage[i][gX1], Garage[i][gY1], Garage[i][gZ1], 10.0, 0, 1);
    528. Garage[i][gPickup] = CreatePickup(1239, 23, Garage[i][gX1], Garage[i][gY1], Garage[i][gZ1]);
    529. format(Query, 1000, "INSERT INTO "TABLE_GARAGE" (ID, Owner, Price) VALUES ('%i', '%s', '%i')", i, Garage[i][gOwner], Garage[i][gPrice]);
    530. mysql_query(query);
    531. SetGarageFloat(i, "X1", POS[0]), SetGarageFloat(i, "Y1", POS[1]), SetGarageFloat(i, "Z1", POS[2]);
    532. SetGarageInter(i, "Inter", i), SetGarageInter(i, "Virtual", i);
    533. format(str, sizeof(str), "Гараж #%d успешно добавлен. Стоимость: %d", i, Garage[i][gPrice]);
    534. SendClientMessage(playerid, -1, str);
    535. SendClientMessage(playerid, -1, "Теперь измените координаты появления транспорта при выезде из гаража (/edgarage).");
    536. return true;
    537. }
    538.  
    539. COMMAND:garagemenu(playerid, params[])
    540. {
    541. if(GetPlayerGarage(playerid) == 0) return SendClientMessage(playerid, -1, "У Вас нет гаража!");
    542. ShowPlayerDialog(playerid, D_GAR+1, DIALOG_STYLE_LIST, "Панель управления", "1. Заехать / Выехать\n2. Просмотр информации о гараже\n3. Закрыть / открыть гараж\n4. Продажа гаража государству\n5. Продажа гаража игроку\n6. Покупка улучшений для гаража", "Выбрать", "Отмена");
    543. return true;
    544. }
    545.  
    546. COMMAND:edgarage(playerid, params[])//ПУ администратора
    547. {
    548. if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "Вы не авторизированы!");
    549. if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Отказано в доступе!");
    550. if(sscanf(params, "d", params[0])) return SendClientMessage(playerid, -1, "Используйте: /edgarage [id гаража]");
    551. if(params[0] > ALLGARAGE) return format(str, 144, "Максимальный ID гаража: %d.", ALLGARAGE), SendClientMessage(playerid, -1, str);
    552. SetPVarInt(playerid, "GAR_ID", params[0]);
    553. ShowPlayerDialog(playerid, D_GAR+6, DIALOG_STYLE_LIST, "Панель управления администратора", "1. Изменить цену\n2. Продать гараж\n3. Изменить владельца\n4. Изменить координаты входа\n5. Изменить координаты выхода\n6. Изменить место появления транспорта при въезде в гараж\n7. Изменить место появления транспорта при выезде из гаража\n8. Открыть / закрыть гараж", "Далее", "Отмена");
    554. return true;
    555. }
    556.  
    557. COMMAND:repaircar(playerid)//Ремонт авто в гараже
    558. {
    559. if(GetPVarInt(playerid, "PlayerGarage") == 0) return SendClientMessage(playerid, -1, "У Вас нет гаража!");
    560. new carid = GetPlayerVehicleID(playerid), id = GetPVarInt(playerid, "PlayerGarage");
    561. if(Garage[id][gUL] < 2) return SendClientMessage(playerid, -1, "Необходимо приобрести улучшение второго уровня!");
    562. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, -1, "Вы должны быть в транспорте!");
    563. if(!IsPlayerInRangeOfPoint(playerid, 10.0, Garage[id][gX2], Garage[id][gY2], Garage[id][gZ2]) && GetPlayerVirtualWorld(playerid) != id) return SendClientMessage(playerid, -1, "Вы должны быть в своём гараже!");
    564. RepairVehicle(carid), SendClientMessage(playerid, -1, "Транспорт отремонтирован!");
    565. return true;
    566. }
    567.  
    568. COMMAND:paintcar(playerid, params[])//Перекраска авто в гараже
    569. {
    570. if(GetPVarInt(playerid, "PlayerGarage") == 0) return SendClientMessage(playerid, -1, "У Вас нет гаража!");
    571. new carid = GetPlayerVehicleID(playerid), id = GetPVarInt(playerid, "PlayerGarage");
    572. if(Garage[id][gUL] < 3) return SendClientMessage(playerid, -1, "Необходимо приобрести улучшение третьего уровня!");
    573. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, -1, "Вы должны быть в транспорте!");
    574. if(!IsPlayerInRangeOfPoint(playerid, 10.0, Garage[id][gX2], Garage[id][gY2], Garage[id][gZ2]) && GetPlayerVirtualWorld(playerid) != id) return SendClientMessage(playerid, -1, "Вы должны быть в своём гараже!");
    575. if(sscanf(params, "dd", params[0], params[1])) return SendClientMessage(playerid, -1, "Используйте: /paintcar [цвет 1][цвет 2]");
    576. if(params[0] > 256 || params[1] > 256) return SendClientMessage(playerid, -1, "ID цвета 1 или цвета 2 должен быть не более 256!");
    577. ChangeVehicleColor(carid, params[0], params[1]), SendClientMessage(playerid, -1, "Транспорт перекрашен!");
    578. return true;
    579. }


    здесь скрин ошибок

  2. #2
    Аватар для Andrik851
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.10.2018
    Сообщений
    199
    Репутация:
    1 ±
    вот сами ошибки
    Код:
    C:\Users\ndrik\Desktop\Old_Roly_Play\gamemodes\garage.pwn(426) : error 035: argument type mismatch (argument 1)
    C:\Users\ndrik\Desktop\Old_Roly_Play\gamemodes\garage.pwn(426) : warning 213: tag mismatch
    C:\Users\ndrik\Desktop\Old_Roly_Play\gamemodes\garage.pwn(432) : error 035: argument type mismatch (argument 1)
    C:\Users\ndrik\Desktop\Old_Roly_Play\gamemodes\garage.pwn(432) : warning 213: tag mismatch
    C:\Users\ndrik\Desktop\Old_Roly_Play\gamemodes\garage.pwn(438) : error 017: undefined symbol "query"
    C:\Users\ndrik\Desktop\Old_Roly_Play\gamemodes\garage.pwn(438) : warning 213: tag mismatch
    C:\Users\ndrik\Desktop\Old_Roly_Play\gamemodes\garage.pwn(462) : error 035: argument type mismatch (argument 1)
    C:\Users\ndrik\Desktop\Old_Roly_Play\gamemodes\garage.pwn(463) : error 017: undefined symbol "mysql_store_result"
    C:\Users\ndrik\Desktop\Old_Roly_Play\gamemodes\garage.pwn(468) : error 017: undefined symbol "mysql_num_rows"
    C:\Users\ndrik\Desktop\Old_Roly_Play\gamemodes\garage.pwn(470) : error 017: undefined symbol "mysql_num_rows"
    C:\Users\ndrik\Desktop\Old_Roly_Play\gamemodes\garage.pwn(472) : error 017: undefined symbol "mysql_fetch_row"
    C:\Users\ndrik\Desktop\Old_Roly_Play\gamemodes\garage.pwn(510) : error 017: undefined symbol "mysql_free_result"
    C:\Users\ndrik\Desktop\Old_Roly_Play\gamemodes\garage.pwn(533) : error 017: undefined symbol "query"
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    10 Errors.

  3. #3
    Аватар для Josan_Solomon
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.08.2018
    Сообщений
    59
    Репутация:
    2 ±
    Этот скрипт написан на старой MySQL, а у тебя стоит новая и не распознает старые функции. Или откати версию плагина, или замени проблемные функции на актуальные аналоги.

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •