[Problema] Mi Sistema
#1

bueno, estuve haciendo un sistema de creacion de HQ ingame pero los problemas son los siguientes

- al setearse un virtual world en los archivos aparecen numeros enormes como "2343242526" y cosas asi, nose por que pero nose si afectaria a algo
-cuando creo una hq se me crea un archivo solo, llamado 0.ini y cuando creo otra hq es como que la anterior se elimina y se crea otro archivo con el mismo numero 0.ini

lo que queria hacer es que se creen los archivos con los nombres de cada faccion, es decir

Barzini.ini, groove Steet.ini etc , es decir, simplemente crear los archivos con los nombres que se setearon en el primer parametro del comando que seria "Nombrehq"

Otra duda

Como ago para hacer espacios en un texto ? yo al utilizar el comando /crearhq [Nombre] pongo Groove Street y me salta el if de como usarlo, pero si pongo GrooveStreet todo junto si me funciona, necesito saber como hacer para que se puedan crear espacios en parametros de string

Saludos, les dejo el codigo por si alguien lo quiere ver

STOCKS :

[SPOILER]
Код:
stock CargarHQ()
{
   new CArch[22],c;
   print("[AVISO] Las HQ de facciones se cargaron Exitosamente!..\n");
   while(c < MAX_HQ)//el loop
   {
       format(CArch,sizeof(CArch),"hqs/%d.ini",c);//el destino para cargar
       if(fexist(CArch))//si existe el archivo formateado
	   {
	    new Str[128];
	    INI_ParseFile(CArch,"CargarHQ_%s",.bExtra = true, .extra = c);//carga del archivo INI
	    LabelHq[c] = Create3DTextLabel(Str,0xFFFFFFFF,PickupHQ[c][Entrada_x],PickupHQ[c][Entrada_y],PickupHQ[c][Entrada_z],20,0);
     	pHQ[c] = CreatePickup(1239,1,PickupHQ[c][Entrada_x],PickupHQ[c][Entrada_y],PickupHQ[c][Entrada_z]);
		}
      c++;
   }
   return 1;
}
forward CargarHQ_data(i,name[],value[]);

public CargarHQ_data(i,name[],value[])
{
   INI_Float("Entrada_x",PickupHQ[i][Entrada_x]);
   INI_Float("Entrada_y",PickupHQ[i][Entrada_y]);
   INI_Float("Entrada_z",PickupHQ[i][Entrada_z]);

   INI_Float("Salida_x",PickupHQ[i][Salida_x]);
   INI_Float("Salida_y",PickupHQ[i][Salida_y]);
   INI_Float("Salida_z",PickupHQ[i][Salida_z]);

   INI_Int("Interior",PickupHQ[i][Int]);
   INI_Int("VirtualWorld",PickupHQ[i][VW]);

   format(Nombrehq, 128, "%s",PickupHQ[i][NombreHQs]);
   return 1;
}
stock ActualizarHQ(playerid)
{
	new CArch[19];
   format(CArch,sizeof(CArch),"hqs/%d.ini",playerid);//el destino para guardar
   new INI:Arch = INI_Open(CArch);

   INI_SetTag(Arch,"Creadas HQ");//el TAg con el que lo leeremos al archivo (en el ini saldrб [data])

   INI_WriteFloat(Arch,"Entrada_x",PickupHQ[playerid][Entrada_x]);
   INI_WriteFloat(Arch,"Entrada_y",PickupHQ[playerid][Entrada_y]);
   INI_WriteFloat(Arch,"Entrada_z",PickupHQ[playerid][Entrada_z]);

   INI_WriteFloat(Arch,"Salida_x",PickupHQ[playerid][Salida_x]);
   INI_WriteFloat(Arch,"Salida_y",PickupHQ[playerid][Salida_y]);
   INI_WriteFloat(Arch,"Salida_z",PickupHQ[playerid][Salida_z]);

   INI_WriteInt(Arch,"Interior",PickupHQ[playerid][Int]);
   INI_WriteInt(Arch,"VirtualWorld",PickupHQ[playerid][VW]);
   INI_WriteString(Arch,"Nombre",PickupHQ[playerid][NombreHQs]);
   INI_Close(Arch);//cerramos el archivo
}
[/SPOILER]

Defines y news :

Код:
#define MAX_HQ 30
new Text3D:LabelHq[MAX_HQ];
new pHQ[MAX_HQ];
new Nombrehq[128];
Enum :

Код:
enum InfoHq
{
	Float:Entrada_x,
	Float:Entrada_y,
	Float:Entrada_z,
	Float:Salida_x,
	Float:Salida_y,
	Float:Salida_z,
	Int,
	VW,
	NombreHQs
}
new PickupHQ[MAX_HQ][InfoHq];
y el comando /crearhq

[SPOILER]
Код:
CMD:crearhq(playerid, params[])
{
	if(PlayerInfo[playerid][Admin] != 2013) return SendClientMessage(playerid, -1, "{00CED1}[ERROR]{FFFFFF} Tu no eres administrador!");
	new Float:eX,Float:eY,Float:eZ;
	new pInt;
	if(sscanf(params, "s[128]ifff",Nombrehq,pInt,pInt,eX,eY,eZ)) return SendClientMessage(playerid,-1,"{FF8C00}Uso:{FFFFFF}/crearhq [Nombre de HQ] [interior] [cordenada x interior] [cordenada y interior] [cordenada z interior]");
	GetPlayerPos(playerid, PickupHQ[playerid][Entrada_x],PickupHQ[playerid][Entrada_y],PickupHQ[playerid][Entrada_z]);
	PickupHQ[playerid][Salida_x] = eX;//almacenamos las cordenadas de los paremetros
   	PickupHQ[playerid][Salida_y] = eY;
   	PickupHQ[playerid][Salida_z] = eZ;
   	format(PickupHQ[playerid][NombreHQs], 128, "%s", Nombrehq);
   	PickupHQ[playerid][Int] = pInt;
   	PickupHQ[playerid][VW] = pInt+100;
   	pHQ[playerid] = CreatePickup(1239, 1, PickupHQ[playerid][Entrada_x],PickupHQ[playerid][Entrada_y],PickupHQ[playerid][Entrada_z]);
	new str[128];
	format(str, sizeof(str), "{94AEE6}%s{FFFFFF}\nUtiliza /entrar", Nombrehq);
	LabelHq[playerid] = Create3DTextLabel(str,0xFFFFFFFF,PickupHQ[playerid][Entrada_x],PickupHQ[playerid][Entrada_y],PickupHQ[playerid][Entrada_z],20,0);
	ActualizarHQ(playerid);
	return 1;
}
[/SPOILER]

Gracias
Reply


Messages In This Thread
[Problema] Mi Sistema - by sonnkz - 10.04.2013, 19:28
Respuesta: [Problema] Mi Sistema - by JustBored - 10.04.2013, 20:07
Respuesta: [Problema] Mi Sistema - by sonnkz - 10.04.2013, 20:32
Respuesta: [Problema] Mi Sistema - by JuliPera - 10.04.2013, 22:55
Respuesta: [Problema] Mi Sistema - by sonnkz - 10.04.2013, 23:08
Respuesta: [Problema] Mi Sistema - by JustBored - 11.04.2013, 00:04

Forum Jump:


Users browsing this thread: 1 Guest(s)