Această serie de lecții este destinată celor care doresc să învețe cum să-și creeze propriile arme pentru jocuri video, fie că este vorba AAA First Person Shooter (FPS), Joc de supraviețuire sau Shooter la persoana a treia (TPS). Modelarea unei arme este o chestiune foarte simplă, dar este nevoie de mult timp, deoarece mai întâi trebuie să creăm High-Poly model, după aceea trebuie să facem o retopologie, optimizând astfel modelul pentru jocuri, coacere Hartă normală Cu High-Poly, aplicați calitatea Redare bazată fizic(PBR) texturi și instalați modelul 3D pentru animația ulterioară. Seria de lecții va fi împărțită în 3 părți: 1. Modelarea unui pistol, 2. Crearea de materiale și animații pentru Glock, 3. Importarea modelului în Unity3D și crearea unui script de filmare.

Pentru a crea acest model vom folosi software gratuit și foarte puternic Blender3D. Cea mai recentă versiune de Blender la momentul scrierii este 2.78. Îl puteți descărca de pe site-ul oficial. Puteți utiliza orice alt software: 3DS Max, Mayași chiar casnic Busolă-3D, diferența va fi doar în interfața programului. Pentru a crea texturi vom folosi preferatul tuturor Photoshop, dar și potrivit GIMP.

A crea Glock gata de joc, trebuie să rămânem la acest plan:
1. Găsiți desene și câteva referințe ale pistolului
2. Începeți modelarea High-Poly
3. Optimizați modelul 3D pentru jocuri
4. Creați texturi PBR
5. Importați Glock în Unity

Desene cu pistol Glock

Majoritatea modelelor necesită desene pentru a le crea. Am găsit o imagine frumoasă cu o armă Glock 19 fata, spate si laterale. Fotografiile nu se potrivesc exact, dar astfel de erori nu ar trebui să interfereze cu procesul. Dar este mai bine să folosiți desene precise, de exemplu de pe acest site sau pe acest site. Deci, pentru a adăuga o imagine pe fundal, trebuie să: apăsați tasta N, în meniul care se deschide, găsiți fila Imagini de fundal > Adăugați imagineși selectați fișierul dorit. Pentru a vedea imaginea, trebuie să comutați la modul ortogonal făcând clic 5 pe Numpad. Mai jos este o caracteristică importantă - Opacitate(Transparenţă). Adăugați mai multe referințe în același mod, dar dezactivați-le temporar în această filă. Dacă nu vă place această metodă, puteți activa suplimentul Imagini ca avioane în Preferințe utilizator > Suplimente.

Desenele nu pot prezenta tăieturi sau piese mici de pe pistol. Referințe de la Google. Căutați cât mai multe imagini cu Glock din diferite unghiuri.

Simulare de arme High-Poly

În timp ce creați High-Poly Modelul nu trebuie să salveze poligoane, folosiți câte doriți. Nu vă zgâriți cu poligoane pentru toate diferitele părți mici și tăieturi. Pentru comoditate, puteți folosi Taste rapide(taste rapide) care vă vor simplifica foarte mult viața și vă vor economisi mult timp. Toate tastele rapide Blender utile sunt scrise în acest articol:. Avem nevoie doar de câteva dintre ele: E- extrudare, G- in miscare, S- scalare, Ctrl+B- teșitură, Z- comutați în modul Cadru de sarma,X- îndepărtare, A- selectați toate elementele când faceți clic Aîn modul de editare, toate punctele/marginile/planurile vor fi selectate, H- ascunde obiectul.

Retopologie High-Poly Glock

În această etapă trebuie să ne optimizăm modelul 3D pentru jocuri video. AAA armele ar trebui să aibă acum până la 20.000 Tris, dacă e automată, până la 10.000 Tris dacă este o armă. Acestea sunt valori aproximative și sunt diferite pentru fiecare proiect. BlenderMania a lansat un tutorial foarte bun despre cum să retopologiei un obiect high-poli pe un model 3D Low-Poly.

În această lecție, autorul vorbește despre modul de utilizare Blender3DȘi MeshLab pentru a crea o retopologie rapidă folosind un minim de efort și timp. În cazul nostru nu este nevoie de utilizare MeshLab, vom crea Low-Poly model de la zero, așa cum se arată în acest tutorial video:

