1. rwikk113.03.2025 в 00:28от
Загрузка...

[FS]Динамическая система создания домов.

Тема в разделе "Grand Theft Auto", создана пользователем keks12, 02.08.2012.

  1. keks12

    keks12

    Статус:
    Оффлайн
    Регистрация:
    02.08.12
    Сообщения:
    6
    Репутация:
    2 +/-
    Привет всем вот решил выложить Динамическую систему домов.
    Может кому понадобиться.
    Можно и в мод вписать и как FS использовать.

    PHP:
    [SPOILER]#include <a_samp>
    #include <DOF2>
     
    #define MAX_GARAGENS 200 // MAXIMUM OF GARAGES
    #define MAX_CARS 1 // MAXIMUM CAR GARAGE BY +1
    #define COORDENADASGARAGEM -1232.7811279297,-74.612930297852,14.502492904663 // X,Y,Z THE GARAGE (DO NOT PUT SPACES BETWEEN COORDINATES)
    #define COR_ERRO 0xAD0000AA
    #define COR_SUCESSO 0x00AB00AA
     
    forward CarregarGaragens();
    forward SalvarGaragens();
    forward CreateGarage(playerowner[64], garageidFloat:gxFloat:gyFloat:gzcoment[128], bool:lock);
    forward DeletarGaragem(garageid);
    forward PlayerToPoint(Float:radiplayeridFloat:xFloat:yFloat:z);
    forward GarageToPoint(Float:radigarageidFloat:xFloat:yFloat:z);
    forward FecharGaragem(playeridgarageid);
    forward AbrirGaragem(playeridgarageid);
    forward SetGaragemComent(garageidcoment[128]);
    forward SetGaragemDono(garageidplayerowner[64]);
    forward SetGaragemPos(garageidFloat:gxFloat:gyFloat:gz);
    forward Creditos();
     
    enum pGaragem
    {
            
    Float:cnX,
            
    Float:cnY,
            
    Float:cnZ,
            
    cnLock,
            
    cnCar,
    }
     
    new 
    Garagem[MAX_GARAGENS][pGaragem];
    new 
    Text3D:LabelEntrada[MAX_GARAGENS];
    new 
    Text3D:LabelSaida[MAX_GARAGENS];
    new 
    LabelString[MAX_GARAGENS][128];
    new 
    NameString[MAX_GARAGENS][64];
    new 
    GaragemAtual;
    new 
    EditandoGaragem[MAX_PLAYERS];
    new 
    bool:Deletado[MAX_GARAGENS];
     
    public 
    OnFilterScriptInit()
    {
            print(
    "\n--------------------------------------");
            print(
    "         FS by CidadeNovaRP ¬¬");
            print(
    "--------------------------------------\n");
            
    CarregarGaragens();
            
    SetTimer("Creditos"1000*1*60*15true);
            
    CreateObject(14776,-1222.58178711,-73.19232178,20.01030540,0.00000000,0.00000000,315.19982910);
            
    CreateObject(2893,-1226.20849609,-78.41390991,14.47902775,4.00000000,0.00000000,314.72668457);
            
    CreateObject(2893,-1224.88500977,-79.58795166,14.47902775,4.00000000,0.00000000,315.72119141);
            
    CreateObject(2893,-1220.97375488,-75.61949158,14.47902679,344.00000000,0.00000000,315.64929199);
            
    CreateObject(2893,-1222.22424316,-74.27712250,14.47902679,344.00000000,0.00000000,315.22387695);
            
    CreateObject(1558,-1222.23022461,-74.30402374,14.07644463,0.00000000,0.00000000,315.19995117);
            
    CreateObject(1558,-1220.96813965,-75.57649994,14.07644463,0.00000000,0.00000000,134.84912109);
            
    CreateObject(2860,-1220.97290039,-75.57939911,14.53230476,0.00000000,0.00000000,245.51635742);
            return 
    1;
    }
     
    public 
    OnFilterScriptExit()
    {
        
    DOF2_Exit();
            return 
    1;
    }
     
    stock GetLockGaragem(garageid)
    {
            new 
    lock[64];
            if(
    Garagem[garageid][cnLock] == 0)
            {
                    
    lock "{00F600}Open";
            }
            else if(
    Garagem[garageid][cnLock] == 1)
            {
                    
    lock "{F60000}Close";
            }
            else if(
    Garagem[garageid][cnLock] == 2)
            {
                    
    lock "{F6F600}Opening";
            }
            else if(
    Garagem[garageid][cnLock] == 3)
            {
                    
    lock "{F6F600}Closing";
            }
            return 
    lock;
    }
     
    public 
    CarregarGaragens()
    {
            new 
    string[256];
        new 
    arquivo[64];
        new 
    arquivoatual[64];
        for(new 
    g=0g<MAX_GARAGENSg++)
            {
                
    format(arquivoatualsizeof(arquivoatual), "GaragemAtual.inc"g);
            
    format(arquivosizeof(arquivo), "Garagem%d.inc"g);
            if(
    DOF2_FileExists(arquivo))
                    {
                        if(
    Deletado[g] == false)
                        {
                            new 
    word 10;
                            
    Garagem[g][cnX] = DOF2_GetFloat(arquivo"X");
                            
    Garagem[g][cnY] = DOF2_GetFloat(arquivo"Y");
                            
    Garagem[g][cnZ] = DOF2_GetFloat(arquivo"Z");
                            
    Garagem[g][cnLock] = DOF2_GetInt(arquivo"Lock");
                            
    format(NameString[g], 64"%s"DOF2_GetString(arquivo"Owner"NameString[g]));
                            
    LabelString[g] = DOF2_GetString(arquivo"Coment"LabelString[g]);
                            
    GaragemAtual DOF2_GetInt(arquivoatual"GGID");
                            
    format(stringsizeof(string), "{0000F6}[GARAGE ID: %d]\n{00F6F6}%s\n{0000F6}Entry\n%s\n{ED6B79}Owner: %s%s"gLabelString[g], GetLockGaragem(g), NameString[g]);
                                    
    LabelEntrada[g] = Create3DTextLabel(string0xFFFFFFFFGaragem[g][cnX], Garagem[g][cnY], Garagem[g][cnZ], 30.00);
                                    
    format(stringsizeof(string), "{0000F6}[GARAGE ID: %d]\n{00F6F6}%s\n{0000F6}Exit\n%s\n{ED6B79}Owner: %s%s"gLabelString[g], GetLockGaragem(g), NameString[g]);
                                    
    LabelSaida[g] = Create3DTextLabel(string0xFFFFFFFFCOORDENADASGARAGEM30.0word);
                                    
    printf("Garagem Carregada: %d %d %d \nComentario: %s\nDono: %s"Garagem[g][cnX], Garagem[g][cnY], Garagem[g][cnZ], LabelString[g], NameString[g]);
                            }
                    }
            }
            return 
    1;
    }
     
    public 
    SalvarGaragens()
    {
        new 
    arquivo[64];
        new 
    arquivoatual[64];
        for(new 
    g=0g<MAX_GARAGENSg++)
        {
            
    format(arquivoatualsizeof(arquivoatual), "GaragemAtual.inc"g);
            
    format(arquivosizeof(arquivo), "Garagem%d.inc"g);
            if(
    DOF2_FileExists(arquivo))
                    {
                        if(
    Deletado[g] == false)
                        {
                                    
    DOF2_CreateFile(arquivo);
                                    
    DOF2_SetFloat(arquivo"X"Garagem[g][cnX]);
                                    
    DOF2_SetFloat(arquivo"Y"Garagem[g][cnY]);
                                    
    DOF2_SetFloat(arquivo"Z"Garagem[g][cnZ]);
                                    
    DOF2_SetInt(arquivo"Lock"Garagem[g][cnLock]);
                                    
    DOF2_SetString(arquivo"Coment"LabelString[g]);
                                    
    DOF2_SetString(arquivo"Owner"NameString[g]);
                                    if(!
    DOF2_FileExists(arquivoatual))
                                    {
                                        if(
    GaragemAtual <= MAX_GARAGENS)
                                        {
                                                    
    DOF2_CreateFile(arquivoatual);
                                                    
    DOF2_SetInt(arquivoatual"GGID"GaragemAtual);
                                            }
                                            else
                                            {
                                                    
    printf("Reached Maximum Garages, increase the MAX_GARAGENS Garages and renew or delete the file 'GaragemAtual'!");
                                            }
                                    }
                                    else
                                    {
                                        if(
    GaragemAtual <= MAX_GARAGENS)
                                        {
                                                    
    DOF2_SetInt(arquivoatual"GGID"GaragemAtual);
                                            }
                                            else
                                            {
                                                
    printf("Reached Maximum Garages, increase the MAX_GARAGENS Garages and renew or delete the file 'GaragemAtual'!");
                                            }
                                    }
                            }
                            
    DOF2_SaveFile();
                    }
            }
            return 
    1;
    }
     
    public 
    CreateGarage(playerowner[64], garageidFloat:gxFloat:gyFloat:gzcoment[128], bool:lock)
    {
            new 
    string[256];
            new 
    arquivo[64];
            
    format(arquivosizeof(arquivo), "Garagem%d.inc"garageid);
            if(!
    DOF2_FileExists(arquivo))
            {
                    if(!
    GarageToPoint(7.0garageidgxgygz))
                    {
                        if(
    GaragemAtual <= MAX_GARAGENS)
                        {
                                    
    DOF2_CreateFile(arquivo);
                                    new 
    word garageid 10;
                                    
    Garagem[garageid][cnX] = gx;
                                    
    Garagem[garageid][cnY] = gy;
                                    
    Garagem[garageid][cnZ] = gz;
                                    
    Garagem[garageid][cnLock] = lock;
                            
    NameString[garageid] = playerowner;
                                    
    LabelString[garageid] = coment;
                                    
    GaragemAtual ++;
                                    
    format(stringsizeof(string), "{0000F6}[GARAGE ID: %d]\n{00F6F6}%s\n{0000F6}Entry\n%s\n{ED6B79}Owner: %s%s"garageidLabelString[garageid], GetLockGaragem(garageid), NameString[garageid]);
                                    
    LabelEntrada[garageid] = Create3DTextLabel(string0xFFFFFFFFgxgygz30.00);
                                    
    format(stringsizeof(string), "{0000F6}[GARAGE ID: %d]\n{00F6F6}%s\n{0000F6}Exit\n%s\n{ED6B79}Owner: %s%s"garageidLabelString[garageid], GetLockGaragem(garageid), NameString[garageid]);
                                    
    LabelSaida[garageid] = Create3DTextLabel(string0xFFFFFFFFCOORDENADASGARAGEM30.0word);
                                    
    printf("Garage Built: %d %d %d \nComent: %s\nOwner: %s"Garagem[garageid][cnX], Garagem[garageid][cnY], Garagem[garageid][cnZ], LabelString[garageid], NameString[garageid]);
                                    
    SalvarGaragens();
                            }
                            else
                            {
                                
    printf("Reached Maximum Garages, increase the MAX_GARAGENS Garages and renew or delete the file 'GaragemAtual'!");
                            }
                    }
                    else
                    {
                        
    printf("There is already a garage at this radius.");
                    }
            }
            else
            {
                
    printf("There is this GarageID.");
            }
            return 
    1;
    }
     
    public 
    DeletarGaragem(garageid)
    {
        new 
    arquivo[64];
        new 
    string[128];
        
    format(arquivosizeof(arquivo), "Garagem%d.inc"garageid);
            if(!
    DOF2_FileExists(arquivo))
            {
                    
    printf("There is this GarageID.");
                    return 
    1;
            }
            else
            {
                for(new 
    0MAX_PLAYERSi++)
                    {
                            for(new 
    0MAX_VEHICLESv++)
                            {
                                if(
    garageid == GetVehicleVirtualWorld(v)-10)
                            {
                                            if(!
    IsPlayerInVehicle(iv))
                                            {
                                                    
    SetVehicleVirtualWorld(v0);
                                                    
    SetVehicleToRespawn(v);
                                            }
                                    }
                            }
                        if(
    garageid == GetPlayerVirtualWorld(i)-10)
                {
                            if(
    GetPlayerState(i) == PLAYER_STATE_ONFOOT)
                                    {
                                            
    SetPlayerPos(iGaragem[garageid][cnX], Garagem[garageid][cnY], Garagem[garageid][cnZ]);
                                    
    SetPlayerVirtualWorld(i0);
                                    
    SetPlayerInterior(i0);
                                    
    format(stringsizeof(string), "The Garage %d{00AB00} was deleted."garageid);
                                    
    SendClientMessage(iCOR_SUCESSOstring);
                                    }
                                    else
                                    {
                                            new 
    tmpcar GetPlayerVehicleID(i);
                                            
    SetVehiclePos(tmpcarGaragem[garageid][cnX], Garagem[garageid][cnY], Garagem[garageid][cnZ]);
                                            
    SetVehicleVirtualWorld(tmpcar0);
                                            
    SetPlayerVirtualWorld(i0);
                                            
    SetPlayerInterior(i0);
                                            
    format(stringsizeof(string), "The Garage %d{00AB00} was deleted."garageid);
                                    
    SendClientMessage(iCOR_SUCESSOstring);
                                    }
                            }
                    }
                
    DOF2_RemoveFile(arquivo);
                
    Deletado[garageid] = true;
                
    Delete3DTextLabel(LabelSaida[garageid]);
                
    Delete3DTextLabel(LabelEntrada[garageid]);
                
    printf("Garagem %d foi deletada"garageid);
                
    SalvarGaragens();
            }
            return 
    1;
    }
     
    public 
    SetGaragemComent(garageidcoment[128])
    {
        new 
    arquivo[64];
        new 
    string[128];
        
    format(arquivosizeof(arquivo), "Garagem%d.inc"garageid);
            if(!
    DOF2_FileExists(arquivo))
            {
                    
    printf("There is this GarageID.");
                    return 
    1;
            }
            else
            {
                if(
    Deletado[garageid] == false)
            {
                    
    printf("The Comment of garage %d has changed"garageid);
                    
    LabelString[garageid] = coment;
                    
    format(stringsizeof(string), "{0000F6}[GARAGE ID: %d]\n{00F6F6}%s\n{0000F6}Entry\n%s\n{ED6B79}Owner: %s%s"garageidLabelString[garageid], GetLockGaragem(garageid), NameString[garageid]);
                            
    Update3DTextLabelText(LabelEntrada[garageid], 0xFFFFFFFFstring);
                            
    format(stringsizeof(string), "{0000F6}[GARAGE ID: %d]\n{00F6F6}%s\n{0000F6}Exit\n%s\n{ED6B79}Owner: %s%s"garageidLabelString[garageid], GetLockGaragem(garageid), NameString[garageid]);
                            
    Update3DTextLabelText(LabelSaida[garageid], 0xFFFFFFFFstring);
                            
    SalvarGaragens();
                    }
            }
            return 
    1;
    }
     
    public 
    SetGaragemDono(garageidplayerowner[64])
    {
        new 
    arquivo[64];
        new 
    string[128];
        
    format(arquivosizeof(arquivo), "Garagem%d.inc"garageid);
            if(!
    DOF2_FileExists(arquivo))
            {
                    
    printf("There is this GarageID.");
                    return 
    1;
            }
            else
            {
                if(
    Deletado[garageid] == false)
            {
                    
    printf("The owner of Garage %d has changed"garageid);
                    
    NameString[garageid] = playerowner;
                    
    format(stringsizeof(string), "{0000F6}[GARAGE ID: %d]\n{00F6F6}%s\n{0000F6}Entry\n%s\n{ED6B79}Owner: %s%s"garageidLabelString[garageid], GetLockGaragem(garageid), NameString[garageid]);
                            
    Update3DTextLabelText(LabelEntrada[garageid], 0xFFFFFFFFstring);
                            
    format(stringsizeof(string), "{0000F6}[GARAGE ID: %d]\n{00F6F6}%s\n{0000F6}Exit\n%s\n{ED6B79}Owner: %s%s"garageidLabelString[garageid], GetLockGaragem(garageid), NameString[garageid]);
                            
    Update3DTextLabelText(LabelSaida[garageid], 0xFFFFFFFFstring);
                            
    SalvarGaragens();
                    }
            }
            return 
    1;
    }
     
    public 
    SetGaragemPos(garageidFloat:gxFloat:gyFloat:gz)
    {
        new 
    arquivo[64];
        new 
    string[128];
        
    format(arquivosizeof(arquivo), "Garagem%d.inc"garageid);
            if(!
    DOF2_FileExists(arquivo))
            {
                    
    printf("There is this GarageID.");
                    return 
    1;
            }
            else
            {
                if(
    Deletado[garageid] == false)
            {
                    
    printf("The Post's Garage %d has changed"garageid);
                    
    Garagem[garageid][cnX] = gx;
                    
    Garagem[garageid][cnY] = gy;
                    
    Garagem[garageid][cnZ] = gz;
                    
    Delete3DTextLabel(LabelEntrada[garageid]);
                            
    format(stringsizeof(string), "{0000F6}[GARAGE ID: %d]\n{00F6F6}%s\n{0000F6}Entry\n%s\n{ED6B79}Owner: %s%s"garageidLabelString[garageid], GetLockGaragem(garageid), NameString[garageid]);
                            
    LabelEntrada[garageid] = Create3DTextLabel(string0xFFFFFFFFgxgygz30.00);
                    
    SalvarGaragens();
                    }
            }
            return 
    1;
    }
     
    public 
    GarageToPoint(Float:radigarageidFloat:xFloat:yFloat:z)
    {
        for(new 
    g=0g<MAX_GARAGENSg++)
        {
            if(
    Deletado[g] == false)
            {
                            new 
    Float:oldposxFloat:oldposyFloat:oldposz;
                            new 
    Float:tempposxFloat:tempposyFloat:tempposz;
                            
    oldposx Garagem[g][cnX];
                            
    oldposy Garagem[g][cnY];
                            
    oldposz Garagem[g][cnZ];
                            
    tempposx = (oldposx -x);
                            
    tempposy = (oldposy -y);
                            
    tempposz = (oldposz -z);
                            if (((
    tempposx radi) && (tempposx > -radi)) && ((tempposy radi) && (tempposy > -radi)) && ((tempposz radi) && (tempposz > -radi)))
                            {
                                    return 
    1;
                            }
                    }
            }
            return 
    0;
    }
     
    public 
    PlayerToPoint(Float:radiplayeridFloat:xFloat:yFloat:z)
    {
        if(
    IsPlayerConnected(playerid))
            {
                    new 
    Float:oldposxFloat:oldposyFloat:oldposz;
                    new 
    Float:tempposxFloat:tempposyFloat:tempposz;
                    
    GetPlayerPos(playeridoldposxoldposyoldposz);
                    
    tempposx = (oldposx -x);
                    
    tempposy = (oldposy -y);
                    
    tempposz = (oldposz -z);
                    if (((
    tempposx radi) && (tempposx > -radi)) && ((tempposy radi) && (tempposy > -radi)) && ((tempposz radi) && (tempposz > -radi)))
                    {
                            return 
    1;
                    }
            }
            return 
    0;
    }
     
    public 
    FecharGaragem(playeridgarageid)
    {
        if(
    Deletado[garageid] == false)
        {
            
    SendClientMessage(playeridCOR_SUCESSO"The gate was {F60000}Close {00AB00}fully.");
            
    Garagem[garageid][cnLock] = 1;
            new 
    string[256];
            
    format(stringsizeof(string), "{0000F6}[GARAGE ID: %d]\n{00F6F6}%s\n{0000F6}Entry\n%s\n{ED6B79}Owner: %s%s"garageidLabelString[garageid], GetLockGaragem(garageid), NameString[garageid]);
                    
    Update3DTextLabelText(LabelEntrada[garageid], 0xFFFFFFFFstring);
                    
    format(stringsizeof(string), "{0000F6}[GARAGE ID: %d]\n{00F6F6}%s\n{0000F6}Exit\n%s\n{ED6B79}Owner: %s%s"garageidLabelString[garageid], GetLockGaragem(garageid), NameString[garageid]);
                    
    Update3DTextLabelText(LabelSaida[garageid], 0xFFFFFFFFstring);
                    
    SalvarGaragens();
            }
            return 
    1;
    }
     
    public 
    AbrirGaragem(playeridgarageid)
    {
        if(
    Deletado[garageid] == false)
        {
            
    SendClientMessage(playeridCOR_SUCESSO"The gate was {00F600}Open {00AB00}fully.");
            
    Garagem[garageid][cnLock] = 0;
            new 
    string[256];
            
    format(stringsizeof(string), "{0000F6}[GARAGE ID: %d]\n{00F6F6}%s\n{0000F6}Entry\n%s\n{ED6B79}Owner: %s%s"garageidLabelString[garageid], GetLockGaragem(garageid), NameString[garageid]);
                    
    Update3DTextLabelText(LabelEntrada[garageid], 0xFFFFFFFFstring);
                    
    format(stringsizeof(string), "{0000F6}[GARAGE ID: %d]\n{00F6F6}%s\n{0000F6}Exit\n%s\n{ED6B79}Owner: %s%s"garageidLabelString[garageid], GetLockGaragem(garageid), NameString[garageid]);
                    
    Update3DTextLabelText(LabelSaida[garageid], 0xFFFFFFFFstring);
                    
    SalvarGaragens();
            }
            return 
    1;
    }
     
    public 
    Creditos()
    {
        
    SendClientMessageToAll(-1"Garage System made by CidadeNovaRP.");
            return 
    1;
    }
     
    public 
    OnPlayerConnect(playerid)
    {
            return 
    1;
    }
     
    public 
    OnPlayerCommandText(playeridcmdtext[])
    {
     
        if(
    strcmp(cmdtext"/cnedit"true) == 0)
        {
            if(
    IsPlayerAdmin(playerid))
            {
                    for(new 
    g=0g<MAX_GARAGENSg++)
                    {
                                    if(
    PlayerToPoint(3.0playeridGaragem[g][cnX], Garagem[g][cnY], Garagem[g][cnZ]))
                                    {
                                        if(
    Deletado[g] == false)
                                        {
                                            
    EditandoGaragem[playerid] = g;
                                            
    ShowPlayerDialog(playerid5555DIALOG_STYLE_MSGBOX"Create/Edit Garage","Click on 'My Name' for you are the owner or 'Edit' to change the Owner""My Name""Edit");
                                            }
                                    }
                            }
                    }
                    return 
    1;
            }
     
            if(
    strcmp(cmdtext"/cncreate"true) == 0)
        {
            if(
    IsPlayerAdmin(playerid))
            {
                            new 
    Float:xFloat:yFloat:z;
                            
    GetPlayerPos(playeridxyz);
                            
    EditandoGaragem[playerid] = GaragemAtual+1;
                            if(!
    GarageToPoint(7.0EditandoGaragem[playerid], xyz))
                            {
                                    
    ShowPlayerDialog(playerid5555DIALOG_STYLE_MSGBOX"Create/Edit Garage","Click on 'My Name' for you are the owner or 'Edit' to change the Owner""My Name""Edit");
                                    
    CreateGarage(""GaragemAtual+1xyz""true);
                            }
                    }
                    return 
    1;
            }
     
            if(
    strcmp(cmdtext"/cndelet"true) == 0)
        {
            if(
    IsPlayerAdmin(playerid))
            {
                    for(new 
    g=0g<MAX_GARAGENSg++)
                    {
                                    if(
    PlayerToPoint(3.0playeridGaragem[g][cnX], Garagem[g][cnY], Garagem[g][cnZ]))
                                    {
                                        if(
    Deletado[g] == false)
                                        {
                                                    
    DeletarGaragem(g);
                                            }
                                    }
                            }
                    }
                    return 
    1;
            }
     
            if (
    strcmp("/cnclose"cmdtexttrue10) == 0)
            {
            new 
    string[256];
            new 
    playername[24];
                for(new 
    g=0g<MAX_GARAGENSg++)
            {
                            if(
    PlayerToPoint(3.0playeridGaragem[g][cnX], Garagem[g][cnY], Garagem[g][cnZ]) || PlayerToPoint(3.0playeridCOORDENADASGARAGEM) && == GetPlayerVirtualWorld(playerid)-10)
                            {
                                    
    GetPlayerName(playerid,playername,24);
                                    if(!
    strcmp(NameString[g],playername,true) || IsPlayerAdmin(playerid))
                                    {
                                        if(
    Deletado[g] == false)
                                        {
                                                    if(
    Garagem[g][cnLock] == 0)
                                            {
                                                            
    SetTimerEx("FecharGaragem"5000false"ii"playeridg);
                                                            
    Garagem[g][cnLock] = 3;
                                                            
    SendClientMessage(playeridCOR_SUCESSO"The Gate is {F6F600}Closing{00AB00}.");
                                                            
    format(stringsizeof(string), "{0000F6}[GARAGE ID: %d]\n{00F6F6}%s\n{0000F6}Entry\n%s\n{ED6B79}Owner: %s%s"gLabelString[g], GetLockGaragem(g), NameString[g]);
                                                            
    Update3DTextLabelText(LabelEntrada[g], 0xFFFFFFFFstring);
                                                            
    format(stringsizeof(string), "{0000F6}[GARAGE ID: %d]\n{00F6F6}%s\n{0000F6}Exit\n%s\n{ED6B79}Owner: %s%s"gLabelString[g], GetLockGaragem(g), NameString[g]);
                                                            
    Update3DTextLabelText(LabelSaida[g], 0xFFFFFFFFstring);
                                                            break;
                                                    }
                                                    else
                                                    {
                                                        
    format(stringsizeof(string), "The Gate is %s{AD0000}."GetLockGaragem(g));
                                                        
    SendClientMessage(playeridCOR_ERROstring);
                                                    }
                                            }
                                    }
                                    else
                                    {
                                            
    SendClientMessage(playeridCOR_ERRO"You are not owner of this garage.");
                                    }
                            }
                    }
                return 
    1;
            }
     
            if (
    strcmp("/cnopen"cmdtexttrue10) == 0)
            {
                new 
    string[256];
                new 
    playername[24];
                for(new 
    g=0g<MAX_GARAGENSg++)
            {
                            if(
    PlayerToPoint(3.0playeridGaragem[g][cnX], Garagem[g][cnY], Garagem[g][cnZ]) || PlayerToPoint(3.0playeridCOORDENADASGARAGEM) && == GetPlayerVirtualWorld(playerid)-10)
                            {
                            
    GetPlayerName(playerid,playername,24);
                                    if(!
    strcmp(NameString[g],playername,true) || IsPlayerAdmin(playerid))
                                    {
                                        if(
    Deletado[g] == false)
                                        {
                                                    if(
    Garagem[g][cnLock] == 1)
                                                    {
                                                            
    SetTimerEx("AbrirGaragem"5000false"ii"playeridg);
                                                            
    Garagem[g][cnLock] = 2;
                                                            
    SendClientMessage(playeridCOR_SUCESSO"The Gate is {F6F600}Opening{00AB00}.");
                                                            
    format(stringsizeof(string), "{0000F6}[GARAGE ID: %d]\n{00F6F6}%s\n{0000F6}Entry\n%s\n{ED6B79}Owner: %s%s"gLabelString[g], GetLockGaragem(g), NameString[g]);
                                                            
    Update3DTextLabelText(LabelEntrada[g], 0xFFFFFFFFstring);
                                                            
    format(stringsizeof(string), "{0000F6}[GARAGE ID: %d]\n{00F6F6}%s\n{0000F6}Exit\n%s\n{ED6B79}Owner: %s%s"gLabelString[g], GetLockGaragem(g), NameString[g]);
                                                            
    Update3DTextLabelText(LabelSaida[g], 0xFFFFFFFFstring);
                                                            break;
                                                    }
                                                    else
                                                    {
                                                        
    format(stringsizeof(string), "The Gate is %s{AD0000}."GetLockGaragem(g));
                                                        
    SendClientMessage(playeridCOR_ERROstring);
                                                    }
                                            }
                                    }
                                    else
                                    {
                                            
    SendClientMessage(playeridCOR_ERRO"You are not owner of this garage.");
                                    }
                            }
                    }
                return 
    1;
            }
     
            if (
    strcmp("/cnentry"cmdtexttrue10) == 0)
            {
                    new 
    string[64];
                for(new 
    g=0g<MAX_GARAGENSg++)
            {
                            if(
    PlayerToPoint(3.0playeridGaragem[g][cnX], Garagem[g][cnY], Garagem[g][cnZ]))
                            {
                                if(
    Garagem[g][cnLock] == 0)
                                {
                                    if(
    Deletado[g] == false)
                                    {
                                                    if(
    GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
                                                    {
                                                            
    SetPlayerPos(playeridCOORDENADASGARAGEM);
                                                            
    SetPlayerVirtualWorld(playeridg+10);
                                                            
    SetPlayerInterior(playerid2);
                                                            
    format(stringsizeof(string), "Welcome to Garage %d."g);
                                                    
    SendClientMessage(playeridCOR_SUCESSOstring);
                                                    }
                                                    else
                                                    {
                                                        if(
    GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
                                                    {
                                                                    if(
    Garagem[g][cnCar] <= MAX_CARS)
                                                                {
                                                            for(new 
    0MAX_PLAYERSi++)
                                                                    {
                                                                                    new 
    tmpcar GetPlayerVehicleID(playerid);
                                                                            if(
    IsPlayerInVehicle(itmpcar))
                                                                            {
                                                                                            
    SetPlayerVirtualWorld(ig+10);
                                                                                            
    SetPlayerInterior(playerid2);
                                                                                            
    Garagem[g][cnCar] ++;
                                                                                            
    SetVehicleVirtualWorld(tmpcarg+10);
                                                                                            
    LinkVehicleToInterior(tmpcar2);
                                                                                            
    SetVehiclePos(tmpcarCOORDENADASGARAGEM);
                                                                                            
    format(stringsizeof(string), "Welcome to Garage %d."g);
                                                                                            
    SendClientMessage(iCOR_SUCESSOstring);
                                                                                    }
                                                                            }
                                                            }
                                                            else
                                                            {
                                                                
    SendClientMessage(playeridCOR_ERRO"You already have the maximum accepted vehicles in the garage.");
                                                            }
                                                    }
                                                    else
                                                    {
                                                        
    SendClientMessage(playeridCOR_ERRO"Drivers can only enter and exit the garage.");
                                                    }
                                                    }
                                            }
                                    }
                                    else
                                    {
                                        
    format(stringsizeof(string), "The Gate is %s{AD0000}."GetLockGaragem(g));
                                        
    SendClientMessage(playeridCOR_ERROstring);
                                        break;
                                    }
                            }
                    }
                return 
    1;
            }
     
            if (
    strcmp("/cnexit"cmdtexttrue10) == 0)
            {
                    new 
    string[128];
                    for(new 
    g=0g<MAX_GARAGENSg++)
            {
                if(
    == GetPlayerVirtualWorld(playerid)-10)
                {
                            if(
    PlayerToPoint(3.0playeridCOORDENADASGARAGEM))
                            {
                                if(
    Garagem[g][cnLock] == 0)
                                {
                                    if(
    GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
                                                    {
                                                            
    SetPlayerPos(playeridGaragem[g][cnX], Garagem[g][cnY], Garagem[g][cnZ]);
                                                            
    SetPlayerVirtualWorld(playerid0);
                                                            
    SetPlayerInterior(playerid0);
                                                            
    format(stringsizeof(string), "Return always the Garage %d."g);
                                                    
    SendClientMessage(playeridCOR_SUCESSOstring);
                                                    }
                                                    else
                                                    {
                                                        if(
    GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
                                            {
                                                    for(new 
    0MAX_PLAYERSi++)
                                                            {
                                                                            new 
    tmpcar GetPlayerVehicleID(playerid);
                                                                    if(
    IsPlayerInVehicle(itmpcar))
                                                                    {
                                                                                    
    SetPlayerVirtualWorld(i0);
                                                                                    
    SetPlayerInterior(playerid0);
                                                                                    
    Garagem[g][cnCar] --;
                                                                                    
    SetVehicleVirtualWorld(tmpcar0);
                                                                                    
    LinkVehicleToInterior(tmpcar0);
                                                                                    
    SetVehiclePos(tmpcarGaragem[g][cnX], Garagem[g][cnY], Garagem[g][cnZ]);
                                                                                    
    format(stringsizeof(string), "Return always the Garage %d."g);
                                                                                    
    SendClientMessage(iCOR_SUCESSOstring);
                                                                            }
                                                                    }
                                                    }
                                                    else
                                                    {
                                                        
    SendClientMessage(playeridCOR_ERRO"Drivers can only enter and exit the garage.");
                                                    }
                                                    }
                                    }
                                            else
                                            {
                                            
    format(stringsizeof(string), "The Gate is %s{AD0000}."GetLockGaragem(g));
                                            
    SendClientMessage(playeridCOR_ERROstring);
                                            break;
                                            }
                            }
                            }
                    }
                return 
    1;
            }
            return 
    0;
    }
     
    public 
    OnVehicleSpawn(vehicleid)
    {
        for(new 
    g=0g<MAX_GARAGENSg++)
            {
                    if(
    == GetVehicleVirtualWorld(vehicleid)-10)
                    {
                            
    SetVehicleVirtualWorld(vehicleid0);
                            
    Garagem[g][cnCar] --;
                    }
            }
        return 
    1;
    }
     
    public 
    OnDialogResponse(playeriddialogidresponselistiteminputtext[])
    {
        if(
    dialogid == 5555)
            {
                if(
    response)
                    {
                            new 
    playername[64];
                            
    GetPlayerName(playeridplayernamesizeof(playername));
                            
    SetGaragemDono(EditandoGaragem[playerid], playername);
                            
    ShowPlayerDialog(playerid5557DIALOG_STYLE_INPUT"Create/Edit Garage""Enter a Comment that will appear in the Label\nNote: If you do not want to leave the space blank and go""End""");
                    }
                    else
                    {
                            
    ShowPlayerDialog(playerid5556DIALOG_STYLE_INPUT"Create/Edit Garage""Enter Nick the owner (not the ID)\nNote: Whether the player is online or not\nNote: If you do not want to leave the space blank and go""Next""");
                    }
            }
            if(
    dialogid == 5556)
            {
                if(
    response)
                    {
                        if(!
    strlen(inputtext))
                            {
                                
    SetGaragemDono(EditandoGaragem[playerid], "Nobody");
                                
    ShowPlayerDialog(playerid5557DIALOG_STYLE_INPUT"Create/Edit Garage""Enter a Comment that will appear in the Label\nNote: If you do not want to leave the space blank and go""End""");
                            }
                            else
                            {
                            new 
    string[64];
                            
    format(stringsizeof(string), "%s"inputtext);
                                    
    SetGaragemDono(EditandoGaragem[playerid], string);
                                    
    ShowPlayerDialog(playerid5557DIALOG_STYLE_INPUT"Create/Edit Garage""Enter a Comment that will appear in the Label\nNote: If you do not want to leave the space blank and go""End""");
                            }
                    }
                    else
                    {
                    }
            }
            if(
    dialogid == 5557)
            {
                if(
    response)
                    {
                    if(!
    strlen(inputtext))
                            {
                                new 
    string[128];
                            
    format(stringsizeof(string), "No Comment");
                            
    SetGaragemComent(EditandoGaragem[playerid], string);
                            }
                            else
                            {
                            new 
    string[128];
                            
    format(stringsizeof(string), "%s"inputtext);
                                    
    SetGaragemComent(EditandoGaragem[playerid], string);
                            }
                    }
                    else
                    {
                    }
            }
            return 
    1;
    }[/
    SPOILER]