10.04.2013, 19:28
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]
[/SPOILER]
Defines y news :
Enum :
y el comando /crearhq
[SPOILER]
[/SPOILER]
Gracias
- 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 }
Defines y news :
Код:
#define MAX_HQ 30 new Text3D:LabelHq[MAX_HQ]; new pHQ[MAX_HQ]; new Nombrehq[128];
Код:
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];
[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; }
Gracias