Modelul nostru ar trebui să fie împărțit în 4 părți: șurub, trăgaci, magazie și piesa principală. Magazinul, precum și șurubul și declanșatorul, trebuie să fie compuse din cantitate minima poligoane, deoarece majoritatea poligoanelor vor merge la baza pistolului.

Crea Desfacere UV model low poly. Pentru a coace Harta normală trebuie să selectați High-Poly model, apoi alege-l pe al nostru Low-Poly, accesați fila Face. Trebuie să ne asigurăm că am selectat Blender Render. Găsiți în această filă Bake> Bake Mode = Normals, Normal Space = Tangent, Selected to Active. Clic Coace. După coacere, hărțile normale trebuie salvate făcând clic F3. Accesați fila Materiale, crea material nou, în fila Texturi selectați harta noastră normală, în Influență opriți Culoare, Geometrie > Normal.ÎN Coordonate de cartografiere trebuie comutat de la Generat pe UV. Adăugați lumină scenei și vedeți rezultatul.

În următorul tutorial vom crea texturi și animații pentru pistolul nostru.

O zi bună, dragi participanți la forum!
Astăzi vă voi spune cum să vă implementați arma pentru Counter Strike 1.6 și vă va ajuta să învățați cum să lucrați cu programul FragMotion.

De ce vei avea nevoie azi?


  • fragMOTION- mai bine nu mai vechi de 1.1.
  • MilkShape 3D- la 1.7.6 propriu-zis.
  • GUI StudioMDL- ultimul.
  • Brațe drepte- de la nastere.

(Înainte de a finaliza lecția, luați v_deagle.mdl și v_knife.mdl și puneți-le în foldere separate, pentru comoditate).

Prima parte. Pregătirea pentru muncă.

1. Mai întâi, deschideți MilkShape 3D, apoi fila Instrumente și Kratisto's Half-Life MDL Decompiler v.1.x (x=versiune).
2. Faceți clic pe butonul de revizuire, cel din dreapta cuvintelor MDL File...

3. Deschideți v_deagle.mdl obișnuit, care se află într-un folder special pregătit.
4. Faceți clic pe OK și așteptați până când procesul este finalizat.
5. Gata! Deschideți folderul și găsiți fișiere .smd, .bmp și .qc în el.
6. Deschideți fragMOTION, faceți clic pe File --> Open..., selectați ref_deonly.smd.
7. Vom primi așa-numita „referință” a deagle. Acum trebuie să scoatem toate oasele, cu excepția plasei (modelului).

Dar înainte de a face ceva, deschideți Editare --> Personalizare interfață utilizator. Dacă totul este implicit, faceți clic pe linie și selectați Configurații mouse.
Aveți în față setările implicite. Apropo, este foarte greu de lucrat cu ei.
Faceți clic dreapta pe fila MouseConfigurations --> New... --> MouseConfig.
Va apărea o nouă configurație. Facem clic stânga pe el și configuram totul așa cum fac eu.

Este totul gata? Faceți clic pe Fișier --> Salvați modificările.

8. Cum se scot aceste oase? Uşor. Țineți apăsat butonul din dreapta și încercuiți totul în jurul armei. Apăsați tasta Ștergere. Gata.
9. Rămâne să pregătim pistolul pentru utilizare ulterioară.
Faceți clic pe Transformare --> Opțiuni de transformare...
Se deschide o fereastră.

Debifați caseta Scale. Bifați caseta Poziție, apoi butonul Aplicați.
Arma noastră este aliniată la centru.
Acum trebuie să-l întorci astfel încât să stea plat în mâinile tale...
În mână? În mână?! Ce facem?
Și asta facem.

Partea a doua. Coacerea oaselor.

10. Acum trebuie să-l întorci astfel încât să stea plat în mâinile tale...
Faceți clic pe caseta de selectare Rotire, introduceți 90.0000 în câmpul Y și faceți clic pe Aplicare de două ori.
Ștergeți cele nouă din câmpul Y, lăsând 0,0000. Acum introducem 90.0000 în câmpul Z.
Faceți clic pe Aplicați de trei ori.
11. Debifați Rotire și bifați Poziție. Lăsăm totul așa cum este. Faceți clic pe Aplicați o dată.
Notă: Dacă brusc pistolul zboară unde nu ar trebui, apăsați pe Aplicare până când arma aterizează în mijloc.

