Boa tarde/noite/dia
to fazendo meu sistema de veiculos proprios, mas na parte de criaçao in-game ele nao funciona como eu gostaria, eu sei que estou fazendo errado mas nao sei um jeito melhor de fazer e por isso venho pedir ajuda.
a define da pasta: Carros "Carros/Carro%d.ini"
O que acontece aqui é que na criaçao in-game, o 3dtext vai pro veiculo de id dentro do jogo, veiculos de profissao e outros que foram criados no gamemodeinit.
porém oq eu quero é q independente de quantos veiculos tenha no servidor, os veiculos proprios sempre sejam criados com ids baixos, quero q os ids ingame de 1 a 250 sejam dos v2 (veiculos proprios) e o resto seja de profissoes e etc...
*OBS: se criar um v2 e reiniciar o servidor ele funciona tudo certinho e fica com os ids q eu quero, porém eu nao quero ter q reiniciar pra funcionar.
Se alguem souber de um jeito q eu possa fazer isso, fico grato, ou se tiver algum plugin ou gambiarra tambem kkkk
to fazendo meu sistema de veiculos proprios, mas na parte de criaçao in-game ele nao funciona como eu gostaria, eu sei que estou fazendo errado mas nao sei um jeito melhor de fazer e por isso venho pedir ajuda.
a define da pasta: Carros "Carros/Carro%d.ini"
Citar:CMD:criarv2 (playerid, params[])
{
if(Player[playerid][Pika] != 2) return SendClientMessage(playerid, vermelho, NaoPode);
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, vermelho, "| ERRO | Você precisa estar em um veículo para criar um v2.");
new modelo, info, texto[256], idv = GetNextIdV2(), Floatosi[4], pasta[64], Label[24];
if(sscanf(params, "id", modelo, info)) return SendClientMessage(playerid, vermelho, "| COMANDO | Use /criarv2 [ id modelo ][ info ]");
if(modelo < 400 || modelo > 611) return SendClientMessage(playerid, vermelho, "| ERRO | Id inválido, use 400-611");
if(info < 0) return SendClientMessage(playerid, vermelho, "| ERRO | Info inválida, use acima de 0");
format(pasta, sizeof(pasta), Carros, idv);
GetVehiclePos(GetPlayerVehicleID(playerid), Posi[0], Posi[1], Posi[2]);
GetVehicleZAngle(GetPlayerVehicleID(playerid), Posi[3]);
DOF2_CreateFile(pasta);
DOF2_SetBool(pasta, "tDono", false), V2[idv][tDono] = false;
DOF2_SetInt(pasta, "IDv", idv), V2[idv][IDv] = idv;
DOF2_SetInt(pasta, "vModelo", modelo), V2[idv][vModelo] = modelo;
DOF2_SetInt(pasta, "vInfo", info), V2[idv][vInfo] = info;
DOF2_SetInt(pasta, "vInfo", info), V2[idv][vInfo] = info;
DOF2_SetString(pasta, "nDono", "Ninguém"), format(V2[idv][nDono], 24, "Ninguém");
DOF2_SetFloat(pasta, "ConceX", Posi[0]), V2[idv][ConceX] = Posi[0];
DOF2_SetFloat(pasta, "ConceY", Posi[1]), V2[idv][ConceY] = Posi[1];
DOF2_SetFloat(pasta, "ConceZ", Posi[2]), V2[idv][ConceZ] = Posi[2];
DOF2_SetFloat(pasta, "ConceA", Posi[3]), V2[idv][ConceA] = Posi[3];
DOF2_SetFloat(pasta, "SalvoX", Posi[0]), V2[idv][SalvoX] = Posi[0];
DOF2_SetFloat(pasta, "SalvoY", Posi[1]), V2[idv][SalvoY] = Posi[1];
DOF2_SetFloat(pasta, "SalvoZ", Posi[2]), V2[idv][SalvoZ] = Posi[2];
DOF2_SetFloat(pasta, "SalvoA", Posi[3]), V2[idv][SalvoA] = Posi[3];
DOF2_SetInt(pasta, "vCor1", 157), V2[idv][vCor1] = 157;
DOF2_SetInt(pasta, "vCor2", 157), V2[idv][vCor2] = 157;
DOF2_SetInt(pasta, "vContas", 0), V2[idv][vContas] = 0;
DOF2_SetBool(pasta, "vPortas", false), V2[idv][vPortas] = false;
DOF2_SetInt(pasta, "vDano", 0), V2[idv][vDano] = 0;
DOF2_SetHex(pasta, "CorNick", 0xFFFFFFFF), V2[idv][CorNick] = 0xFFFFFFFF;
DOF2_SetString(pasta, "vPlaca", "BDV"), format(V2[idv][vPlaca], 15, "BDV");
DOF2_SaveFile();
idv = CreateVehicle(modelo, Posi[0], Posi[1], Posi[2], Posi[3], 157, 157, 0);
format(Label, sizeof(Label), "%s", V2[idv][nDono]);
V2[idv][v3DText] = Create3DTextLabel(Label, V2[idv][CorNick], 0, 0,0, 20.0, 0, 0);
Attach3DTextLabelToVehicle(V2[idv][v3DText], idv, -0.1286, -1.4873, 0.2334);
SetVehicleNumberPlate(idv, V2[idv][vPlaca]);
format(texto, sizeof(texto), "| V2 | Você criou o v2 id %i, modelo %i, info $%i", idv, modelo, info);
SendClientMessage(playerid, azulado, texto);
format(Log, sizeof(Log), "%s criou o v2 %d, modelo %i, info %i", GetPlayerNameEx(playerid), idv, info);
fileLog("CriarV2", Log);
return 1;
}
stock GetNextIdV2()
{
new pasta[64];
for(new i = 0; i < MAX_V2; i++)
{
format(pasta, sizeof(pasta), Carros, i);
if(i == 0) continue;
if(!DOF2_FileExists(pasta)) return i;
}
return MAX_V2;
}
O que acontece aqui é que na criaçao in-game, o 3dtext vai pro veiculo de id dentro do jogo, veiculos de profissao e outros que foram criados no gamemodeinit.
porém oq eu quero é q independente de quantos veiculos tenha no servidor, os veiculos proprios sempre sejam criados com ids baixos, quero q os ids ingame de 1 a 250 sejam dos v2 (veiculos proprios) e o resto seja de profissoes e etc...
*OBS: se criar um v2 e reiniciar o servidor ele funciona tudo certinho e fica com os ids q eu quero, porém eu nao quero ter q reiniciar pra funcionar.
Se alguem souber de um jeito q eu possa fazer isso, fico grato, ou se tiver algum plugin ou gambiarra tambem kkkk