[Pedido] Criar objeto atravйs de um arquivo
#1

Sei que parece ser uma pergunta meio que "Noob", uma coisa bбsica.

Mais й que nгo consigo mesmo fazer isso.

Eu quero fazer o seguinte, quero usar uma funзгo como por exemplo:

CriarObjeto(...,....)

E a mesma salve esse objeto em um arquivo .txt ou .ini,

Para que quando o FilterScript ser iniciado, ele carregue os objetos desse .txt ou .ini.

#lembrando que os objetos devem ser definidos tipo Cone1, Cone2, Cone3.

Seria basicamente tipo new ObjetosCriados[3];
objetocriado[1] = .....

Sу que salvo em alguma pasta dos Scriptfiles.
Reply
#2

Й algo mais ou menos assim...

PHP код:
function carregarObjects(arquivo[]) {
    new 
        
modelo,
        
Float:poss[6]
    ;
    if(
DOF2_FileExists(arquivo)) {
        
modelo DOF2_GetInt(arquivo"Modelo");
        
poss[0] = DOF2_GetFloat(arquivo"PosX");
        
poss[1] = DOF2_GetFloat(arquivo"PosY");
        
poss[2] = DOF2_GetFloat(arquivo"PosZ");
        
poss[3] = DOF2_GetFloat(arquivo"rotX");
        
poss[4] = DOF2_GetFloat(arquivo"rotY");
        
poss[5] = DOF2_GetFloat(arquivo"rotZ");
        
CreateObject(modeloposs[0], poss[1], poss[2], poss[3], poss[4], poss[5]);
        print(
"Objeto criado!");
    }
    else print(
"Nгo foi possнvel carregar o arquivo.");
    return 
1;
}
//Usando:
carregarObjects("aeroporto.ini"); 
Reply
#3

Mais e para definir esses objetos que foram salvos no "aeroporto.ini" ?

Por exemplo, vou criar uma esteira numa casa, vou e uso /comprarmovel esteira, ela foi salva no .ini, agora eu quero utilizar a posiзгo e rotaзгo que ela foi criada para aplicar uma animaзгo emcima disso, seria o mesmo conceito ?

Queria por exemplo salvar com uma descriзгo tipo Esteira tal tal, se for Esteira, aplica tal animaзгo, Barra tal tal, se for barra aplica tal animaзгo.

No caso seria mais facil eu salvar, esteiras em um .ini diferente do .ini das barras e assim vai ?

Nгo entendi muito bem.
Reply
#4

Й capaz que dк erros... Estou pelo celular. Й algo mais ou menos assim:

PHP код:
function criarObjects(arquivo[], modeloFloat:posXFloat:posYFloat:posZFloat:rXFloat:rYFloat:rZ) {
    if(!
DOF2_FileExists(arquivo)) {
        
DOF2_CreateFile(arquivo);
        
DOF2_SetInt(arquivo"Modelo"modelo);
        
DOF2_SetFloat(arquivo"PosX"posX);
        
DOF2_SetFloat(arquivo"PosY"posY);
        
DOF2_SetFloat(arquivo"PosZ"posZ);
        
DOF2_SetFloat(arquivo"rotX"rX);
        
DOF2_SetFloat(arquivo"rotY"rY);
        
DOF2_SetFloat(arquivo"rotZ"rZ);
        
carregarObjects(arquivo);
    }
    else print(
"O arquivo jб existe.");
    return 
1;
}

command(criar_objectplayeridparams[]) {
    new
        
arquivo[56],
        
modell,
        
Float:posic[6]
    ;
    if(
sscanf(params"s[56]dffffff"arquivomodellposic[0], posic[1], posic[2], posic[3], posic[4], posic[5]))
        return 
SendClientMessage(playerid, -1"Use: /criar_object [arquivo] [modelo] [X] [Y] [Z] [rotX] [rotY] [rotZ]");
    
criarObjects(arquivomodellposic[0], posic[1], posic[2], posic[3], posic[4], posic[5]);
    return 
1;

Reply
#5

Mais no caso, como eu usaria pra checar a posiзгo de certo objeto ?

Tipo, eu adicionei mais uma Integer que й (idobjeto)

Eu quero tipo checar, se o player estб perto do idobjeto 1, 2 ou outro, e a posiзгo do mesmo idobjeto, tem como isso ?
Reply
#6

Quote:
Originally Posted by FaveladoBR
Посмотреть сообщение
Mais no caso, como eu usaria pra checar a posiзгo de certo objeto ?

Tipo, eu adicionei mais uma Integer que й (idobjeto)

Eu quero tipo checar, se o player estб perto do idobjeto 1, 2 ou outro, e a posiзгo do mesmo idobjeto, tem como isso ?
IsPlayerInRangeOfPoint ou GetPlayerDistanceFromPoint.

A os exemplos do ipsLuan tao certin, mas eu aconselho tu a usar para salvar/obter a posiзгo de um objeto por meio de uma string e apуs isto usar sscanf ou outro meio para separar os valores...
Pois assim economizaria MUITAS linhas
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)