MrFoxy3010 1 Опубликовано 29 июня, 2019 Здравствуйте,форумчане!Начал добавлять авто на свой сервер!Все ограничения в моде снял(где макс. id 611,а мин.400).По инструкции добавил в криминалку авто (id:612).Захожу на сервер,через FixCar загружаю авто,но оно не спавнится и в консоле появляются ошибки [17:06:52] [debug] Run time error 4: "Array index out of bounds" [17:06:52] [debug] Accessing element at index 65535 past array upper bound 999 [17:06:52] [debug] AMX backtrace: [17:06:52] [debug] #0 006aa294 in public LoadPlayerCar (0) from Quantum.amx Сам паблик LoadPlayerCar forward LoadPlayerCar(playerid); public LoadPlayerCar(playerid) { new string[150], r, f; cache_get_data(r, f); if(r) { C_DATA[playerid][c_model] = cache_get_field_content_int(0, "c_model"); C_DATA[playerid][c_class] = cache_get_field_content_int(0, "c_class"); C_DATA[playerid][c_fuel] = cache_get_field_content_int(0, "c_fuel"); C_DATA[playerid][c_x] = cache_get_field_content_float(0, "c_x"); C_DATA[playerid][c_y] = cache_get_field_content_float(0, "c_y"); C_DATA[playerid][c_z] = cache_get_field_content_float(0, "c_z"); C_DATA[playerid][c_a] = cache_get_field_content_float(0, "c_a"); C_DATA[playerid][c_color][0] = cache_get_field_content_int(0, "c_color1"); C_DATA[playerid][c_color][1] = cache_get_field_content_int(0, "c_color2"); C_DATA[playerid][c_lock] = cache_get_field_content_int(0, "c_lock"); C_DATA[playerid][c_price] = cache_get_field_content_int(0, "c_price"); cache_get_field_content(0, "c_vehcom", C_DATA[playerid][c_vehcom], dbHandle, 64); cache_get_field_content(0, "c_number", C_DATA[playerid][c_number], dbHandle, 64); cache_get_field_content(0, "c_trunk", C_DATA[playerid][c_trunks], dbHandle, 64); C_DATA[playerid][c_paintjob] = cache_get_field_content_int(0, "c_paintjob"); C_DATA[playerid][c_world] = cache_get_field_content_int(0, "c_world"); C_DATA[playerid][c_update] = cache_get_field_content_int(0, "c_update"); C_DATA[playerid][c_mileage] = cache_get_field_content_float(0, "c_mileage"); C_DATA[playerid][c_health] = cache_get_field_content_float(0, "c_health"); sscanf(C_DATA[playerid][c_vehcom], "p<,>a<i>[14]", C_DATA[playerid][c_vehcoms]); sscanf(C_DATA[playerid][c_trunks], "p<,>iiiiiii", C_DATA[playerid][c_trunk][0], C_DATA[playerid][c_trunk][1], C_DATA[playerid][c_trunk][2], C_DATA[playerid][c_trunk][3], C_DATA[playerid][c_trunk_gun][0], C_DATA[playerid][c_trunk_gun][1], C_DATA[playerid][c_trunk_gun][2]); if(GetPlayerGarage(playerid) == -1 && C_DATA[playerid][c_world] != 0) ClearPlayerCar(playerid); if(C_DATA[playerid][c_x] == 0 && C_DATA[playerid][c_y] == 0 && C_DATA[playerid][c_z] == 0) { new rand = random(44); PI[playerid][PlayerCarID] = CreateVehicle(C_DATA[playerid][c_model], SalonRandSpawn[rand][0], SalonRandSpawn[rand][1], SalonRandSpawn[rand][2], SalonRandSpawn[rand][3], C_DATA[playerid][c_color][0], C_DATA[playerid][c_color][1], 90000); SendClientMessage(playerid, COLOR_GREEN,"Âàø àâòîìîáèëü íå áûë ïðèïàðêîâàí ïîñëå ïîêóïêè è áûë îòáóêñèðîâàí íà ñòîÿíêó îêîëî Àíàøàíà. Íàéòè àâòîìîáèëü -> /findcar"); } else PI[playerid][PlayerCarID] = CreateVehicle(C_DATA[playerid][c_model], C_DATA[playerid][c_x], C_DATA[playerid][c_y], C_DATA[playerid][c_z], C_DATA[playerid][c_a], C_DATA[playerid][c_color][0], C_DATA[playerid][c_color][1], 90000); //if(VehicleLabel[PI[playerid][PlayerCarID]] != Text3D:INVALID_3DTEXT_ID) DestroyVehicleLabel(PI[playerid][PlayerCarID]); //VehicleLabel[PI[playerid][PlayerCarID]] = Text3D:INVALID_3DTEXT_ID; if(VehicleLabel[PI[playerid][PlayerCarID]] == Text3D:INVALID_3DTEXT_ID) { if(strcmp(C_DATA[playerid][c_number], "None", true, 64) != 0) { format(string, sizeof string, "{78A94D}%s", C_DATA[playerid][c_number]); CreateVehicleLabel(PI[playerid][PlayerCarID], string, 0xFFFFFFFF, 0.0, 0.0, 0.0, 20.0); } else CreateVehicleLabel(PI[playerid][PlayerCarID], "{78A94D}ÁÅÇ ÍÎÌÅÐÀ", 0xFFFFFFFF, 0.0, 0.0, 0.0, 20.0); } if(C_DATA[playerid][c_health] < 500) SetVehicleHealth(PI[playerid][PlayerCarID], 500); else SetVehicleHealth(PI[playerid][PlayerCarID], C_DATA[playerid][c_health]); CarDoorsEx(PI[playerid][PlayerCarID], C_DATA[playerid][c_lock]); Fuel[PI[playerid][PlayerCarID]] = C_DATA[playerid][c_fuel]; SetVehicleVirtualWorld(PI[playerid][PlayerCarID], C_DATA[playerid][c_world]); if(C_DATA[playerid][c_world] != 0) SetPVarInt(playerid, "in_garage", 1); Engine[PI[playerid][PlayerCarID]] = Lights[PI[playerid][PlayerCarID]] = false; vehicle_mileage[PI[playerid][PlayerCarID]] = C_DATA[playerid][c_mileage]; if (C_DATA[playerid][c_mileage] >= 500000) { SendClientMessage(playerid,COLOR_RED,"Äâèãàòåëü èçíîñèëñÿ îò áîëüøîãî ïðîáåãà ñîâåòóåì ïðîäàòü àâòî"); } for(new i; i < 14; i++) { if(C_DATA[playerid][c_vehcoms][i]) AddVehicleComponent(PI[playerid][PlayerCarID], C_DATA[playerid][c_vehcoms][i]); } if(C_DATA[playerid][c_paintjob] != 3) ChangeVehiclePaintjob(PI[playerid][PlayerCarID], C_DATA[playerid][c_paintjob]); SendMes(playerid, COLOR_GREEN, "Àâòîìîáèëü (ID: %d) óñïåøíî çàãðóæåí â èãðó. Íàéòè àâòîìîáèëü: /findcar", PI[playerid][PlayerCarID]); new car_id = GetPVarInt(playerid, "car_id"); global_string = ""; mysql_format(dbHandle, global_string, 128, "UPDATE `ownable_cars` SET c_status = '1' WHERE c_owner = '%s' AND id = '%d'", GetName(playerid), car_id); mysql_tquery(dbHandle, global_string, "", ""); new fmt_str[10]; if(C_DATA[playerid][c_x] == 0 && C_DATA[playerid][c_y] == 0 && C_DATA[playerid][c_z] == 0) { new rand = random(44); format(fmt_str, 7, "%s", C_DATA[playerid][c_number]); SetVehicleNumberPlate(PI[playerid][PlayerCarID], fmt_str); SetVehiclePos(PI[playerid][PlayerCarID], SalonRandSpawn[rand][0], SalonRandSpawn[rand][1], SalonRandSpawn[rand][2]); SetVehicleZAngle(PI[playerid][PlayerCarID], SalonRandSpawn[rand][3]); } else { format(fmt_str, 7, "%s", C_DATA[playerid][c_number]); SetVehicleNumberPlate(PI[playerid][PlayerCarID], fmt_str); SetVehiclePos(PI[playerid][PlayerCarID], C_DATA[playerid][c_x], C_DATA[playerid][c_y], C_DATA[playerid][c_z]); SetVehicleZAngle(PI[playerid][PlayerCarID], C_DATA[playerid][c_a]); } } else SendClientMessage(playerid, COLOR_RED, "Ñèñòåìíàÿ îøèáêà #1: îáðàòèòåñü ê àäìèíèñòðàòîðó"); return true; } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Reyn 85 Опубликовано 29 июня, 2019 Здравствуйте, у вас не получиться заспавнить автомобиль с новым id. Значение 65535 а оно же 0XFFFFF указывает на максимальное количество автомобилей в массиве samp-server.exe. Вам придётся писать плагин для серверной части, как и делали на радмире. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MrFoxy3010 1 Опубликовано 29 июня, 2019 4 часа назад, MrFoxy3010 сказал: Ca Вы не знаете как это сделать? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MrFoxy3010 1 Опубликовано 29 июня, 2019 Нельзя ли поменять значение массива? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Reyn 85 Опубликовано 29 июня, 2019 32 минуты назад, MrFoxy3010 сказал: Нельзя ли поменять значение массива? Если только просить исходники у калькора. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Shao 116 Опубликовано 29 июня, 2019 Ломни лимит да и всё, в сети давно есть этот плагос. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MrFoxy3010 1 Опубликовано 29 июня, 2019 Я не нахожу( Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MrFoxy3010 1 Опубликовано 29 июня, 2019 Помогите найти пожалуйста Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Reyn 85 Опубликовано 29 июня, 2019 15 минут назад, Shao сказал: Ломни лимит да и всё, в сети давно есть этот плагос. Что-то я его не вижу в сети, если бы он был, тогда бы гта рп сделали бы себе давно новые id`ы автомобилей. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MrFoxy3010 1 Опубликовано 29 июня, 2019 То есть я не смогу пофиксить INVALIDE_VEHICLES_ID? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MrFoxy3010 1 Опубликовано 29 июня, 2019 Никто не знает, как это сделать? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Reyn 85 Опубликовано 29 июня, 2019 1 час назад, MrFoxy3010 сказал: Никто не знает, как это сделать? Писать плагин для сервера. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Web 414 Опубликовано 30 июня, 2019 (изменено) 17 часов назад, Reyn сказал: Писать плагин для сервера. Зачем говорить о том в чем не разбираешься и тем самым дезинформировать? Радмир реверсили и клиент и сервер. Если сервер реверсится буквально на ура то на клиентской стороне все гораздо сложней. Что такое реверс: https://ru.wikipedia.org/wiki/Обратная_разработка#Программное_обеспечение Изменено 30 июня, 2019 пользователем Web Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Reyn 85 Опубликовано 30 июня, 2019 (изменено) 1 час назад, Web сказал: Зачем говорить о том в чем не разбираешься и тем самым дезинформировать? Радмир реверсили и клиент и сервер. Если сервер реверсится буквально на ура то на клиентской стороне все гораздо сложней. Что такое реверс: https://ru.wikipedia.org/wiki/Обратная_разработка#Программное_обеспечение Я в этом хорошо разбираюсь, и сам сталкивался с данной проблемой. Узнавал у других людей хорошо знающие C# C++ И PAWN СКРИПТИНГ. И их ответ был такой-же , как и у меня. Даже если и идет реверсия, то как ты этим постом помог человеку, если он допустим в этом не разбирается. Изменено 30 июня, 2019 пользователем Reyn 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Web 414 Опубликовано 30 июня, 2019 (изменено) 22 часа назад, Reyn сказал: Здравствуйте, у вас не получиться заспавнить автомобиль с новым id. Значение 65535 а оно же 0XFFFFF указывает на максимальное количество автомобилей в массиве samp-server.exe. Вам придётся писать плагин для серверной части, как и делали на радмире. вообще то в инклуде a_samp константой 21 час назад, Reyn сказал: Если только просить исходники у калькора. Ответ ясно дает понять, что про реверс мы даже не слышали. Ответы из серии слышу звон, но не знаю где он. Реверсить надо в любом случаи, что бы достать необходимые адресса для подмены или замены. Это раздели помощи, а не "сделай за меня" я не обязан тут все разжевывать и делать все за топик-стартера. Раздел вопросов и создан, что бы направить и может быть даже сделать за топик-стартера. Но это не такой вопрос. Изменено 30 июня, 2019 пользователем Web 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MrFoxy3010 1 Опубликовано 30 июня, 2019 В a_samp я нашел константу INVALID_VEHICLE_ID (0xFFFF).Не подскажите,что нужно добавить,чтобы появился ещё 1 слот авто? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MrFoxy3010 1 Опубликовано 30 июня, 2019 Как я понимаю достаточно просто поменять константу!Не? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
16Shadows 101 Опубликовано 1 июля, 2019 Нет. Функция CreateVehicle(...) возвращает INVALID_VEHICLE_ID, если: 1) Достигнут лимит созданных машин 2) Указана неверная модель Если не ошибаюсь, 612 ID - присутствующая модель, поезд. Поезда нельзя создать функцией CreateVehicle. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Web 414 Опубликовано 1 июля, 2019 (изменено) Нет, придется еще реверсить samp-server. Да и зачем спрашивать если можно проверить? Изменено 1 июля, 2019 пользователем Web Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MrFoxy3010 1 Опубликовано 3 июля, 2019 Я не понимаю,что делать,кто сможет помочь? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Web 414 Опубликовано 4 июля, 2019 (изменено) 20 часов назад, MrFoxy3010 сказал: Я не понимаю,что делать,кто сможет помочь? Учись реверсить или иди в стол заказов. Бесплатно, никто не поможет. Платно тоже единицы Изменено 4 июля, 2019 пользователем Web Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Shao 116 Опубликовано 4 июля, 2019 Если у тя модифицированный клиент, то ты бы давно сообразил как это сделать. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MrFoxy3010 1 Опубликовано 6 июля, 2019 В 7/4/2019 в 7:32 PM, Shao сказал: Если у тя модифицированный клиент, то ты бы давно сообразил как это сделать. Да у меня модифицированный,добавляю авто по инструкции но ошибка на самом сервере( Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты