Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

Supaprastintas mašinų kūrimas.


Stuneris

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3411 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

Sveiki, šiandien susikūriau tokį script'ą, kurį naudodavau savo kuriamuose gamemode'uose, man asmeniškai toks mašinų kūrimo principas yra patogesnis, nežinau kaip jums, bet sukursiu pamoką kaip jį pasidaryti, pradėkime:

 

Enum su kintamaisiais

 

Kur nors kodo viršuje rašome:

enum param { model, Float:x, Float:y, Float:z, Float:a}

Čia pavadinau atributus (sukūriau jiems kintamuosius), kuriuos naudosiu grupuodamas masyvo elementus.
 

Masyvas su informacija

 

Žemiau enum sukuriame tokį masyvą:

new vehicles[][param] =
{
	{411, 10.5, 15.1, 3.4, 90.0},
	{495, 10.5, 20.8, 3.4, 90.0}
      //{model ID, X, Y, Z, A}
};

Kaip matote čia sukuriu masyvą su mašinos informaciją, kurią kursime (modelio ID bei x, y, z koordinates ir pasisukimo kampą). Po kiekvieno pogrūpio, išskyrūs paskutinio, reikia dėti kablelį ({411, 10.5, 15.1, 3.4, 90.0}).

 

Sukuriame mašinas

 

OnGamemodeInit callback'e rašome tokį kodą:

for(new i=0; i<=sizeof(vehicles); i++) CreateVehicle(vehicles[i][model], vehicles[i][x], vehicles[i][y], vehicles[i][z], vehicles[i][a], 0, 0, -1);

Čia ciklo pagalba sukuriame kiekvieną mašiną.

 

Nuoroda į komentarą
Dalintis per kitą puslapį

(redaguota)

Šaunuolis , kad daliniesi :)

Pataisysiu tave, kuriu, o ne dalinuosi. :)

 

pro scipter ! .

Eik jau... Nesu jau toks profesionalus, tikrai ne vienas mane padėtu dvikovoje, kad ir pats šio forumo dievaitis Justas. Mano laikai jau praėjo.

Redaguota , nario Stuneris
Nuoroda į komentarą
Dalintis per kitą puslapį

  • Parašė po 3 savaičių...
  • Parašė po 3 mėnesių...

Mano gm'e tavo ciklas interpretuoja viską kaip savo komandas tarkim paėmiau 

enum param 
{ 
model, 
Float:x, 
Float:y, 
Float:z, 
Float:a
};
new nuomojamos[][param] =
{
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *}
};
new ......[][param] =
{
        {..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *}
};
for(new i=0; i<=sizeof(nuomojamos); i++) {
SetVehicleNumberPlate(CreateVehicle(nuomojamos[i][model], nuomojamos[i][x], nuomojamos[i][y], nuomojamos[i][z], nuomojamos[i][a], 0, 0, -1),"NUOMA");
}
for(new i=0; i<=sizeof(rangeriai); i++) {
SetVehicleNumberPlate(CreateVehicle(rangeriai[i][model], rangeriai[i][x], rangeriai[i][y], rangeriai[i][z], rangeriai[i][a], 0, 0, -1),".....");
}
ir sukuria tik nuomojamas mašinas ir tarkim padedu po komandom printf("Masinos uzkrautos"); ir neatvaizduoja to consolei
Redaguota , nario erikqs
Nuoroda į komentarą
Dalintis per kitą puslapį

 

Mano gm'e tavo ciklas interpretuoja viską kaip savo komandas tarkim paėmiau 

enum param 
{ 
model, 
Float:x, 
Float:y, 
Float:z, 
Float:a
};
new nuomojamos[][param] =
{
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *}
};
new ......[][param] =
{
        {..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *}
};
for(new i=0; i<=sizeof(nuomojamos); i++) {
SetVehicleNumberPlate(CreateVehicle(nuomojamos[i][model], nuomojamos[i][x], nuomojamos[i][y], nuomojamos[i][z], nuomojamos[i][a], 0, 0, -1),"NUOMA");
}
for(new i=0; i<=sizeof(rangeriai); i++) {
SetVehicleNumberPlate(CreateVehicle(rangeriai[i][model], rangeriai[i][x], rangeriai[i][y], rangeriai[i][z], rangeriai[i][a], 0, 0, -1),".....");
}
ir sukuria tik nuomojamas mašinas ir tarkim padedu po komandom printf("Masinos uzkrautos"); ir neatvaizduoja to consolei

