Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: [CH]Tarik_Conell poslato Decembar 27, 2018, 01:34:26 PRE PODNE

Naslov: Kupikucu
Poruka od: [CH]Tarik_Conell poslato Decembar 27, 2018, 01:34:26 PRE PODNE
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
Naslov: Odg: Kupikucu
Poruka od: L3o poslato Decembar 27, 2018, 03:31:51 PRE PODNE
PoÅ¡alji nam /kupikucu komandu, takoÄ'er i spremanje/loadanje -> mysql/ini/dini etc.
Naslov: Odg: Kupikucu
Poruka od: [CH]Tarik_Conell poslato Decembar 27, 2018, 18:05:11 POSLE PODNE
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
Naslov: Odg: Kupikucu
Poruka od: 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] )

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

i onda komanda za proveru da li si ispred svoje kuce
[pawn]YCMD:kuca(playerid, params[], help)
{
    #pragma unused help
    #pragma unused params
    new i = PlayerInfo[playerid][pPosedovanjeKuce];
    if(IsPlayerInRangeOfPoint(playerid, 3.0, KucaInfo[kUlazX], KucaInfo[kUlazY], KucaInfo[kUlazZ]))
    {
        SendClientMessage(playerid, -1, "Dobro dosao kuci");
    }
    return 1;
}[/pawn]
Naslov: Odg: Kupikucu
Poruka od: [CH]Tarik_Conell poslato Decembar 27, 2018, 18:52:41 POSLE PODNE
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] )

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

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

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