Проверка транспорта
#1

Здравствуйте. Срочно нужна помощь знатоков) Не могу собрать проверку.

У меня есть несколько машин:

PHP Code:
new CopCar[2]; 
PHP Code:
CopCar[0] = AddStaticVehicle..........................
AddStaticVehicle.....................................
CopCar[1] = AddStaticVehicle......................... 
Мне нужно сделать так, чтобы команду /tow ( зацепить машину ) можно было использовать только на эти машины.

PHP Code:
if(!strcmp(cmd,"/testcmd",true))

    new 
Float:cord[2][3]; 
    
GetPlayerPos(playerid,cord[0][0],cord[0][1],cord[0][2]); 
    for(new 
1GetPlayerVehicleID(playerid); <= MAX_VEHICLES; ++i
    { 
         
GetVehiclePos(i,cord[1][0],cord[1][1],cord[1][2]); 
         if(
floatabs(cord[0][0]-cord[1][0]) < 7.0 &&  
            
floatabs(cord[0][1]-cord[1][1]) < 7.0 &&  
            
floatabs(cord[0][2]-cord[1][2]) < 7.0 && 
            
!= x
         { 
            
AttachTrailerToVehicle(ix); 
            break; 
         } 
    } 
    return 
true

Надеюсь на помощь
Reply
#2

pawn Code:
if(!strcmp(cmd,"/testcmd",true))
{  
    new Float:cord[2][3];  
    GetPlayerPos(playerid,cord[0][0],cord[0][1],cord[0][2]);  
    for(new i = CopCar[0], x = GetPlayerVehicleID(playerid); i <= CopCar[1]; ++i)  
    {  
         GetVehiclePos(i,cord[1][0],cord[1][1],cord[1][2]);  
         if(floatabs(cord[0][0]-cord[1][0]) < 7.0 &&  
            floatabs(cord[0][1]-cord[1][1]) < 7.0 &&  
            floatabs(cord[0][2]-cord[1][2]) < 7.0 &&  
            i != x)  
         {  
            AttachTrailerToVehicle(i, x);  
            break;  
         }  
    }  
    return true;  
}
Reply
#3

Пример выше нежизнеспособен.

pawn Code:
if (!strcmp(cmd,"/testcmd",true)) {
    for (new i, x = GetPlayerVehicleID(playerid), Float:cord[3]; i < sizeof(CopCar); ++i) {
        if (x != CopCar[i]) {
            GetVehiclePos(CopCar[i], cord[0], cord[1], cord[2]);
            if (floatcmp(7.0, GetPlayerDistanceFromPoint(playerid, cord[0], cord[1], cord[2])) == 1) {
                AttachTrailerToVehicle(CopCar[i], x);
                return 1;
            }
        }
    }
    return 1;
}
Reply
#4

Quote:
Originally Posted by Stepashka
View Post
Пример выше нежизнеспособен.

pawn Code:
if (!strcmp(cmd,"/testcmd",true)) {
    for (new i, x = GetPlayerVehicleID(playerid), Float:cord[3]; i < sizeof(CopCar); ++i) {
        if (x != CopCar[i]) {
            GetVehiclePos(CopCar[i], cord[0], cord[1], cord[2]);
            if (floatcmp(7.0, GetPlayerDistanceFromPoint(playerid, cord[0], cord[1], cord[2])) == 1) {
                AttachTrailerToVehicle(CopCar[i], x);
                return 1;
            }
        }
    }
    return 1;
}
Так у него массив в себе не все машины хранит,а первую и последнюю. Так что именно ваш пример в данном случае нежизнеспособен.
Reply
#5

Quote:
Originally Posted by Richard_Gere
View Post
Так у него массив в себе не все машины хранит,а первую и последнюю. Так что именно ваш пример в данном случае нежизнеспособен.
Его массив хранит в себе только те машины которые можно таскать, а то что они создаются не друг за другом это частный случай.
Всегда нужно сперва думать, а спешить только в двух случаях.
Reply
#6

Спасибо, помог первый способ. Сейчас попробую второй)
Reply
#7

del.
Reply
#8

П.С мне нужно таскать все 3 машины
Reply
#9

Quote:
Originally Posted by JohnnySmith
View Post
П.С мне нужно таскать все 3 машины
Тогда объедините оба решения. Но в вашей логике дыра!
Reply
#10

Может посоветуете как лучше сделать?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)