[Pedido] Sistema de Chaves
#1

Eu nгo tenho noзгo de como fazer sistema de chaves, eu quero algo que nгo seja muito dнficil, eu queria saber se й mais ou menos assim, vocкs podem mandar uma base.

PHP код:
enum pCars
{
    
Chaves[24],
}
new 
Veiculos[MAX_VEHICLES][pCars];
stock CriarVeiculo(idcarFloat:XFloat:YFloat:Zcolor1color2)
{
    if(!
DOF2_FileExists(PastaCarros))
    {
        
CreateVehicle...
        
format(Veiculos[idcar][Chaves], 24"Ninguem"); // Bom, aн aqui seria -1, porque o resultado de cada chave
    
}
}
CMD:pegarchave(playerid)
{
    new 
id;
    
    if(
sscanf(params"d"id))
        return 
SendErrorMessage(playerid"Uso: /PegarChave [id do veiculo]");
        
    
format(Veiculos[id][Chaves], 24ReturnName(playerid));
    return 
1;
}
CMD:motor(playerid)
{
    if(!
IsPlayerInAnyVehicle(playerid))
        return 
SendErrorMessage(playerid"Vocк nгo estб em um veнculo.");
        
    new 
vehicleid GetPlayerVehicleID(playerid);
    
    if(!
PossuiChaves(playeridvehicleid))
    {
        
SendErrorMessage(playerid"Vocк nгo tem as chaves desse veнculo.");
        return 
1;
    }
    return 
1;
}
stock PossuiChaves(playeridcarid)
{
    if(!
strcmp(Veiculos[carid][Chaves], ReturnName(playerid), true24)) return 1;
    else return 
false;
}
stock ReturnName(playerid)
{
    new 
zNome[24];
    
GetPlayerName(playeridzNome24);
    return 
zNome;

Reply
#2

UP ?
Reply
#3

Й basicamente isso.
Tu jб fez e ta pegando?
Reply
#4

Quote:
Originally Posted by Felipealves
Посмотреть сообщение
Й basicamente isso.
Tu jб fez e ta pegando?
Eu queria saber se minha lуgica tб certa, e como colocar os ids dos veнculos nas chaves
Reply
#5

Quote:
Originally Posted by GuiKommander
Посмотреть сообщение
Eu queria saber se minha lуgica tб certa, e como colocar os ids dos veнculos nas chaves
Oxe.
Vocк jб estб fazendo.

PHP код:
Veiculos[id][Chaves
Reply
#6

Mas tipo, quando eu criei a stock de criar veнculos (para colocar as chaves tambйm), eu sу coloquei o ID do carro(modelo) a ser criado, como retorna os IDS de verdade que pega no GetPlayerVehicleID para as chaves?

Aqui:

PHP код:
format(Veiculos[idcar][Chaves], 24"Ninguem"); // Bom, aн aqui seria -1, porque o resultado de cada chave 
Esse ''idcar'' seria o ID do modelo do carro.
Reply
#7

PHP код:
#define PastaCarros        "Carros/Carros_%d"
enum pCars 

    
veiculoid,
    
Modelo,
    
Chaves[24],
    
vPos[4],
    
vCor[2],
}new 
Veiculos[MAX_VEHICLES][pCars];
stock CreateVehicleEx(modeloFloat:XFloat:YFloat:ZFloat:Acolor1color2

    new 
file[24];
    for(new 
veiculo 0veiculo MAX_VEHICLESveiculo++){
    
format(filesizeof(file), PastaCarrosveiculo);
        if(!
DOF2_FileExists(file))
        {
            
Veiculos[veiculo][veiculoid] = CreateVehicle(modeloXYZAcolor1color2, -10);
            
Veiculos[veiculo][vPos][0] = XVeiculos[veiculo][vPos][1] = YVeiculos[veiculo][vPos][2] = ZVeiculos[veiculo][vPos][3] = AVeiculos[veiculo][vCor][0] = color1Veiculos[veiculo][vCor][1] = color2;
            
format(Veiculos[veiculo][Chaves], 24"Ninguem");
            
DOF2_SetString(file"Chave_Dono""Ninguem");
            
DOF2_SetFloat(file"Pos_X", ...);
            
DOF2_SetFloat(file"Pos_Y", ...);
            
DOF2_SetFloat(file"Pos_Z", ...);
            
// resto da banco de dados do veiculo...
            
break; // para 
        
}
    }
    return 
1;
}
CMD:pegarchave(playerid

    new 
id
     
    if(
sscanf(params"d"id)) 
        return 
SendErrorMessage(playerid"Uso: /PegarChave [id do veiculo]"); 
    new 
file[24];
    
format(filesizeof(file), PastaCarrosidcar);
    if(
DOF2_FileExists(file)){
        if(!
strcmp(Veiculos[id][Chaves], "Ninguem"true)){
               
format(Veiculos[id][Chaves], 24ReturnName(playerid));
               
DOF2_SetString(file"Chave_Dono"ReturnName(playerid));
        }
        
// tem dono
    
}
    
// nгo existe
    
return 1

CMD:criarVeiculo(playerid

    new 
modelocor1cor2Float:xFloat:yFloat:zFloat:a;
    if(
sscanf(params"ddd"modelocor1cor2)) 
        return 
SendErrorMessage(playerid"Uso: /criarveiculo [modelo] [cor1] [cor2]");
    
GetPlayerPos(playeridxyz);
    
GetPlayerFacingAngle(playerida);
    
CreateVehicleEx(modeloxyzacolor1color2);
    return 
1

CMD:motor(playerid

    if(!
IsPlayerInAnyVehicle(playerid)) 
        return 
SendErrorMessage(playerid"Vocк nгo estб em um veнculo."); 
         
    new 
vehicleid GetPlayerVehicleID(playerid); 
     
    if(!
PossuiChaves(playeridvehicleid)) 
    { 
        
SendErrorMessage(playerid"Vocк nгo tem as chaves desse veнculo."); 
        return 
1
    } 
    return 
1

stock PossuiChaves(playeridcarid

    if(!
VehicleExists(carid)) return false;
    if(!
strcmp(Veiculos[carid][Chaves], ReturnName(playerid), true)) return true
    return 
false

stock VehicleExists(carid){
    new 
file[24];
    
format(filesizeof(file), PastaCarroscarid);
    if(
DOF2_FileExists(file)) return true;
    return 
false;
}
stock ReturnName(playerid

    new 
zNome[24]; 
    
GetPlayerName(playeridzNome24); 
    return 
zNome

idcar serб basicamente usado para verificar se a pasta existe.
'Veiculos[idcar][veiculoid]'. veiculoid й o id do carro no jogo.
Reply
#8

Quote:
Originally Posted by Felipealves
Посмотреть сообщение
PHP код:
#define PastaCarros        "Carros/Carros_%d"
enum pCars 

    
veiculoid,
    
Modelo,
    
Chaves[24],
    
vPos[4],
    
vCor[2],
}new 
Veiculos[MAX_VEHICLES][pCars];
stock CreateVehicleEx(modeloFloat:XFloat:YFloat:ZFloat:Acolor1color2

    new 
file[24];
    for(new 
veiculo 0veiculo MAX_VEHICLESveiculo++){
    
format(filesizeof(file), PastaCarrosveiculo);
        if(!
DOF2_FileExists(file))
        {
            
Veiculos[veiculo][veiculoid] = CreateVehicle(modeloXYZAcolor1color2, -10);
            
Veiculos[veiculo][vPos][0] = XVeiculos[veiculo][vPos][1] = YVeiculos[veiculo][vPos][2] = ZVeiculos[veiculo][vPos][3] = AVeiculos[veiculo][vCor][0] = color1Veiculos[veiculo][vCor][1] = color2;
            
format(Veiculos[veiculo][Chaves], 24"Ninguem");
            
DOF2_SetString(file"Chave_Dono""Ninguem");
            
DOF2_SetFloat(file"Pos_X", ...);
            
DOF2_SetFloat(file"Pos_Y", ...);
            
DOF2_SetFloat(file"Pos_Z", ...);
            
// resto da banco de dados do veiculo...
            
break; // para 
        
}
    }
    return 
1;
}
CMD:pegarchave(playerid

    new 
id
     
    if(
sscanf(params"d"id)) 
        return 
SendErrorMessage(playerid"Uso: /PegarChave [id do veiculo]"); 
    new 
file[24];
    
format(filesizeof(file), PastaCarrosidcar);
    if(
DOF2_FileExists(file)){
        if(!
strcmp(Veiculos[id][Chaves], "Ninguem"true)){
               
format(Veiculos[id][Chaves], 24ReturnName(playerid));
               
DOF2_SetString(file"Chave_Dono"ReturnName(playerid));
        }
        
// tem dono
    
}
    
// nгo existe
    
return 1

CMD:criarVeiculo(playerid

    new 
modelocor1cor2Float:xFloat:yFloat:zFloat:a;
    if(
sscanf(params"ddd"modelocor1cor2)) 
        return 
SendErrorMessage(playerid"Uso: /criarveiculo [modelo] [cor1] [cor2]");
    
GetPlayerPos(playeridxyz);
    
GetPlayerFacingAngle(playerida);
    
CreateVehicleEx(modeloxyzacolor1color2);
    return 
1

CMD:motor(playerid

    if(!
IsPlayerInAnyVehicle(playerid)) 
        return 
SendErrorMessage(playerid"Vocк nгo estб em um veнculo."); 
         
    new 
vehicleid GetPlayerVehicleID(playerid); 
     
    if(!
PossuiChaves(playeridvehicleid)) 
    { 
        
SendErrorMessage(playerid"Vocк nгo tem as chaves desse veнculo."); 
        return 
1
    } 
    return 
1

stock PossuiChaves(playeridcarid

    if(!
VehicleExists(carid)) return false;
    if(!
strcmp(Veiculos[carid][Chaves], ReturnName(playerid), true)) return true
    return 
false

stock VehicleExists(carid){
    new 
file[24];
    
format(filesizeof(file), PastaCarroscarid);
    if(
DOF2_FileExists(file)) return true;
    return 
false;
}
stock ReturnName(playerid

    new 
zNome[24]; 
    
GetPlayerName(playeridzNome24); 
    return 
zNome

idcar serб basicamente usado para verificar se a pasta existe.
'Veiculos[idcar][veiculoid]'. veiculoid й o id do carro no jogo.
Valeu.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)