Ei bine, nu v-am spus un lucru.
Faceți clic pe Vizualizare --> Aspect --> 4 colțuri. Acest lucru face ca navigarea în viitor să fie foarte convenabilă.
Pentru a zbura în vizualizarea 3D, țineți apăsat butonul rotiței mouse-ului. Pentru a roti camera, țineți apăsat Shift + Mouse3 (rotița mouse-ului). Cred că știi cum să te apropii.

După toate operațiunile descrise mai sus, ar trebui să obțineți așa ceva.

12. Faceți clic pe File --> Merge..., deschideți reference.smd din cuțitul decompilat. Fără a selecta nimic, faceți clic pe OK.
Mâinile și un cuțit intră în scenă.

13. Acum trebuie să distrugem rămășițele cuțitului și să introducem pistolul.
Nu atingem pistolul, acum ne vom ocupa de cuțit.

14. Țineți apăsat Shift+LMB (butonul stâng al mouse-ului) și trageți în jurul cuțitului inutil.
Apăsați tasta Ștergere. Wow, au mai rămas bucăți!

15. Acum, în vederile Stânga, Sus, Față, procedați la fel, eliminând ultimele rămășițe ale cuțitului.

16. Ura! Nu există nici un cuțit, iar acum puteți începe să prăjiți oasele.
Faceți clic pe LMB de două ori pe ref_deonly.

Acum LMB mută tunul la punctul albastru, care se află în locul cuțitului scos. Botul înainte, respectiv.

Ar trebui să ajungi cu ceva asemănător.

Notă: nu aveți texturi pe mâini? Nu vă faceți griji! Nu contează deloc. Mai am texturile din vechile exporturi.

17. Acum selectați punctul albastru, care se află pe bot, cu RMB.
Notă: pistolul trebuie să fie Neapărat evidențiat și să fie roșu.

18. Acum Bone --> Assign Selected Vertices to Bone.
Voila! Osul este lipit de tun! Pentru a deselecta, faceți clic dreapta pe scenă și pe combinația de taste Ctrl+Shift+N.

Sa verificam.

19. Să vedem ce avem. Faceți clic pe File --> Merge Animations... și selectați, de exemplu, draw.smd din cuțit. Fără a selecta nimic, faceți clic pe OK.
Acum, în colțul din dreapta sus există un mic buton Anim..., faceți clic. Primim această imagine.

Selectați animația de desen și trageți cursorul de mai jos.

Dacă totul a funcționat, atunci sunt foarte fericit pentru tine!

Partea a treia. Adăugarea de arme la joc.

20. Creați un folder separat numit Deagle Knife.

21. Faceți clic pe animația desenului și faceți clic pe tasta Ștergere. Nu există animație, ceea ce înseamnă că avem o așa-numită referință în mâinile noastre.

21. Faceți clic pe File --> Export..., salvați cu referința numelui și mai jos cu formatul Half-Life SMD Files (.smd).

Lăsați un punct pe Mesh.

22. Acum, apropo, cel mai ușor lucru, dar, să spunem, foarte plictisitor.
Faceți clic pe Fișier --> Îmbinați animații... și selectați, de exemplu, draw.smd.
Nu atingeți nimic, faceți clic pe OK.
Apoi File --> Export..., în special. folderul Deagle Knife, introduceți numele desenului de animație, format .smd.
Se rostogolește pe fereastră. Faceți clic pe punctul Animație și selectați desen de mai jos. BINE,

Acum trebuie să faceți același lucru cu idle, midslash1, midslash2, slash1, slash2, stab, stab_miss.
Notă: Nu atingeți referința! L-am pregătit deja de la început.

23. Deschideți folderul și verificați prezența unor astfel de fișiere.

24. Dacă totul este la locul său, acum ne vom familiariza cu un nou program pentru noi - GUI StudioMDL.

25. Transferați v_knife.qc din folderul cu cuțitul decompilat în folderul Deagle Knife. De asemenea, textura knifeskin.bmp.
Notă: De ce? Și pentru a nu ne deranja să schimbăm codul .qc, vom lăsa textura. Ea nu se amestecă.

26. Din folderul cu deagle decompilat scoatem DE_slide1.bmp, DE_handle.bmp, DE_slide2_eagle.bmp, view_glove.bmp, view_skin.BMP, view_finger.bmp și îl aruncăm în folderul nostru Deagle Knife.

