Перейти к содержанию
Авторизация  
Лысый

Застревание авто в текстуре гаража

Рекомендуемые сообщения

Лысый

if(strcmp(cmd,"/newga",true)==0)
{
    new szName[32];
    GetPlayerName(playerid,szName,32);
    if(!strcmp(szName,"Maxim_Lysov",true)||!strcmp(szName,"Andrey_Simonenkov",true))
    {
        TOTALGARAGE=TOTALGARAGE+1;
        new Float:X,Float:Y,Float:Z;
        GetPlayerPos(playerid, X,Y,Z);
        format(Garage[TOTALGARAGE][gOwner],24,"None");
        Garage[TOTALGARAGE][gPrice] = 100000;
        Garage[TOTALGARAGE][gLock] = 1;
        Garage[TOTALGARAGE][gX] = X;
        Garage[TOTALGARAGE][gY] = Y;
        Garage[TOTALGARAGE][gZ] = Z;
        Garage[TOTALGARAGE][gA] = 90;
        if(!strcmp("None", Garage[TOTALGARAGE][gOwner], true))
        {
            format(string,sizeof(string),"{FF0000}????? ????? [%d]\n?????????? ???? {FFFF00}[%d ???]\n{FFFFFF}??? ?? ??????????????? /ga",TOTALGARAGE,Garage[TOTALGARAGE][gPrice]);
        }
        Text3DCar[TOTALGARAGE] = CreateDynamic3DTextLabel(string, 0xCE9A00FF, Garage[TOTALGARAGE][gX], Garage[TOTALGARAGE][gY], Garage[TOTALGARAGE][gZ],10.0);
        SaveGarage(TOTALGARAGE);
        return 1;
    }
    SendClientMessage(playerid, COLOR_ISPOLZUY, "?? ??? ???? ???? ?????? ???????");
    return true;
}
if(strcmp(cmd,"/ga",true)==0)
{
    new temp[256];
    temp = strtok(cmdtext, idx);
    if(!strlen(temp)) return SendClientMessage(playerid,COLOR_WHITE," ???????????: /ga [buy(??????) sell(???????) lock(???????) enter(?????) exit(?????)");
    if(strcmp(temp,"buy",true)==0)
    {
        for(new gar = 1; gar <= TOTALGARAGE;gar++)
        {
            if(IsPlayerInRangeOfPoint(playerid, 2.5,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ]))
            {
                new gares = 0;
                if(!strcmp(Names(playerid), Garage[gar][gOwner], true)) gares++;
                {
                    if(PlayerInfo[playerid][pDonateRank] == 3)
                    {
                        if(gares >= 2) return SendClientMessage(playerid, COLOR_GRAD2, "? ??? ??????? ????? ?????");
                    }
                    else if(gares >= 1) return SendClientMessage(playerid, COLOR_GRAD2, "? ??? ??????? ????? ?????");
                }
                if(!strcmp("None", Garage[gar][gOwner], true))
                {
                    if(PlayerInfo[playerid][pMoney] > Garage[gar][gPrice])
                    {
                        strmid(Garage[gar][gOwner], Names(playerid), 0, strlen(Names(playerid)), 255);
                        GiveMoney(playerid,-Garage[gar][gPrice]);
                        format(temp,sizeof(temp),"{FF0000}????? ?????:[%d]\n{33AA33}????????:{FFFFFF}[%s]\n{FFFFFF}??? ?? ??????????????? /ga",gar,Garage[gar][gOwner]);
                        UpdateDynamic3DTextLabelText(Text3DCar[gar], 0xCE9A00FF, temp);
                        SaveGarage(gar);
                        return SendClientMessage(playerid,COLOR_WHITE," ?? ??????? ?????? ?????");
                    }
                    else return SendClientMessage(playerid,COLOR_WHITE," ? ??? ???? ????? ?? ???????");
                }
                else return SendClientMessage(playerid,COLOR_WHITE," ????? ??? ??? ?? ??????");
            }
        }
    }
    else if(strcmp(temp,"sell",true)==0)
    {
        for(new gar = 1; gar <= TOTALGARAGE;gar++)
        {
            if(IsPlayerInRangeOfPoint(playerid, 2.5,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ]))
            {
                if(!strcmp(Names(playerid), Garage[gar][gOwner], true))
                {
                    strmid(Garage[gar][gOwner], "None", 0, strlen("None"), 255);
                    GiveMoney(playerid,Garage[gar][gPrice]/2);
                    Garage[gar][gLock] = 1;
                    SaveGarage(gar);
                    format(temp,sizeof(temp),"{FF0000}????? ????? [%d]\n?????????? ???? {FFFF00}[%d ???]\n{FFFFFF}??? ?? ??????????????? /ga",gar,Garage[gar][gPrice]);
                    UpdateDynamic3DTextLabelText(Text3DCar[gar], 0xCE9A00FF, temp);
                    return SendClientMessage(playerid,COLOR_WHITE," ?? ??????? ??????? ???? ?????");
                }
                else return SendClientMessage(playerid,COLOR_WHITE," ????? ?? ??????????? ???");
            }
        }
    }
    else if(strcmp(temp,"lock",true)==0)
    {
        for(new gar = 1; gar <= TOTALGARAGE;gar++)
        {
            if(IsPlayerInRangeOfPoint(playerid, 2.5,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ]) || (IsPlayerInRangeOfPoint(playerid, 20.0,GARAGE_X,GARAGE_Y,GARAGE_Z) && gar == GetPlayerVirtualWorld(playerid)))
            {
                if(!strcmp(Names(playerid), Garage[gar][gOwner], true))
                {
                    if(Garage[gar][gLock] == 1)
                    {
                        Garage[gar][gLock] = 0;
                        SaveGarage(gar);
                        return SendClientMessage(playerid,COLOR_WHITE," ????? ??????");
                    }
                    else
                    {
                        Garage[gar][gLock] = 1;
                        SaveGarage(gar);
                        return SendClientMessage(playerid,COLOR_WHITE," ????? ??????");
                    }
                }
                else return SendClientMessage(playerid,COLOR_WHITE," ????? ?? ??????????? ???");
            }
        }
    }
    else if(strcmp(temp,"enter",true)==0)
    {
        for(new gar = 1; gar <= TOTALGARAGE;gar++)
        {
            if(IsPlayerInRangeOfPoint(playerid, 2.5,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ]))
            {
                if(Garage[gar][gLock] == 1) return SendClientMessage(playerid,COLOR_WHITE," ????? ??????");
                if(IsPlayerInAnyVehicle(playerid))
                {
                    new carid = GetPlayerVehicleID(playerid);
                    SetVehiclePos(carid, GARAGE_X,GARAGE_Y,GARAGE_Z+1.0);
                    SetPlayerPos(playerid,GARAGE_X,GARAGE_Y,GARAGE_Z+1.0);
                    LinkVehicleToInterior(carid, GARAGE_INT);
                    SetVehicleVirtualWorld(carid, gar);
                    SetVehicleZAngle(carid, GARAGE_A);
                    SetPlayerInterior(playerid,GARAGE_INT);
                    SetPlayerVirtualWorld(playerid,gar);
                    PutPlayerInVehicle(playerid,carid,0);
                }
                else
                {
                    SetPlayerPos(playerid,GARAGE_X,GARAGE_Y-4.0,GARAGE_Z+1.0);
                    SetPlayerInterior(playerid,GARAGE_INT);
                    SetPlayerVirtualWorld(playerid,gar);
                }
                break;
            }
        }
    }
    else if(strcmp(temp,"exit",true)==0)
    {
        if(GetPlayerVirtualWorld(playerid) == 0) return SendClientMessage(playerid,COLOR_WHITE," ?? ?? ?????????? ? ?????? ");
        for(new gar = 1; gar <= TOTALGARAGE;gar++)
        {
            if(IsPlayerInRangeOfPoint(playerid, 20.0,GARAGE_X,GARAGE_Y,GARAGE_Z) && gar == GetPlayerVirtualWorld(playerid))
            {
                if(IsPlayerInAnyVehicle(playerid))
                {
                    new carid = GetPlayerVehicleID(playerid);
                    LinkVehicleToInterior(carid, 0);
                    SetVehicleVirtualWorld(carid, 0);
                    SetPlayerInterior(playerid,0);
                    SetPlayerVirtualWorld(playerid,0);
                    SetVehiclePos(carid, Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ]+1.0);
                    SetVehicleZAngle(carid, Garage[gar][gA]);
                    SetPlayerPos(playerid,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ]+1.0);
                    PutPlayerInVehicle(playerid,carid,0);
                }
                else
                {
                    SetPlayerPos(playerid,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ]+1.0);
                    SetPlayerInterior(playerid,0);
                    SetPlayerVirtualWorld(playerid,0);
                }
                break;
            }
        }
    }
    return true;
}

