Skripta koju koristim:Moj sistem za poklone
Detaljan opis problema:Kreiram poklone uredu,sacuva ih uredu,ali kada ih treba ucitati postavlja ih na kordinate 0.000,0.000,0.000 to je ono kod one farme.Znaci problem je sto ne ucitava iz scriptfiles-a kordinate nego sam postavlja na 0.000,0.000,0.000
Dio skripte:Evo vam ucitavanje
for(new b = 0; b < sizeof(POK); b++)
{
new gFajl[35];
format(gFajl, 50, "pokloni/pokloni/Poklon_%d.ini" ,b);
new stringv[240];
if(fexist(gFajl))
{
INI_ParseFile(gFajl, "PoklonUcitaj", .bExtra = true, .extra = b);
if(POK[b][pPostavljeno] == 1)
{
new vrsta[64];
if(POK[b][pVrsta] == 1) { vrsta = "Mali Poklon"; }
else if(POK[b][pVrsta] == 2) { vrsta = "Srednji Poklon"; }
else if(POK[b][pVrsta] == 3) { vrsta = "Veliki Poklon"; }
format(stringv,256,"{FD722F}Poklon jos nije spreman!\nVreme do otvaranja: {FFFFFF}%d sati, %d minuta\n{FD722F}Vrsta poklona:{FFFFFF}%s",POK[b][pSat],POK[b][pMinuta],vrsta);
PoklonLabel[b] = CreateDynamic3DTextLabel(stringv, 0x80FF80FF, POK[b][pPoklonX],POK[b][pPoklonY],POK[b][pPoklonZ], 15);
if(POK[b][pSat] == 0 && POK[b][pMinuta] == 0)
{
format(stringv,256,"{FD722F}Mozete otvoriti poklon!\nDa otvoris poklon kucaj{FFFFFF}/otvoripoklon\n{FD722F}Vrsta poklona:{FFFFFF}%s",vrsta);
UpdateDynamic3DTextLabelText(PoklonLabel[b], -1, stringv);
}
CreateDynamicObject(19056, POK[b][pPoklonX],POK[b][pPoklonY],POK[b][pPoklonZ], 0.0000000,0.0000000,0.0000000);
}
printf("~ UCITAN 'Poklon %d'",b);
}
}//
Funkcija PoklonUcitaj(idpoklona, name[], value[])
{
INI_Float("pPoklonX",POK[idpoklona][pPoklonX]);
INI_Float("pPoklonY",POK[idpoklona][pPoklonX]);
INI_Float("pPoklonZ",POK[idpoklona][pPoklonX]);
INI_Int("pVrijeme",POK[idpoklona][pVrijeme]);
INI_Int("pPostavljeno",POK[idpoklona][pPostavljeno]);
INI_Int("pObjd",POK[idpoklona][pObjd]);
INI_Int("pText",POK[idpoklona][pText]);
INI_Int("pVrsta",POK[idpoklona][pVrsta]);
INI_Int("pMinuta",POK[idpoklona][pMinuta]);
INI_Int("pSat",POK[idpoklona][pSat]);
INI_Int("pPoklon",POK[idpoklona][pPoklon]);
return 1;
}
Neke slike/video za lakse dobivanje pomoci(neobavezno):
Dobro ovo ti je za load a gde je save za ovo ? Dali si koristio za te varijable od kordinata u save sistemu
INI_WriteFloat
Evo brate save
Funkcija SpremiPoklon(idpoklona)
{
new dFile[128];
format(dFile, sizeof(dFile),"pokloni/pokloni/Poklon_%d.ini",idpoklona);
new INI:File = INI_Open(dFile);
INI_WriteFloat(File,"pPoklonX",POK[idpoklona][pPoklonX]);
INI_WriteFloat(File,"pPoklonY",POK[idpoklona][pPoklonY]);
INI_WriteFloat(File,"pPoklonZ",POK[idpoklona][pPoklonZ]);
INI_WriteInt(File,"pVrijeme",POK[idpoklona][pVrijeme]);
INI_WriteInt(File,"pPostavljeno",POK[idpoklona][pPostavljeno]);
INI_WriteInt(File,"pObjd",POK[idpoklona][pObjd]);
INI_WriteInt(File,"pText",POK[idpoklona][pText]);
INI_WriteInt(File,"pVrsta",POK[idpoklona][pVrsta]);
INI_WriteInt(File,"pMinuta",POK[idpoklona][pMinuta]);
INI_WriteInt(File,"pSat",POK[idpoklona][pSat]);
INI_WriteInt(File,"pPoklon",POK[idpoklona][pPoklon]);
INI_Close(File);
return 1;
}
BUMP
REFRESH
Stavi da se na OnPlayerDisconnect spremaju kordinate i onda ubacis da kad se igrac OnPlayerSpawn ili mozes OnPlayerConnect dodat da ti ucita na kojem je mjestu (kordinatama) igrac bio zadnji puta
eto to ti je sva mudrolija :)
o kakvim ti kordinatama pricas i o zadnjem mestu de je igrac bio to nema veze sa mojim problemom.Meni kordinate sacuva dobro ali ih ne ucitava i ucitavanje naravno sam stavio pod OnGameModeInit jer ovo nije nista vezano za igraca pa da idem pod OnPlayerConnect ili Spawn :D
ups ja se malo zeznuo ipak je pola 3 hehe :P
Gledam sad po meni ti je sve dobro jedino mi ovo nije jasno
format(dFile, sizeof(dFile),"pokloni/pokloni/Poklon_%d.ini",idpoklona);
Zasto dva puta pokloni/pokloni/poklon_
Sta tu nije jasno otvara folder pokloni pa opet pokloni i tu ih sprema
Probaj vako nesto to sam naso
Koristi ini load funkciju
Ajde vako probaj samo zamenk ovo house I h dodaj svoje
new gFile[35]; format(gFile, 35, "Houses/%d.ini" ,h); INI_ParseFile(gFile, "LoadHouses", .bExtra = true, .extra = h);
Citat: luka2223 poslato Decembar 14, 2014, 19:29:53 POSLE PODNE
Ajde vako probaj samo zamenk ovo house I h dodaj svoje
new gFile[35]; format(gFile, 35, "Houses/%d.ini" ,h); INI_ParseFile(gFile, "LoadHouses", .bExtra = true, .extra = h);
Brate vec mi jest tako ali nece da ucita
for(new b = 0; b < sizeof(POK); b++)
{
new gFajl[35];
format(gFajl, 35, "pokloni/pokloni/Poklon_%d.ini" ,b);
new stringv[240];
if(fexist(gFajl))
{
INI_ParseFile(gFajl, "PoklonUcitaj", .bExtra = true, .extra = b);
Ajde jel zna neko
BUMP!!
Ajde probaj ovako da zamenis neke stvari...
for(new b = 0; b < sizeof(POK); b++)
{
new
gFajl[64],
stringv[240];
format(gFajl, sizeof(gFajl), "pokloni/pokloni/Poklon_%d.ini", b);
if(fexist(gFajl))
{
INI_ParseFile(gFajl, "PoklonUcitaj_%s", .bExtra = true, .extra = b);
if(POK[b][pPostavljeno] == 1)
{
new vrsta[64];
if(POK[b][pVrsta] == 1) { vrsta = "Mali Poklon"; }
else if(POK[b][pVrsta] == 2) { vrsta = "Srednji Poklon"; }
else if(POK[b][pVrsta] == 3) { vrsta = "Veliki Poklon"; }
format(stringv,256,"{FD722F}Poklon jos nije spreman!\nVreme do otvaranja: {FFFFFF}%d sati, %d minuta\n{FD722F}Vrsta poklona:{FFFFFF}%s",POK[b][pSat],POK[b][pMinuta],vrsta);
PoklonLabel[b] = CreateDynamic3DTextLabel(stringv, 0x80FF80FF, POK[b][pPoklonX],POK[b][pPoklonY],POK[b][pPoklonZ], 15);
if(POK[b][pSat] == 0 && POK[b][pMinuta] == 0)
{
format(stringv,256,"{FD722F}Mozete otvoriti poklon!\nDa otvoris poklon kucaj{FFFFFF}/otvoripoklon\n{FD722F}Vrsta poklona:{FFFFFF}%s",vrsta);
UpdateDynamic3DTextLabelText(PoklonLabel[b], -1, stringv);
}
CreateDynamicObject(19056, POK[b][pPoklonX],POK[b][pPoklonY],POK[b][pPoklonZ], 0.0000000,0.0000000,0.0000000);
}
printf("~ UCITAN 'Poklon %d'",b);
}
}//
// Ovo ne znam gde si stavljno ali trebalo bi na kraj negde to bi trebalo da znas :D
forward PoklonUcitaj_data(idpoklona, name[], value[]);
public PoklonUcitaj_data(idpoklona, name[], value[])
{
INI_Float("pPoklonX",POK[idpoklona][pPoklonX]);
INI_Float("pPoklonY",POK[idpoklona][pPoklonX]);
INI_Float("pPoklonZ",POK[idpoklona][pPoklonX]);
INI_Int("pVrijeme",POK[idpoklona][pVrijeme]);
INI_Int("pPostavljeno",POK[idpoklona][pPostavljeno]);
INI_Int("pObjd",POK[idpoklona][pObjd]);
INI_Int("pText",POK[idpoklona][pText]);
INI_Int("pVrsta",POK[idpoklona][pVrsta]);
INI_Int("pMinuta",POK[idpoklona][pMinuta]);
INI_Int("pSat",POK[idpoklona][pSat]);
INI_Int("pPoklon",POK[idpoklona][pPoklon]);
return 1;
}
Citat: â–... â–† â–ˆ Rudimental â–ˆ â–† â–... poslato Decembar 17, 2014, 16:35:59 POSLE PODNE
Ajde probaj ovako da zamenis neke stvari...
for(new b = 0; b < sizeof(POK); b++)
{
new
gFajl[64],
stringv[240];
format(gFajl, sizeof(gFajl), "pokloni/pokloni/Poklon_%d.ini", b);
if(fexist(gFajl))
{
INI_ParseFile(gFajl, "PoklonUcitaj_%s", .bExtra = true, .extra = b);
if(POK[b][pPostavljeno] == 1)
{
new vrsta[64];
if(POK[b][pVrsta] == 1) { vrsta = "Mali Poklon"; }
else if(POK[b][pVrsta] == 2) { vrsta = "Srednji Poklon"; }
else if(POK[b][pVrsta] == 3) { vrsta = "Veliki Poklon"; }
format(stringv,256,"{FD722F}Poklon jos nije spreman!\nVreme do otvaranja: {FFFFFF}%d sati, %d minuta\n{FD722F}Vrsta poklona:{FFFFFF}%s",POK[b][pSat],POK[b][pMinuta],vrsta);
PoklonLabel[b] = CreateDynamic3DTextLabel(stringv, 0x80FF80FF, POK[b][pPoklonX],POK[b][pPoklonY],POK[b][pPoklonZ], 15);
if(POK[b][pSat] == 0 && POK[b][pMinuta] == 0)
{
format(stringv,256,"{FD722F}Mozete otvoriti poklon!\nDa otvoris poklon kucaj{FFFFFF}/otvoripoklon\n{FD722F}Vrsta poklona:{FFFFFF}%s",vrsta);
UpdateDynamic3DTextLabelText(PoklonLabel[b], -1, stringv);
}
CreateDynamicObject(19056, POK[b][pPoklonX],POK[b][pPoklonY],POK[b][pPoklonZ], 0.0000000,0.0000000,0.0000000);
}
printf("~ UCITAN 'Poklon %d'",b);
}
}//
// Ovo ne znam gde si stavljno ali trebalo bi na kraj negde to bi trebalo da znas :D
forward PoklonUcitaj_data(idpoklona, name[], value[]);
public PoklonUcitaj_data(idpoklona, name[], value[])
{
INI_Float("pPoklonX",POK[idpoklona][pPoklonX]);
INI_Float("pPoklonY",POK[idpoklona][pPoklonX]);
INI_Float("pPoklonZ",POK[idpoklona][pPoklonX]);
INI_Int("pVrijeme",POK[idpoklona][pVrijeme]);
INI_Int("pPostavljeno",POK[idpoklona][pPostavljeno]);
INI_Int("pObjd",POK[idpoklona][pObjd]);
INI_Int("pText",POK[idpoklona][pText]);
INI_Int("pVrsta",POK[idpoklona][pVrsta]);
INI_Int("pMinuta",POK[idpoklona][pMinuta]);
INI_Int("pSat",POK[idpoklona][pSat]);
INI_Int("pPoklon",POK[idpoklona][pPoklon]);
return 1;
}
Probao sam i opet isto :(
Jel ti problem da mi izvadis ceo taj system da vidim sta si radio...
Ma meni je sve ok ja kreiram poklon on se stvori i sve to i sacuva se sve normalno samo je problem u ucitavanju nakon restarta srw i onda umjesto da je na kordinatama na kojima je spaseno on sam postavlja na 0.000,0.000,0.000 tj. na onu farmu ispod zemlje
Nisam pregledao citavu temu ali vidi tamo gde ti je PokloniUcitaj da za koordinate bude INI_Float
Citat: Pavle_Eskobar poslato Decembar 18, 2014, 18:05:29 POSLE PODNE
Nisam pregledao citavu temu ali vidi tamo gde ti je PokloniUcitaj da za koordinate bude INI_Float
Imam vec to tako da nije do toga
Pazi ako si ovako radio ne vidim u cemu je problem...
Sad cu na brzinu izlupati nesto samo da ti dam primer.
Negde na vrhu
#define POKLON_FILE "Pokloni/%d.ini" // Nez sto si ovolko stavio foldera sredi samo 1 folder u scriptfiles nek bude primer kao sto sam ja stavio a ne ono tvoje :D pokloni/pokloni/Poklon_%d.ini
enum PoklonStatus
{
pPoklon_x,
}
new PoklonInfo[stavi kolko imas fajlova tj poklona][PoklonStatus];
forward LoadPoklon_data(idx, name[], value[]);
Tamo gde ucitavas to vec znas kako ide
for(new s = 0; s < sizeof(PoklonInfo); s++)
{
new
dFile[64];
format(dFile, sizeof(dFile), POKLON_FILE, s);
if (fexist(dFile))
{
INI_ParseFile(dFile, "LoadPoklon_%s", .bExtra = true, .extra = s);
// I ovde stavi ako jos sta treba
}
}
Ovo negde pred kraj
public LoadPoklon_data(idx, name[], value[])
{
INI_Float("Poklon_x", PoklonInfo[idx][pPoklon_x]);
return 1;
}
stock OnPropUpdate(update, idx) // ovo ti je za save fajla
{
if (update == 1)
{
new
dFile[64];
format(dFile, sizeof(dFile), POKLON_FILE, idx);
new
INI:File = INI_Open(dFile);
INI_SetTag(File, "data");
INI_WriteFloat(File, "Poklon_x", PoklonInfo[idx][pPoklon_x]);
INI_Close(File);
}
return 1;
}
Evo stavio sam na pokloni/Poklon_%d ali opet isto nece da cita kordinate.
Imam jedan slican sistem ovome i on radi sve ok i ja sam po tom sistemu uradio i ovaj ali ovaj nece da ucita :(
Pazi ja sam ti dao princip systema kako ja radim i nikad nisam imao tih problema tako da pokusaj nesto s ovim sto sam ti dao i mora raditi ako si upisao kordinate u fajlu.
Brate znam o cemu govoris al ti kazem da imam napravljenih jos 2 sistema na ovaj isti princip ali me samo ovaj zeza ostali dobro i cuvaju i ucitavaju ali ne znam zasto me ovaj zeza ;)
Imal pomoci :(
Probaj ovako.
Funkcija PoklonUcitaj(idpoklona, name[], value[])
{
INI_Float("pPoklonX",POK[idpoklona][pPoklonX]);
INI_Float("pPoklonY",POK[idpoklona][pPoklonY]);
INI_Float("pPoklonZ",POK[idpoklona][pPoklonZ]);
INI_Int("pVrijeme",POK[idpoklona][pVrijeme]);
INI_Int("pPostavljeno",POK[idpoklona][pPostavljeno]);
INI_Int("pObjd",POK[idpoklona][pObjd]);
INI_Int("pText",POK[idpoklona][pText]);
INI_Int("pVrsta",POK[idpoklona][pVrsta]);
INI_Int("pMinuta",POK[idpoklona][pMinuta]);
INI_Int("pSat",POK[idpoklona][pSat]);
INI_Int("pPoklon",POK[idpoklona][pPoklon]);
return 1;
}
Citat: X_G1 poslato Decembar 22, 2014, 08:33:56 PRE PODNE
Probaj ovako.
Funkcija PoklonUcitaj(idpoklona, name[], value[])
{
INI_Float("pPoklonX",POK[idpoklona][pPoklonX]);
INI_Float("pPoklonY",POK[idpoklona][pPoklonY]);
INI_Float("pPoklonZ",POK[idpoklona][pPoklonZ]);
INI_Int("pVrijeme",POK[idpoklona][pVrijeme]);
INI_Int("pPostavljeno",POK[idpoklona][pPostavljeno]);
INI_Int("pObjd",POK[idpoklona][pObjd]);
INI_Int("pText",POK[idpoklona][pText]);
INI_Int("pVrsta",POK[idpoklona][pVrsta]);
INI_Int("pMinuta",POK[idpoklona][pMinuta]);
INI_Int("pSat",POK[idpoklona][pSat]);
INI_Int("pPoklon",POK[idpoklona][pPoklon]);
return 1;
}
Nece ;)
provjeri u scriptfiles udji u poklon pa vidi jel spremilo x,y,z koordinate onda ces bit siguran da je do ucitavanja
Citat: [BuL]Cile poslato Decembar 23, 2014, 17:12:52 POSLE PODNE
provjeri u scriptfiles udji u poklon pa vidi jel spremilo x,y,z koordinate onda ces bit siguran da je do ucitavanja
Sve ok je u SF