Pretraga

Pritisnite Enter za pretragu ili Escape za zatvaranje

Zaključano

[Pomoc] Car System problem

Započeo Zoran123456
pre 10 godina
415
pregleda
11
postova
Ova tema je zaključana. Samo moderatori i administratori mogu odgovarati.
Zoran123456
Wheel Man
pre 10 godina
Skripta koju koristim: Underpoint (Molicu bez nepotrebnih komentara da mod ne valja jer problem uopste nije u tome)
Detaljan opis problema: Mod radi super,compiluje ga bez ijednog warninga/errora,samo je problem kada se udje u igru. Navodno je potrebno mnogo znanja da bi se uradio ovaj sistem,sto ja nemam naravno,samo sam mozgao i mozgao 7h i uspeo sam da zavrsim ceo car system od 3 slota za vozila,sistem je bio vise dinamican nego isti kao na ostalim modovima, recimo da je bio slican sistemu sa BExta-zy, sve se radi preko dialoga,tako da oko komandi nema puno mudrovanja. Najveci problem u sistemu je funkcija IsASalesVehicle(vehicleid) [forward i public], gledao sam po drugim modovima kao sto su BE YP 1.1 i EG-RPG by Farkias(nova verzija) i njima je funkcija napravljena tako da nesigurno odredjuje koje je vozilo na prodaju,funkcija zapravo trazi vozilo koje se prodaje preko IDeva,a ne preko nekog drugog,sigurnijeg puta,ja sam probao isto tako,samo imam ponovo novi problem,a to je UP mod.. Njemu je ako ste imali prilike da vidite sistem vozila bio podesen tako da u scriptfiles/vozila nema fajlova,tek kada se vozilo kupi u auto salonu napravi se fajl sa podatcima o vozilu i ide po rednim brojevima od 0 pa nadalje,ja sam hteo da napravim to drugacije,da bude nesto slicno lukenzijevom LV modu,scriptfiles sam pogledao za lv stari mod i video sam da tamo postoje .ini fajlovi koji se nazivaju npr. "Vozilo_785".ini s tim sto nema vozila od 0 pa do 785 vec lupam od 785 pa do 1000,da ne duzim to nije ni bitno,bitno je to da najveci problem pravi funkcija gore navedena i komanda /kupivozilo,kodovi su napisani dole pa ako je moguce da mi pomognete bio bih vam zahvalan mnogo. I da,da ne zaboravim na primer kod komande /v pisace vam dole takodje,je problem to sto salje poruku "Nemate nijedno vozilo" cak i onda kada kljuc1,2 ili 3 postoji,ne znam iskreno zasto,trebalo bi raditi.
Dio skripte:
////////////////////////////////////////////////////
CMD:kupivozilo(playerid, params[])
{
if(UlogovanProvera == 0) return SCM(playerid,-1,""PPLAVA"BS: "BELA"Moras se ulogovati da bi koristio ovu komandu!");
if(PlayerInfo != 9999 || PlayerInfo != 9999 || PlayerInfo != 9999) return SCM(playerid,-1,""PPLAVA"BS: "BELA"Ne mozete imati vise od 3 vozila!");
if(PlayerInfo < 3) return SCM(playerid,-1,""PPLAVA"BS: "BELA"Niste dovoljan level!");
new vehicleid = GetPlayerVehicleID(playerid);
if(IsPlayerInRangeOfPoint(playerid, 5.0, 565.0984, -1285.4423, 17.2482))
{
SCM(playerid,-1, ""PPLAVA"BS: "BELA"Auto salon je trenutno zatvoren!");
/*
new string;
if(KupovinaAuta == true) return SCM(playerid,-1,""PPLAVA"BS: "BELA"Vec gledate katalog vozila!");
if(IsPlayerInAnyVehicle(playerid)) return SCM(playerid,-1,""PPLAVA"BS: "BELA"Ne mozete gledati katalog iz vozila!");
if(autokatalog != 0) return SCM(playerid,-1,""PPLAVA"BS: "BELA"Neko vec pregleda katalog!");
TogglePlayerControllable(playerid, 0); KupovinaAuta = true; PrikaziVozilaTD(playerid); autokatalog = 1;
format(string,sizeof(string),"%s",ImenaVozila[GetVehicleModel(IzlozbenoAuto) - 400]);
PlayerTextDrawSetString(playerid,TDProdajaVozila,string);
format(string,sizeof(string),"Cena: ~g~%d$",AutoSalon);
PlayerTextDrawSetString(playerid,TDProdajaVozila,string);
    SCM(playerid, -1, ""PPLAVA"BS: "BELA"Koristite tipke LEVO i DESNO za listanje vozila!");
SCM(playerid, -1, ""PPLAVA"BS: "BELA"Za kupovinu stisnite ENTER ili F!");
SCM(playerid, -1, ""PPLAVA"BS: "BELA"Za izlaz stisnite SHIFT!");
SetPlayerCameraPos(playerid, 550.461853, -1278.702392, 21.356954);
    SetPlayerCameraLookAt(playerid, 547.587158, -1274.942382, 19.745004);
    */
    }
    if(IsASalesVehicle(vehicleid))
    {
new Cena = CeneVozila(GetVehicleModel(GetPlayerVehicleID(playerid)));
for(new i = 0; i > sizeof(CarInfo); i++)
{
if(PlayerInfo < AutoSalon/2) return SCM(playerid,-1,""PPLAVA"BS: "BELA"Nemate dovoljno novca!");
new Fajl;
format(Fajl, sizeof(Fajl), CAR_FILE, i);
if(!fexist(Fajl))
{
new Float:X, Float:Y, Float:Z, Float:Angle;
GetVehiclePos(i, X, Y, Z);
GetVehicleZAngle(i, Angle);
if(PlayerInfo == 9999)
{
PlayerInfo = i;
}
else if(PlayerInfo != 9999 || PlayerInfo == 9999)
{
PlayerInfo = i;
}
else if(PlayerInfo != 9999 || PlayerInfo != 9999 || PlayerInfo == 9999)
{
PlayerInfo = i;
}
g_NovacMinus(playerid,AutoSalon/2);
CarInfo = AutoSalon;
CarInfo = X;
CarInfo = Y;
CarInfo = Z;
CarInfo = Angle;
CarInfo = 1;
CarInfo = 1;
CarInfo = 1;
CarInfo = 1;
CarInfo = 0;
CarInfo = 0;
CarInfo = -1;
CarInfo = 0;
CarInfo = 0;
strmid(CarInfo, GetName(playerid), 0, strlen(GetName(playerid)), 999);
TogglePlayerControllable(playerid, 1);
SetCameraBehindPlayer(playerid);
SacuvajVozilo(i); SavePlayer(playerid); StatusMotora(playerid, 1);
Fuel[GetPlayerVehicleID(playerid)] = 45;
SCM(playerid,-1,""PPLAVA"BS: "BELA"Cestitamo,kupili ste vozilo!");
SCM(playerid,-1,""PPLAVA"BS: "BELA"Vozilom mozete upravljati komandom /v!");
SCM(playerid,-1,""PPLAVA"BS: "BELA"Lokacija vaseg vozila je oznacena crvenom bojom na mapi!");
break;
}
    else return SCM(playerid,-1,""PPLAVA"BS: "BELA"To vozilo nije na prodaju!");
    }
    }
return 1;
}
new key1 = PlayerInfo;
new key2 = PlayerInfo;
new key3 = PlayerInfo;
if(key1 == 9999 || key2 == 9999 || key3 == 9999) return SCM(playerid,-1,""PPLAVA"BS: "BELA"Nemate nijedno vozilo!");

