Veнculo casa -
AutoMatic2 - 26.06.2018
Alguem me da uma ideia de como eu vo colocar veнculos na minha casa
Tipo eu queria assim: /CriarCasa [Preзo] [Interior] Ae ta tudo legal!
Mas ai eu queria que dava: /CriarVeiculoCasa [CasaId] [Modelo] no lugar que eu estou. no caso na garagem da casa.
so que nгo tenho ideia, ai tipo no Arquivo Casas/Casa%d.ini, podia criar as posiзгo do veнculo, CasaId, Modelo, Cor1, Cor2 entre outros.
- Assim, eu n sei como eu pego o [CasaId] e tbm coloco Posiзгo, CasaId, Modelo, Cores do veнculos em uma Pasta:
Ex:
VeiculosCasa/Casa%d
Ou pode ser onde que armazenam as casa tbm >
Casas/Casa%d;ini
Olha o meu /CriarCasa:
PHP код:
if(strcmp(cmd, "/CriarCasa", true) == 0)
{
if(IsPlayerAdmin(playerid))
{
new Preco, Interior, Float:X, Float:Y, Float:Z;
if(sscanf(cmdtext, "s[20]dd", cmd, Preco, Interior))
{
SendClientMessage(playerid, Vermelho, "| ERRO | Use: /CriarCasa [Preзo] [Interior]");
return 1;
}
GetPlayerPos(playerid, X, Y, Z);
format(query, sizeof(query), "Casas/Casa%d.ini", ProximaCasa);
if(!DOF2_FileExists(query))
{
DOF2_CreateFile(query);
DOF2_SetString(query, "Dono", "Ninguem");
DOF2_SetString(query, "Morador", "Ninguem");
DOF2_SetString(query, "Mensagem", "Nada");
DOF2_SetInt(query, "TDono", 0);
DOF2_SetInt(query, "Interior", Interior);
DOF2_SetInt(query, "InteriorId", 1);
DOF2_SetInt(query, "Preco", Preco);
DOF2_SetInt(query, "CasaId", ProximaCasa);
DOF2_SetInt(query, "Contas", 0);
DOF2_SetFloat(query, "X", X);
DOF2_SetFloat(query, "Y", Y);
DOF2_SetFloat(query, "Z", Z);
DOF2_SaveFile();
ProximaCasa++;
}
}
else
{
SendClientMessage(playerid, Vermelho, "| ERRO | Vocк nгo tem permissгo!");
}
return 1;
}
Re: Veнculo casa -
Minerva - 27.06.2018
Opa, fiz este codigo aqui rapidinho(nгo compilei) XD
PHP код:
CMD:criarveiculocasa(playerid, params[]);
{
new Pasta[20], CasaID, Modelo, Colors[2], Float:pos[4];
if(sscanf(params, "dddd", CasaID, Modelo, Colors[0], Colors[1])) return SendClientMessage(playerid, -1, "| ERRO | Use: /criarveiculocasa [CasaID] [Modelo] [COR1] [COR2]");
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
GetPlayerFacingAngle(playerid, pos[3]);
format(Pasta, sizeof Pasta, "Casas/Casa%d.ini", CasaID);
if(!DOF2::Exists(Pasta)) return SendClientMessage(playerid, -1, "| ERRO | Casa nгo existe!");
format(Pasta, sizeof Pasta, "VeiculosCasas/Casa%d.ini", CasaID);
DOF2::CreateFile(Pasta);
DOF2::SetInt(Pasta, "ID", Modelo);
DOF2::SetInt(Pasta, "Cor1", Colors[0]);
DOF2::SetInt(Pasta, "Cor2", Colors[1]);
DOF2::SetFloat(Pasta, "X", pos[0]);
DOF2::SetFloat(Pasta, "Y", pos[1]);
DOF2::SetFloat(Pasta, "Z", pos[2]);
DOF2::SetFloat(Pasta, "A", pos[3]);
DOF2::SaveFile();
CreateVehicle(Modelo, pos[0], pos[1], pos[2], pos[3], Colors[0], Colors[1], 0);
SendClientMessage(playerid, -1, "Vocк criou o carro!");
return 1;
}
recomendo muito associar os valores a variбveis!
PHP код:
enum Carros
{
Model,
Float:X,
Float:Y,
Float:Z,
Float:A,
Color1,
Color2
}
new CasaCarros[MAX_CASAS][Carros];
Re: Veнculo casa -
AutoMatic2 - 27.06.2018
Eu coloquei 2 DOF2_SetInt com os nomes: CasaTVeiculo й VeiculoTDono
Quando eu do /CriarCasa o: CasaTVeiculo = 1;
Quando o player da /ComprarCasa o: VeiculoTDono = 1;
Quando o player da /VenderCasa o: VeiculoTDono = 0;
Ai vai me ajudando quando eu for criar os comandos: /PintarVeiculoCasa, /NomeVeiculoCasa... Por ai Vai
Agora me ajuda como eu vo carregar os Veнculos junto com essa stock aki
Ela carrega o TextLabel e outras coisas, Como Carrega os veнculos nessa stock
ou fora dela tbm, se carregando '-'
NO CASO ESSA STOCK VAI NA PUBLIC: OnGameModeInit
PHP код:
stock CarregarCasas()
{
for(new c = 0; c < MAX_CASAS; c++)
{
format(query, sizeof(query), "Casas/Casa%d.ini", c);
if(DOF2_FileExists(query))
{
if(DOF2_GetInt(query, "TDono") == 0)
{
format(string, sizeof(string), "{1E90FF}Casa Id: {FFFFFF}%d\n\n{1E90FF}Dono(a): {FFFFFF}Ninguem\n/InfoCasa", c);
LabelCasa[c] = CreateDynamic3DTextLabel(string, Branco, DOF2_GetFloat(query, "X"), DOF2_GetFloat(query, "Y"), DOF2_GetFloat(query, "Z"), 30.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, -1, -1, -1, 200.0);
ProximaCasa++;
}
else
{
format(string, sizeof(string), "{1E90FF}Casa Id: {FFFFFF}%d\n\n{1E90FF}Dono(a): {FFFFFF}%s\n/InfoCasa", c, DOF2_GetString(query, "Dono"));
LabelCasa[c] = CreateDynamic3DTextLabel(string, Branco, DOF2_GetFloat(query, "X"), DOF2_GetFloat(query, "Y"), DOF2_GetFloat(query, "Z"), 30.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, -1, -1, -1, 200.0);
ProximaCasa++;
}
}
}
}
VLW +REP MINERVAO
Re: Veнculo casa -
Minerva - 27.06.2018
Opa! eu estou sem meu notebook no momento, fica difнcil fazer qualquer cуdigo :/
Se atente ao fato de que a indexaзгo dos veнculos deve comeзar do 1, ou seja, se existir uma casa ID = 0, й provбvel que o veiculo da ultima casa nгo vai ser criado
ps: nгo compilei estou fazendo tudo no notpad
PHP код:
CarregarCasas()
{
for(new c = 0; c < MAX_CASAS; c++)
{
format(query, sizeof(query), "Casas/Casa%d.ini", c);
if(DOF2::FileExists(query))
{
if(DOF2_GetInt(query, "TDono") == 0)
{
format(string, sizeof(string), "{1E90FF}Casa Id: {FFFFFF}%d\n\n{1E90FF}Dono(a): {FFFFFF}Ninguem\n/InfoCasa", c);
LabelCasa[c] = CreateDynamic3DTextLabel(string, Branco, DOF2_GetFloat(query, "X"), DOF2_GetFloat(query, "Y"), DOF2_GetFloat(query, "Z"), 30.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, -1, -1, -1, 200.0);
if(DOF2::GetInt(query, "CasaTVeiculo") == 1) CarregarCarroCasa(c);
ProximaCasa++;
}
else
{
format(string, sizeof(string), "{1E90FF}Casa Id: {FFFFFF}%d\n\n{1E90FF}Dono(a): {FFFFFF}%s\n/InfoCasa", c, DOF2_GetString(query, "Dono"));
LabelCasa[c] = CreateDynamic3DTextLabel(string, Branco, DOF2_GetFloat(query, "X"), DOF2_GetFloat(query, "Y"), DOF2_GetFloat(query, "Z"), 30.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, -1, -1, -1, 200.0);
if(DOF2::GetInt(query, "CasaTVeiculo") == 1) CarregarCarroCasa(c);
ProximaCasa++;
}
}
}
}
CarregarCarroCasa(IDCarro)
{
format(query, sizeof query, "VeiculosCasas/Casa%d.ini", IDCarro);
if(!DOF2::FileExists(query)) return print("Carro invalido!");
CarrosCasas[IDCarro] = CreateVehicle(DOF2::GetInt(query, "ID"), DOF2::GetFloat(query, "X"), DOF2::GetFloat(query, "Y"), DOF2::GetFloat(query, "Z"), DOF2::GetFloat(query, "A"), DOF2::GetInt(query, "Cor1"), DOF2::GetInt(query, "Cor2"), 0);
}