Peršokti į turinį

[PAMOKA - BETA] Vartų atidarymas su mygtuku.


Guest Martynas_Malboro

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

Įžanga

Taigi manau daugelis susidūrė su tokia problema kad sukūrus vartus su mygtuku jie atsidaro su keliais ir mašinoje ir ne mašinoje su skirtingais, taigi šioje pamokoje paaiškinsiu kaip padaryti kad mašinoje ir ne mašinoje atsidarytu su tokiu pačiu mygtuku.

Vartų kūrimas

1. Sumapiname uždarytus ir atidarytus vartus.

2. Išsiimame failą iš čia: GTA San Andreas\server\mods\deathmatch\resources

3. Konvertuojame šioje svetainėje http://gtamap.delux-host.com/converter/, aš konvertuoju į PAWN Code for SA:MP. Jūs pasirinksite koki jus norite.

4. Tada einame į gamemodes\data spaudžiame į vartai failiuką ir prie new prirašome savo pasirinkta pavadinimą, tarkim "Vartai"

5. Einame į gamemodes\data init failiuką ir apačioje prirašome Vartai = (Vartų kordinatės kuriuos konvertavome. BŪTINAI UŽDARYTU, skliaustu nereikai)

6. Einame į savo gamemode, susirandame:

"public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)"

Ir po juo rašome:

if(IsPlayerInAnyVehicle(playerid) && newkeys & KEY_HANDBRAKE || !IsPlayerInAnyVehicle(playerid) && newkeys & KEY_SPRINT) // Space klavisas
{
if(IsPlayerInRangeOfPoint(playerid, 10.0 , Kordinatės))
{
{

if(GetPVarInt(playerid, "Vartai") == 0) //Jei vartai uždaryti
{
MoveObject(Vartai, Kordinatės, 2); // Atidaryti
SetPVarInt(playerid, "Vartai", 1); //Padarom vartus atidarytus
GameTextForPlayer(playerid, "~G~ Atidarote vartus!", 2000, 5);
}
else if(GetPVarInt(playerid, "Vartai") == 1) //Jei vartai atidaryti
{
MoveObject(Vartai, Kordinatės, 2); //Uždaryti
SetPVarInt(playerid, "Vartai", 0); //Padarom vartus uždarytus
GameTextForPlayer(playerid, "~R~ Uzdarote vartus!", 2000, 5);
}
}
return 1;
}
}

Ką padariau kad vartai atsidarytu su space ir mašinoje ir ne mašinoje? Parašiau šitaip:

if(IsPlayerInAnyVehicle(playerid) && newkeys & KEY_HANDBRAKE || !IsPlayerInAnyVehicle(playerid) && newkeys & KEY_SPRINT)

Keli paaiškinimai:

Vartai - Čia įrašome pavadinimą kuri rašėme vartai failiuke prie new

Kordinatės - Čia rašome X, Y, Z kordinates (Būtinai konvertoutu)

Greitis - Čia vartų atsidarymo greiti, geriausias manau greitis yra 2

MoveObject(Vartai, Kordinatės, Greitis);

iIsPlayerInAnyVehicle(playerid) && newkeys & KEY_HANDBRAKE - Su šiuo kodu vartai atsidarys mašinoje tik su space

!IsPlayerInAnyVehicle(playerid) && newkeys & KEY_SPRINT - Su šiuo kodu vartai atsdarys ne mašinoje tik su space klavišu

if(IsPlayerInAnyVehicle(playerid) && newkeys & KEY_HANDBRAKE || !IsPlayerInAnyVehicle(playerid) && newkeys & KEY_SPRINT)

10.0 - Atstumas nuo objekto per kuri galima ji pajudinti

Kordinatės - Uždarytu vartų kordinatės

if(IsPlayerInRangeOfPoint(playerid, 10.0 , Kordinatės))

Kodėl tai vadinati BETA pamoka?

Todėl kad yra vienas bugas, mašinoje vartai atsidaro su space ir dešiniu CTRL, kai išsiaiškinsiu kaip ištaisyti parašysiu šioje temoje

Jeigu yra kokiu klausimų rašykite šioje temoje, pasistengsiu atsakyti. Pamoka kūriau aš, visu 100%, nei trupučio nuo niekur nekopijavau...

Nuoroda į komentarą
Dalintis per kitą puslapį

Gražiai nukopijuota, nuo mano senosios pamokos [ zygimantas112 autorius ].

Tu *** *** ****** ką čia svaigsti. Parodyk pamoką ** *** jei bus nukopijuota atiduosiu visus savo FLT visi gali matyti ką rašau. *** ******* ateina ir aiškina nesąmones...