27. Mutați folderul Deagle Knife în directorul C:/ astfel încât programul GUI StudioMDL să nu intre în conflict cu alfabetul chirilic.

28. Deschideți GUI StudioMDL, faceți clic pe File --> Load QC File.
După aceea, bifați caseta Dump Hitboxes și apoi faceți clic cu entuziasm pe Compilare.
Dacă totul a mers bine, v_knife.mdl va apărea în folderul Deagle Knife.

Notă pentru întreaga lecție: nu poți doar să introduci același deagle în mână, ci și un ferăstrău, o șurubelniță, o găleată sau orice altceva în ea!

Dar acum a treia parte a ajuns la sfârșit și, într-adevăr, întreaga lecție. Dacă cineva are ceva care nu funcționează, scrieți, voi ajuta cât pot de bine. Mulțumesc pentru atenție, Valentin a fost alături de tine.
În următorul tutorial vă voi arăta cum să vă faceți propriile arme de foc și vom vorbi serios despre atașarea oaselor.

vreau si eu sa multumesc Mihail, pentru explicațiile sale detaliate pe această temă, și întregul portal GCC pentru sprijin moral.

Mai întâi accesați folderul de suplimente - D:\Games\Red Garry's Mod\Game\garrysmod\addons
Creați un folder nou, redenumiți-i numele în a ta, de exemplu SWEP.

Apoi, creați un fișier text addon.txt.
Intram in el:
„AddonInfo”
{
„name” „Swep” // În loc de Swep, introduceți numele suplimentului.
„author_name” „Author” //În loc de Autor, introduceți porecla.
"author_url" "Url" //Aici puteți scrie o pagină pentru site-ul dvs. Exemplu -
„info” „Swep” // Aici introducem informații despre arma noastră.
}
În principiu, puteți lăsa totul așa cum este.
Apoi, creați folderul lua.

Cum și ce?

Acum poți crea arme.
Deschideți fișierul nostru .lua și introduceți acest cod de la început:

SWEP.PrintName = „Aruncător de scaun” // Acesta este numele armei noastre.
SWEP.Author = „Sunt autor” // Aici puteți specifica porecla autorului. Introduceți porecla dvs. între ghilimele.
SWEP.Instructions = "Stânga mouse-ul pentru a trage un scaun!" // Acestea sunt instrucțiuni pentru addon.

SWEP.Spawnable = true // Aici puteți introduce permisiunea pentru un jucător simplu, dacă există = true ca în cazul nostru, atunci jucătorului i se permite să folosească această armă, dacă = false atunci jucătorului îi este interzis să o folosească.
SWEP.AdminOnly = true // La fel ca în cazul de mai sus, doar că aici se acordă permisiunea/refuzarea armelor administratorului.

SWEP.Primary.ClipSize = -1 // Această funcție este responsabilă de numărul de cartușe din magazie, dacă valoarea = -1 ca și în cazul nostru, atunci cartușele din magazie sunt infinite.
SWEP.Primary.DefaultClip = -1 // Cantitatea de muniție la primirea unei arme.
SWEP.Primary.Automatic = adevărat // Tipul de armă este automat sau pușcă. În cazul nostru = adevărat este un automat, în caz = fals este o pușcă.
SWEP.Primary.Ammo = „niciunul” // Tip muniție.

SWEP.Secondary.ClipSize = -1 // Aici totul este la fel ca în cele de sus
// funcții.
SWEP.Secondary.DefaultClip = -1
SWEP.Secondary.Automatic = fals
SWEP.Secondary.Ammo = „niciunul”


SWEP.AutoSwitchTo = fals // Comutare automată a armelor.
SWEP.AutoSwitchFrom = fals

SWEP.Slot = 1 // Slot pentru armă, dacă = 1, atunci arma noastră va fi în primul slot de lângă montură.
SWEP.SlotPos = 2 // Poziția armei în slot.
SWEP.DrawAmmo = false // Ascunderea numărului de cartușe în hud, dacă = false, atunci cartușele sunt ascunse, dacă = adevărat, atunci cartușele rămân.
SWEP.DrawCrosshair = true // Ascunderea crosshair.