Когда пишу /ga exit - авто застревает в текстуре гаража

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


Ссылка на сообщение
Поделиться на другие сайты
Smolin

В следующий раз копируйте код на русской раскладке.

 

Если застревает, то сам объект (гараж) должен быть не на динамике, проще говоря, ибо не успевает прорисовываться, или же координаты новые поставьте.

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


Ссылка на сообщение
Поделиться на другие сайты
Max_Eitzen

Просто создавайте гараж дальше от объекта.

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


Ссылка на сообщение
Поделиться на другие сайты
Red_Devils

Система корявая) 

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


Ссылка на сообщение
Поделиться на другие сайты
Лысый

Система корявая)

 

в чем она корявая?

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


Ссылка на сообщение
Поделиться на другие сайты
Red_Devils

 

Система корявая)

в чем она корявая?

 

А то что авто в текстурах застряло это не довод её корявости?)

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


Ссылка на сообщение
Поделиться на другие сайты
Лысый

 

 

Система корявая)

 

в чем она корявая?

А то что авто в текстурах застряло это не довод её корявости?)
наверно я слишком близко с объектом создал гараж,вот и все - завтра проверю

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


Ссылка на сообщение
Поделиться на другие сайты
Max_Eitzen

 

 

 

Система корявая)

в чем она корявая?
А то что авто в текстурах застряло это не довод её корявости?)
наверно я слишком близко с объектом создал гараж,вот и все - завтра проверю

 

О чем я Вам и говорил.

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


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

  • Последние посетители   0 пользователей онлайн

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

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.