How to make a 2D Bow and Arrow with UNITY & C#!

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 ต.ค. 2024

ความคิดเห็น • 326

  • @astropolski
    @astropolski 4 ปีที่แล้ว +41

    8:57 you dont need to do == with bool if statement like "if (bool == true)" you can just do "if (bool)" for true and "if (!bool)" for false
    edit* nice to have you back, haven't seen a vid from you in a while :)

    • @sjohncreations4369
      @sjohncreations4369 4 ปีที่แล้ว +10

      Sometimes it helps to understand the code, even if it's redundant

    • @GameDevHQ
      @GameDevHQ 4 ปีที่แล้ว +1

      wrong. code won't compile.

    • @haemogoblin7006
      @haemogoblin7006 4 ปีที่แล้ว +11

      @@GameDevHQ i hope u get that when he said 'bool' he was referring to that particular boolean identifier and not the keyword bool

  • @tarkozkan6439
    @tarkozkan6439 4 ปีที่แล้ว +21

    If you want to change the launchForce according to mousePosition you can remove public from launcForce and write launchForce = Vector2.Distance(shotPoint.position, Camera.main.ScreenToWorldPoint(Input.mousePosition)); in the Update function

  • @abdo9390
    @abdo9390 4 ปีที่แล้ว +124

    Liam sounds alot like noa. It took me time to notice 😂

    • @toby_1405
      @toby_1405 4 ปีที่แล้ว +5

      B A u are right man!

    • @eyeprops5422
      @eyeprops5422 4 ปีที่แล้ว +3

      I know right? Liam should use a batman voice... lol. The switch was almost seamless.

    • @hypehextech4680
      @hypehextech4680 4 ปีที่แล้ว +1

      well, they are brother after all!

    • @WingerWind
      @WingerWind 4 ปีที่แล้ว +3

      They have the same accent, and similar ways of speaking, but Liams voice is higher.

    • @WhatABlankName
      @WhatABlankName 4 ปีที่แล้ว +2

      There freaking brothers duh, lol but yes they do sound alike

  • @ninjaboyjames
    @ninjaboyjames 4 ปีที่แล้ว +30

    Welcome back teacher.

    • @Blackthornprod
      @Blackthornprod  4 ปีที่แล้ว

      Glad to be back !

    • @rdev3720
      @rdev3720 4 ปีที่แล้ว

      blackthornprod is it possible to create a stationary enemy that shoots projectiles after 1 second if so how? Please respond soon.

    • @haemogoblin7006
      @haemogoblin7006 4 ปีที่แล้ว +2

      @@rdev3720 of course its possible, i just hope i'm not late (even tho the question isnt directed towards me T - T)
      you cud achieve that effect using coroutines or you cud make ur own timers! Check this out - answers.unity.com/questions/1108438/how-to-instantiate-prefabs-at-certain-times.html

  • @eyeprops5422
    @eyeprops5422 4 ปีที่แล้ว +1

    HOORAY! Thanks for this. I was one of people that requested it. You shall be rewarded by the Game Gods.

    • @kouni.i
      @kouni.i 4 ปีที่แล้ว

      he stole code lol

    • @Blackthornprod
      @Blackthornprod  4 ปีที่แล้ว +1

      Wow thank's for that !

  • @Blaze2992
    @Blaze2992 10 หลายเดือนก่อน

    I barely understood any of this but seemed to work in the end. Cheers for the tutorial

  • @jorgevital89
    @jorgevital89 3 ปีที่แล้ว +2

    You guys always make these tutorials so easy to understand. Thanks!

  • @NicDev
    @NicDev 4 ปีที่แล้ว +8

    Finally! The master has return, and this is what i need from a long time for my game

  • @hypehextech4680
    @hypehextech4680 4 ปีที่แล้ว +27

    glad to see Noa is still alive, as he hadn't uploaded for a almost 2 months 😂

  • @prithviproduction4412
    @prithviproduction4412 4 ปีที่แล้ว +78

    There is almost no difference between noa and liam

  • @Xadness22
    @Xadness22 4 ปีที่แล้ว +2

    Yay my man noa is back.
    I really have fun at your udemy course.
    This 2D strategy game is literally awesome. You guys make the project to expansive project. Really worth to check out guys.
    Really thankful to noa and Liam for amazing course,and free tutorials!

  • @sathvikmalgikar2842
    @sathvikmalgikar2842 2 ปีที่แล้ว +1

    god level physics and game concepts!

  • @praadiiit
    @praadiiit 4 ปีที่แล้ว

    You guys getting better by the time

  • @junglejim6674
    @junglejim6674 4 ปีที่แล้ว +12

    Thanks for the video guys, appreciate it and it helped me a lot. However there are 2 issues I ran into. First, when the arrows gets stuck in an object, and for instance enemies run into them, they continue to take damage from collisions with the arrow. This I fixed by disabling the collider. Second, if you'd like the arrow to follow the game object it sticks to, parent it to the collided object.
    2 lines of code fixed these issues for anyone else in the same situation:
    After applying damage, in the OnCollisionEnter2D method:
    gameObject.GetComponent().enabled = false;

    // Arrow no longer collides with other
    objects after first collision
    transform.parent = collision.transform;
    // Arrow follows collided object
    Again, thanks and hope this helps someone else!

    • @Shrink_Assault
      @Shrink_Assault 4 ปีที่แล้ว +1

      Thanks

    • @syfenw6586
      @syfenw6586 ปีที่แล้ว

      @junglejim6674
      how did you make it do dmg to enemys

    • @Tweakyowl
      @Tweakyowl 11 หลายเดือนก่อน +1

      I love you so much. I'm just 3 years late.

  • @yousifsuleiman7613
    @yousifsuleiman7613 4 ปีที่แล้ว

    I am very very happy to see again noa´s tutorials 😍😍😍😍
    plz do more and soonly😭

  • @TheUltiCAKE
    @TheUltiCAKE 4 ปีที่แล้ว +2

    Thanks so much, This helped a lot, I searched drastically for a tutorial for this and yours was by far the most effective and simplest.
    Quick Question: Is there a way to stop the dots from showing after they collide with a platform, so that you never see the dots beyond the platform that it hits?

  • @NeatGames
    @NeatGames 4 ปีที่แล้ว +8

    I would love a tower defense udemy or youtube tutorial :D

    • @Blackthornprod
      @Blackthornprod  4 ปีที่แล้ว +3

      We will think about it !

    • @MiloTheDuck-s7j
      @MiloTheDuck-s7j 4 ปีที่แล้ว +1

      Hi Neat games Lol I found you XD

    • @NeatGames
      @NeatGames 4 ปีที่แล้ว +1

      @@MiloTheDuck-s7j Oh hello :D I still want to learn how to make a Tower Defense game haha.

  • @hiimandrew.
    @hiimandrew. 4 ปีที่แล้ว +5

    I love this video man! And I haven't even seen it yet! : D

  • @Oscar-lp6zd
    @Oscar-lp6zd 2 ปีที่แล้ว

    Incredibly helpful tutorial - thanks both of you :)

  • @theHaPK
    @theHaPK 3 ปีที่แล้ว

    When calculating position of points it would be beneficial to reuse position of previous point, that way you will need to do less calculations overall. So, instead of creating a function that calculates position based on time, you factor in everything into the loop and reuse state between iterations.

  • @SkelleRok
    @SkelleRok 4 ปีที่แล้ว +1

    Wow. Liam explained pretty heavy stuff in an easy and light way. Would like more videos like this.

  • @maistrogaming7911
    @maistrogaming7911 4 ปีที่แล้ว

    Fine.....ffffff I missed those videos....finally ..I was waiting until this video XD...but yeah please continue your serie I want to learn from you

  • @ajwahtoonz2688
    @ajwahtoonz2688 4 ปีที่แล้ว +1

    dude,I love your tutorials they are very useful

  • @ninjabuilder691
    @ninjabuilder691 4 ปีที่แล้ว +1

    Hey! great to see you back!

  • @filipjovanovic7693
    @filipjovanovic7693 4 ปีที่แล้ว +5

    Hello Blackthornprod, i love your videos and because of them will get into game dev. I wanted to ask is starting to learn unity at 13 years old late?
    Thanks again for inspiring me to get into game development

    • @Anerisian
      @Anerisian 4 ปีที่แล้ว +3

      Yes, you’re too old. Most devs begin when they are younger than 5 years old.
      Just kidding, you will never be too old to learn anything. And it is never too late to learn anything. However, things can be easier or harder at different times.

    • @filipjovanovic7693
      @filipjovanovic7693 4 ปีที่แล้ว

      Haha you scared me for a second

    • @mbcchoudhari885
      @mbcchoudhari885 4 ปีที่แล้ว +1

      @@Anerisian thats some real observation and motivation

    • @taleofrealitydeveloper2147
      @taleofrealitydeveloper2147 4 ปีที่แล้ว

      İ started at 10 -_-

    • @Blackthornprod
      @Blackthornprod  4 ปีที่แล้ว +1

      No you are starting very early, that's great ! We started later than you ! You are very welcome !

  • @pixspaces4777
    @pixspaces4777 4 ปีที่แล้ว +1

    Nice to see you back again Noa.. also Liam sounds a lot like you! Good video btw will definitely implement this in a future project..

  • @echratus
    @echratus 3 ปีที่แล้ว

    Was watching the 2d ranged weapon tutorial didnt understand a clue what the mouse following code meant came here and i understand that code now lol

  • @DanielLochner
    @DanielLochner 4 ปีที่แล้ว

    Awesome work Noa and Liam! You guys make a great team! :)

    • @Blackthornprod
      @Blackthornprod  4 ปีที่แล้ว

      Thank you ! We love working together !

  • @Xadness22
    @Xadness22 4 ปีที่แล้ว

    Yay our man noa
    I am really have fun in your strategy 2D course !Guys this strategy game is really fun and worth to buy. Literally amazing 😍.I bought topdown shooter too but I haven't done yet cause I literally have fun at 2D strategy game. Really really cool.Love u bro noa and Liam 🤩🤩

  • @amirrezarabani7861
    @amirrezarabani7861 6 หลายเดือนก่อน

    Thank you so much for always helping me❤❤❤❤

  • @PeterMilko
    @PeterMilko 4 ปีที่แล้ว

    Pretty cool dude. How did your game do?

  • @nocontexthuman6103
    @nocontexthuman6103 4 ปีที่แล้ว +1

    This took a lot of time to see your new video Noah!

  • @mehmedcavas3069
    @mehmedcavas3069 4 ปีที่แล้ว +1

    Grear tutorial liam. However, u should show to cache most of the variables for better performans. I know this is a beginner tutorial but would be still good :) still a very good video 👍🏻💪🏻

    • @poid96
      @poid96 4 ปีที่แล้ว

      Agreed! Especially when using camera.main, as that translates to a "FindObjectOfType()" if I recall correctly from one of the Unity Unite talks, which is really slow. Either create a reference in the script ([Serializefield] or public) and drag over the camera, OR at least in Start / Awake, call camera.main and store the reference for use in the script update. Camera.main use is mentioned in many tutorials and talks as a major performance issue so it is a good practice to get used to not using it in update / fixedupdate. Good job otherwise :)

  • @datboijoshki8833
    @datboijoshki8833 4 ปีที่แล้ว

    Thanks so much I've been Searching for this

  • @crgamedev734
    @crgamedev734 4 ปีที่แล้ว

    Finally you made a tutorial about using unity, good luck with your game!

    • @zahhym
      @zahhym 4 ปีที่แล้ว +1

      Hes made like a billion

    • @crgamedev734
      @crgamedev734 4 ปีที่แล้ว

      @@zahhym I know but I'm talking about in a long time

    • @Blackthornprod
      @Blackthornprod  4 ปีที่แล้ว +1

      Thanks !

  • @mikael808
    @mikael808 4 ปีที่แล้ว +2

    Hi Noa, first of all, thanks for the awesome content you make! And my question is can this be used to mobile games also? Thanks! :)

  • @nileshkumawat6730
    @nileshkumawat6730 2 ปีที่แล้ว

    You are very helpful at all time for me😄

  • @Demon-lv7mc
    @Demon-lv7mc 3 ปีที่แล้ว

    i love your tutorials

  • @TK-sr2hz
    @TK-sr2hz 4 ปีที่แล้ว

    Liam's actually my math teacher

  • @playingcoding5045
    @playingcoding5045 4 ปีที่แล้ว

    Great Video! Thank you. Just started my own video series developing a procedural generated 2d rpg with Unity. :)

  • @crgamedev734
    @crgamedev734 4 ปีที่แล้ว +4

    Could you make a tutorial on how to draw, the style you have in this tutorial

  • @user-kdjalkdsjfoiwef
    @user-kdjalkdsjfoiwef 3 ปีที่แล้ว +1

    I used google translator
    Why multiply 0.5 by gravity and add it?
    And do you square the time here?
    Are there any resources to understand the formula?

  • @simoncodrington
    @simoncodrington 4 ปีที่แล้ว +1

    Nice video guys, keep it up :)

  • @ankitpatel0101
    @ankitpatel0101 4 ปีที่แล้ว

    Thank you very much.
    Such a nice tutorial.
    🏹

  • @thedevine3756
    @thedevine3756 4 ปีที่แล้ว +1

    Can you do tips and tricks on how to make a game look as good as yours do? :)

  • @mehmeh8883
    @mehmeh8883 4 ปีที่แล้ว

    Now this is some original BTP content!

  • @sou_arts
    @sou_arts 4 ปีที่แล้ว

    Awesome video as usual noa !
    I'm learning a lot from ya ♡

  • @mehmedcavas3069
    @mehmedcavas3069 4 ปีที่แล้ว +1

    A tutorial after years 😄

  • @surajeswaran635
    @surajeswaran635 4 ปีที่แล้ว +1

    Hey! Thanks for the tutorial. This is a super useful tutorial. I have an idea for a challenge. As you are very good at making games, how well can you make a game in scratch? It can just be a quick and easy challenge. Thanks for the tutorial!

    • @Blackthornprod
      @Blackthornprod  4 ปีที่แล้ว

      It's our pleasure ! we will think about it

  • @jamsdem2311
    @jamsdem2311 4 ปีที่แล้ว +1

    This is awesome dude!! Now I know how to make a bow power up in a platformer if I ever wanted too.

  • @765Kuma
    @765Kuma 4 ปีที่แล้ว

    Hey Blackthornprod, I just discovered you today and I'm loving your content. I don't know if it's a recent change but the Udemy courses seem to be $50 dollars instead of $10. Was this only a limited-time sale?

  • @mohammednihad6755
    @mohammednihad6755 4 ปีที่แล้ว

    Finally making tutorials again :)

  • @elpepsi781
    @elpepsi781 ปีที่แล้ว

    This helped so much!

  • @arcday4281
    @arcday4281 4 ปีที่แล้ว +7

    We need more lessons on unity 2d... "HOW TO MAKE"

  • @sspyrshlsx3740
    @sspyrshlsx3740 4 ปีที่แล้ว +1

    I bet you love pronouncing that _Blackthornprod_ intro

  • @xaycent7832
    @xaycent7832 4 ปีที่แล้ว +1

    Hello! Thats what I was looking for thanks for making this! You're so near to 200k SUBS!

    • @Blackthornprod
      @Blackthornprod  4 ปีที่แล้ว

      Thanks so much for the support !

    • @xaycent7832
      @xaycent7832 4 ปีที่แล้ว

      @@Blackthornprod OMG IHAVE NEVER GOT A REPLY FROM ANY BIG TH-camR THANKS SO MUCH

  • @bukasker9051
    @bukasker9051 ปีที่แล้ว

    Realy good tutorial it helps me a lot

  • @abhinawram4014
    @abhinawram4014 ปีที่แล้ว +1

    Is there any way to make line renderer length limit ?
    line renderer endPos follow mouse position but line length goes infinite want line length limited.

  • @taylorhugins5787
    @taylorhugins5787 3 ปีที่แล้ว

    This is almost exactly what I needed, how would I go about showing the proper trajectory if I want my bullet to bounce off of objects? Right now the line goes right through objects with colliders even though the bullet itself is bouncing off of them.

  • @FernandoPosserPinheiro
    @FernandoPosserPinheiro 2 ปีที่แล้ว

    Great tutorial! Thanks for sharing (:

  • @aarondelgado3421
    @aarondelgado3421 4 ปีที่แล้ว +1

    Nice tutorial! However, it would have been easier to just use a line renderer for the points emanating from the bow.

    • @CntPnr
      @CntPnr ปีที่แล้ว

      I'm trying to make points work properly on my angry birds clone. Do you have any video guide suggestions that I can watch about this tip you just gave ?

  • @damar126
    @damar126 3 ปีที่แล้ว

    Thank you, man!

  • @balintbenedektoth
    @balintbenedektoth 4 ปีที่แล้ว

    Great video! Thanks for it! Clear and detailed explanation! As always!

    • @Blackthornprod
      @Blackthornprod  4 ปีที่แล้ว

      Thanks !

    • @syfenw6586
      @syfenw6586 ปีที่แล้ว

      @@Blackthornprod how can i make it so the launch force doesnt change no matter where my mouse is and the points still there like in the short clip on the intro. i dont want it to be flexible

  • @thewaterleaf7929
    @thewaterleaf7929 4 ปีที่แล้ว

    the man is back!

  • @ajitkumargovindaraj7440
    @ajitkumargovindaraj7440 3 ปีที่แล้ว

    That was really awesome:)...Somehow can you pls give me piece of advice to make projectile collide .. it's actually overlapping objects.. Thanks in advance..

  • @uiteh7036
    @uiteh7036 ปีที่แล้ว

    you are probably never gonna answer to this, but, how would i go about making the "shooting prediction" stop when colliding with objects?

  • @gamesplusjames
    @gamesplusjames 4 ปีที่แล้ว

    Cool tutorial guys! :)

  • @Equinox_x
    @Equinox_x 4 ปีที่แล้ว +3

    Welcome back!

  • @anthonygibbs9245
    @anthonygibbs9245 3 ปีที่แล้ว

    great video, thank you

  • @aspenpawarts9333
    @aspenpawarts9333 4 ปีที่แล้ว +3

    Hey dude! Unrelated to the vid but could you consider putting some of your games on the switch E- shop? They would be great for it, would bring in some extra money and the switch needs it rn. The e shop is full of trash. Idk how how converting it would work tho, I’m an animator not,a game dev.

    • @aksimilumaspvp7278
      @aksimilumaspvp7278 4 ปีที่แล้ว +3

      Nintendo is shit to deal with if i am right. It needs some extra work to get games there and putting games on pc is 100times easier. But still yeah it is possible and would be cool

    • @aspenpawarts9333
      @aspenpawarts9333 4 ปีที่แล้ว +1

      AksimilumasPvP true true- from what I know is it’s not hard, just tedious. Otherwise how would trash and asset flips get on there?

  • @LeHalazoone
    @LeHalazoone 4 ปีที่แล้ว

    Love you brothers

  • @shaded8476
    @shaded8476 4 ปีที่แล้ว

    Man your so cool 😎 and I have a request. Please make some new tutorials about Ui animation and some ui stuff please guys 😀

    • @Blackthornprod
      @Blackthornprod  4 ปีที่แล้ว

      Thanks so much ! we will think about it

  • @mokafi7
    @mokafi7 4 ปีที่แล้ว +1

    TIP : On the arrow script use FixedUpdate() instead of Update() to have a smoother arrow.

  • @wearwolf4202
    @wearwolf4202 ปีที่แล้ว

    How would you make the line thing for an a.i? Id like to show the user where the enemy is aiming before it attacks. Any help would be appreciated love your work

  • @Gers217
    @Gers217 4 ปีที่แล้ว

    He's back bois

  • @Codejoy
    @Codejoy 4 ปีที่แล้ว +1

    Fun tutorial, has anyone gotten this to handle the fact if you are moving with arrow keys and pressing left faces the character left with the local scale .x to -1 ? If I face right it all works, if I turn left it is all off on the math, ideally the bow wouldn't even care what direction the player is facing but not sure how to make that happen sinced the Bow game object is a child of the parent.

  • @alphabowzer1253
    @alphabowzer1253 3 ปีที่แล้ว

    Hey man, I was wondering how you would get an arrow to spin(like a throwing knife)? Thanks!

  • @perssontm1628
    @perssontm1628 4 ปีที่แล้ว +1

    When i move my sword gfx (child object) my empty game object (the parrent) follows so i can't set my pivot point, any fixes?

  • @LionDev
    @LionDev 4 ปีที่แล้ว

    Absolutely helpful tutorial thank you

  • @Dmcc1942
    @Dmcc1942 4 ปีที่แล้ว +5

    Can anyone tell me if you use the paid for photoshop or the free Express one?
    If you dont use either can you tell me what you use ?

    • @ayokashodipe2263
      @ayokashodipe2263 4 ปีที่แล้ว +1

      Krita

    • @Dmcc1942
      @Dmcc1942 4 ปีที่แล้ว +2

      @@ayokashodipe2263 thanks👍

    • @harryhopkinson162
      @harryhopkinson162 4 ปีที่แล้ว +1

      Gimp

    • @rxn7
      @rxn7 4 ปีที่แล้ว

      i use krita and i love my arts

  • @bengad1606
    @bengad1606 4 ปีที่แล้ว +1

    Finally. Another tutorial!

  • @SM-zr1jc
    @SM-zr1jc 4 ปีที่แล้ว

    Amazing. Really cool but very useful for my game

  • @GLITCHYSKY228
    @GLITCHYSKY228 4 ปีที่แล้ว

    I know you have done a tutorial on health, boss, characters ect, and they are amazing! But I am having trouble with the health and player damage. Can you do a tutorial on that please, maybe that ends in a game over? (E.g Player takes damage/game over) Thank you!

  • @hofnarrhanswurst5278
    @hofnarrhanswurst5278 4 ปีที่แล้ว +3

    And the links to the courses are of course INDIE description xD

  • @deadmall0w241
    @deadmall0w241 3 ปีที่แล้ว +1

    Thanks

  • @phillipsmith3038
    @phillipsmith3038 ปีที่แล้ว

    So I followed the steps but it's not creating any arrows. I can see them being created in the sample scene but not in the actual game. Any idea as to why?

  • @JovanSP
    @JovanSP 4 ปีที่แล้ว

    I go to open Uniti after this!!!

  • @In-N-Out333
    @In-N-Out333 4 ปีที่แล้ว +2

    When setting the rotation, use rb.rotation instead of transform.rotation; this is guaranteed to be the actual position of the body. Transforms are not for the physics system; they're for everything else, like animations, etc.

  • @filipv3175
    @filipv3175 ปีที่แล้ว

    hey men i have trouble using transfrom any gues? The type or namespace name 'Transfrom' could not be found (are you missing a using directive or an assembly reference?)

  • @alexthekidmg
    @alexthekidmg 4 ปีที่แล้ว +1

    How would you make it so that launch force changes depending on how far the mouse is from the bow with a restriction on it?

    • @squash_boi901
      @squash_boi901 4 ปีที่แล้ว +1

      in the Shoot method, you would multiply the velocity of the arrow by the distance between the mouse position and the bow position, and then clamp it between two numbers

  • @fabianschmidt6850
    @fabianschmidt6850 4 ปีที่แล้ว

    do you use a special program for creating and drawing these cute sprites?

  • @manusia3776
    @manusia3776 3 ปีที่แล้ว

    Sorry I'm a little bit late here. But I want to ask, is it possible if the pointer doesn't go through a collider/wall

  • @TheLegendDude
    @TheLegendDude 4 ปีที่แล้ว

    I just found this channel this is cool

  • @atharvag581
    @atharvag581 3 ปีที่แล้ว +1

    where to download the the source code please tell fast????

  • @hypermuffin84
    @hypermuffin84 3 ปีที่แล้ว

    Is it possible to join the ranged combat script to this script? i'm trying to make a universal shooter for future games

  • @tobiasnilssenopedal6660
    @tobiasnilssenopedal6660 2 ปีที่แล้ว

    If i would add delay between the shots, so that the player just cant spam shoot. How would i do that?

  • @tatebinkey7935
    @tatebinkey7935 4 ปีที่แล้ว +1

    What is the song called at the beginning of the video? Thanks

  • @ApexArtistX
    @ApexArtistX 4 ปีที่แล้ว

    Vector2 currentPosition =(Vector2)transform.position + (transform.right * force * t) + 0.5f * Physics2D.gravity * (t*t);
    CS0034 Operator '+' is ambiguous on operands of type 'Vector2' and 'Vector3'
    where am i going wrong ?

  • @MatteoBenaissa
    @MatteoBenaissa 4 ปีที่แล้ว

    Could you please put another reduction code on ur top down shooter course, I planned to buy it today but the code expired 1 or 2 hours ago and i cant afford a 75$ course :(

  • @mikablep
    @mikablep 4 ปีที่แล้ว

    wow this helps a lot!

    • @Blackthornprod
      @Blackthornprod  4 ปีที่แล้ว

      Glad it helped !

    • @mikablep
      @mikablep 4 ปีที่แล้ว

      @@Blackthornprod thanks