SWEP.ViewModel = "models/weapons/v_pistol.mdl" // IMPORTANT: Aici scriem calea către armă. Acesta este modelul pe care îl va deține jucătorul.
SWEP.WorldModel = "models/weapons/w_pistol.mdl" // IMPORTANT: Aici scriem calea către armă. Acesta este un model care va fi într-o stare neselectată.

local ShootSound = Sound("Metal.SawbladeStick") // Sunete la declanșare.

Acum să trecem la funcțiile principale.

funcția SWEP:PrimaryAttack() // IMPORTANT: Această funcție este responsabilă pentru proprietățile fotografiei de la butonul stâng al mouse-ului.

self.Weapon:SetNextPrimaryFire(CurTime() + 0,5) // Acesta specifică când va trage următoarea lovitură. 0.5 îl puteți modifica după bunul plac.

self:ThrowChair("models/props/cs_office/Chair_office.mdl") // Funcția de a ataca cu scaune. Dacă nu funcționează pentru tine, instalează conținutul Counter-Strike Source sau redenumește modelul în model/props_c17/FurnitureChair001a .mdl

function SWEP:SecondaryAttack() // Funcția este responsabilă pentru declanșarea cu butonul drept al mouse-ului.

self:ThrowChair("models/props_c17/FurnitureChair001a.mdl") // Funcție de atac cu scaune.

function SWEP:ThrowChair(model_file) // Aici este functia scaunului in sine.

self:EmitSound(ShootSound) // Redă sunetul armei.

if (CLIENT) atunci returnează sfârșitul

local ent = ents.Create("prop_physics")

if (!IsValid(ent)) atunci returnează sfârșitul

ent:SetModel(model_file) // Calea către model, în acest caz nu specificăm nimic deoarece modelele erau deja specificate în funcțiile de fotografiere.

ent:SetPos(self.Owner:EyePos() + (self.Owner:GetAimVector() * 16)) // Specifică unde va apărea modelul.
ent:SetAngles(self.Owner:EyeAngles())
ent:Spawn() // Ne generează arma

local phys = ent:GetPhysicsObject()
if (!IsValid(phys)) atunci ent:Remove() returnează sfârșitul

viteza locală = self.Owner:GetAimVector()
viteza = viteza * 100 // Puterea loviturii, o puteți seta la 7000 pentru a face scaunele să zboare cu viteza glonțului.
viteza = viteza + (VectorRand() * 10)
phys:ApplyForceCenter(viteza)

cleanup.Add(self.Owner, "props", ent) // Funcție pentru îndepărtarea unui scaun, după cum puteți vedea codul îl clasifică drept recuzită.

undo.Create("Thrown_Chair") // Funcția principală pentru îndepărtarea unui scaun când este apăsat butonul z.
undo.AddEntity(ent)
undo.SetPlayer(self.Owner)
undo.Finish()
Sfârşit

//Asta e. Arma ta este gata, poți schimba proprietățile după bunul tău plac.
//Căutați în categoria Alte arme.

Creați un fișier lua, de exemplu: weapon_scripted_357.lua în folderul 357 Scripted SWEP/lua/weapons.

Acum să scriem codul în sine în consecință.
Acolo unde sunt ghilimele, trebuie să indicați numele între ghilimele.

SWEP.Author = „Hds46” // Pseudonim al autorului scanării. Trebuie specificat între ghilimele.
SWEP.PrintName = "357 Magnum" // Numele schimbului care va fi afișat.
SWEP.Contact = "Site-ul sau e-mailul dvs." // Informații de contact unde vă vor scrie despre erori și sugestii.
SWEP.Purpose = „357 Armă cu script” // informatie scurta despre arme.
SWEP.Instructions = "Shoot" // Instrucțiuni despre cum să folosiți schimbul nostru.
SWEP.Category = „Armele mele” // Categoria în care vor fi amplasate armele.
SWEP.Spawnable = true // Dacă este fals, atunci arma nu poate fi generată, dacă este adevărată, atunci se poate.
SWEP.AdminOnly = false // Dacă este fals, atunci toată lumea poate folosi arma, dacă este adevărat, atunci numai administratorii.

