Респавен транспорта на расстояние
#1

Доброе вермя суток! Как сделать, чтоб при респавне первого траспорта, остальные спавнились сзади, на каком-то расстояние:
PHP Code:
test CreateVehicle(476555,555,55550.000999999); 
Только, не с помощью case, а как-нибудь по-другому. Как это делают?
Reply
#2

Задавай координаты позади него и спавни тачки по ним.
В чем проблема.
Или ты не знаешь как задавать и откуда брать кординаты и вообще в скрипинге новичёк?
Reply
#3

Это тоже самое, что делать case 0: case 1: и.т.д. Но можно сделать, как-то подругому. Прибавлять числко к координате, чтоб авто появилась сзади, без создания нового CreateVehicle и использования case
Reply
#4

Quote:
Originally Posted by Nikid
View Post
Это тоже самое, что делать case 0: case 1: и.т.д. Но можно сделать, как-то подругому. Прибавлять числко к координате, чтоб авто появилась сзади, без создания нового CreateVehicle и использования case
нифига не понял

т.е. ты считаешь что
pawn Code:
test[0] = CreateVehicle(476, 555,555,5555, 0.0, 0, 0, 999999);
test[1] = CreateVehicle(476, 555,556,5555, 0.0, 0, 0, 999999);
test[2] = CreateVehicle(476, 555,557,5555, 0.0, 0, 0, 999999);
test[3] = CreateVehicle(476, 555,558,5555, 0.0, 0, 0, 999999);
для сервера, чем-то отличается от
pawn Code:
for(new i;i<4;i++)
{
    test[i] = CreateVehicle(476, 555,555+i,5555, 0.0, 0, 0, 999999);
}
я тебя удивлю, для него оби записи равносильны!

и кстати вместо 555,555,5555 должны быть дробные значения!
И причем сдесь вообще case?
Reply
#5

автор хочет узнать точку позади тачки, чтобы поставить туда другую тачку. Машина может стоять под каким-то углом, но точка должна быть именно позади этой тачки. Вощем, небольшенькая возня с синусами/косинусами, зная расстояние между центрами двух тачек, мона это вычислить.
Reply
#6

Вот например функция определения позиции позади техники
pawn Code:
GetXYBehindVehicle(vehicleid, &Float:x, &Float:y, Float:distance) // не помню кто писал. в uf.inc нашел.
{
    new Float:a;
    GetVehiclePos(vehicleid, x, y, a);
    GetVehicleZAngle(vehicleid, a);
    x += (distance * floatsin(-a+180, degrees));
    y += (distance * floatcos(-a+180, degrees));
}
Reply
#7

iEnemY Эм, а как ее использовать? Пример можно?
Stepashka Допустим я телепортирую 2х игроков на дерби, а еще 2 авто появится с ними, зачем? Мне надо, чтоб было как-то так:
PHP Code:
    for(new 0500i++)
    {
           if(
IsPlayerConnected(i))
        {
//здесь та функция, которая создаст траспорт каждому и каждый будет стоять позади первого, второго, 3 и.т.д.
           
}
       } 
Reply
#8

Nikid, ну это понятно, не понятно причем сдесь case?
Reply
#9

PHP Code:
if(strcmp(cmdtext"/derby"true) == 0)
....
case 
0: {test[0] = CreateVehicle(476555,555,55550.000999999);}
case 
1: {test[1] = CreateVehicle(477555,556,55550.000999999);}
case 
2: {test[2] = CreateVehicle(511555,557,55550.000999999);}
case 
3: {test[3] = CreateVehicle(411555,558,55550.000999999);} 
Вот типа, такого тоже ненадо.
Reply
#10

Если достаточно простого смещения по одной из координатных осей, то храни в статической или глобальной переменной количество созданных машин и при создании очередной задавай координату как начальная + число_созданных * смещение
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)