Nuoroda į komentarą
Dalintis per kitą puslapį

C:\Documents and Settings\Vartotojas\Desktop\Gm\kaimeliu mapp kelimas, vartu ir namu kurimas\gamemodes\TMG.pwn(31) : warning 204: symbol is assigned a value that is never used: "manovartai"

ziurek man meta erora surasiau viska ir i vartai irasiau

new manovartai;

ir nesuprantu kur ka darasyti reikia gal gali padeti?

Nuoroda į komentarą
Dalintis per kitą puslapį

C:\Documents and Settings\Vartotojas\Desktop\Gm\kaimeliu mapp kelimas, vartu ir namu kurimas\gamemodes\TMG.pwn(31) : warning 204: symbol is assigned a value that is never used: "manovartai"

ziurek man meta erora surasiau viska ir i vartai irasiau

new manovartai;

ir nesuprantu kur ka darasyti reikia gal gali padeti?

5. Einame į gamemodes\data init failiuką ir apačioje prirašome Vartai = (Vartų kordinatės kuriuos konvertavome. BŪTINAI UŽDARYTU, skliaustu nereikai)

Nuoroda į komentarą
Dalintis per kitą puslapį

supranti pas manes init.txt failo nera pas manes yra viskas sukelta i gamemoda |(visi objektai, masinos)

Erroras yra toks kad tu jo nepanaudojai. to "manovartai", ištrink ji... Tada jei jis yra reikalingas įdėk scripta perdarysiu nes sunku paaiškint bus...

Nuoroda į komentarą
Dalintis per kitą puslapį

Gražiai nukopijuota, nuo mano senosios pamokos [ zygimantas112 autorius ].

Tu *** *** ****** ką čia svaigsti. Parodyk pamoką ** *** jei bus nukopijuota atiduosiu visus savo FLT visi gali matyti ką rašau. *** ******* ateina ir aiškina nesąmones...

Total kid, rippintojas, duosiu -REP.

Nuoroda į komentarą
Dalintis per kitą puslapį

Gal galetum mygtuku zodzius atsiust? Kaip koks mygtukas vadinasi

Per Options > Controls rašo kiekvieno mygtuko funkcija, ten ir pavadinimas skaitosi, na gal ne visi. Kokio mygtuko būtent reikia?

-- Papildyta --

Gražiai nukopijuota, nuo mano senosios pamokos [ zygimantas112 autorius ].

Tu *** *** ****** ką čia svaigsti. Parodyk pamoką ** *** jei bus nukopijuota atiduosiu visus savo FLT visi gali matyti ką rašau. *** ******* ateina ir aiškina nesąmones...

Total kid, rippintojas, duosiu -REP.

Prašau parodyti savo pamoką ir jos neredaguoti, jei teigi, jog pamoka rip'inta.

Nuoroda į komentarą
Dalintis per kitą puslapį

Gražiai nukopijuota, nuo mano senosios pamokos [ zygimantas112 autorius ].

Tu *** *** ****** ką čia svaigsti. Parodyk pamoką ** *** jei bus nukopijuota atiduosiu visus savo FLT visi gali matyti ką rašau. *** ******* ateina ir aiškina nesąmones...

Total kid, rippintojas, duosiu -REP.

Na ką aš čia stengiausi dėl jūsų, pamoka pats dariau eikvojau savo laiką dėl jūsų, aš galėjau ta laiką paskirti savo projektui... Na supratau kad nenorite daugiau mano pamokų tai vsio sėkmės gaištant laiką su pamokomis kurios normaliai neišaiškina ar tiesiog neveikia niekas darant pagal jas...

Nuoroda į komentarą
Dalintis per kitą puslapį

  • Parašė po 1 mėnesio...

C:\Documents and Settings\Administrator\Desktop\GRP-LIFE v1.0.0\gamemodes\band7.pwn(9757) : warning 202: number of arguments does not match definition

C:\Documents and Settings\Administrator\Desktop\GRP-LIFE v1.0.0\gamemodes\band7.pwn(9757) : warning 202: number of arguments does not match definition

C:\Documents and Settings\Administrator\Desktop\GRP-LIFE v1.0.0\gamemodes\band7.pwn(9757) : warning 202: number of arguments does not match definition

Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

3 Warnings.

gali padet va ten ta eilute kur warning: if(IsPlayerInRangeOfPoint(playerid,-17951, -2050.8994140625, 469.76132202148, 35.948783874512, 0, 0, 0))

Nuoroda į komentarą
Dalintis per kitą puslapį

  • Parašė po 1 mėnesio...

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