SWEP.ViewModelFOV = 64 // Aici puteți specifica cum să mutați modelul de armă mai aproape/mai departe de ecranul jucătorului.
SWEP.AutoSwitchTo = true // Dacă este adevărat, jucătorul trece automat la această armă (dacă o ridică), dacă este fals, atunci nu.
SWEP.AutoSwitchFrom = false // Același lucru, dar cu alte schimburi.
SWEP.Slot = 1 // Poziția armei în Hud.
SWEP.SlotPos = 3 // Poziția armei în Hud (în partea de jos)
SWEP.Greutate = 5 // Greutatea armei.
SWEP.DrawCrosshair = true // Dacă adevărat, atunci crucea este afișată, dacă este fals, nu.
SWEP.DrawAmmo = true // Dacă este adevărat, se afișează indicatorul cartuşului magaziei jucătorului, dacă este fals, nu.

SWEP.ViewModel = "models/weapons/c_357.mdl" // Director de modele la persoana întâi.
SWEP.WorldModel = "models/weapons/w_357.mdl" // Director de modele terță parte.

SWEP.Primary.Sound = "Weapon_357.Single" // Sunet de fotografiere. Puteți specifica un director sau puteți specifica sunete scrise în folderul script.
SWEP.Primary.Tracer = „Tracer” // Numele urmei glonțului.
SWEP.Primary.TakeAmmo = 1 // Cantitatea de muniție care este consumată la fiecare lovitură
SWEP.Primary.Spread = 0,01 // Precizia armei, astfel încât arma să tragă exact ca un taur elefant dintr-un cs, scrieți 0 sau 0,01
SWEP.Primary.Delay = 1 // Rata de foc a armei (puteți face o mitralieră sau o mitralieră)
SWEP.Primary.Recoil_pitch = -8 // Valoare necesară pentru recul armei (recul ascendent)
SWEP.Primary.Recoil_yaw_min = -2 // Valoarea minimă pentru codul math.Rand
SWEP.Primary.Recoil_yaw_max = 2 // Valoarea maximă pentru codul math.Rand, va alege aleatoriu numar decimalîn intervalul de la -2 la 2. Valoarea necesară pentru recul armei (Recul la dreapta și la stânga)
SWEP.Primary.Recoil_roll = 0 // Valoare necesară pentru recul armei (recul frontal)
SWEP.Primary.Damage = 65 // Daune provocate de armă.
SWEP.Primary.NumberofShots = 1 // Numărul de gloanțe trase la fiecare împușcătură (Shotgun)
SWEP.Primary.ClipSize = 6 // Suma maximă gloanțe în magazin.
SWEP.Primary.DefaultClip = 6 // Numărul maxim de gloanțe în magazie atunci când ridicați o armă.
SWEP.Primary.Automatic = true // Dacă este adevărat, atunci puteți ține apăsat butonul mouse-ului și trage fără oprire, dacă este fals, atunci trebuie să apăsați din nou butonul de atac.
SWEP.Primary.Ammo = "357" // Numele muniției utilizate.
SWEP.HoldType = "revolver" // Tipul de animații redate de jucător.

SWEP.UseHands = true // Dacă adevărat, atunci c_models folosesc mâini personalizate, dacă false, atunci nu.

SWEP.Base = "weapon_base" // Baza pentru arme. Necesar pentru a împrumuta câteva caracteristici necesare.
// Arma noastră nu are funcții alternative de tragere, așa că nu avem nevoie de valori Secodary.
SWEP.Secondary.Delay = 0,1
SWEP.Secundar.Recul = 0
SWEP.Secondary.Damage = 0
SWEP.Secondary.NumberofShots = 1
SWEP.Secondary.ClipSize = 0
SWEP.Secondary.DefaultClip = 0
SWEP.Secondary.Automatic = adevărat
SWEP.Secondary.Ammo = „niciunul”

function SWEP:Initialize() // Initializeaza armele in care trebuie sa memorezi sunete in cache si sa specifici tipul de animatii.
util.PrecacheSound(self.Primary.Sound)
self:SetWeaponHoldType(self.HoldType)
Sfârşit

function SWEP:Reload() // Functioneaza la reincarcare
if (self:GetNextPrimaryFire() > CurTime()) then return end // Acest lucru este necesar pentru ca acesta să nu se reîncarce în timpul fotografierii.
dacă (self.Weapon:Clip1()< self.Primary.ClipSize && self.Owner:GetAmmoCount(self.Primary.Ammo) >0) apoi // Verificați muniția. Dacă arma are mai puțină muniție decât de obicei și jucătorul are muniție, atunci următorul este codul.
self:SetNextPrimaryFire(CurTime() + 3) // Ora următoarei fotografii, deoarece jucătorul nu va trage direct în timpul reîncărcării.
self:DefaultReload(ACT_VM_RELOAD) // Reîncărcați animația (la persoana întâi)
self.Owner:SetAnimation(PLAYER_RELOAD) // Animația de reîncărcare a jucătorului (persoana a treia)
Sfârşit
Sfârşit

