Forumo paieška
'pickup' .
Pagal jūsų užklausą pavyko rasti 1 rezultatą
-
Pickup kūrimasSveiki! Šioje pamokoje parodysiu kaip sukurti pickup ir kaip padaryti, kad ant jo užlipus jis suveiktu ir vykdytu kažkokį kodą. Išgauname koordinatesDabar turime gauti koordinates, pagal kurias nurodysime pickup stovėjimo vietą. Taigi prisijunkite į serverį, atsistokite į vietą, kurioje norite, kad stovėtu jūsų pickup ir rašykite tokią komandą: /rs [bet koks tekstas/žodis] Dabar einame: Start → Documents → GTA San Andreas User Files → SAMP → rawpositions.txt Atsidariusiame tekstiniame dokumente turite matyti savo vietos koordinates, kurias išsaugojote, pvz.: 2302.6101,-7.1328,26.4844,274.2610 ; pavadinimas Ten matome X,Y,Z,Angle koordinates, o mums reikės tik X,Y,Z, tad imkite tas koordinates, kur pažymėjau raudonai. Enum'asKoordinates jau turime, tad dabar susikuriam pickup'ų enum. Aišku galime naudoti ir paprastą new pickup; , na bet pagal mane enum patogesnis ir geresnis, tad rodau kodą(rašome viršuje prie po visais include): enum _pickup { }; new Pickup[ MAX_PICKUPS ][ _pickup ]; Kuriame pickup Na pagrinde kaip ir viską susikūrėme, liko sukurti tik pickup, tik prieš tai mūsų sukurtame enum'e prirašome pickupo pavadinimą: enum _pickup { Pickupas }; new Pickup[ MAX_PICKUPS ][ _pickup ]; Ir pati pickupo funkcija: Pickup[ 0 ][ Pickupas ] = CreatePickup(model,type, Float:X,Float:Y,Float:Z, virtualworld); Pickupo parametrai: model - Pickupo modelis(tai gali būti iš čia ar objekto ID); type - pickupo spawn tipas(juos galite rasti čia); Float:X - Pozicijos X koordinatė; Float:Y - Pozicijos Y koordinatė; Float:Z - Pozicijos Z koordinatė; virtualworld - Virtualus pasaulis, kuriame rodys pickupą(Jei norita, kad rodytu visuose virtualiuose pasauliuose rašykite -1). Taigi pilnai pasirašome CreatePickup funkciją(Funkciją rašome OnGameModeInit callback'e): Pickup[ 0 ][ Pickupas ] = CreatePickup(1239,2, 2302.6101,-7.1328,26.4844, 0); Vykdome kažką užlipę ant pickup Pickup'ą jau kaip ir susikūrėme, tik užlipę ant jo šiuo metu jokio veiksmo negausite. Tam, kad kažką atlikti turite susirasti savo modifikacijos .pwn faile šį callbacką public OnPlayerPickUpPickup(playerid, pickupid) { return 1; } Kai jau susiradote šį callback'ą, galime dirbti toliau. Taigi rodau kodą: public OnPlayerPickUpPickup(playerid, pickupid) { if(pickupid == Pickup[ 0 ][ Pickupas ]) { // Jūsų kodas... return 1; } return 1; } OnPlayerPickUpPickup callback'e tikriname, ar pickupid yra lygus pickupui, ant kurio užlipote. Jeigu lygus, tad vykdome kažkokį kodą toje vietoje kur parašyta „Jūsų kodas“. Ten galite rašyti savo kodą. Pabaigai Jeigu norite kurti daugiau pickupų, turite enume prisirašyti daugiau pavadinimų. Aišku jie turi būti skirtingi ir atskirti kableliu (paskutinėje enum eilutėje neturi būti kablelio). Pavyzdys: enum _pickup { Pickupas, Pickupas2 }; new Pickup[ MAX_PICKUPS ][ _pickup ]; Pamokos autorius: Sneroq Kopijuoti galite tik prirašę šias eilutes!
- 33 atsakymų
-
- 21
-