Gaiduk Свой человек 3 Свой человек Posted July 7, 2018 · Report post Спойлер CMD:lock(playerid, params[]) { if(GetPVarInt(playerid, "logged") == 0) return 1; extract params -> new type; else return Send(playerid, 0xFFCC00AA, "•[Подсказка] {ffffff}Введите: /lock [тип]"), Send(playerid, 0xFFCC00AA, "•[Подсказка] {ffffff}1 - личный транспорт | 2 - арендованнный транспорт"); new vehicleid = -1; if(type == 1) { return LockOwnableCar(playerid); } else if(type == 2) { if(player_job_vehicle_created[playerid] == -1) return Send(playerid, 0x999999FF, "У Вас нет арендованной машины"); vehicleid = player_job_vehicle_created[playerid]; PlayerPlaySound(playerid, 24600, 0.0, 0.0, 0.0); } else return Send(playerid, 0xFFCC00AA, "•[Подсказка] {ffffff}Введите: /lock [номер транспорта]"), Send(playerid, 0xFFCC00AA, "•[Подсказка] {ffffff}1 - личный транспорт | 2 - рабочий транспорт"); if(vehicleid == -1) return 1; new Float:x, Float:y, Float:z; GetVehiclePos(vehicleid, x, y, z); if(!IsPlayerInRangeOfPoint(playerid, 20.0, x, y, z)) return Send(playerid, 0x999999FF, "Вы должны стоять рядом с транспортом"); new engine, lights, alarm, doors, bonnet, boot, objective, set_doors; GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective); SetVehicleParamsEx(vehicleid, engine, lights, alarm, set_doors, bonnet, boot, objective); if(IsPlayerInAnyVehicle(playerid)) UpdatePlayerSpeedTD(playerid); return 1; } 0 Share this post Link to post
0 Gaiduk Свой человек 3 Свой человек Posted July 9, 2018 · Report post Помогите, пожалуйста. 0 Share this post Link to post
0 DEST Maintainer 1,034 Maintainer Posted July 9, 2018 · Report post @Gaiduk В следующий раз такая тема будет закрыта. Описывайте вопрос подробней, что именно не получается? Что, при вводе команды, отправляется в чат? 0 Share this post Link to post
0 Gaiduk Свой человек 3 Свой человек Posted July 9, 2018 · Report post @DEST Когда вводишь команду ничего не происходит. 0 Share this post Link to post
0 DEST Maintainer 1,034 Maintainer Posted July 9, 2018 · Report post После В 07.07.2018 в 14:32, Gaiduk сказал: CMD:lock(playerid, params[]) { добавьте printf("[#DEBUG] %d - logged", GetPVarInt(playerid, "logged")); после введите команду на сервере и скиньте логи. 0 Share this post Link to post
0 Gaiduk Свой человек 3 Свой человек Posted July 9, 2018 · Report post @DEST Спойлер [21:20:06] [debug] Run time error 4: "Array index out of bounds" [21:20:06] [debug] Attempted to read/write array element at index 87 in array of size 50 [21:20:06] [debug] AMX backtrace: [21:20:06] [debug] #0 0029c3c4 in public CreateOwnableCar (playerid=0, ownerid=1, number[]=@0043d858 "-1", modelid=401, color_1=1, color_2=0, Float:pos_x=1894.87964, Float:pos_y=2269.41895, Float:pos_z=15.53300, Float:angle=179.13541, lock=0, Float:mileage=0.00000, Float:fuel=100.00000, Float:health=1000.00000, weels=0, nitro=0, cost_car_=150000) at C:\Users\Windows\Desktop\ATTRACT RP v1\gamemodes\a_rp.pwn:25256 [21:20:06] [debug] #1 0029bbac in public LoadMyCar (playerid=0) at C:\Users\Windows\Desktop\ATTRACT RP v1\gamemodes\a_rp.pwn:25167 [21:20:19] [#DEBUG] 1 - logged [21:20:19] [debug] Run time error 4: "Array index out of bounds" [21:20:19] [debug] Attempted to read/write array element at index 87 in array of size 50 [21:20:19] [debug] AMX backtrace: [21:20:19] [debug] #0 0029663c in IsAOwnableCar (vehicleid=86) at C:\Users\Windows\Desktop\ATTRACT RP v1\gamemodes\a_rp.pwn:24542 [21:20:19] [debug] #1 00296844 in LockOwnableCar (playerid=0) at C:\Users\Windows\Desktop\ATTRACT RP v1\gamemodes\a_rp.pwn:24554 [21:20:19] [debug] #2 00214f0c in public pc_cmd_lock (playerid=0, params[]=@00439920 "1") at C:\Users\Windows\Desktop\ATTRACT RP v1 RP\gamemodes\a_rp.pwn:14581 0 Share this post Link to post
0 DEST Maintainer 1,034 Maintainer Posted July 9, 2018 · Report post @Gaiduk скидывайте функции 3 часа назад, Gaiduk сказал: IsAOwnableCar / 24542 3 часа назад, Gaiduk сказал: LockOwnableCar / 24554 и пометьте в них строки, которые указал выше. 0 Share this post Link to post
0 Gaiduk Свой человек 3 Свой человек Posted July 9, 2018 · Report post @DEST Спойлер stock IsAOwnableCar(vehicleid) { new index = vehicleid - ownable_car_id[0]; printf("[#DEBUG] %d - logged", GetPVarInt(playerid, "logged")); return (ownable_car[index][oc_owner_id] != 1) ? (true) : (false); } stock LockOwnableCar(playerid) { new vehicleid = player_ownable_car[playerid]; new Float:x, Float:y, Float:z; GetVehiclePos(vehicleid, x, y, z); if(!IsPlayerInRangeOfPoint(playerid, 10.0, x, y, z)) return Send(playerid, 0x999999FF, "Âû äîëæíû ñòîÿòü ðÿäîì ñ òðàíñïîðòîì"); printf("[#DEBUG] %d - logged", GetPVarInt(playerid, "logged")); if(!IsAOwnableCar(vehicleid)) return 1; new index = vehicleid - ownable_car_id[0]; new set_doors; if(ownable_car[index][oc_lock_status]) { set_doors = 0; ownable_car[index][oc_lock_status] = false; GameTextForPlayer(playerid, "~g~UNLOCK", 3, 3000); Send(playerid, -1, "unlock"); PlayerPlaySound(playerid, 24600, 0.0, 0.0, 0.0); } else { set_doors = 1; ownable_car[index][oc_lock_status] = true; GameTextForPlayer(playerid, "~r~LOCK", 3, 3000); Send(playerid, -1, "lock"); PlayerPlaySound(playerid, 24600, 0.0, 0.0, 0.0); } new engine, lights, alarm, doors, bonnet, boot, objective; GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective); SetVehicleParamsEx(vehicleid, engine, lights, alarm, set_doors, bonnet, boot, objective); return 1; } Спойлер [01:05:22] [debug] Run time error 4: "Array index out of bounds" [01:05:22] [debug] Attempted to read/write array element at index 87 in array of size 50 [01:05:22] [debug] AMX backtrace: [01:05:22] [debug] #0 0029c72c in public CreateOwnableCar (playerid=0, ownerid=1, number[]=@0043d868 "-1", modelid=401, color_1=1, color_2=0, Float:pos_x=1894.87964, Float:pos_y=2269.41895, Float:pos_z=15.53300, Float:angle=179.13541, lock=0, Float:mileage=0.00000, Float:fuel=100.00000, Float:health=1000.00000, weels=0, nitro=0, cost_car_=150000) at C:\Users\Windows\Desktop\ATTRACT RP v1\gamemodes\a_rp.pwn:25242 [01:05:22] [debug] #1 0029bf14 in public LoadMyCar (playerid=0) at C:\Users\Windows\Desktop\ATTRACT RP v1\gamemodes\a_rp.pwn:25153 [01:05:49] [#DEBUG] 1 - logged [01:05:49] [#DEBUG] 1 - logged [01:05:49] [debug] Run time error 4: "Array index out of bounds" [01:05:49] [debug] Attempted to read/write array element at index 87 in array of size 50 [01:05:49] [debug] AMX backtrace: [01:05:49] [debug] #0 00296930 in IsAOwnableCar (vehicleid=86) at C:\Users\Windows\Desktop\ATTRACT RP v1\gamemodes\a_rp.pwn:24528 [01:05:49] [debug] #1 00296bac in LockOwnableCar (playerid=0) at C:\Users\Windows\Desktop\ATTRACT RP v1\gamemodes\a_rp.pwn:24540 [01:05:49] [debug] #2 002151e4 in public pc_cmd_lock (playerid=0, params[]=@00439930 "1") at C:\Users\Windows\Desktop\ATTRACT RP v1\gamemodes\a_rp.pwn:14577 [01:05:52] [debug] Run time error 4: "Array index out of bounds" [01:05:52] [debug] Attempted to read/write array element at index 87 in array of size 50 [01:05:52] [debug] AMX backtrace: [01:05:52] [debug] #0 00194d88 in public SSCANF_OnPlayerDisconnect (playerid=0, reason=1) at C:\Users\Windows\Desktop\ATTRACT RP v1\gamemodes\a_rp.pwn:2044 [01:05:52] [debug] #1 native CallLocalFunction () from samp-server-cr.exe [01:05:52] [debug] #2 000021b0 in public Iter_OnPlayerDisconnect (playerid=0, reason=1) at C:\Users\Windows\Desktop\ATTRACT RP v1\pawno\include\../include/sscanf2.inc:143 [01:05:52] [debug] #3 native CallLocalFunction () from samp-server-cr.exe [01:05:52] [debug] #4 00001114 in public OnPlayerDisconnect (playerid=0, reason=1) at C:\Users\Windows\Desktop\ATTRACT RP v1\pawno\include\../include/foreach.inc:641 0 Share this post Link to post
0 Gaiduk Свой человек 3 Свой человек Posted July 10, 2018 · Report post @DEST , скинул Вам, что Вы просили какие дальше указание ? 0 Share this post Link to post
0 DEST Maintainer 1,034 Maintainer Posted July 11, 2018 · Report post @Gaiduk зачем вы везде эту строку добавляли В 10.07.2018 в 01:08, Gaiduk сказал: printf("[#DEBUG] %d - logged", GetPVarInt(playerid, "logged")); если было указано, что ее нужно только в начало команды. Эту строку можно удалить. По поводу проблемы: команда не работает, так как в скинутых вами функциях выход за пределы массива. Скорее всего в строчках В 10.07.2018 в 01:08, Gaiduk сказал: (ownable_car[index][oc_owner_id] != 1) В 10.07.2018 в 01:08, Gaiduk сказал: if(ownable_car[index][oc_lock_status]) В 10.07.2018 в 01:08, Gaiduk сказал: ownable_car[index][oc_lock_status] = false; В 10.07.2018 в 01:08, Gaiduk сказал: ownable_car[index][oc_lock_status] = true; Скиньте еще этот массив ownable_car 0 Share this post Link to post
0 Gaiduk Свой человек 3 Свой человек Posted September 19, 2018 · Report post @DEST Спойлер stock GetVehicleID(vehicleid) { if(vehicleid < ownable_car_id[0]) return 0; return (vehicleid - ownable_car_id[0]); } 0 Share this post Link to post
0 Gaiduk Свой человек 3 Свой человек Posted November 11, 2018 · Report post @Gaiduk Спойлер forward CreateOwnableCar(playerid, ownerid, number[], modelid, color_1, color_2, Float: pos_x, Float: pos_y, Float: pos_z, Float: angle, lock, Float:mileage, Float:fuel, Float: health, weels, nitro, cost_car_); public CreateOwnableCar(playerid, ownerid, number[], modelid, color_1, color_2, Float: pos_x, Float: pos_y, Float: pos_z, Float: angle, lock, Float:mileage, Float:fuel, Float: health, weels, nitro, cost_car_) { player_ownable_car[playerid] = CreateVehicle(modelid, pos_x, pos_y, pos_z, angle, color_1, color_2, -1); new vehicleid = player_ownable_car[playerid]; new index = vehicleid - ownable_car_id[0]; if(1 <= vehicleid <= MAX_VEHICLES) vehicle_broken_engine[vehicleid] = false; ownable_car_id[index] = vehicleid; ownable_car[index][oc_owner_id] = ownerid; new n_text[32]; format(n_text, sizeof n_text, "%s", number); if(strval(n_text) == -1) ownable_car[index][oc_number] = -1, ownable_car_label[index] = CreateDynamic3DTextLabel("[ НЕТ НОМЕРОВ]", 0xFFFFFFFF, 0.0, 0.0, 0.0, 15.0, _, vehicleid); else format(ownable_car[index][oc_number], 32, "%s", number), ownable_car_label[index] = CreateDynamic3DTextLabel(ownable_car[index][oc_number], 0xFFFFFFFF, 0.0, 0.0, 0.0, 15.0, _, vehicleid); ownable_car[index][oc_modelid] = modelid; ownable_car[index][oc_color_1] = color_1; ownable_car[index][oc_color_2] = color_2; ownable_car[index][oc_lock_status] = bool: lock; ownable_car[index][oc_mileage] = mileage; ownable_car[index][tun_weels] = weels; ownable_car[index][tun_nitro] = nitro; ownable_car[index][cost_car] = cost_car_; if(ownable_car[index][tun_weels] != 0) AddVehicleComponent(vehicleid, ownable_car[index][tun_weels]); if(ownable_car[index][tun_nitro] != 0) AddVehicleComponent(vehicleid, ownable_car[index][tun_nitro]); new engine, lights, alarm, doors, bonnet, boot, objective; GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective); SetVehicleParamsEx(vehicleid, 0, lights, alarm, ownable_car[index][oc_lock_status], bonnet, boot, objective); if(fuel < 0.0) fuel = 0.0; if(health < 400) health = 400; vehicle[vehicleid][veh_fuel] = fuel; SetVehicleHealth(vehicleid, health); return vehicleid; } //========================================================================================================================================================= 0 Share this post Link to post
0 Gaiduk Свой человек 3 Свой человек Posted November 11, 2018 (edited) · Report post @DEST, Спойлер forward CreateOwnableCar(playerid, ownerid, number[], modelid, color_1, color_2, Float: pos_x, Float: pos_y, Float: pos_z, Float: angle, lock, Float:mileage, Float:fuel, Float: health, weels, nitro, cost_car_); public CreateOwnableCar(playerid, ownerid, number[], modelid, color_1, color_2, Float: pos_x, Float: pos_y, Float: pos_z, Float: angle, lock, Float:mileage, Float:fuel, Float: health, weels, nitro, cost_car_) { player_ownable_car[playerid] = CreateVehicle(modelid, pos_x, pos_y, pos_z, angle, color_1, color_2, -1); new vehicleid = player_ownable_car[playerid]; new index = vehicleid - ownable_car_id[0]; if(1 <= vehicleid <= MAX_VEHICLES) vehicle_broken_engine[vehicleid] = false; ownable_car_id[index] = vehicleid; ownable_car[index][oc_owner_id] = ownerid; new n_text[32]; format(n_text, sizeof n_text, "%s", number); if(strval(n_text) == -1) ownable_car[index][oc_number] = -1, ownable_car_label[index] = CreateDynamic3DTextLabel("[ НЕТ НОМЕРОВ]", 0xFFFFFFFF, 0.0, 0.0, 0.0, 15.0, _, vehicleid); else format(ownable_car[index][oc_number], 32, "%s", number), ownable_car_label[index] = CreateDynamic3DTextLabel(ownable_car[index][oc_number], 0xFFFFFFFF, 0.0, 0.0, 0.0, 15.0, _, vehicleid); ownable_car[index][oc_modelid] = modelid; ownable_car[index][oc_color_1] = color_1; ownable_car[index][oc_color_2] = color_2; ownable_car[index][oc_lock_status] = bool: lock; ownable_car[index][oc_mileage] = mileage; ownable_car[index][tun_weels] = weels; ownable_car[index][tun_nitro] = nitro; ownable_car[index][cost_car] = cost_car_; if(ownable_car[index][tun_weels] != 0) AddVehicleComponent(vehicleid, ownable_car[index][tun_weels]); if(ownable_car[index][tun_nitro] != 0) AddVehicleComponent(vehicleid, ownable_car[index][tun_nitro]); new engine, lights, alarm, doors, bonnet, boot, objective; GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective); SetVehicleParamsEx(vehicleid, 0, lights, alarm, ownable_car[index][oc_lock_status], bonnet, boot, objective); if(fuel < 0.0) fuel = 0.0; if(health < 400) health = 400; vehicle[vehicleid][veh_fuel] = fuel; SetVehicleHealth(vehicleid, health); return vehicleid; } //========================================================================================================================================================= Edited November 11, 2018 by Gaiduk 0 Share this post Link to post
Gaiduk Свой человек 3
Share this post
Link to post