Tiesiog naudoji

print("Masinos uzkrautos");

nes aš jo niekur nematau

Nuoroda į komentarą
Dalintis per kitą puslapį

 

Mano gm'e tavo ciklas interpretuoja viską kaip savo komandas tarkim paėmiau 

enum param 
{ 
model, 
Float:x, 
Float:y, 
Float:z, 
Float:a
};
new nuomojamos[][param] =
{
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *}
};
new ......[][param] =
{
        {..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *},
	{..., *,*,*, *}
};
for(new i=0; i<=sizeof(nuomojamos); i++) {
SetVehicleNumberPlate(CreateVehicle(nuomojamos[i][model], nuomojamos[i][x], nuomojamos[i][y], nuomojamos[i][z], nuomojamos[i][a], 0, 0, -1),"NUOMA");
}
for(new i=0; i<=sizeof(rangeriai); i++) {
SetVehicleNumberPlate(CreateVehicle(rangeriai[i][model], rangeriai[i][x], rangeriai[i][y], rangeriai[i][z], rangeriai[i][a], 0, 0, -1),".....");
}
ir sukuria tik nuomojamas mašinas ir tarkim padedu po komandom printf("Masinos uzkrautos"); ir neatvaizduoja to consolei

Ciklus reikia rašyti OnGameModeInit arba OnFilterscriptInit (priklausomai nuo scripto tipo). Tu kaip suprantu juo parašei iškart po kintamaisiais.

Nuoroda į komentarą
Dalintis per kitą puslapį

  • Parašė po 3 savaičių...

Bet tarkim, jeigu mašinas susidedi per map editor ir ten iš kart sukonvertuoja į CreateVehicle funkciją, tai nemanau, kad iš ten labai patogu būtų perkopijuot koordinates į masyvą.

Yra sprendimas ir tam. http://convertffs.com suteikia galimybę susikurti coustom konvertavimą:

b2491a323731e7cb407ad3618bfb95e6300.jpg

Nuoroda į komentarą
Dalintis per kitą puslapį

  • Parašė po 4 mėnesių...

Ciklus reikia rašyti OnGameModeInit arba OnFilterscriptInit (priklausomai nuo scripto tipo). Tu kaip suprantu juo parašei iškart po kintamaisiais.

nu nežinau ištikrų dabar va vėl bandžiau įkėliau į onplayergamemodeinit ir errorus pradėjo mėtyt...

Bėto radau bėda geriau pasidarykit šitaip

#define PRIDETOS_MASINOS 9 // Pakeisti į savo pridėtų mašinų skaičių
for(new i; i<PRIDETOS_MASINOS; i++)
{
// kodas
} 
Redaguota , nario erikqs
Nuoroda į komentarą
Dalintis per kitą puslapį

su sizeof kad ir kur dedu includinimą to failo kuriame yra tų mašinų kūrimo masyvas viską vaizduoja kaip savo tarkim paimu padedu ant OnGameModeInit tada jokios kokios funkcijos yra naudojamos ten neveikia išskyrus tas mašinų krovimas ir taip visur kad ir kokiam dėčiau o dabar su define viskas veikia 100 %

Redaguota , nario erikqs
Nuoroda į komentarą
Dalintis per kitą puslapį

su sizeof kad ir kur dedu includinimą to failo kuriame yra tų mašinų kūrimo masyvas viską vaizduoja kaip savo tarkim paimu padedu ant OnGameModeInit tada jokios kokios funkcijos yra naudojamos ten neveikia išskyrus tas mašinų krovimas ir taip visur kad ir kokiam dėčiau o dabar su define viskas veikia 100 %

Kam tu includini tą mąsyvą iš kažkur kitur, tiesiog dėk gamemode kode viską.

Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3411 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!

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

  • Šiame puslapyje naršo:   0 nariai

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

Skelbimai


×
×
  • Sukurti naują...