Peršokti į turinį

[pamoka] Kuras


popa11

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 4937 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Mes kursime dvi naujas funkcijas (public), kad butu galima rasyti papildoma scripta, kuris ka nors daro, tai reikia virsuje irasyt:

Kodas: Pasirinkti visus

forward mazeja();

forward rodom();

ir taipat pati kintamaji, be kurio negalesim nustatyti degalu kieko (MAX_VEHICLES reiskia kad tikrina visus automobilius):

Kodas: Pasirinkti visus

new Kuras[MAX_VEHICLES];

dabar sukurkime pirmaja funkcija, kuri pades mazinti kura automobilio bake:

Kodas: Pasirinkti visus

public mazeja()

{

for(new i=0;i

{

if(IsPlayerConnected(i)) //sitas patikrina ar zaidejas pasijunges, jei nebutu sitos funkcijos, tai servas patikrintu visus 200 zaideju, nors zaidzia tik 1, tai sukeltu nemazai lago

{

if(IsPlayerInAnyVehicle(i)) //patikra ar zaidejas yra automobilyje

{

if(Kuras[GetPlayerVehicleID(i)] <= 0)

{

//cia galite irasyti ka norite kad darytu skriptas jeigu zaidejas yra automobilyje kuriame nera kuro.

return 1;

}

Kuras[GetPlayerVehicleID(i)] -=5; //tiesiog atima is masinos 5 kuro vienetus.

}

}

}

return 1;

}

va, dabar sukurkime antraja funkcija, praita funkcija atima kura jei masina naudojama, sita funkcija kuria dabar parasysime ji parodys informacija. Galima naudot TextDraw, GameText, as tiesiog zinute siunciu, nes cia tik systemos parodomasis kodas, o ne kaip graziai galima padaryti TextDraw.

Kodas: Pasirinkti visus

public rodom()

{

for(new i=0;i

{

if(IsPlayerConnected(i) && GetPlayerState(i) == 2) //patikrinam ar zaidejas pasijunges ir yra vairuotojas

{

new info[128]; //naujas stringas, naudosim informacijai

format(info,sizeof(info),"Degalai: %d",Kuras[GetPlayerVehicleID(i)]); // formatuojam %d reiskia, kad rodys skaiciu

SendClientMessage(i,0xFFFFFFF,info); // ir nusiunciame zinute zaidejui kur rasys Degalai: 100 ar 95, 90, 85 ir t.t. kiek kuro masinoj taip ir rodys.

}

}

}

ir beliko pries paskutinis momentas, timeriai, kurie skaiciuos funkcijom "mazeja" ir "rodom".

sita idekite i OnGameModeInit(), jei GM o jei FS tai OnFilterScriptInit()

Kodas: Pasirinkti visus

SetTimer("mazeja",15000,1); // kas 15 sekundziu mazes kuras jei masina naudojama.

SetTimer("rodom",1000,1); // kas sekunde bus rodoma zinute jei masina naudojama

o dabar tiesiog padarome jog visos masinos turetu kuro kai jos sukuriamos poOnGameModeInit(), jei GM o jei FS tai OnFilterScriptInit() . Nes jei nepadarysim tai jos bus be degalu ir negales vaziuoti.

Kodas: Pasirinkti visus

for(new i=0;i

{

Kuras = 100;

}

Tai tiek, galite redaguot savo naudojimui :) cia grynai pagrindas kuro sistemos, veikia patikrinau pats :) galite visom masinom skirtingus bakus padaryt, skirtingas kuro sanaudas, sanauda didejancia kuo greiciau vaziuoji :D ir t.t. :) sekmes scriptuose!

P.S. jei ant real tai kuo greiciau vaziuoja tuo maziau rija kuro.

P.S.S. jei kas dare i OnVehicleSpawn dekit i OnGameModeInit

Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 4937 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...