[Ayuda] Sistema de casas
#1

Hola, estuve haciendo un sistema de casas pero tengo un problemilla, carga solo las 3 primeras casas, luego ya no las crea.
Aquн les dejo el cуdigo para que puedan verlo:
PHP код:
#define MAX_CASAS                     200
new PickupCasa[MAX_CASAS];
new 
Text3D:LabelCasa[MAX_CASAS];
new 
Iterator:aCasas<MAX_CASAS>;
enum InfoCasas
{
    
C_DUENO[MAX_PLAYER_NAME],
    
C_PRECIO,
    
C_ID,
    
C_NIVEL,
    
Float:C_EXT[3],
    
Float:C_INT[3],
    
C_INTT,
    
C_VW,
    
bool:C_COMPRADA
};
new 
InformacionC[MAX_CASAS][InfoCasas];
CMD:crearcasa(playeridparams[])
{
    if(
Informacion[playerid][pAdmin] < 4) return 0;
    if(
sscanf(params,"ii",params[0],params[1])) return SendClientMessage(playerid, -1"/CrearCasa [Precio] [Nivel]");
    new 
SlotCasaLibre();
    new 
asd[128];
    if(
== -1) return SendClientMessage(playeridCOLOR_ROJO,"ЎNo se pueden crear mбs casas!");
    
GetPlayerPos(playeridInformacionC[i][C_EXT][0],InformacionC[i][C_EXT][1],InformacionC[i][C_EXT][2]);
    
InformacionC[i][C_PRECIO] = params[0];
    
InformacionC[i][C_NIVEL] = params[1];
    
InformacionC[i][C_ID] = i;
    
PickupCasa[i] = CreateDynamicPickup(12731InformacionC[i][C_EXT][0],InformacionC[i][C_EXT][1],InformacionC[i][C_EXT][2], -1, -1, -150.0);
    
format(asdsizeof(asd), "{007AF6}[Casa en venta]\n\n{FFFFFF}ID: {007AF6}%i\n{FFFFFF}Precio: {007AF6}%i\n{FFFFFF}Nivel: {007AF6}%i\n{FFFF00}/comprar casa",InformacionC[i][C_ID],InformacionC[i][C_PRECIO],InformacionC[i][C_NIVEL]);
    
LabelCasa[i] = CreateDynamic3DTextLabel(asd, -1InformacionC[i][C_EXT][0], InformacionC[i][C_EXT][1], InformacionC[i][C_EXT][2], 20.0);
    
Iter_Add(aCasas,i);
    
ActualizarCasa(i);
    return 
1;
}
stock SlotCasaLibre()
{
       for(new 
iMAX_CASASi++)
       {
           if(!
strlen(InformacionC[i][C_DUENO]) && !InformacionC[i][C_EXT][0] && !InformacionC[i][C_EXT][2])
           {
               return 
i;
          }
       }
       return -
1;
}
stock CargarCasas()
{
       new 
BArch[22],b;
       print(
"\n\t\t Cargando casas...\n");
       while(
MAX_CASAS)
       {
           
format(BArch,sizeof(BArch),"Casas/%d.ini",b);
           if(
fexist(BArch))
           {
             
INI_ParseFile(BArch,"CargarCasa_%s",.bExtra true, .extra b);
             
printf("Dueсo: %s | Precio: $%d",InformacionC[b][C_DUENO],InformacionC[b][C_PRECIO]);
             
Iter_Add(aCasasb);
             if(
InformacionC[b][C_COMPRADA])
             {
                new 
asd[128];
                
PickupCasa[b] = CreateDynamicPickup(12721InformacionC[b][C_EXT][0],InformacionC[b][C_EXT][1],InformacionC[b][C_EXT][2], -1, -1, -150.0);
                
format(asd,sizeof(asd),"{007AF6}[Propiedad]\n\n{FFFFFF}Propietario: {007AF6}%s\n{FFFFFF}ID: {007AF6}%i",InformacionC[b][C_DUENO],InformacionC[b][C_ID]);
                   
LabelCasa[b] = CreateDynamic3DTextLabel(asd, -1InformacionC[b][C_EXT][0], InformacionC[b][C_EXT][1], InformacionC[b][C_EXT][2], 20.0);
             }
             else
             {
                new 
asd[128];
                
PickupCasa[b] = CreateDynamicPickup(12731InformacionC[b][C_EXT][0],InformacionC[b][C_EXT][b],InformacionC[b][C_EXT][2], -1, -1, -150.0);
                
format(asdsizeof(asd), "{007AF6}[Casa en venta]\n\n{FFFFFF}ID: {007AF6}%i\n{FFFFFF}Precio: {007AF6}%i\n{FFFFFF}Nivel: {007AF6}%i\n{FFFF00}/comprar casa",InformacionC[b][C_ID],InformacionC[b][C_PRECIO],InformacionC[b][C_NIVEL]);
                
LabelCasa[b] = CreateDynamic3DTextLabel(asd, -1InformacionC[b][C_EXT][0], InformacionC[b][C_EXT][1], InformacionC[b][C_EXT][2], 20.0);
             }
           }
           
b++;
       }
       return 
1;
}
public 
CargarCasa_data(i,name[],value[])
{
     
INI_String("Dueсo",InformacionC[i][C_DUENO],MAX_PLAYER_NAME);
      
INI_Int("Precio",InformacionC[i][C_PRECIO]);
      
INI_Int("ID",InformacionC[i][C_ID]);
       
INI_Int("Nivel",InformacionC[i][C_NIVEL]);
       
INI_Float("Entrada_x",InformacionC[i][C_EXT][0]);
       
INI_Float("Entrada_y",InformacionC[i][C_EXT][1]);
       
INI_Float("Entrada_z",InformacionC[i][C_EXT][2]);
       
INI_Float("Salida_x",InformacionC[i][C_INT][0]);
       
INI_Float("Salida_y",InformacionC[i][C_INT][1]);
       
INI_Float("Salida_z",InformacionC[i][C_INT][2]);
       
INI_Int("Interior",InformacionC[i][C_INTT]);
       
INI_Int("VirtualWorld",InformacionC[i][C_VW]);
       
INI_Bool("Comprada",InformacionC[i][C_COMPRADA]);
       return 
1;
}
stock ActualizarCasa(i)
{
    new 
BArch[19];
     
format(BArch,sizeof(BArch),"Casas/%d.ini",i);
    new 
INI:Arch INI_Open(BArch);
    
INI_SetTag(Arch,"data");
    
INI_WriteString(Arch,"Dueсo",InformacionC[i][C_DUENO]);
      
INI_WriteInt(Arch,"Precio",InformacionC[i][C_PRECIO]);
      
INI_WriteInt(Arch,"ID",InformacionC[i][C_ID]);
       
INI_WriteInt(Arch,"Nivel",InformacionC[i][C_NIVEL]);
       
INI_WriteFloat(Arch,"Entrada_x",InformacionC[i][C_EXT][0]);
       
INI_WriteFloat(Arch,"Entrada_y",InformacionC[i][C_EXT][1]);
       
INI_WriteFloat(Arch,"Entrada_z",InformacionC[i][C_EXT][2]);
       
INI_WriteFloat(Arch,"Salida_x",InformacionC[i][C_INT][0]);
       
INI_WriteFloat(Arch,"Salida_y",InformacionC[i][C_INT][1]);
       
INI_WriteFloat(Arch,"Salida_z",InformacionC[i][C_INT][2]);
       
INI_WriteInt(Arch,"Interior",InformacionC[i][C_INTT]);
       
INI_WriteInt(Arch,"VirtualWorld",InformacionC[i][C_VW]);
       
INI_WriteBool(Arch,"Comprada",InformacionC[i][C_COMPRADA]);
    
INI_Close(Arch);
    return 
1;

Desde ya, muchas gracias, hace mбs de una semana que vengo con el mismo problema.
Reply
#2

Como tienes en OnGameModeinit? digamos, tendrias que tener CargarCasas(); lo tienes no?
Reply
#3

Claro.
El problema estб en el cargado de las casas, carga solo las primeras 3.
Ayudenme :'c
Reply
#4

Debe aver algo mal en el script, lo probй a tu script (Perdуn si no quieres que lo copie) y al cargar muchas casas el servidor no respondia, osea, la gm de respondia, salida Unkown, algo asн
Reply
#5

_Zume yo te invoco, se que tu tienes la respuesta! :C

Bueno, tambiйn invoco a los demбs a que me ayuden D:
Reply
#6

їMe ayudan por favor? Aun no encuentro el problema :C
Reply
#7

Se supone que las casas estбn guardadas en una carpeta no?..

format(BArch,sizeof(BArch),"Casas/%d.ini",b);

Deberнa ir asi?
format(BArch,sizeof(BArch),"/Casas/%d.ini",b);
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)