funcția SWEP:PrimaryAttack() // Funcția de fotografiere cu butonul stâng al mouse-ului.
if (!self:CanPrimaryAttack()) then return end // Dacă nu există cartuş, atunci arma nu poate trage.
local tr = self.Owner:GetEyeTrace() // Direcția obiectivului jucătorului.
local bullet = () // Structura bullet, valorile vor fi folosite din valorile descrise mai sus, doar în loc de SWEP - self.
bullet.Num = self.Primary.NumberofShots
bullet.Src = self.Owner:GetShootPos()
bullet.Dir = self.Owner:GetAimVector()
bullet.Spread = Vector(self.Primary.Spread * 0.1 , self.Primary.Spread * 0.1, 0)
bullet.Tracer = self.Primary.Tracer
bullet.Damage = self.Primary.Damage
bullet.AmmoType = self.Primary.Ammo

self:TakePrimaryAmmo(self.Primary.TakeAmmo)

self.Weapon:MuzzleFlash() // Flash al loviturii.
self.Owner:FireBullets(bullet) // Acest cod preia toate valorile de la bullet (mai sus) și permite jucătorului să tragă gloanțe.
self:EmitSound(Sound(self.Primary.Sound)) // Redă sunetul unei împușcături.
self.Owner:ViewPunch(Angle(self.Primary.Recoil_pitch, math.Rand(self.Primary.Recoil_yaw_min,self.Primary.Rec)
oil_yaw_max),self.Primary.Recoil_roll)) // Recul preia valorile pe care le-am descris mai sus.
self.Weapon:SendWeaponAnim(ACT_VM_PRIMARYATTACK) // Redă o animație de fotografiere (la persoana întâi)
self.Owner:SetAnimation(PLAYER_ATTACK1) // Redă animația fotografiei (persoana a treia)
self:SetNextPrimaryFire(CurTime() + self.Primary.Delay) // Următoarea oră de fotografiere.
Sfârşit

funcția SWEP:SecondaryAttack() // Funcția de fotografiere cu butonul din dreapta al mouse-ului (nu vom avea nevoie de ea)
Sfârşit

function SWEP:Deploy() // Functioneaza la ridicarea armelor.
self:SetNextPrimaryFire(CurTime() + self.Primary.Delay) // Momentul următoarei lovituri, jucătorul nu va trage până când nu scoate arma din toc.
self.Weapon:SendWeaponAnim(ACT_VM_DRAW) // Animație de ridicare a armelor (la persoana întâi)
return true // Dacă adevărat, atunci vă permite să ridicați arme, dacă este fals atunci nu.
Sfârşit

function SWEP:Holster() // Functie cand puneti o arma intr-un toc.
return true // Dacă este adevărat, atunci vă permite să țineți arma în toc, dacă este fals, atunci nu.
Sfârşit

function SWEP:Think() // O funcție care va fi redată atunci când jucătorul ține o armă, la fiecare 0,01 milisecunde.
Sfârşit

Heh, sunt în viață
FAQ:

Întrebare: Dacă autorul este încă în viață, poți să-mi dai un jurnal de arme de corp la corp? chiar am nevoie
Răspuns: Din păcate, nu am făcut x. arme și am făcut toate acestea de dragul conducerii. Așa că scuzați-mă, pot da un sfat, scrie în motorul de căutare „Cum să faci o armă simplă GMOD” există multe opțiuni, poate x. vor fi arme.

Întrebare: Ascultă, am creat o armă, o pot încărca acum în siguranță în atelier?
Răspuns: Da, pentru asta ai nevoie program special:

Întrebare: Întrebare: este posibil să specificați un sunet personalizat „Local ShootSound = Sound”?
Răspuns: Da, arată drumul către sunet.

Întrebare: Desigur, îndrumare normală, dar nu există altă opțiune? (Prin un program, de exemplu)
Răspuns: Din păcate, nu există programe, există un addon în atelier, dar acolo poți face arme prea simple.

