17.08.2017, 02:32
Bom queria botar este incrivel sistema de garagem em meu servidor mas estou com um problema onde esse sistema estб em DOF2 e sempre q eu passo para dini da erro alguem pode me ajudar a trocar de DOF2 para DINI
aki estб o link do sistema
#include <a_samp>
#include <DOF2>
#define MAX_GARAGENS 200 // MAXIMO DE GARAGENS
#define MAX_CARS 1 // MAXIMO DE CARRO POR GARAGEM +1
#define COORDENADASGARAGEM -1232.7811279297,-74.612930297852,14.502492904663 // X,Y,Z DA GARAGEM (NГO COLOCAR ESPAЗOS ENTRE AS COORDENADAS)
#define COR_ERRO 0xAD0000AA
#define COR_SUCESSO 0x00AB00AA
forward CarregarGaragens();
forward SalvarGaragens();
forward CriarGaragem(playerdono[64], garageid, Float:gx, Float:gy, Float:gz, coment[128], bool:lock);
forward DeletarGaragem(garageid);
forward PlayerToPoint(Float:radi, playerid, Float, Float:y, Float:z);
forward GarageToPoint(Float:radi, garageid, Float, Float:y, Float:z);
forward FecharGaragem(playerid, garageid);
forward AbrirGaragem(playerid, garageid);
forward SetGaragemComent(garageid, coment[128]);
forward SetGaragemDono(garageid, playerdono[64]);
forward SetGaragemPos(garageid, Float:gx, Float:gy, Float: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 booleletado[MAX_GARAGENS];
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" FS by CidadeNovaRP ¬¬");
print("Nгo retire os Crйditos ou lhe darб uma Caimbra no cъ!");
print("--------------------------------------\n");
CarregarGaragens();
SetTimer("Creditos", 1000*1*60*15, true);
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,31 5.64929199);
CreateObject(2893,-1222.22424316,-74.27712250,14.47902679,344.00000000,0.00000000,31 5.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}Aberto";
}
else if(Garagem[garageid][cnLock] == 1)
{
lock = "{F60000}Fechado";
}
else if(Garagem[garageid][cnLock] == 2)
{
lock = "{F6F600}Abrindo";
}
else if(Garagem[garageid][cnLock] == 3)
{
lock = "{F6F600}Fechando";
}
return lock;
}
public CarregarGaragens()
{
new string[256];
new arquivo[64];
new arquivoatual[64];
for(new g=0; g<MAX_GARAGENS; g++)
{
format(arquivoatual, sizeof(arquivoatual), "GaragemAtual.inc", g);
format(arquivo, sizeof(arquivo), "Garagem%d.inc", g);
if(DOF2_FileExists(arquivo))
{
if(Deletado[g] == false)
{
new word = g + 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, "Dono", NameString[g]));
LabelString[g] = DOF2_GetString(arquivo, "Comentario", LabelString[g]);
GaragemAtual = DOF2_GetInt(arquivoatual, "GGID");
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Entrada\n%s\n{ED6B79}Dono: %s", g, LabelString[g], GetLockGaragem(g), NameString[g]);
LabelEntrada[g] = Create3DTextLabel(string, 0xFFFFFFFF, Garagem[g][cnX], Garagem[g][cnY], Garagem[g][cnZ], 30.0, 0, 1 );
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Saida\n%s\n{ED6B79}Dono: %s", g, LabelString[g], GetLockGaragem(g), NameString[g]);
LabelSaida[g] = Create3DTextLabel(string, 0xFFFFFFFF, COORDENADASGARAGEM, 30.0, word, 1 );
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=0; g<MAX_GARAGENS; g++)
{
format(arquivoatual, sizeof(arquivoatual), "GaragemAtual.inc", g);
format(arquivo, sizeof(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, "Comentario", LabelString[g]);
DOF2_SetString(arquivo, "Dono", NameString[g]);
if(!DOF2_FileExists(arquivoatual))
{
if(GaragemAtual <= MAX_GARAGENS)
{
DOF2_CreateFile(arquivoatual);
DOF2_SetInt(arquivoatual, "GGID", GaragemAtual);
}
else
{
printf("Mбximo de Garagens Atingido, aumente o MAX_GARAGENS ou Delete Garagens e renove o arquivo 'GaragemAtual'!");
}
}
else
{
if(GaragemAtual <= MAX_GARAGENS)
{
DOF2_SetInt(arquivoatual, "GGID", GaragemAtual);
}
else
{
printf("Mбximo de Garagens Atingido, aumente o MAX_GARAGENS ou Delete Garagens e renove o arquivo 'GaragemAtual'!");
}
}
}
DOF2_SaveFile();
}
}
return 1;
}
public CriarGaragem(playerdono[64], garageid, Float:gx, Float:gy, Float:gz, coment[128], bool:lock)
{
new string[256];
new arquivo[64];
format(arquivo, sizeof(arquivo), "Garagem%d.inc", garageid);
if(!DOF2_FileExists(arquivo))
{
if(!GarageToPoint(7.0, garageid, gx, gy, gz))
{
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] = playerdono;
LabelString[garageid] = coment;
GaragemAtual ++;
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Entrada\n%s\n{ED6B79}Dono: %s", garageid, LabelString[garageid], GetLockGaragem(garageid), NameString[garageid]);
LabelEntrada[garageid] = Create3DTextLabel(string, 0xFFFFFFFF, gx, gy, gz, 30.0, 0, 1 );
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Saida\n%s\n{ED6B79}Dono: %s", garageid, LabelString[garageid], GetLockGaragem(garageid), NameString[garageid]);
LabelSaida[garageid] = Create3DTextLabel(string, 0xFFFFFFFF, COORDENADASGARAGEM, 30.0, word, 1 );
printf("Garagem Criada: %d %d %d \nComentario: %s\nDono: %s", Garagem[garageid][cnX], Garagem[garageid][cnY], Garagem[garageid][cnZ], LabelString[garageid], NameString[garageid]);
SalvarGaragens();
}
else
{
printf("Mбximo de Garagens Atingido, aumente o MAX_GARAGENS ou Delete Garagens e renove o arquivo 'GaragemAtual'!");
}
}
else
{
printf("Jб existe uma Garagem neste Raio.");
}
}
else
{
printf("Jб existe este GarageID.");
}
return 1;
}
public DeletarGaragem(garageid)
{
new arquivo[64];
new string[128];
format(arquivo, sizeof(arquivo), "Garagem%d.inc", garageid);
if(!DOF2_FileExists(arquivo))
{
printf("Nгo existe este GarageID.");
return 1;
}
else
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
for(new v = 0; v < MAX_VEHICLES; v++)
{
if(garageid == GetVehicleVirtualWorld(v)-10)
{
if(!IsPlayerInVehicle(i, v))
{
SetVehicleVirtualWorld(v, 0);
SetVehicleToRespawn(v);
}
}
}
if(garageid == GetPlayerVirtualWorld(i)-10)
{
if(GetPlayerState(i) == PLAYER_STATE_ONFOOT)
{
SetPlayerPos(i, Garagem[garageid][cnX], Garagem[garageid][cnY], Garagem[garageid][cnZ]);
SetPlayerVirtualWorld(i, 0);
SetPlayerInterior(i, 0);
format(string, sizeof(string), "A Garagem %d{00AB00} foi deletada.", garageid);
SendClientMessage(i, COR_SUCESSO, string);
}
else
{
new tmpcar = GetPlayerVehicleID(i);
SetVehiclePos(tmpcar, Garagem[garageid][cnX], Garagem[garageid][cnY], Garagem[garageid][cnZ]);
SetVehicleVirtualWorld(tmpcar, 0);
SetPlayerVirtualWorld(i, 0);
SetPlayerInterior(i, 0);
format(string, sizeof(string), "A Garagem %d{00AB00} foi deletada.", garageid);
SendClientMessage(i, COR_SUCESSO, string);
}
}
}
DOF2_RemoveFile(arquivo);
Deletado[garageid] = true;
Delete3DTextLabel(LabelSaida[garageid]);
Delete3DTextLabel(LabelEntrada[garageid]);
printf("Garagem %d foi deletada", garageid);
SalvarGaragens();
}
return 1;
}
public SetGaragemComent(garageid, coment[128])
{
new arquivo[64];
new string[128];
format(arquivo, sizeof(arquivo), "Garagem%d.inc", garageid);
if(!DOF2_FileExists(arquivo))
{
printf("Nгo existe este GarageID.");
return 1;
}
else
{
if(Deletado[garageid] == false)
{
printf("O Comentario da Garagem %d foi alterado", garageid);
LabelString[garageid] = coment;
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Entrada\n%s\n{ED6B79}Dono: %s", garageid, coment, GetLockGaragem(garageid), NameString[garageid]);
Update3DTextLabelText(LabelEntrada[garageid], 0xFFFFFFFF, string);
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Saida\n%s\n{ED6B79}Dono: %s", garageid, coment, GetLockGaragem(garageid), NameString[garageid]);
Update3DTextLabelText(LabelSaida[garageid], 0xFFFFFFFF, string);
SalvarGaragens();
}
}
return 1;
}
public SetGaragemDono(garageid, playerdono[64])
{
new arquivo[64];
new string[128];
format(arquivo, sizeof(arquivo), "Garagem%d.inc", garageid);
if(!DOF2_FileExists(arquivo))
{
printf("Nгo existe este GarageID.");
return 1;
}
else
{
if(Deletado[garageid] == false)
{
printf("O Dono da Garagem %d foi alterado", garageid);
NameString[garageid] = playerdono;
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Entrada\n%s\n{ED6B79}Dono: %s", garageid, LabelString[garageid], GetLockGaragem(garageid), playerdono);
Update3DTextLabelText(LabelEntrada[garageid], 0xFFFFFFFF, string);
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Saida\n%s\n{ED6B79}Dono: %s", garageid, LabelString[garageid], GetLockGaragem(garageid), playerdono);
Update3DTextLabelText(LabelSaida[garageid], 0xFFFFFFFF, string);
SalvarGaragens();
}
}
return 1;
}
public SetGaragemPos(garageid, Float:gx, Float:gy, Float:gz)
{
new arquivo[64];
new string[128];
format(arquivo, sizeof(arquivo), "Garagem%d.inc", garageid);
if(!DOF2_FileExists(arquivo))
{
printf("Nгo existe este GarageID.");
return 1;
}
else
{
if(Deletado[garageid] == false)
{
printf("A Pos da Garagem %d foi alterada", garageid);
Garagem[garageid][cnX] = gx;
Garagem[garageid][cnY] = gy;
Garagem[garageid][cnZ] = gz;
Delete3DTextLabel(LabelEntrada[garageid]);
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Entrada\n%s\n{ED6B79}Dono: %s", garageid, LabelString[garageid], GetLockGaragem(garageid), NameString[garageid]);
LabelEntrada[garageid] = Create3DTextLabel(string, 0xFFFFFFFF, gx, gy, gz, 30.0, 0, 1 );
SalvarGaragens();
}
}
return 1;
}
public GarageToPoint(Float:radi, garageid, Float, Float:y, Float:z)
{
for(new g=0; g<MAX_GARAGENS; g++)
{
if(Deletado[g] == false)
{
new Floatldposx, Floatldposy, Floatldposz;
new Float:tempposx, Float:tempposy, Float: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:radi, playerid, Float, Float:y, Float:z)
{
if(IsPlayerConnected(playerid))
{
new Floatldposx, Floatldposy, Floatldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
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(playerid, garageid)
{
if(Deletado[garageid] == false)
{
SendClientMessage(playerid, COR_SUCESSO, "O Portгo foi {F60000}Fechado {00AB00}totalmente.");
Garagem[garageid][cnLock] = 1;
new string[256];
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Entrada\n%s\n{ED6B79}Dono: %s", garageid, LabelString[garageid], GetLockGaragem(garageid), NameString[garageid]);
Update3DTextLabelText(LabelEntrada[garageid], 0xFFFFFFFF, string);
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Saida\n%s\n{ED6B79}Dono: %s", garageid, LabelString[garageid], GetLockGaragem(garageid), NameString[garageid]);
Update3DTextLabelText(LabelSaida[garageid], 0xFFFFFFFF, string);
SalvarGaragens();
}
return 1;
}
public AbrirGaragem(playerid, garageid)
{
if(Deletado[garageid] == false)
{
SendClientMessage(playerid, COR_SUCESSO, "O Portгo foi {00F600}Aberto {00AB00}totalmente.");
Garagem[garageid][cnLock] = 0;
new string[256];
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Entrada\n%s\n{ED6B79}Dono: %s", garageid, LabelString[garageid], GetLockGaragem(garageid), NameString[garageid]);
Update3DTextLabelText(LabelEntrada[garageid], 0xFFFFFFFF, string);
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Saida\n%s\n{ED6B79}Dono: %s", garageid, LabelString[garageid], GetLockGaragem(garageid), NameString[garageid]);
Update3DTextLabelText(LabelSaida[garageid], 0xFFFFFFFF, string);
SalvarGaragens();
}
return 1;
}
public Creditos()
{
SendClientMessageToAll(-1, "Garage System made by CidadeNovaRP.");
return 1;
}
public OnPlayerConnect(playerid)
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/cneditar", true) == 0)
{
if(IsPlayerAdmin(playerid))
{
for(new g=0; g<MAX_GARAGENS; g++)
{
if(PlayerToPoint(3.0, playerid, Garagem[g][cnX], Garagem[g][cnY], Garagem[g][cnZ]))
{
if(Deletado[g] == false)
{
EditandoGaragem[playerid] = g;
ShowPlayerDialog(playerid, 5555, DIALOG_STYLE_MSGBOX, "Criar Garagem","Clique em 'Meu Nome' para vocк ser o Dono ou em 'Editar' para mudar o Dono", "Meu Nome", "Editar");
}
}
}
}
return 1;
}
if(strcmp(cmdtext, "/cncriar", true) == 0)
{
if(IsPlayerAdmin(playerid))
{
new Float, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
EditandoGaragem[playerid] = GaragemAtual+1;
if(!GarageToPoint(7.0, EditandoGaragem[playerid], x, y, z))
{
ShowPlayerDialog(playerid, 5555, DIALOG_STYLE_MSGBOX, "Criar Garagem","Clique em 'Meu Nome' para vocк ser o Dono ou em 'Editar' para mudar o Dono", "Meu Nome", "Editar");
CriarGaragem("", GaragemAtual+1, x, y, z, "", true);
}
}
return 1;
}
if(strcmp(cmdtext, "/cndeletar", true) == 0)
{
if(IsPlayerAdmin(playerid))
{
for(new g=0; g<MAX_GARAGENS; g++)
{
if(PlayerToPoint(3.0, playerid, Garagem[g][cnX], Garagem[g][cnY], Garagem[g][cnZ]))
{
if(Deletado[g] == false)
{
DeletarGaragem(g);
}
}
}
}
return 1;
}
if (strcmp("/cnfechar", cmdtext, true, 10) == 0)
{
new string[256];
new playername[24];
for(new g=0; g<MAX_GARAGENS; g++)
{
if(PlayerToPoint(3.0, playerid, Garagem[g][cnX], Garagem[g][cnY], Garagem[g][cnZ]) || PlayerToPoint(3.0, playerid, COORDENADASGARAGEM) && g == 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", 5000, false, "ii", playerid, g);
Garagem[g][cnLock] = 3;
SendClientMessage(playerid, COR_SUCESSO, "O Portгo estб {F6F600}Fechando{00AB00}.");
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Entrada\n%s\n{ED6B79}Dono: %s", g, LabelString[g], GetLockGaragem(g), NameString[g]);
Update3DTextLabelText(LabelEntrada[g], 0xFFFFFFFF, string);
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Saida\n%s\n{ED6B79}Dono: %s", g, LabelString[g], GetLockGaragem(g), NameString[g]);
Update3DTextLabelText(LabelSaida[g], 0xFFFFFFFF, string);
break;
}
else
{
format(string, sizeof(string), "O Portгo jб estб %s{AD0000}.", GetLockGaragem(g));
SendClientMessage(playerid, COR_ERRO, string);
}
}
}
else
{
SendClientMessage(playerid, COR_ERRO, "Vocк nгo й Dono desta Garagem.");
}
}
}
return 1;
}
if (strcmp("/cnabrir", cmdtext, true, 10) == 0)
{
new string[256];
new playername[24];
for(new g=0; g<MAX_GARAGENS; g++)
{
if(PlayerToPoint(3.0, playerid, Garagem[g][cnX], Garagem[g][cnY], Garagem[g][cnZ]) || PlayerToPoint(3.0, playerid, COORDENADASGARAGEM) && g == 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", 5000, false, "ii", playerid, g);
Garagem[g][cnLock] = 2;
SendClientMessage(playerid, COR_SUCESSO, "O Portгo estб {F6F600}Abrindo{00AB00}.");
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Entrada\n%s\n{ED6B79}Dono: %s%s", g, LabelString[g], GetLockGaragem(g), NameString[g]);
Update3DTextLabelText(LabelEntrada[g], 0xFFFFFFFF, string);
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Saida\n%s\n{ED6B79}Dono: %s%s", g, LabelString[g], GetLockGaragem(g), NameString[g]);
Update3DTextLabelText(LabelSaida[g], 0xFFFFFFFF, string);
break;
}
else
{
format(string, sizeof(string), "O Portгo jб estб %s{AD0000}.", GetLockGaragem(g));
SendClientMessage(playerid, COR_ERRO, string);
}
}
}
else
{
SendClientMessage(playerid, COR_ERRO, "Vocк nгo й Dono desta Garagem.");
}
}
}
return 1;
}
if (strcmp("/cnentrar", cmdtext, true, 10) == 0)
{
new string[64];
for(new g=0; g<MAX_GARAGENS; g++)
{
if(PlayerToPoint(3.0, playerid, Garagem[g][cnX], Garagem[g][cnY], Garagem[g][cnZ]))
{
if(Garagem[g][cnLock] == 0)
{
if(Deletado[g] == false)
{
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
{
SetPlayerPos(playerid, COORDENADASGARAGEM);
SetPlayerVirtualWorld(playerid, g+10);
SetPlayerInterior(playerid, 2);
format(string, sizeof(string), "Bem Vindo a Garagem %d.", g);
SendClientMessage(playerid, COR_SUCESSO, string);
}
else
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
if(Garagem[g][cnCar] <= MAX_CARS)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
new tmpcar = GetPlayerVehicleID(playerid);
if(IsPlayerInVehicle(i, tmpcar))
{
SetPlayerVirtualWorld(i, g+10);
SetPlayerInterior(playerid, 2);
Garagem[g][cnCar] ++;
SetVehicleVirtualWorld(tmpcar, g+10);
SetVehiclePos(tmpcar, COORDENADASGARAGEM);
format(string, sizeof(string), "Bem Vindo a Garagem %d.", g);
SendClientMessage(i, COR_SUCESSO, string);
}
}
}
else
{
SendClientMessage(playerid, COR_ERRO, "Jб tem o mбximo de Veнculos aceitos dentro desta Garagem.");
}
}
else
{
SendClientMessage(playerid, COR_ERRO, "Apenas Motoristas podem Entrar e Sair da Garagem.");
}
}
}
}
else
{
format(string, sizeof(string), "O Portгo estб %s{AD0000}.", GetLockGaragem(g));
SendClientMessage(playerid, COR_ERRO, string);
break;
}
}
}
return 1;
}
if (strcmp("/cnsair", cmdtext, true, 10) == 0)
{
new string[128];
for(new g=0; g<MAX_GARAGENS; g++)
{
if(g == GetPlayerVirtualWorld(playerid)-10)
{
if(PlayerToPoint(3.0, playerid, COORDENADASGARAGEM))
{
if(Garagem[g][cnLock] == 0)
{
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
{
SetPlayerPos(playerid, Garagem[g][cnX], Garagem[g][cnY], Garagem[g][cnZ]);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerInterior(playerid, 0);
format(string, sizeof(string), "Volte Sempre a Garagem %d.", g);
SendClientMessage(playerid, COR_SUCESSO, string);
}
else
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
new tmpcar = GetPlayerVehicleID(playerid);
if(IsPlayerInVehicle(i, tmpcar))
{
SetPlayerVirtualWorld(i, 0);
SetPlayerInterior(playerid, 0);
Garagem[g][cnCar] --;
SetVehicleVirtualWorld(tmpcar, 0);
SetVehiclePos(tmpcar, Garagem[g][cnX], Garagem[g][cnY], Garagem[g][cnZ]);
format(string, sizeof(string), "Volte Sempre a Garagem %d.", g);
SendClientMessage(i, COR_SUCESSO, string);
}
}
}
else
{
SendClientMessage(playerid, COR_ERRO, "Apenas Motoristas podem Entrar e Sair da Garagem.");
}
}
}
else
{
format(string, sizeof(string), "O Portгo estб %s{AD0000}.", GetLockGaragem(g));
SendClientMessage(playerid, COR_ERRO, string);
break;
}
}
}
}
return 1;
}
return 0;
}
public OnVehicleSpawn(vehicleid)
{
for(new g=0; g<MAX_GARAGENS; g++)
{
if(g == GetVehicleVirtualWorld(vehicleid)-10)
{
SetVehicleVirtualWorld(vehicleid, 0);
Garagem[g][cnCar] --;
}
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 5555)
{
if(response)
{
new playername[64];
GetPlayerName(playerid, playername, sizeof(playername));
SetGaragemDono(EditandoGaragem[playerid], playername);
ShowPlayerDialog(playerid, 5557, DIALOG_STYLE_INPUT, "Criar Garagem", "Digite o Comentario que irб aparecer no Label\nOBS: Caso nгo queira deixe o espaзo em branco e Avanзe", "Finalizar", "");
}
else
{
ShowPlayerDialog(playerid, 5556, DIALOG_STYLE_INPUT, "Criar Garagem", "Digite o Nick do Dono (Nгo o ID)\nOBS: Nгo importa se o Player estб Online ou nгo\nOBS: Caso nгo queira deixe o espaзo em branco e Avanзe", "Prуximo", "");
}
}
if(dialogid == 5556)
{
if(response)
{
if(!strlen(inputtext))
{
SetGaragemDono(EditandoGaragem[playerid], "Ninguem");
ShowPlayerDialog(playerid, 5557, DIALOG_STYLE_INPUT, "Criar Garagem", "Digite o Comentario que irб aparecer no Label\nOBS: Caso nгo queira deixe o espaзo em branco e Avanзe", "Finalizar", "");
}
else
{
new string[64];
format(string, sizeof(string), "%s", inputtext);
SetGaragemDono(EditandoGaragem[playerid], string);
ShowPlayerDialog(playerid, 5557, DIALOG_STYLE_INPUT, "Criar Garagem", "Digite o Comentario que irб aparecer no Label\nOBS: Caso nгo queira deixe o espaзo em branco e Avanзe", "Finalizar", "");
}
}
else
{
}
}
if(dialogid == 5557)
{
if(response)
{
if(!strlen(inputtext))
{
new string[128];
format(string, sizeof(string), "Sem Comentario");
SetGaragemComent(EditandoGaragem[playerid], string);
}
else
{
new string[128];
format(string, sizeof(string), "%s", inputtext);
SetGaragemComent(EditandoGaragem[playerid], string);
}
}
else
{
}
}
return 1;
}
aki estб o link do sistema
#include <a_samp>
#include <DOF2>
#define MAX_GARAGENS 200 // MAXIMO DE GARAGENS
#define MAX_CARS 1 // MAXIMO DE CARRO POR GARAGEM +1
#define COORDENADASGARAGEM -1232.7811279297,-74.612930297852,14.502492904663 // X,Y,Z DA GARAGEM (NГO COLOCAR ESPAЗOS ENTRE AS COORDENADAS)
#define COR_ERRO 0xAD0000AA
#define COR_SUCESSO 0x00AB00AA
forward CarregarGaragens();
forward SalvarGaragens();
forward CriarGaragem(playerdono[64], garageid, Float:gx, Float:gy, Float:gz, coment[128], bool:lock);
forward DeletarGaragem(garageid);
forward PlayerToPoint(Float:radi, playerid, Float, Float:y, Float:z);
forward GarageToPoint(Float:radi, garageid, Float, Float:y, Float:z);
forward FecharGaragem(playerid, garageid);
forward AbrirGaragem(playerid, garageid);
forward SetGaragemComent(garageid, coment[128]);
forward SetGaragemDono(garageid, playerdono[64]);
forward SetGaragemPos(garageid, Float:gx, Float:gy, Float: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 booleletado[MAX_GARAGENS];
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" FS by CidadeNovaRP ¬¬");
print("Nгo retire os Crйditos ou lhe darб uma Caimbra no cъ!");
print("--------------------------------------\n");
CarregarGaragens();
SetTimer("Creditos", 1000*1*60*15, true);
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,31 5.64929199);
CreateObject(2893,-1222.22424316,-74.27712250,14.47902679,344.00000000,0.00000000,31 5.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}Aberto";
}
else if(Garagem[garageid][cnLock] == 1)
{
lock = "{F60000}Fechado";
}
else if(Garagem[garageid][cnLock] == 2)
{
lock = "{F6F600}Abrindo";
}
else if(Garagem[garageid][cnLock] == 3)
{
lock = "{F6F600}Fechando";
}
return lock;
}
public CarregarGaragens()
{
new string[256];
new arquivo[64];
new arquivoatual[64];
for(new g=0; g<MAX_GARAGENS; g++)
{
format(arquivoatual, sizeof(arquivoatual), "GaragemAtual.inc", g);
format(arquivo, sizeof(arquivo), "Garagem%d.inc", g);
if(DOF2_FileExists(arquivo))
{
if(Deletado[g] == false)
{
new word = g + 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, "Dono", NameString[g]));
LabelString[g] = DOF2_GetString(arquivo, "Comentario", LabelString[g]);
GaragemAtual = DOF2_GetInt(arquivoatual, "GGID");
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Entrada\n%s\n{ED6B79}Dono: %s", g, LabelString[g], GetLockGaragem(g), NameString[g]);
LabelEntrada[g] = Create3DTextLabel(string, 0xFFFFFFFF, Garagem[g][cnX], Garagem[g][cnY], Garagem[g][cnZ], 30.0, 0, 1 );
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Saida\n%s\n{ED6B79}Dono: %s", g, LabelString[g], GetLockGaragem(g), NameString[g]);
LabelSaida[g] = Create3DTextLabel(string, 0xFFFFFFFF, COORDENADASGARAGEM, 30.0, word, 1 );
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=0; g<MAX_GARAGENS; g++)
{
format(arquivoatual, sizeof(arquivoatual), "GaragemAtual.inc", g);
format(arquivo, sizeof(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, "Comentario", LabelString[g]);
DOF2_SetString(arquivo, "Dono", NameString[g]);
if(!DOF2_FileExists(arquivoatual))
{
if(GaragemAtual <= MAX_GARAGENS)
{
DOF2_CreateFile(arquivoatual);
DOF2_SetInt(arquivoatual, "GGID", GaragemAtual);
}
else
{
printf("Mбximo de Garagens Atingido, aumente o MAX_GARAGENS ou Delete Garagens e renove o arquivo 'GaragemAtual'!");
}
}
else
{
if(GaragemAtual <= MAX_GARAGENS)
{
DOF2_SetInt(arquivoatual, "GGID", GaragemAtual);
}
else
{
printf("Mбximo de Garagens Atingido, aumente o MAX_GARAGENS ou Delete Garagens e renove o arquivo 'GaragemAtual'!");
}
}
}
DOF2_SaveFile();
}
}
return 1;
}
public CriarGaragem(playerdono[64], garageid, Float:gx, Float:gy, Float:gz, coment[128], bool:lock)
{
new string[256];
new arquivo[64];
format(arquivo, sizeof(arquivo), "Garagem%d.inc", garageid);
if(!DOF2_FileExists(arquivo))
{
if(!GarageToPoint(7.0, garageid, gx, gy, gz))
{
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] = playerdono;
LabelString[garageid] = coment;
GaragemAtual ++;
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Entrada\n%s\n{ED6B79}Dono: %s", garageid, LabelString[garageid], GetLockGaragem(garageid), NameString[garageid]);
LabelEntrada[garageid] = Create3DTextLabel(string, 0xFFFFFFFF, gx, gy, gz, 30.0, 0, 1 );
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Saida\n%s\n{ED6B79}Dono: %s", garageid, LabelString[garageid], GetLockGaragem(garageid), NameString[garageid]);
LabelSaida[garageid] = Create3DTextLabel(string, 0xFFFFFFFF, COORDENADASGARAGEM, 30.0, word, 1 );
printf("Garagem Criada: %d %d %d \nComentario: %s\nDono: %s", Garagem[garageid][cnX], Garagem[garageid][cnY], Garagem[garageid][cnZ], LabelString[garageid], NameString[garageid]);
SalvarGaragens();
}
else
{
printf("Mбximo de Garagens Atingido, aumente o MAX_GARAGENS ou Delete Garagens e renove o arquivo 'GaragemAtual'!");
}
}
else
{
printf("Jб existe uma Garagem neste Raio.");
}
}
else
{
printf("Jб existe este GarageID.");
}
return 1;
}
public DeletarGaragem(garageid)
{
new arquivo[64];
new string[128];
format(arquivo, sizeof(arquivo), "Garagem%d.inc", garageid);
if(!DOF2_FileExists(arquivo))
{
printf("Nгo existe este GarageID.");
return 1;
}
else
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
for(new v = 0; v < MAX_VEHICLES; v++)
{
if(garageid == GetVehicleVirtualWorld(v)-10)
{
if(!IsPlayerInVehicle(i, v))
{
SetVehicleVirtualWorld(v, 0);
SetVehicleToRespawn(v);
}
}
}
if(garageid == GetPlayerVirtualWorld(i)-10)
{
if(GetPlayerState(i) == PLAYER_STATE_ONFOOT)
{
SetPlayerPos(i, Garagem[garageid][cnX], Garagem[garageid][cnY], Garagem[garageid][cnZ]);
SetPlayerVirtualWorld(i, 0);
SetPlayerInterior(i, 0);
format(string, sizeof(string), "A Garagem %d{00AB00} foi deletada.", garageid);
SendClientMessage(i, COR_SUCESSO, string);
}
else
{
new tmpcar = GetPlayerVehicleID(i);
SetVehiclePos(tmpcar, Garagem[garageid][cnX], Garagem[garageid][cnY], Garagem[garageid][cnZ]);
SetVehicleVirtualWorld(tmpcar, 0);
SetPlayerVirtualWorld(i, 0);
SetPlayerInterior(i, 0);
format(string, sizeof(string), "A Garagem %d{00AB00} foi deletada.", garageid);
SendClientMessage(i, COR_SUCESSO, string);
}
}
}
DOF2_RemoveFile(arquivo);
Deletado[garageid] = true;
Delete3DTextLabel(LabelSaida[garageid]);
Delete3DTextLabel(LabelEntrada[garageid]);
printf("Garagem %d foi deletada", garageid);
SalvarGaragens();
}
return 1;
}
public SetGaragemComent(garageid, coment[128])
{
new arquivo[64];
new string[128];
format(arquivo, sizeof(arquivo), "Garagem%d.inc", garageid);
if(!DOF2_FileExists(arquivo))
{
printf("Nгo existe este GarageID.");
return 1;
}
else
{
if(Deletado[garageid] == false)
{
printf("O Comentario da Garagem %d foi alterado", garageid);
LabelString[garageid] = coment;
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Entrada\n%s\n{ED6B79}Dono: %s", garageid, coment, GetLockGaragem(garageid), NameString[garageid]);
Update3DTextLabelText(LabelEntrada[garageid], 0xFFFFFFFF, string);
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Saida\n%s\n{ED6B79}Dono: %s", garageid, coment, GetLockGaragem(garageid), NameString[garageid]);
Update3DTextLabelText(LabelSaida[garageid], 0xFFFFFFFF, string);
SalvarGaragens();
}
}
return 1;
}
public SetGaragemDono(garageid, playerdono[64])
{
new arquivo[64];
new string[128];
format(arquivo, sizeof(arquivo), "Garagem%d.inc", garageid);
if(!DOF2_FileExists(arquivo))
{
printf("Nгo existe este GarageID.");
return 1;
}
else
{
if(Deletado[garageid] == false)
{
printf("O Dono da Garagem %d foi alterado", garageid);
NameString[garageid] = playerdono;
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Entrada\n%s\n{ED6B79}Dono: %s", garageid, LabelString[garageid], GetLockGaragem(garageid), playerdono);
Update3DTextLabelText(LabelEntrada[garageid], 0xFFFFFFFF, string);
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Saida\n%s\n{ED6B79}Dono: %s", garageid, LabelString[garageid], GetLockGaragem(garageid), playerdono);
Update3DTextLabelText(LabelSaida[garageid], 0xFFFFFFFF, string);
SalvarGaragens();
}
}
return 1;
}
public SetGaragemPos(garageid, Float:gx, Float:gy, Float:gz)
{
new arquivo[64];
new string[128];
format(arquivo, sizeof(arquivo), "Garagem%d.inc", garageid);
if(!DOF2_FileExists(arquivo))
{
printf("Nгo existe este GarageID.");
return 1;
}
else
{
if(Deletado[garageid] == false)
{
printf("A Pos da Garagem %d foi alterada", garageid);
Garagem[garageid][cnX] = gx;
Garagem[garageid][cnY] = gy;
Garagem[garageid][cnZ] = gz;
Delete3DTextLabel(LabelEntrada[garageid]);
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Entrada\n%s\n{ED6B79}Dono: %s", garageid, LabelString[garageid], GetLockGaragem(garageid), NameString[garageid]);
LabelEntrada[garageid] = Create3DTextLabel(string, 0xFFFFFFFF, gx, gy, gz, 30.0, 0, 1 );
SalvarGaragens();
}
}
return 1;
}
public GarageToPoint(Float:radi, garageid, Float, Float:y, Float:z)
{
for(new g=0; g<MAX_GARAGENS; g++)
{
if(Deletado[g] == false)
{
new Floatldposx, Floatldposy, Floatldposz;
new Float:tempposx, Float:tempposy, Float: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:radi, playerid, Float, Float:y, Float:z)
{
if(IsPlayerConnected(playerid))
{
new Floatldposx, Floatldposy, Floatldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
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(playerid, garageid)
{
if(Deletado[garageid] == false)
{
SendClientMessage(playerid, COR_SUCESSO, "O Portгo foi {F60000}Fechado {00AB00}totalmente.");
Garagem[garageid][cnLock] = 1;
new string[256];
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Entrada\n%s\n{ED6B79}Dono: %s", garageid, LabelString[garageid], GetLockGaragem(garageid), NameString[garageid]);
Update3DTextLabelText(LabelEntrada[garageid], 0xFFFFFFFF, string);
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Saida\n%s\n{ED6B79}Dono: %s", garageid, LabelString[garageid], GetLockGaragem(garageid), NameString[garageid]);
Update3DTextLabelText(LabelSaida[garageid], 0xFFFFFFFF, string);
SalvarGaragens();
}
return 1;
}
public AbrirGaragem(playerid, garageid)
{
if(Deletado[garageid] == false)
{
SendClientMessage(playerid, COR_SUCESSO, "O Portгo foi {00F600}Aberto {00AB00}totalmente.");
Garagem[garageid][cnLock] = 0;
new string[256];
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Entrada\n%s\n{ED6B79}Dono: %s", garageid, LabelString[garageid], GetLockGaragem(garageid), NameString[garageid]);
Update3DTextLabelText(LabelEntrada[garageid], 0xFFFFFFFF, string);
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Saida\n%s\n{ED6B79}Dono: %s", garageid, LabelString[garageid], GetLockGaragem(garageid), NameString[garageid]);
Update3DTextLabelText(LabelSaida[garageid], 0xFFFFFFFF, string);
SalvarGaragens();
}
return 1;
}
public Creditos()
{
SendClientMessageToAll(-1, "Garage System made by CidadeNovaRP.");
return 1;
}
public OnPlayerConnect(playerid)
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/cneditar", true) == 0)
{
if(IsPlayerAdmin(playerid))
{
for(new g=0; g<MAX_GARAGENS; g++)
{
if(PlayerToPoint(3.0, playerid, Garagem[g][cnX], Garagem[g][cnY], Garagem[g][cnZ]))
{
if(Deletado[g] == false)
{
EditandoGaragem[playerid] = g;
ShowPlayerDialog(playerid, 5555, DIALOG_STYLE_MSGBOX, "Criar Garagem","Clique em 'Meu Nome' para vocк ser o Dono ou em 'Editar' para mudar o Dono", "Meu Nome", "Editar");
}
}
}
}
return 1;
}
if(strcmp(cmdtext, "/cncriar", true) == 0)
{
if(IsPlayerAdmin(playerid))
{
new Float, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
EditandoGaragem[playerid] = GaragemAtual+1;
if(!GarageToPoint(7.0, EditandoGaragem[playerid], x, y, z))
{
ShowPlayerDialog(playerid, 5555, DIALOG_STYLE_MSGBOX, "Criar Garagem","Clique em 'Meu Nome' para vocк ser o Dono ou em 'Editar' para mudar o Dono", "Meu Nome", "Editar");
CriarGaragem("", GaragemAtual+1, x, y, z, "", true);
}
}
return 1;
}
if(strcmp(cmdtext, "/cndeletar", true) == 0)
{
if(IsPlayerAdmin(playerid))
{
for(new g=0; g<MAX_GARAGENS; g++)
{
if(PlayerToPoint(3.0, playerid, Garagem[g][cnX], Garagem[g][cnY], Garagem[g][cnZ]))
{
if(Deletado[g] == false)
{
DeletarGaragem(g);
}
}
}
}
return 1;
}
if (strcmp("/cnfechar", cmdtext, true, 10) == 0)
{
new string[256];
new playername[24];
for(new g=0; g<MAX_GARAGENS; g++)
{
if(PlayerToPoint(3.0, playerid, Garagem[g][cnX], Garagem[g][cnY], Garagem[g][cnZ]) || PlayerToPoint(3.0, playerid, COORDENADASGARAGEM) && g == 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", 5000, false, "ii", playerid, g);
Garagem[g][cnLock] = 3;
SendClientMessage(playerid, COR_SUCESSO, "O Portгo estб {F6F600}Fechando{00AB00}.");
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Entrada\n%s\n{ED6B79}Dono: %s", g, LabelString[g], GetLockGaragem(g), NameString[g]);
Update3DTextLabelText(LabelEntrada[g], 0xFFFFFFFF, string);
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Saida\n%s\n{ED6B79}Dono: %s", g, LabelString[g], GetLockGaragem(g), NameString[g]);
Update3DTextLabelText(LabelSaida[g], 0xFFFFFFFF, string);
break;
}
else
{
format(string, sizeof(string), "O Portгo jб estб %s{AD0000}.", GetLockGaragem(g));
SendClientMessage(playerid, COR_ERRO, string);
}
}
}
else
{
SendClientMessage(playerid, COR_ERRO, "Vocк nгo й Dono desta Garagem.");
}
}
}
return 1;
}
if (strcmp("/cnabrir", cmdtext, true, 10) == 0)
{
new string[256];
new playername[24];
for(new g=0; g<MAX_GARAGENS; g++)
{
if(PlayerToPoint(3.0, playerid, Garagem[g][cnX], Garagem[g][cnY], Garagem[g][cnZ]) || PlayerToPoint(3.0, playerid, COORDENADASGARAGEM) && g == 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", 5000, false, "ii", playerid, g);
Garagem[g][cnLock] = 2;
SendClientMessage(playerid, COR_SUCESSO, "O Portгo estб {F6F600}Abrindo{00AB00}.");
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Entrada\n%s\n{ED6B79}Dono: %s%s", g, LabelString[g], GetLockGaragem(g), NameString[g]);
Update3DTextLabelText(LabelEntrada[g], 0xFFFFFFFF, string);
format(string, sizeof(string), "{0000F6}[GARAGEM ID: %d]\n{00F6F6}%s\n{0000F6}Saida\n%s\n{ED6B79}Dono: %s%s", g, LabelString[g], GetLockGaragem(g), NameString[g]);
Update3DTextLabelText(LabelSaida[g], 0xFFFFFFFF, string);
break;
}
else
{
format(string, sizeof(string), "O Portгo jб estб %s{AD0000}.", GetLockGaragem(g));
SendClientMessage(playerid, COR_ERRO, string);
}
}
}
else
{
SendClientMessage(playerid, COR_ERRO, "Vocк nгo й Dono desta Garagem.");
}
}
}
return 1;
}
if (strcmp("/cnentrar", cmdtext, true, 10) == 0)
{
new string[64];
for(new g=0; g<MAX_GARAGENS; g++)
{
if(PlayerToPoint(3.0, playerid, Garagem[g][cnX], Garagem[g][cnY], Garagem[g][cnZ]))
{
if(Garagem[g][cnLock] == 0)
{
if(Deletado[g] == false)
{
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
{
SetPlayerPos(playerid, COORDENADASGARAGEM);
SetPlayerVirtualWorld(playerid, g+10);
SetPlayerInterior(playerid, 2);
format(string, sizeof(string), "Bem Vindo a Garagem %d.", g);
SendClientMessage(playerid, COR_SUCESSO, string);
}
else
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
if(Garagem[g][cnCar] <= MAX_CARS)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
new tmpcar = GetPlayerVehicleID(playerid);
if(IsPlayerInVehicle(i, tmpcar))
{
SetPlayerVirtualWorld(i, g+10);
SetPlayerInterior(playerid, 2);
Garagem[g][cnCar] ++;
SetVehicleVirtualWorld(tmpcar, g+10);
SetVehiclePos(tmpcar, COORDENADASGARAGEM);
format(string, sizeof(string), "Bem Vindo a Garagem %d.", g);
SendClientMessage(i, COR_SUCESSO, string);
}
}
}
else
{
SendClientMessage(playerid, COR_ERRO, "Jб tem o mбximo de Veнculos aceitos dentro desta Garagem.");
}
}
else
{
SendClientMessage(playerid, COR_ERRO, "Apenas Motoristas podem Entrar e Sair da Garagem.");
}
}
}
}
else
{
format(string, sizeof(string), "O Portгo estб %s{AD0000}.", GetLockGaragem(g));
SendClientMessage(playerid, COR_ERRO, string);
break;
}
}
}
return 1;
}
if (strcmp("/cnsair", cmdtext, true, 10) == 0)
{
new string[128];
for(new g=0; g<MAX_GARAGENS; g++)
{
if(g == GetPlayerVirtualWorld(playerid)-10)
{
if(PlayerToPoint(3.0, playerid, COORDENADASGARAGEM))
{
if(Garagem[g][cnLock] == 0)
{
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
{
SetPlayerPos(playerid, Garagem[g][cnX], Garagem[g][cnY], Garagem[g][cnZ]);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerInterior(playerid, 0);
format(string, sizeof(string), "Volte Sempre a Garagem %d.", g);
SendClientMessage(playerid, COR_SUCESSO, string);
}
else
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
new tmpcar = GetPlayerVehicleID(playerid);
if(IsPlayerInVehicle(i, tmpcar))
{
SetPlayerVirtualWorld(i, 0);
SetPlayerInterior(playerid, 0);
Garagem[g][cnCar] --;
SetVehicleVirtualWorld(tmpcar, 0);
SetVehiclePos(tmpcar, Garagem[g][cnX], Garagem[g][cnY], Garagem[g][cnZ]);
format(string, sizeof(string), "Volte Sempre a Garagem %d.", g);
SendClientMessage(i, COR_SUCESSO, string);
}
}
}
else
{
SendClientMessage(playerid, COR_ERRO, "Apenas Motoristas podem Entrar e Sair da Garagem.");
}
}
}
else
{
format(string, sizeof(string), "O Portгo estб %s{AD0000}.", GetLockGaragem(g));
SendClientMessage(playerid, COR_ERRO, string);
break;
}
}
}
}
return 1;
}
return 0;
}
public OnVehicleSpawn(vehicleid)
{
for(new g=0; g<MAX_GARAGENS; g++)
{
if(g == GetVehicleVirtualWorld(vehicleid)-10)
{
SetVehicleVirtualWorld(vehicleid, 0);
Garagem[g][cnCar] --;
}
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 5555)
{
if(response)
{
new playername[64];
GetPlayerName(playerid, playername, sizeof(playername));
SetGaragemDono(EditandoGaragem[playerid], playername);
ShowPlayerDialog(playerid, 5557, DIALOG_STYLE_INPUT, "Criar Garagem", "Digite o Comentario que irб aparecer no Label\nOBS: Caso nгo queira deixe o espaзo em branco e Avanзe", "Finalizar", "");
}
else
{
ShowPlayerDialog(playerid, 5556, DIALOG_STYLE_INPUT, "Criar Garagem", "Digite o Nick do Dono (Nгo o ID)\nOBS: Nгo importa se o Player estб Online ou nгo\nOBS: Caso nгo queira deixe o espaзo em branco e Avanзe", "Prуximo", "");
}
}
if(dialogid == 5556)
{
if(response)
{
if(!strlen(inputtext))
{
SetGaragemDono(EditandoGaragem[playerid], "Ninguem");
ShowPlayerDialog(playerid, 5557, DIALOG_STYLE_INPUT, "Criar Garagem", "Digite o Comentario que irб aparecer no Label\nOBS: Caso nгo queira deixe o espaзo em branco e Avanзe", "Finalizar", "");
}
else
{
new string[64];
format(string, sizeof(string), "%s", inputtext);
SetGaragemDono(EditandoGaragem[playerid], string);
ShowPlayerDialog(playerid, 5557, DIALOG_STYLE_INPUT, "Criar Garagem", "Digite o Comentario que irб aparecer no Label\nOBS: Caso nгo queira deixe o espaзo em branco e Avanзe", "Finalizar", "");
}
}
else
{
}
}
if(dialogid == 5557)
{
if(response)
{
if(!strlen(inputtext))
{
new string[128];
format(string, sizeof(string), "Sem Comentario");
SetGaragemComent(EditandoGaragem[playerid], string);
}
else
{
new string[128];
format(string, sizeof(string), "%s", inputtext);
SetGaragemComent(EditandoGaragem[playerid], string);
}
}
else
{
}
}
return 1;
}