forward IsASalesVehicle(vehicleid);
public IsASalesVehicle(vehicleid)
{
for(new car = 326; car < sizeof(CarInfo); car++)
{
    if(CarInfo == 0 || vehicleid >= 326 && vehicleid <= 999)
    {
        return 1;
    }
}
return 0;
}

Neke slike/video za lakse dobivanje pomoci(neobavezno): Slike nemam ali ako vam treba kako bi lakse pomogli, postavicu.
[WW]ivan
Kingpin
pre 10 godina
ako sam skuzio ti oces, da tvoji auti koji si na prodaju da ne budu od id-a 0 vec koji budu na redu?
aj daj SacuvajVozilo
Zoran123456
Wheel Man
pre 10 godina
Upravo tako,evo sistemcic 🙂 Hvala sto pokusavas da mi pomognes inace.
/////////////////////////////////////////////////////
stock SacuvajVozilo(id)
{
    new vFile;
    format(vFile, sizeof(vFile), CAR_FILE, id);
    new INI:File = INI_Open(vFile);
    INI_WriteInt(File,"cModel", CarInfo);
    INI_WriteFloat(File,"cPosX", CarInfo);
    INI_WriteFloat(File,"cPosY", CarInfo);
    INI_WriteFloat(File,"cPosZ", CarInfo);
    INI_WriteFloat(File,"cAngle", CarInfo);
    INI_WriteInt(File,"cColor1", CarInfo);
    INI_WriteInt(File,"cColor2", CarInfo);
    INI_WriteString(File,"cOwner", CarInfo);
    INI_WriteInt(File,"cOwned", CarInfo);
    INI_WriteInt(File,"cLock", CarInfo);
    INI_WriteInt(File,"cDrugs", CarInfo);
    INI_WriteInt(File,"cMats", CarInfo);
    INI_WriteInt(File,"cWeapon", CarInfo);
    INI_WriteInt(File,"cAmmo", CarInfo);
    INI_WriteInt(File,"cRadio", CarInfo);
    INI_WriteInt(File,"cMod1", CarInfo);
    INI_WriteInt(File,"cMod2", CarInfo);
    INI_WriteInt(File,"cMod3", CarInfo);
    INI_WriteInt(File,"cMod4", CarInfo);
    INI_WriteInt(File,"cMod5", CarInfo);
    INI_WriteInt(File,"cMod6", CarInfo);
    INI_WriteInt(File,"cMod7", CarInfo);
    INI_WriteInt(File,"cMod8", CarInfo);
    INI_WriteInt(File,"cMod9", CarInfo);
    INI_WriteInt(File,"cMod10", CarInfo);
    INI_WriteInt(File,"cMod11", CarInfo);
    INI_WriteInt(File,"cMod12", CarInfo);
    INI_WriteInt(File,"cMod13", CarInfo);
    INI_WriteInt(File,"cMod14", CarInfo);
    INI_WriteInt(File,"cMod15", CarInfo);
    INI_WriteInt(File,"cMod16", CarInfo);
    INI_WriteInt(File,"cMod17", CarInfo);
    INI_Close(File);
    return 1;
}