Întrebare: cum se face un fișier lua?
Răspuns: Creați un fișier, de exemplu firstaddon.txt - faceți clic dreapta pe fișier - redenumiți - și în loc de .txt puneți .lua - salvați modificările și gata :)

P.S. Îmi cer scuze pentru întârziere, pur și simplu nu am avut timp :)

Moduri sunt suplimente dezvoltate de jucători obișnuiți care adaugă conținut nou la Minecraft: articole, echipamente, biomi și multe altele. Suplimentele pentru arme noi sunt printre cele mai populare printre jucătorii din întreaga lume, deoarece armele de foc diluează semnificativ jocul.

Există o mulțime de modificări care adaugă arme de foc și armuri la Minecraft pe computer, astfel încât să puteți găsi cu ușurință ceva care vă place. Sute de modele diferite de arme populare de la viata reala, trunchiuri cunoscute de la CS și CS:GO. Îți plac schimburile de focuri dure? Luați o mitralieră și trageți câteva clipuri în inamic. Preferi ucigașii ascunși liniștiți? Luăm repede o pușcă cu lunetă vizor opticși scoate inamicul cu o lovitură.

Ce tipuri de arme adaugă modurile?

După cum am menționat mai sus, există un număr mare de modele. Mai jos voi încerca să le împart pe toate în câteva categorii și să dau mai multe exemple.

  • Puști de asalt (arme CS): Kalash 47, M4A1, Famas F1, Galil;
  • Pistoale și revolvere: Colt, Deagle, TT;
  • Puști de vânătoare: Mossberg, Remington, puști cu două țevi;
  • Puști de lunetist : AWP, pușcă Mosin, Remington 700 LTR;
  • Arme care explodează: Grenade, mine, bazooka.

Aceasta este doar o mică parte din armele din modurile pentru Minecraft pe care le veți cunoaște.

Arme de foc la fața locului

Pe site-ul nostru puteți descărca gratuit cele mai tari și mai noi moduri de arme. În orice mod va exista descriere detaliata, capturi de ecran și link-uri de descărcare directă.

Mod militar pentru Minecraft care adaugă o cantitate enormă jocului echipament militar ca tancuri, avioane, transportoare de trupe blindate, tunuri, mașini, precum și multe arme diferite pentru infanterie, cum ar fi puști automate, mitraliere, lansatoare de rachete, RPG-uriși altă pușcă. Ceea ce militarizează jocul și se traduce în nou nivel Toate acestea sunt bune pentru a vă deplasa rapid, dar este nevoie de o mulțime de resurse pentru a face suficientă mâncare și tren pentru a călători eficient folosindu-le. Caii sunt, de asemenea, buni pentru viteză, dar au nevoie de șa chiar și ca armură pentru a nu fi terminați de gloanțe. Flan mod este un mod destul de grozav care adaugă avioane jocului în Minecraft. Această nouă dinamică a rutei aeriene îi aduce pe jucători acolo unde doresc să meargă rapid, fără teama de reacții adverse.

Zboară deasupra lumii de dedesubt mult mai repede decât călătorind pe jos, cărucior sau cal, așa că nu este de mirare că modulul Flan este atât de popular printre jucătorii de minecraft. La fel ca bărcile, avioanele pot fi distruse prin manipulare greșită; Spre deosebire de acele bărci, jucătorul are de obicei o cădere lungă și fatală din ele dacă își deranjează avionul. A învăța să creeze și să manevreze modul vehicul adăugat este important, așa că jucătorii ar trebui să fie siguri că accesează site-ul web al modului înainte de a-l instala. Ar putea întotdeauna să improvizeze, desigur, dar acest lucru ar putea avea consecințe dezastruoase, mai ales în modul hardcore.

În timp ce viteza de mișcare poate lăsa mult de dorit, încă nu există inamici pe cer dacă jucătorul zboară în zonele joase sau la sfârșit. Biplanul are un mecanism de atac, așa că zborul în aceste zone nu este recomandat. Jucători în căutare cale sigura transportul dvs. și încărcătura pe distanțe lungi va trebui să verificați modul Flan pentru minecraft. Pot fi adăugate și alte vehicule în viitor, așa că asigurați-vă că verificați periodic site-ul de mod pentru a vedea dacă există noi actualizări.