Вопросы

Спойлер

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; 
}

 

 

Поделиться сообщением


Ссылка на сообщение

12 ответов на этот вопрос

  • 0

Помогите, пожалуйста.

Поделиться сообщением


Ссылка на сообщение
  • 0

@Gaiduk В следующий раз такая тема будет закрыта. Описывайте вопрос подробней, что именно не получается? Что, при вводе команды, отправляется в чат? 

Поделиться сообщением


Ссылка на сообщение
  • 0

@DEST Когда вводишь команду ничего не происходит. 

Поделиться сообщением


Ссылка на сообщение
  • 0

После 

В 07.07.2018 в 14:32, Gaiduk сказал:

CMD:lock(playerid, params[]) {

добавьте

printf("[#DEBUG] %d - logged", GetPVarInt(playerid, "logged")); 

после введите команду на сервере и скиньте логи. 

Поделиться сообщением


Ссылка на сообщение
  • 0

@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

@Gaiduk скидывайте функции 

3 часа назад, Gaiduk сказал:

IsAOwnableCar / 24542

 

3 часа назад, Gaiduk сказал:

LockOwnableCar / 24554

 и пометьте в них строки, которые указал выше. 

Поделиться сообщением


Ссылка на сообщение
  • 0

@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

@DEST , скинул Вам, что Вы просили какие дальше указание ?

Поделиться сообщением


Ссылка на сообщение
  • 0

@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

@DEST 

Спойлер

stock GetVehicleID(vehicleid)
{
	if(vehicleid < ownable_car_id[0]) return 0;
	return (vehicleid - ownable_car_id[0]);
}

 

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@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

@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;
}
//=========================================================================================================================================================
 

 

 

 

Отредактировано пользователем Gaiduk

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • KAIF
      От KAIF


      Скачать файл GTA RolePlay-МОД,СБОРКА
      !!!!!ВСЕГО ОДНА КОПИЯ!!!! 
      Единственный мод GTA RP.
       
      Фракции:
      Правительство
      ГИБДД
      Полиция Южного
      ФСБ
      ЦГБ-А
      Автошкола
      Китайская мафия
      Русская Мафия
      Итальянская Мафия
      Американская Мафия
      Чеченская Мафия
      ВВС
      МЧС
      ОПГ Тяп-Ляп
      ОПГ Хади-Такташ
      СМИ Южного
      ФСИН
      В комплекте идёт СБОРКА И МОД.
      Единственный мод GTA RP.
      Добавил KAIF Добавлено 01.01.2024 Категория Моды Автор Aleksandr  
    • KAIF
      От KAIF
      !!!!!ВСЕГО ОДНА КОПИЯ!!!! 
      Единственный мод GTA RP.
       
      Фракции:
      Правительство
      ГИБДД
      Полиция Южного
      ФСБ
      ЦГБ-А
      Автошкола
      Китайская мафия
      Русская Мафия
      Итальянская Мафия
      Американская Мафия
      Чеченская Мафия
      ВВС
      МЧС
      ОПГ Тяп-Ляп
      ОПГ Хади-Такташ
      СМИ Южного
      ФСИН
      В комплекте идёт СБОРКА И МОД.
      Единственный мод GTA RP.
    • Узбек
      От Узбек
      Всем добрый вечер ребят! 
      Я начинающий, сегодня я вам сливаю команду 2(шт) на технические работы
      Ловите