SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese

Reply
 
Thread Tools Display Modes
Old 15/07/2019, 12:01 AM   #1
Biscoito
Little Clucker
 
Join Date: Feb 2019
Posts: 10
Reputation: 0
Default Casas não deletam corretamente

Eae Pessoal, blz ? tou com um probleminha muito serio em meu sistema de casas, eu basicamente crio as casas salvam e carregam tudo certo agora o problema e na hora de deleta-las com o comando: /deletarcasa [ID da Casa]

porem apenas deleta a ultima casa que eu criei, Exemplo: criei a casa de id 1 depois deletei ela ai some pickup textlabel e é deletado dos arquivos mas quando eu crio mais de 1 casa como Casa ID 1 e ID 2 e depois tento deletar a casa ID 1 o Pickup e TextLabel da Casa ID 2 some e o arquivo da Casa ID 1 é deletado, preciso de ajuda urgente
com isso, aqui está os comandos:

Comando Para criar a Casa:

PHP Code:
CMD:criarcasa(playeridparams[])
{
    if(
fazendoteste[playerid] == 1) return SendClientMessage(playerid, -1"{F0DBB8}Voce Nao Pode Usar esse comando pois esta em um {FF0000}Evento/jogo/Teste");
    if(
bfazendoteste[playerid] == 1) return SendClientMessage(playerid, -1"{F0DBB8}Voce Nao Pode Usar esse comando pois esta em um {FF0000}Evento/jogo/Teste");
    if(
afazendoteste[playerid] == 1) return SendClientMessage(playerid, -1"{F0DBB8}Voce Nao Pode Usar esse comando pois esta em um {FF0000}Evento/jogo/Teste");


    if(
Player[playerid][admin] == 5)
    {
        new 
casaidcasalevelcasainteriorcasaprecocasavirtualworld;
        new 
Casaarq[50];
        new 
textocasa[200];
        new 
Float:CPOSX;
        new 
Float:CPOSY;
        new 
Float:CPOSZ;

        
GetPlayerPos(playeridCPOSXCPOSYCPOSZ);
        
        if(
sscanf(params"ddddd"casaidcasalevelcasainteriorcasaprecocasavirtualworld))
            return 
SendClientMessage(playeridcinza"Use: /criarcasa [ID da Casa] [Level para Comprar] [Interior] [Preco] [Virtual World]");
            
        if(
casainterior || casainterior 6)
            return 
SendClientMessage(playeridcinza"Interiores [0 a 6]");

        if(
casalevel LEVEL_MAX || casalevel LEVEL_MIN)
            return 
SendClientMessage(playeridcinza"Level Minimo: 3, Level Maximo: 25");
            

        for(new 
casa 1casa MAX_CASAScasa++)
        {
            
format(Casaarqsizeof(Casaarq), "Casas/%d.txt"casaid);
            if(!
DOF2_FileExists(Casaarq))
            {
                
Casa[casa][Casaid] = casaid;
                
Casa[casa][CasaLevel] = casalevel;
                
Casa[casa][Casapreco] = casapreco;
                
Casa[casa][Interior] = casainterior;
                
Casa[casa][CasaPosX] = CPOSX;
                
Casa[casa][CasaPosY] = CPOSY;
                
Casa[casa][CasaPosZ] = CPOSZ;
                
Casa[casa][VirtualWorld] = casavirtualworld;
                
                
DOF2_CreateFile(Casaarq);
                
DOF2_SetInt(Casaarq"ID da Casa"Casa[casa][Casaid]);
                
DOF2_SetInt(Casaarq"Level Para Comprar"Casa[casa][CasaLevel]);
                
DOF2_SetInt(Casaarq"Interior"Casa[casa][Interior]);
                
DOF2_SetInt(Casaarq"Preco da Casa"Casa[casa][Casapreco]);
                
DOF2_SetInt(Casaarq"Virtual World"Casa[casa][VirtualWorld]);
                
DOF2_SetFloat(Casaarq"Casa PosX"Casa[casa][CasaPosX]);
                
DOF2_SetFloat(Casaarq"Casa PosY"Casa[casa][CasaPosY]);
                
DOF2_SetFloat(Casaarq"Casa PosZ"Casa[casa][CasaPosZ]);
                
DOF2_SetBool(Casaarq"Trancada"true);
                
DOF2_SetBool(Casaarq"Possui Dono"false);
                
Casa[casa][CasaPickup] = CreateDynamicPickup(12731CPOSXCPOSYCPOSZ00, -130.0);
                
format(textocasasizeof(textocasa), "{93E82C}Casa ID: {FFFFFF}%d\n{93E82C}Proprietario: {FFFFFF}Ninguém\n{93E82C}Level Para Comprar: {FFFFFF}%d\n{93E82C}Preco da Casa: {FFFFFF}%d\n{68B9FF}/comprarcasa para comprar"casaidcasalevelcasapreco);
                
Casa[casa][Texto] = Create3DTextLabel(textocasa, -1CPOSXCPOSYCPOSZ2000); //Texto Actor Bem Vindo
                
DOF2_SaveFile();
            
            }
            else
            {
                
SetTimerEx("CasaCriada"segundos(1), false"i"playerid);
                
            
            }
        
        }
            
    }

    return 
true;

Comando para Deleta-las:

PHP Code:
CMD:deletarcasa(playeridparams[])
{
    if(
fazendoteste[playerid] == 1) return SendClientMessage(playerid, -1"{F0DBB8}Voce Nao Pode Usar esse comando pois esta em um {FF0000}Evento/jogo/Teste");
    if(
bfazendoteste[playerid] == 1) return SendClientMessage(playerid, -1"{F0DBB8}Voce Nao Pode Usar esse comando pois esta em um {FF0000}Evento/jogo/Teste");
    if(
afazendoteste[playerid] == 1) return SendClientMessage(playerid, -1"{F0DBB8}Voce Nao Pode Usar esse comando pois esta em um {FF0000}Evento/jogo/Teste");

    
    if(
Player[playerid][admin] == 5)
    {
        new 
idcasa;
        new 
Casaarq[50];
    
        if(
sscanf(params"d"idcasa))
                return 
SendClientMessage(playeridcinza"Use: /deletarcasa [ID da Casa]");

        for(new 
casa 1casa MAX_CASAScasa++)
          {
            
format(Casaarqsizeof(Casaarq), "Casas/%d.txt"idcasa);
            if(
DOF2_FileExists(Casaarq))
            {

                    
DestroyDynamicPickup(Casa[casa][CasaPickup]);
                    
Delete3DTextLabel(Casa[casa][Texto]);
                    
DOF2_RemoveFile(Casaarq);

                    

            }
            else
            {


            }
          }


        
SendClientMessage(playeridcinza"Essa Casa não existe");
    
    }
    else
    {
        
SendClientMessage(playeridcinza"Voce não tem permissão pra usar esse comando");
    
    }



    return 
1;


Public Para Salvar:

PHP Code:
public SalvarCasas()
{
    new 
Casaarq[50];


    for(new 
casa 1casa MAX_CASAScasa++)
    {
        
format(Casaarqsizeof(Casaarq), "Casas/%d.txt"casa);
        if(
DOF2_FileExists(Casaarq))
        {
                
DOF2_SetInt(Casaarq"ID da Casa"Casa[casa][Casaid]);
                
DOF2_SetInt(Casaarq"Level Para Comprar"Casa[casa][CasaLevel]);
                
DOF2_SetInt(Casaarq"Interior"Casa[casa][Interior]);
                
DOF2_SetInt(Casaarq"Preco da Casa"Casa[casa][Casapreco]);
                
DOF2_SetInt(Casaarq"Virtual World"Casa[casa][VirtualWorld]);
                
DOF2_SetFloat(Casaarq"Casa PosX"Casa[casa][CasaPosX]);
                
DOF2_SetFloat(Casaarq"Casa PosY"Casa[casa][CasaPosY]);
                
DOF2_SetFloat(Casaarq"Casa PosZ"Casa[casa][CasaPosZ]);
                
DOF2_SetBool(Casaarq"Trancada"Casa[casa][Trancada]);
                
DOF2_SetBool(Casaarq"Possui Dono"Casa[casa][PossuiDono]);
                
DOF2_SaveFile();
        
        
        }

    
    }



    return 
1;


Public para Carregar:

PHP Code:
public CarregarCasas()
{
    new 
Casaarq[50];
    new 
textocasa[200];
    
    for(new 
casa 1casa MAX_CASAScasa++)
    {
        
format(Casaarqsizeof(Casaarq), "Casas/%d.txt"casa);
        if(
DOF2_FileExists(Casaarq))
        {
            
Casa[casa][Casaid] = DOF2_GetInt(Casaarq"ID da Casa");
            
Casa[casa][CasaLevel] = DOF2_GetInt(Casaarq"Level Para Comprar");
            
Casa[casa][Casapreco] = DOF2_GetInt(Casaarq"Preco da Casa");
            
Casa[casa][VirtualWorld] = DOF2_GetInt(Casaarq"Virtual World");
            
Casa[casa][Interior] = DOF2_GetInt(Casaarq"Interior");
            
Casa[casa][CasaPosX] = DOF2_GetFloat(Casaarq"Casa PosX");
               
Casa[casa][CasaPosY] = DOF2_GetFloat(Casaarq"Casa PosY");
               
Casa[casa][CasaPosZ] = DOF2_GetFloat(Casaarq"Casa PosZ");
               
Casa[casa][Trancada] = DOF2_GetBool(Casaarq"Trancada");
               
Casa[casa][PossuiDono] = DOF2_GetBool(Casaarq"Possui Dono");
               
format(textocasasizeof(textocasa), "{93E82C}Casa ID: {FFFFFF}%d\n{93E82C}Proprietario: {FFFFFF}Ninguém\n{93E82C}Level Para Comprar: {FFFFFF}%d\n{93E82C}Preco da Casa: {FFFFFF}%d\n{68B9FF}/comprarcasa para comprar"DOF2_GetInt(Casaarq"ID da Casa"), DOF2_GetInt(Casaarq"Level Para Comprar"), DOF2_GetInt(Casaarq"Preco da Casa"));
            
Casa[casa][CasaPickup] = CreateDynamicPickup(12731DOF2_GetFloat(Casaarq"Casa PosX"), DOF2_GetFloat(Casaarq"Casa PosY"), DOF2_GetFloat(Casaarq"Casa PosZ"), 00, -130.0);
            
Casa[casa][Texto] = Create3DTextLabel(textocasa, -1DOF2_GetFloat(Casaarq"Casa PosX"), DOF2_GetFloat(Casaarq"Casa PosY"), DOF2_GetFloat(Casaarq"Casa PosZ"), 2000);
            
printf("Casa ID: %d Carregada"casa);
            
            
        }
        
    
        
    }
    



    return 
1;

Biscoito is offline   Reply With Quote
Old 15/07/2019, 01:25 AM   #2
Augustoo
Little Clucker
 
Augustoo's Avatar
 
Join Date: Dec 2018
Location: Planeta Terra
Posts: 39
Reputation: 5
Default Re: Casas não deletam corretamente

no comando deletarcasa como você já está especificando o id da casa no parâmetro, vc n precisa fazer esse loop, então basta tirar

PHP Code:
static id;

if(
sscanf(params"d"id))
    return 
false;

new 
file[20];

format(filesizeof(file), "Casas/%d.txt"id);

if(
DOF2::FileExists(file))
{
    
DestroyDynamicPickup(Casa[id][CasaPickup]); 
    
Delete3DTextLabel(Casa[id][Texto]); 
    
DOF2::RemoveFile(file);

Tbm no comando criar casa vc precisa retornar o valor do loop ou usar um break pra n criar todas as casas do MAX_CASAS

PHP Code:
for(new i!= MAX_CASAS; ++i)
{
    new 
file[20];

    
format(filesizeof(file), "Casas/%d.txt"i);

    if(!
DOF2::FileExists(file))
    {
        
//...
        
return i;
    }

__________________
Curioso
Augustoo is offline   Reply With Quote
Old 15/07/2019, 10:37 PM   #3
Biscoito
Little Clucker
 
Join Date: Feb 2019
Posts: 10
Reputation: 0
Default Re: Casas não deletam corretamente

Funcionou Mano VLW mermo <3
Biscoito is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Ajuda] Como tirar casas e icones de casas a vendas? williamcamargomo Português/Portuguese 1 30/10/2016 04:56 PM
[Ajuda] /estacionar não funcionando corretamente FernandoDutra Português/Portuguese 2 23/10/2016 01:25 PM
[Ajuda] Aúdio não reproduzindo corretamente Caiton Português/Portuguese 4 07/12/2015 01:08 AM
[Ajuda] PlayerPlaySound não trabalhando corretamente iTakelot Português/Portuguese 6 17/08/2015 12:55 AM
[Map] Casas pobres e trafico ilegal (Casas entravel - GTA V) DavidEstanislau Lançamentos/Releases 12 28/04/2014 04:45 PM


All times are GMT. The time now is 02:10 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.