Kupikucu


Započeo [CH]Tarik_Conell, Decembar 27, 2018, 01:34:26 PRE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Problem(error/warning): Imam house system i sada sve je uradjeno osim sto mi se mijesa na ovoj komandi ID kuce, na labelu prikazuje sve tacno, vlasnika, ID kuce cijena i to sve sto postavim, ali kada udjem u dialog od komande /kuca govori da nisam pored svoje kuce kako bi trebalo pisati ako nisam kod kuce,na lociraj dialogidu mi prikazuje da je kuca na farmi, znaci vjerovatno mijesa koordinate nekako
Dio skripte: [ pawn ]dacu ako treba sta[ /pawn ]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]/[ /code ]
Slika/video ingame problema(obavezno ako je ingame problem): /

Razmisljao sam mozda bi mogao staviti provjeru na ID, ali je problem sto su mi IDovi u slovima, pa tek onda broj,
znaci da kada kucam /kupikucu stavlja igracu na IGRAC_FILE ID kuce na tu sto kupi, sada imam samo da mu stavlja na broj 1

Taj mi je problem isto sa firmama,stanovima itd
Poslednja Izmena: Decembar 28, 2018, 13:40:00 POSLE PODNE od Bašovski

L3o

*

PoÅ¡alji nam /kupikucu komandu, takoÄ'er i spremanje/loadanje -> mysql/ini/dini etc.
retired

YCMD:kupikucu(playerid, params[], help)
{
    #pragma unused help
    #pragma unused params
    for(new i; i < sizeof(KucaInfo); i++)
	{
    	if(IsPlayerInRangeOfPoint(playerid, 3.0, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]))
    	{
    		if(!strcmp(KucaInfo[i][kVlasnik], "Niko", true) && KucaInfo[i][kProveraVlasnika] == 0)
    		{
				if(PlayerInfo[playerid][pPosedovanjeKuce] != 0) return SCM(playerid,BELA, "{FF0000}[Greska!]{BFC0C2} Vec imate kucu!");
				if(GetPlayerScore(playerid) < KucaInfo[i][kLevel]) return SCM(playerid,BELA,"{FF0000}[Greska!]{BFC0C2} Nemate dovoljan level za kupovinu kuce!");
				if(GetPlayerMoney(playerid) < KucaInfo[i][kCena]) return SCM(playerid,BELA, "{FF0000}[Greska!]{BFC0C2} Nemate dovoljno novca za kupovinu kuce!");
				if(PlayerInfo[playerid][pRent] != 0) return SCM(playerid,BELA,"{FF0000}[Greska!]{BFC0C2} Rentate kucu prvo unrentajte kucu da bi kupili ovu!");
				strmid(KucaInfo[i][kVlasnik], ImeIgraca(playerid), 0, strlen(ImeIgraca(playerid)), 255);
				KucaInfo[i][kProveraVlasnika] = 1; SetPlayerInterior(playerid, KucaInfo[i][kInt]); PlayerInfo[playerid][pPosedovanjeKuce] = i;
				SetPlayerVirtualWorld(playerid, KucaInfo[i][kVW]); SetPlayerPos(playerid, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ]);
				KucaInfo[i][kZatvoreno] = 0; GivePlayerMoney(playerid, -KucaInfo[i][kCena]); PlayerInfo[playerid][pNovcanik] -= KucaInfo[i][kCena]; KuceLP(i); SacuvajKucu(i); SSACC(playerid);
				PlayerInfo[playerid][pPosedovanjeKuce] = 1;
				SCM(playerid,BELA, "{FFFFFF}[LL]:{00C0FF} Cestitamo, kupili ste kucu!");
				SCM(playerid,BELA, "{FFFFFF}[LL]:{00C0FF} Za komande kuce koristite {FFFFFF}/kuca!");
				SCM(playerid,BELA, "{FFFFFF}[LL]:{00C0FF} Za ulaz u kucu koristite dugme F ili ENTER!");
				format(PosebanString,sizeof(PosebanString), "| KUPOVINA - KUCA | Igrac: %s | ID: %d", ImeIgraca(playerid), i);
				SacuvajLog(FAJL_PRIMOVINELOG, PosebanString);
				return 1;
			}
			else return SCM(playerid, BELA, "{FF0000}[Greska!]{BFC0C2} Ta kuca nije na prodaju!");
		}
	}
    return 1;
}





evo spremanje, e tu sam razmisljao kada bi dodao ID kuce mozda bi se moglo srediti sta

