PDA

Просмотр полной версии : [Вопрос] CreateDynamicPickupEx и аргументы



vasyok28
24.08.2015, 11:35
Очень нуждаюсь в вашей помощь. Ни как не могу понять как поставить аргументы правильно, гугл вообще не дал ответы. Мне нужно что бы пикапы создавались для каждого игрока, не глобальные.

Вот строка из документации


native STREAMER_TAG_PICKUP CreateDynamicPickupEx(modelid, type, Float:x, Float:y, Float:z, Float:streamdistance = STREAMER_PICKUP_SD, worlds[] = { -1 }, interiors[] = { -1 }, players[] = { -1 }, maxworlds = sizeof worlds, maxinteriors = sizeof interiors, maxplayers = sizeof players);

wAx
24.08.2015, 12:33
players[] = { -1 }

если значение -1, то создается для всех, если какое-то конкретное, то для игрока с конкретным ID

vasyok28
24.08.2015, 12:40
players[] = { -1 }

если значение -1, то создается для всех, если какое-то конкретное, то для игрока с конкретным ID

Если делаю так то идет ошибка must be a constant expression; assumed zero


pickupSkladCar[playerid][0] = CreateDynamicPickupEx(19605, 2, 2183.5352,-2235.2861,15.2383, 100.0, { -1 }, { -1 }, { playerid });

L0ndl3m
24.08.2015, 13:03
Фигурные скобки дают понять нам, что мы туда ( по логике ) должны занести несколько значений, а не одно.

Если вы хотите оставить аргумент, который будет принимать одно значение, убирайте фигурные скобки.

vasyok28
24.08.2015, 13:09
Пробовал из без фигурных скобок, без выдает error 035: argument type mismatch (argument 7)

Daniel_Cortez
24.08.2015, 14:27
Если делаю так то идет ошибка must be a constant expression; assumed zero


pickupSkladCar[playerid][0] = CreateDynamicPickupEx(19605, 2, 2183.5352,-2235.2861,15.2383, 100.0, { -1 }, { -1 }, { playerid });

Аргументы worlds[], interiors[] и players[] - это массивы. Указывая значения в фигурных скобках, вы заставляете компилятор автоматически создавать массивы с этими значениями.
Пока что вы всё делаете правильно, но в массивах должны быть только постоянные значения, а playerid - это переменная. От того компилятор и выдаёт ошибку.
Решение: создать массив самостоятельно.


new arr[1];
arr[0] = playerid;
pickupSkladCar[playerid][0] = CreateDynamicPickupEx(19605, 2, 2183.5352,-2235.2861,15.2383, 100.0, { -1 }, { -1 }, arr);

vasyok28
24.08.2015, 15:23
Теперь без ошибок. Но в чем может быть прикол, пикапы все равно создаются глобальными ?

$continue$
25.08.2015, 20:31
Теперь без ошибок. Но в чем может быть прикол, пикапы все равно создаются глобальными ?

Не должно, с чего у Вас вдруг такое мнение?

Evgexa_Torento
25.08.2015, 20:38
C другом тестили или 1?