PS: CAR_FILE je definisan ovako:
#define CAR_FILE        "vozila/Veh_%d.ini"
Rudimental
OG Legend
pre 10 godina
Ne mogu da te razumem bas najbolje sta zaista hoces da napravis ... Jel hoces da nemas vozila sve dok neko ne kupi u salonu nekom pa da se tek onda napravi fajl ?
[WW]ivan
Kingpin
pre 10 godina
on oce ovo... ako ima 500 auta na serveru, da taj auto koji se kupi bude id 501, i sad doda novi auto, i sljedeci koji se kupi da bude id 503, a ne 502, daa se id-evi nebi mjesali..

posalji mi onaj dio kad kupis auto, pa se kreira fajl
Zoran123456
Wheel Man
pre 10 godina
Ne ne ne niste me razumeli obojica, radimental,tako je vec na modu bilo podeseno jer je UP mod,ja sam hteo da napravim sledece.
Da ja kreiram .ini fajlove u folderu vozila,to je sve okej,radi vec,samo je problem jedna stvar,u skripti,ja kada izbrisem vozilo,svi idevi se smanje za 1,to je problem,gledao sam bas na vasem forumu i video sam neke pomoci,da se vozila moraju napraviti tako da se citaju preko arraya ne preko IDa jer se tako najcesce zbuga sve,kao meni trenutno..