stock SacuvajKucu(idkuce)
{
	new kFile[128];
    format(kFile, sizeof(kFile), KUCA_FILE, idkuce);
	new INI:File = INI_Open(kFile);
	INI_WriteInt(File,"ProveraVlasnika",KucaInfo[idkuce][kProveraVlasnika]);
	INI_WriteString(File,"Vlasnik",KucaInfo[idkuce][kVlasnik]);
	INI_WriteString(File,"Vrsta",KucaInfo[idkuce][kVrsta]);
	INI_WriteFloat(File,"UlazX",KucaInfo[idkuce][kUlazX]);
	INI_WriteFloat(File,"UlazY",KucaInfo[idkuce][kUlazY]);
	INI_WriteFloat(File,"UlazZ",KucaInfo[idkuce][kUlazZ]);
	INI_WriteFloat(File,"IzlazX",KucaInfo[idkuce][kIzlazX]);
	INI_WriteFloat(File,"IzlazY",KucaInfo[idkuce][kIzlazY]);
	INI_WriteFloat(File,"IzlazZ",KucaInfo[idkuce][kIzlazZ]);
	INI_WriteInt(File,"Level",KucaInfo[idkuce][kLevel]);
    INI_WriteInt(File,"Cena",KucaInfo[idkuce][kCena]);
    INI_WriteInt(File,"Novac",KucaInfo[idkuce][kNovac]);
    INI_WriteInt(File,"Interior",KucaInfo[idkuce][kInt]);
    INI_WriteInt(File,"Zatvoreno",KucaInfo[idkuce][kZatvoreno]);
    INI_WriteInt(File,"VW",KucaInfo[idkuce][kVW]);
    INI_WriteInt(File,"Oruzje",KucaInfo[idkuce][kOruzje]);
    INI_WriteInt(File,"Municija",KucaInfo[idkuce][kMunicija]);
    INI_WriteInt(File,"Rent",KucaInfo[idkuce][kRent]);
    INI_WriteInt(File,"CenaRenta",KucaInfo[idkuce][kCenaRenta]);
    INI_WriteInt(File,"Zvono",KucaInfo[idkuce][kZvono]);
    INI_WriteInt(File,"Heal",KucaInfo[idkuce][kHeal]);
    INI_WriteInt(File,"PromenaIntKuce",KucaInfo[idkuce][kPromenaIntKuce]);
    INI_WriteString(File,"Adresa",KucaInfo[idkuce][kAdresa]);
	INI_Close(File);
	return 1;
}


@L3o

PlayerInfo[playerid][pPosedovanjeKuce] = 1;

Posedovanje kuce ti je ispred kojeg si i
A kad kucas lociraj verovatno ti prikaze koordinate kuce pod brojem 1 (PlayerInfo[playerid][pPosedovanjeKuce] )

for(new i; i < sizeof(KucaInfo); i++)
if(IsPlayerInRangeOfPoint(playerid, 3.0, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]))
PlayerInfo[playerid][pPosedovanjeKuce] = i;


i onda komanda za proveru da li si ispred svoje kuce
YCMD:kuca(playerid, params[], help)
{
    #pragma unused help
    #pragma unused params
    new i = PlayerInfo[playerid][pPosedovanjeKuce];
    if(IsPlayerInRangeOfPoint(playerid, 3.0, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]))
    {
        SendClientMessage(playerid, -1, "Dobro dosao kuci");
    }
    return 1;
}
Poslednja Izmena: Decembar 27, 2018, 18:26:39 POSLE PODNE od rizla

Citat: rizla poslato Decembar 27, 2018, 18:23:48 POSLE PODNE
PlayerInfo[playerid][pPosedovanjeKuce] = 1;

Posedovanje kuce ti je ispred kojeg si i
A kad kucas lociraj verovatno ti prikaze koordinate kuce pod brojem 1 (PlayerInfo[playerid][pPosedovanjeKuce] )

for(new i; i < sizeof(KucaInfo); i++)
if(IsPlayerInRangeOfPoint(playerid, 3.0, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]))
PlayerInfo[playerid][pPosedovanjeKuce] = i;


i onda komanda za proveru da li si ispred svoje kuce
YCMD:kuca(playerid, params[], help)
{
    #pragma unused help
    #pragma unused params
    new i = PlayerInfo[playerid][pPosedovanjeKuce];
    if(IsPlayerInRangeOfPoint(playerid, 3.0, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]))
    {
        SendClientMessage(playerid, -1, "Dobro dosao kuci");
    }
    return 1;
}


sad za sad komanda kuca radi ok ne mijesa nista isao sam prodaj i opet kupikucu sve ok radi, nisam jos sve testirao, pa kada zavrsim ako bude sta otvoricu novu temu,

MOZE LOCK SAD hvala