Da pojasnim malo drugacije,u scriptfiles/vozila postoje .ini fajlove koje sam ja sam napravio,vozila se ucitaju u mod kada se pokrene i to sve stoji okej,samo je problem kao sto sam gore spomenuo ID vozila,kada izbrisem neko rent vozilo,posao vozilo,org vozilo ili bilo koje,svi idevi se smanje za 1,a u scriptfiles ostane ime .ini fajla npr. Veh_325,dok to vozilo bude ID 324 jer se neko izbrisalo.
Da ne duzim,nisam bas najbolje objasnio,ali siguran sam da cete razumeti poentu..
Trazite sta god zelite,dacu vam,nema problema.
Rudimental
OG Legend
pre 10 godina
Pa pazi uzmimo primer da imas 100 vozila 100 fajlova i sada ti obrises fajl koji je vozilo id 50 primer sta ce se desiti kada uradis save ? Desice se to da ce vozila preko tog IDa pasti na 1 jer je i njihov ID u samoj igri opao za 1 te bi vozilo koje je bilo 51 spalo na 50 jer ima rupa i itd... Ako si me od prilike razumeo sad ...
Zoran123456
Wheel Man
pre 10 godina
Da,da to razumem u potpunosti,ali kako ja onda da definisem funkciju IsASalesVehicle(vehicleid)?
Posto na svim modovima koji imaju sistem 3 slota ta funkcija je definisana npr ovako:
forward IsASalesVehicle(vehicleid);
public IsASalesVehicle(vehicleid)
{
    if(vehicleid >= 100 && vehicleid <= 200) { return 1; }
    return 0;
}

Ja trenutno ne znam,da li je tu potrebno da se doda i CarInfo == 0?
Tako je trenutno upisano u skripti,alo svakako ne radi,zbog funkcije IsASalesVehicle i IsAnOwnableCar ne radi vise od pola sistema,sve mi se u glavi pobrkalo i doslo je do te mere da ne znam ni sta je problem vise tacno..
Uglavnom najverovatnije zbog toga greskom salje neke poruke i neda skripti da izvrsi proces..
Rudimental
OG Legend
pre 10 godina
Pa pazi ne znam kakav ti je system za vozila ali uzmimo primer server vozila da ih ovako nazovem sta bi od vozila spadalo pod ovo server vozila spadali bi svi IDovi vozila za razne organizacije, poslove itd... Koje bi trebao uraditi pomocu ovoga http://balkan-samp.com/forum/index.php?topic=93427.0 i onda kada zavrsis sva ta vozila za organizacije, poslove, rent sve sto imas e onda ides na vozila za igrace i pravis ih u fajlove naravno ali pravis od IDa koji ti je zavrsen za ova server vozila znaci ako imas 100 server vozila za ovo sto sam gore pricao ti onda cepas fajlove 101, 102 itd.. I onda takodje load za ta vozila sredis da cita od tog i tog IDa pa do tog i tog i nebi trebao imati nikakvih problema oko toga.. E sada naravno potreban ti je 1 stock/public mada moze i stock koji ce da regulise IDove za ta vozila koja su za igrace namenjena cisto iz razloga za buy i tako neke provere da se nesto nebi izbagovalo... I naravno u fajlovima ti je potrebne varijable za vlasnika.
Zoran123456
Wheel Man
pre 10 godina
hmm,tek sam sada shvatio da array sistem vec imam u modu,sve je na isti nacin definisano..
Sva vozila iz moda su obuhvacena u arrayima ali ponovavljam,kada izbrisem neko vozilo,svakako moji .ini fajlovi iz scriptiflesa ce biti nepovezani,u modu ce ID biti lupam 101,a u scriptifles 102..
Vidi,ovo cemo jako tesko ovako srediti,mnogo sam ti zahvalan na pomoci,ali da li ti zelis da ja tebi posaljem mod,dosta je radjeno na njemu,ne dajem uglavnom nikome modove,ali imam poverenja,ukoliko zelis pre svega bi trebao da pokrenes samp-server i da odes na pijaci,sednes u vozilo probas kupiti komandom i vdeti da ima problem,kaze da vozilo nije na prodaju,isto tako kada se kupi kaze vozilo zakljucano pa ne mozes da ga kontrolises a kljuc ti stoji i sve,ima puno bagova,a sitnih koje sam na sve moguce nacine koje ja bar poznajem probao resiti i nisam uspeo sve,vecinu jesam,ali opet je ostalo nekoliko..
Svakako obavesti me da li zelis,da li imas vremena ili ne,hvala svakako za sve.
Rudimental
OG Legend
pre 10 godina
Ne mogu to jbg mada moj savet ti je mozda da nadjes neki mod gde system za vozila dobro funkcionise takvih modova ima moze se naci i onda pogledas sta tamo ima a kod tebe ne i sta je kako definisano i tako ces resiti problem oko te kupovine ...

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava