Hey, welcome to the docu-website of Striano Scripts. Here you can find unique scripts created to give your project/s an innovative gameplay system.
striano_combat
After 2 years of development, i'm happy to release one of my favorite (and hard) script. This was a project i start on Unreal Engine 4 (in blueprint), and after 1 year of dev i convert it in Lua to make it work on FiveM (so in total are nearly 3 year). The script aim to be PvP & PvE, so your players can fight together or alone. You will be able to insert NPC to complete quest (for example), or just fight vs other players around world (or both!). An unique souls-like script to combat with +400 moves.
Combat: How to Fight
The script is still in development, and maybe will change something next time. I'll update this guide for any change on main keys to fight. I'll record a video to explain even better how to fight, but here at moment i will describe all keys you need to know (of course if you have any fire-weapon on hand the fight system will not start):
VIDEO TUTORIAL (For any problem watch on Youtube)
Keys Tutorial
- • Any action while fighting can consume your stamina.
- • To start fight you need press and hold mouse right.
- • While mouse right you can move your char with WASD.
- • To defend yourself you need press and hold LEFT CTRL (if you have a shield will be equipped automatically).
- • While mouse right you can get ready to fight with mouse left.
- • While mouse right & mouse left you can performe 6 type of moves!
- • The moves can be performed with WASD & SHIFT+WASD with unique and different animations!
- • When the (yellow) finisher-bar is full, you can perform a finisher (with weapon) with key Q!
- • While mouse right you can perform a roll or dash with SPACE+WASD.
- • While mouse right you can holster a melee weapon with R.
- • If you perform a move with SHIFT*WASD will be more damaged but consume more stamina.
- • If you are in the back of a player/npc, you can broke her neck by pressing F.
- • While mouse right you can take the Bow with E.
Combat: New Style
Every player, (or only every admin, as you setup) can create a new and unique moveset with all the animations needed. If you have a weapon the set will be automatically setup a cool moveset inherent to the style of the sword! With the fight editor you can perform and preview any available moves, and you will be able to assign them to any keys (WASD & SHIFT+WASD) and create your own style. If you put more moves on one key, will be performed a random animation from your list while fighting. Remember: You can't create moves for melee weapon, they need setup in config file! (All the weapons available are just ready to use <3)
VIDEO TUTORIAL (For any problem watch on Youtube)
REMEMBER: You can set combat style assigned to a melee-weapon only from config file as default! Of course you can check every moves in the same way, you can use this system as preview!
This is an example of how a combat set will be managed in config file. You can setup all the style you need from config file, so players/admins will be able to assign them easly! The 2 example are from 2 different default ready to use list, with and without weapon.
-- This is from the table of Fight List WITH MELEE-WEAPON!
[2] = { -- KATANA
Name = "Katana", Idle = 14,
hitSound = function() local p = GetEntityCoords(PlayerPedId()) genSwordWosh(p) end,
WithoutShift = { CombatA = { 306 }, CombatD = { 305 }, CombatW = { 303 } },
WithShift = { CombatA = { 311 }, CombatD = { 309 }, CombatW = { 302 } },
},
-- This is from the table list of Fight WITHOUT WEAPON!
[7] = { -- DEFAULT (no Sword, this was create for test the script)
Name="Liaky", Block = { a="wing_chun@anim", b="defence_1" }, Idle = 13,
WithoutShift = { CombatA = { 294 }, CombatD = { 317 }, CombatW = { 287 } },
WithShift = { CombatA = { 324 }, CombatD = { 328 }, CombatW = { 322 } }
},
Combat: Weapons
Every weapon it's accurate in their moveset! You can add as many weapons you need (as entity object!) and assign the style you want! And of course if you have custom animations and you want create a complete new style you can!
At moment there are 28 melee weapons and 14 melee style moveset, and i'm working on bow & arrow system that will be integrated with this script!
Every weapon can have own move walking animation, own dash, own fx-trail, own fx-hit to create unique weapons!
Let's check the list of all weapons, and the list of all assignable styles!
If you want know the ID of a weapon when you are in game just use this command: /getweap Model_Object (Example: /getweap vikingsword) And when you will get the ID of the weapon you can just use in your scripts. (Or just count the line of table SwordList)
If you want an item for the weapons you like, you can just create a new Item in you framework, and use the exports to equip like setweapon! Checkout the full list on exports.
Open Lua Code: Sword List
SwordList = {
-- it = item (but at moment it's not setup with, you need to create by yourself item if you need!)
-- st = STYLE OF COMBAT WITH WEAPON, TAKED FROM TABLE FightWStyle!!!
-- unholster = Animation id take from table unholsterlist
-- holster = Animation id take from table holsterlist
-- tgn = It's a weapon that cut? Working on a cut head funuction, but will work only on cuttable waeapon, for example make it false on BAT weapons kind. (How to check if you have a cutable sword? exports.striano_combat:getTagliente(), auto check if you have weapon.)
-- it = ITEM to manage if you need, for example if you want take it in inventory again to give to someone the weapon! (Optional, for example in my server i dont have it at moment)
-- trailsword={ {1.2,0.9,0.35, 0.5, 57005} } -- parameter 1,2,3 are offset of coord particles! the parameter (4) it's the size and the (5) it's the id from handeffect table. Parameter 6 it's the bone!
-- Variable big=true means that it's an heavy weapon and the player cant defence himself with the weapon using CTRL LEFT, but the damage destroy enemy!
{ st=1, unholster=1,holster=1, tgn=true, it="", Name="Machete", m="prop_ld_w_me_machette",att={0.12,-0.08,-0.05,-71.0,0.0,-4.0}, bone=57005, posata1 = {0.34,-0.12,-0.1,7.5,-66.0,0.0}, boneposata1=24818 },
{ st=1, unholster=1,holster=1, tgn=true, it="", Name="Spartan Sword", m="w_me_dagger",att={0.11,0.01,-0.02,-71.0,-1.0,-52.0}, bone=57005, posata1 = {0.23,-0.15,0.0,0.0,-65.0,-4.0}, boneposata1=24818 },
{ st=3, unholster=1,holster=1, tgn=true, it="", Name="Katana Double", m="katana_striano", att={0.11,0.01,-0.02,-69.0,0.0,-41.0}, bone=57005, m2="katana_striano", att2={0.1,0.03,0.0,-130.0,-23.0,-34.0}, bone2=18905, posata1 = {0.3,-0.12,-0.14,7.0,-52.0,0.0}, boneposata1=24818, posata2 = {0.28,-0.11,0.18, -11.0,-121.8,-196.0}, boneposata2=24818 },
{ st=2, unholster=1,holster=1, tgn=true, it="", Name="Katana Default", m="prop_cs_katana_01", att={0.11,0.01,-0.02,-69.0,0.0,-41.0}, bone=57005, posata1 = {0.3,-0.12,-0.14,7.0,-52.0,0.0}, boneposata1=24818 },
{ st=1, unholster=1,holster=1, tgn=true, it="", Name="Double Axe", m="w_me_battleaxe", att={0.12, 0.03, 0.0,-57.9,23.7,-37.0}, bone=57005, m2="w_me_battleaxe", att2={0.11,0.02,0.0,-112.6,-9.2,-27.0}, bone2=18905, posata1 = {-0.03,-0.17,-0.11,0.9,35.8,188.0}, boneposata1=24818, posata2 = {-0.03,-0.2,0.04,-7.5,131.1,6.0}, boneposata2=24818 },
{ st=6, unholster=1,holster=1, tgn=true, it="", Name="Axe", m="v_ind_cs_axe", att={0.27,0.13,0.07,30.0,0.0,-36.0}, bone=57005, posata1 = {-0.1,-0.19,-0.04,79.80,114.2,6.0}, boneposata1=24818 },
{ st=6, unholster=1,holster=1, tgn=true, it="", Name="Small Axe", m="w_me_battleaxe", att={0.09,0.01,-0.03,-37.0,22.5,-28.0}, bone=57005, posata1 = {-0.07,-0.18,-0.02,-8.4,73.0,4.0}, boneposata1=24818 },
{ st=1, unholster=1,holster=1, tgn=false, it="", Name="Bat", m="w_me_bat", att={0.09,0.01,-0.03,-37.0,22.5,-28.0}, bone=57005, posata1 = {0.24,-0.14,-0.11,1.4,-56.8,22.0}, boneposata1=24818 },
{ st=1, unholster=3,holster=2, tgn=true, it="", Name="Cleaver", m="prop_cleaver", att={0.2,0.1,0.02,19.0,2.0,-28.0}, bone=57005, posata1 = {-0.22,-0.04,0.0,-105.2,-2.2,-96.0}, boneposata1=0 },
{ st=1, unholster=3,holster=2, tgn=false, it="", Name="Crowbar", m="w_me_crowbar", att={0.09,0.01,-0.03,-37.0,22.5,-28.0}, bone=57005, posata1 = {0.25,-0.03,-0.3,-2.0,-5.0,100.0}, boneposata1=0 },
{ st=7, unholster=1,holster=1, tgn=true, it="", Name="Sword Special 1", m="alez_str_sword1", att={0.09,0.0,-0.03,-65.5,75.5,26.0}, bone=57005, posata1 = {0.52,-0.08,0.18,7.0,-111.0,-8.0}, boneposata1=24818 },
{ st=7, unholster=1,holster=1, tgn=true, it="", Name="Sword Special 2", m="alez_str_sword2", att={0.09,0.0,-0.03,-65.5,75.5,26.0}, bone=57005, posata1 = {0.56,-0.08,-0.24,66.0,-4.0,-80.0}, boneposata1=24818 },
{ st=7, unholster=1,holster=1, tgn=true, it="", Name="Sword Special 3", m="alez_str_sword3", att={0.09,0.0,-0.03,-65.5,75.5,26.0}, bone=57005, posata1 = {0.56,-0.08,-0.24,66.0,-4.0,-80.0}, boneposata1=24818 },
{ st=7, unholster=4,holster=6, tgn=true, it="", Name="Dogma Mantis" }, -- Mantis Blade
{ st=1, unholster=1,holster=1, tgn=true, it="", Name="Viking Sword", m="sword",att={0.08,0.01,-0.05,46.5,36.5,-30.0}, bone=57005, posata1 = {0.42,-0.09,0.17,-83.5,68.0,186.0}, boneposata1=24818, heavySword={frw={a="wm_greatsword_forward_dash",b="wm_greatsword_forward_dash_clip"}, bkw={a="wm_greatsword_back_dash",b="wm_greatsword_back_dash_clip"}, lft={a="wm_greatsword_left_dash",b="wm_greatsword_left_dash_clip"}, rgt={a="wm_greatsword_right_dash",b="wm_greatsword_right_dash_clip"}, }, trailsword={ {0.67,0.6,0.26, 1.5, 11, 57005} } },
{ st=1, unholster=1,holster=1, tgn=false, it="", Name="Bat Blood", m="bat_bloody",att={0.07,-0.04,-0.1,37.0,21.5,-24.0}, bone=57005, posata1 = {0.33,-0.14,0.0,0.0,0.0,92.0}, boneposata1=24818 },
{ st=1, unholster=1,holster=1, tgn=true, it="", Name="Axe Survival", m="axe",att={0.1,0.02,-0.06,43.0,24.0,-36.0}, bone=57005, posata1 = {0.33,-0.14,0.0,0.0,0.0,92.0}, boneposata1=24818 },
{ st=10, unholster=1,holster=1, tgn=true, it="", Name="Dark Sword", m="darksword",att={0.02,-0.06,-0.06,14.0,-1.0,-52.0}, bone=57005, posata1 = {0.56,-0.12,-0.17,96.0,-76.5,-8.0}, boneposata1=24818, heavySword={frw={a="wm_greatsword_forward_dash",b="wm_greatsword_forward_dash_clip"}, bkw={a="wm_greatsword_back_dash",b="wm_greatsword_back_dash_clip"}, lft={a="wm_greatsword_left_dash",b="wm_greatsword_left_dash_clip"}, rgt={a="wm_greatsword_right_dash",b="wm_greatsword_right_dash_clip"}, }, trailsword={ {1.2,0.9,0.35, 1.5, 11, 57005} } },
{ st=6, unholster=1,holster=1, tgn=true, it="", Name="Old Sword", m="vikingsword",att={0.07,0.01,-0.05,47.0,37.0,-36.0}, bone=57005, posata1 = {0.31,-0.2,0.09,-86.0,73.0,-4.0}, boneposata1=24818 },
{ st=7, unholster=1,holster=1, tgn=true, it="", Name="Runic Sword", m="runicsword",att={0.08,0.0,-0.03,29.0,29.5,-38.0}, bone=57005, posata1 = {0.39,-0.16,-0.03,-89.0,76.0,200.0}, boneposata1=24818 },
{ st=8, unholster=1,holster=1, tgn=true, it="", Name="Katana Custom", m="katana_striano", att={0.07,-0.03,-0.07,-78.5,110.5,48.0}, bone=57005, posata1 = {0.38,-0.11,-0.23,82.0,13.5,-84.0}, boneposata1=24818 },
{ st=9, unholster=3,holster=2, tgn=true, it="", Name="Val Knifes", m="valknife", att={0.1,0.09,0.03,-78.5,87.0,114.0}, bone=57005, m2="valknife", att2={0.1,0.05,0.0,57.5,-73.0,110.0}, bone2=18905, posata1 = {-0.13,0.05,0.2,0.0,11.5,-8.0}, boneposata1=24816, posata2 = {-0.13,0.05,-0.21,6.0,-4.0,-8.0}, boneposata2=24816 },
{ st=10, unholster=1,holster=1, tgn=true, it="", Name="FF Sword", m="ffsword",att={-0.02,-0.07,-0.07,168.5,-4.5,132.0}, bone=57005, posata1 = {0.61,-0.16,0.16,-88.0,77.0,182.0}, boneposata1=24818, heavySword={frw={a="wm_greatsword_forward_dash",b="wm_greatsword_forward_dash_clip"}, bkw={a="wm_greatsword_back_dash",b="wm_greatsword_back_dash_clip"}, lft={a="wm_greatsword_left_dash",b="wm_greatsword_left_dash_clip"}, rgt={a="wm_greatsword_right_dash",b="wm_greatsword_right_dash_clip"}, }, trailsword={ {1.2,0.9,0.35, 0.5, 8, 57005} } },
{ st=11, unholster=1,holster=1, tgn=true, it="", Name="Double Blades", m="strianoblade", att={0.03,0.14,-0.53,-146.0,92.0,4.0}, bone=57005, m2="strianoblade", att2={-0.11,-0.35,-0.29,42.0,-59.0,-126.0}, bone2=18905, posata1 = {0.63,0.28,0.0,-66.0,-155.0,-242.0}, boneposata1=24818, posata2 = {0.6,-0.7,0.0,-32.0,3.0,-70.0}, boneposata2=24818 },
{ st=12, unholster=1,holster=1, tgn=true, it="", Name="Spear BoStaff", m="striano_spear",att={-0.47,-0.57,-0.14,35.5,24.0,-62.0}, bone=57005, posata1 = {-0.99,-0.28,0.11,1.0,1.0,-104.0}, boneposata1=24818, heavySword={frw={a="wm_greatsword_forward_dash",b="wm_greatsword_forward_dash_clip"}, bkw={a="wm_greatsword_back_dash",b="wm_greatsword_back_dash_clip"}, lft={a="wm_greatsword_left_dash",b="wm_greatsword_left_dash_clip"}, rgt={a="wm_greatsword_right_dash",b="wm_greatsword_right_dash_clip"}, }, trailsword={ {0.94,0.86,0.18, 0.9, 8, 57005}, {0.94,0.86,0.18, 0.5, 11, 57005}, {-0.46,-0.56,-0.14, 0.5, 11, 57005} } },
{ st=6, unholster=1,holster=1, tgn=true, it="", Name="Golden Axe", m="striano_goldenaxe",att={0.18,0.08,0.06,304.0,113.5,-48.0}, bone=57005, posata1 = {-0.2,-0.2,0.08,-92.0,13.0,184.0}, boneposata1=24818 },
{ st=13, unholster=1,holster=1, tgn=true, it="", Name="Rev Knifes", m="striano_revknife", att={0.1,0.04,-0.04,0.0,0.0,0.0}, bone=57005, m2="striano_revknife", att2={0.12,0.06,0.02,-13.0,-5.0,-20.0}, bone2=18905, posata1 = {0.38,-0.1,-0.12,78.0,111.0,-12.0}, boneposata1=24818, posata2 = {0.38,-0.1,0.14,80.0,67.0,8.0}, boneposata2=24818, trailsword={ {0.1,-0.69,-0.05, 0.5, 8, 57005},{0.1,-0.69,-0.05, 0.5, 11, 57005}, {-0.08,-0.58,0.14, 0.5, 8, 18905},{-0.08,-0.58,0.14, 0.5, 11, 18905} } },
{ st=14, unholster=1,holster=1, tgn=true, it="", Name="War Hammer", m="striano_warhammer",att={-0.16,-0.32,-0.32,-123.0,180.0,40.0}, bone=57005, big=true, posata1 = {-1.2,-0.22,-0.52,-1.0,63.0,0.0}, boneposata1=24818, trailsword={ {0.94,0.6,0.6, 9.5, 11, 57005}, {0.94,0.6,0.6, 9.5, 8, 57005} }, heavySword={frw={a="wm_greatsword_forward_dash",b="wm_greatsword_forward_dash_clip"}, bkw={a="wm_greatsword_back_dash",b="wm_greatsword_back_dash_clip"}, lft={a="wm_greatsword_left_dash",b="wm_greatsword_left_dash_clip"}, rgt={a="wm_greatsword_right_dash",b="wm_greatsword_right_dash_clip"}, }, },
}
Open Lua Code: Melee Style List
FightWStyle = { -- ANIMATION COMBAT WITH WEAPON
[1] = { -- BAT
Name = "Bat", Block = { a="kp_wm_gs_parry_02", b="kp_wm_gs_parry_02_clip" }, Idle = 15,
hitSound = function() local p = GetEntityCoords(PlayerPedId()) genSwordWosh(p) end,
WithoutShift = { CombatA = { 294 }, CombatD = { 3 }, CombatW = { 323 } }, -- 294, 3, 323, 299, 300, 301
WithShift = { CombatA = { 299 }, CombatD = { 300 }, CombatW = { 301 } },
},
[2] = { -- GHOST / KATANA (done)
Name = "Katana", Block = { a="kp_wm_gs_parry_02", b="kp_wm_gs_parry_02_clip" }, Idle = 14,
hitSound = function() local p = GetEntityCoords(PlayerPedId()) genSwordWosh(p) end,
WithoutShift = { CombatA = { 306 }, CombatD = { 305 }, CombatW = { 303 } },
WithShift = { CombatA = { 311 }, CombatD = { 309 }, CombatW = { 302 } },
},
[3] = { -- KATANA x2
Name = "Katana Double", Block = { a="kp_wm_gs_parry_02", b="kp_wm_gs_parry_02_clip" }, Idle = 7,
hitSound = function() local p = GetEntityCoords(PlayerPedId()) genSwordWosh(p) end,
WithoutShift = { CombatA = { 77 }, CombatD = { 105 }, CombatW = { 106 } },
WithShift = { CombatA = { 102 }, CombatD = { 103 }, CombatW = { 104 } },
} ,
[4] = { -- MARTELLONE
Name = "Heavy Hammer", Block = { a="kp_wm_gs_parry_02", b="kp_wm_gs_parry_02_clip" }, Idle = 14,
hitSound = function() local p = GetEntityCoords(PlayerPedId()) genSwordWosh(p) end,
WithoutShift = { CombatA = { 398 }, CombatD = { 399 }, CombatW = { 39 } },
WithShift = { CombatA = { 402 }, CombatD = { 404 }, CombatW = { 45 } },
},
[5] = { -- Mantis Blade (From Dogma Studio!) if you want it you need buy here:
Name = "Mantis Blade", Block = { a="kp_wm_gs_parry_02", b="kp_wm_gs_parry_02_clip" }, Idle = 18,
hitSound = function() local p = GetEntityCoords(PlayerPedId()) genSwordWosh(p) end,
WithoutShift = { CombatA = { 129 }, CombatD = { 164 }, CombatW = { 324 } },
WithShift = { CombatA = { 325 }, CombatD = { 326 }, CombatW = { 107 } },
},
[6] = { -- SPADA SWORD!
Name = "Sword", Block = { a="kp_wm_gs_parry_02", b="kp_wm_gs_parry_02_clip" }, Idle = 14,
hitSound = function() local p = GetEntityCoords(PlayerPedId()) genSwordWosh(p) end,
WithoutShift = { CombatA = { 159 }, CombatD = { 161 }, CombatW = { 162 } },
WithShift = { CombatA = { 168 }, CombatD = { 163 }, CombatW = { 173 } },
},
[7] = { -- Absolver Sword
Name = "Heavy Sword", Block = { a="kp_wm_gs_parry_02", b="kp_wm_gs_parry_02_clip" }, Idle = 14,
hitSound = function() local p = GetEntityCoords(PlayerPedId()) genSwordWosh(p) end,
WithoutShift = { CombatA = { 226 }, CombatD = { 295 }, CombatW = { 308 } },
WithShift = { CombatA = { 265 }, CombatD = { 307 }, CombatW = { 301 } },
},
[8] = { -- KATANA CUSTOM
Name = "Katana Custom", Block = { a="kp_wm_gs_parry_02", b="kp_wm_gs_parry_02_clip" }, Idle = 14,
hitSound = function() local p = GetEntityCoords(PlayerPedId()) genSwordWosh(p) end,
WithoutShift = { CombatA = { 44 }, CombatD = { 43 }, CombatW = { 37 } },
WithShift = { CombatA = { 45 }, CombatD = { 42 }, CombatW = { 34 } },
},
[9] = { -- VAL KNIFE -- valknife
Name = "Katana Double", Block = { a="kp_wm_gs_parry_02", b="kp_wm_gs_parry_02_clip" }, Idle = 11,
hitSound = function() local p = GetEntityCoords(PlayerPedId()) genSwordWosh(p) end,
WithoutShift = { CombatA = { 120 }, CombatD = { 105 }, CombatW = { 106 } },
WithShift = { CombatA = { 102 }, CombatD = { 103 }, CombatW = { 104 } },
},
[10] = { -- GREAT SWORD
Name = "Great Sword", Block = { a="kp_wm_gs_parry_02", b="kp_wm_gs_parry_02_clip" }, Idle = 3,
hitSound = function() local p = GetEntityCoords(PlayerPedId()) genSwordWosh(p) end,
WithoutShift = { CombatA = { 330 }, CombatD = { 329 }, CombatW = { 331 } },
WithShift = { CombatA = { 337 }, CombatD = { 339, 341 }, CombatW = { 332, 340 } },
},
[11] = { -- DOUBLE SWORDS
Name = "Double Blades", Block = { a="kp_wm_gs_parry_02", b="kp_wm_gs_parry_02_clip" }, Idle = 20,
hitSound = function() local p = GetEntityCoords(PlayerPedId()) genSwordWosh(p) end,
WithoutShift = { CombatA = { 361 }, CombatD = { 360 }, CombatW = { 351,342 } },
WithShift = { CombatA = { 354,352 }, CombatD = { 367,366 }, CombatW = { 368 } },
},
[12] = { -- BOSTAFF / SPEAR MELEE WEAPON ( my favorite )
Name = "Spear / Bostaff", Block = { a="kp_wm_gs_parry_02", b="kp_wm_gs_parry_02_clip" }, Idle = 20,
hitSound = function() local p = GetEntityCoords(PlayerPedId()) genSwordWosh(p) end,
WithoutShift = { CombatA = { 370 }, CombatD = { 372 }, CombatW = { 375,378 } },
WithShift = { CombatA = { 376 }, CombatD = { 374, 380 }, CombatW = { 369 } },
},
[13] = { -- REV(erse) KNIFE
Name = "Rev Knife", Block = { a="kp_wm_gs_parry_02", b="kp_wm_gs_parry_02_clip" }, Idle = 20,
hitSound = function() local p = GetEntityCoords(PlayerPedId()) genSwordWosh(p) end,
WithoutShift = { CombatA = { 382,384,389 }, CombatD = { 381 }, CombatW = { 383,385 } },
WithShift = { CombatA = { 393 }, CombatD = { 392,396 }, CombatW = { 397 } },
},
[14] = { -- WAR HAMMER
Name = "War Hammer", Block = { a="kp_wm_gs_parry_02", b="kp_wm_gs_parry_02_clip" }, Idle = 20,
hitSound = function() local p = GetEntityCoords(PlayerPedId()) genSwordWosh(p) end,
WithoutShift = { CombatA = { 398 }, CombatD = { 399 }, CombatW = { 400 } },
WithShift = { CombatA = { 402 }, CombatD = { 404 }, CombatW = { 403, 401 } },
},
}
Combat: exports
The list of all important exports to manage combat system:
exports.striano_combat:inCombat()
To know if a player is in combat mode.
return bool
exports.striano_combat:menuCombatOpen()
To know if a player is creating a new combat moveset.
return bool
exports.striano_combat:strianosetweapon(id)
To set a new melee weapon, check the ID from Weapons category.
exports.striano_combat:strianosetshield(id)
To set a shiels (New models WIP).
Open Lua Code: Shield List
ShieldList = {
{ Name="Viking Shield", m="striano_shield_1", att={0.07,-0.01,-0.06,126.5,-74.5,162.0}, bone=18905, attposato={-0.05,-0.14,0.0,0.0,0.0,4.0}, boneposato=24818 },
{ Name="Viking Shield 2", m="striano_shield_2", att={0.17,0.02,-0.07,-31.5,-111.5,146.0}, bone=18905, attposato={-0.02,-0.17,0.04,175.0,1.5,-6.0}, boneposato=24818 },
{ Name="Viking Shield 3", m="striano_shield_3", att={0.17,-0.01,-0.02,-0.5,30.0,232.0}, bone=18905, attposato={-0.02,-0.22,0.0,6.5,-88.5,182.0}, boneposato=24818 },
{ Name="Viking Shield 4", m="striano_shield_4", att={0.15,0.01,-0.02,53.0,102.0,22.0}, bone=18905, attposato={-0.12,-0.2,-0.01,85.5,0.0,-8.0}, boneposato=24818 },
}
exports.striano_combat:inblock()
To know if a player is defence-mode or rolling.
return bool
exports.striano_combat:sfoggiate()
Useful to know if a player have a melee weapon in hand!
return bool
exports.striano_combat:getmysword()
Useful to know the id of the sword player handle, none is 0!
return id_sword
Do you need a specific exports for your project?
Please let me know with a ticket on Discord
I'll be happy to help you!
Combat: How to Install
Before start, Bow System is still in development, so at moment arrows are infinite and every player can test and play in the Striano Arena of my Showcase Server or with commands /mybow, /myarrow. If you want have the command only in server test remember to delete this command before release on your official project!
When the system will be ready you will be informed here and on my official discord.
Now let's start!
You just need basic knowleage before edit or install this resource on your project, please follow this steps:
1. Setup xSound
Download xsound and install properly on your project following the official guide.
This is optional, but to have a complete experience of the system you need to install xsound on your project, and follow the steps in xsound guide folder to insert my custom sounds library.
2. Install striano_props
With this folder you will have acces to all weapons, bow, arrow and shields entity. Consider that my knowleage about 3d model are basic and some weapons maybe need to be replace. Please consider create you own weapon pack! But don't worry about, my partners are working on their amazing weapons pack!
3. Install combat_animations
Some animations are still work in progress, and may some bones and movement need to be improved! 90% of them are retargeted and are not absolutely comparable with original quality of reference!
I'm working every day to create something new and fixing existing anims, so please be patient cause me and my parters we are creating new updates every month!
You can download all the packs of animation on Wolf Fire Productionz Community! But my advice it's to let and use my folder cause i fix a lot of them, but of course if you want and you know what yo do, just download all the anim packs you need and setup with combat script!
Anyway, combat_animations folder you need just drag and drop in your project!
You have your custom fight animations? No problem, just follow the guide to setup the new moveset or contact me on discord and we can checkout together!
4. Install striano_combat
Please, before edit and start the resource be sure to read all documentation. All what you need it's inside client/combat_editable.lua folder! There are a lot of commands that are just for test purpose, be sure to delete them or insert in your framework callback control to manage only for admin!
5. Enjoy Fight!
Thanks to be part of this project, see you on the next update!
NEXT SCRIPT RELEASE SPOILER
CLICK TO OPEN THE SPOILER
Combat: F.A.Q
Here i will answer all questions by customers:
Can i insert new custom animations?
Yes, with this system i insert over 400 anims, you can insert all the anims you need with this setup:
Open Lua Code: Anim String
{ r=1, delay=150, a="melee@example",b="example_clip", start=350, tim=500, hp=5, bones={2}, maxhit=2, strong=true },
Open Params Descriptions
• r: Rate of get a this move in a "learn system". This in WIP!
• delay: MS wait for every hit (not needed for example single punch).
• a & b: Dic and Clip of animation.
• start: After how maby ms will start the hit checker?
• tim: After how many ms anim ends?
• hp: Damages of this move.
• bones: 1: left hand, 2: right hand, 3: left foot, 4: right foot. (hitmap checker)
• maxhit: How many hit have this move?
• strong: If true the range of the attack checker increased.
• push: If true on every hit the character push forward!
• supercam: A custom cam spawn and follow player during the anim till ends!
• fx & fx2: You can setup a custom fx while fighting, like break rock or smoke!
Can i assign moveset as admin for players?
Yes, you can assign with admin command any style of combat you need. This is useful for fatasy roleplay project but also for modern in UFC fight or street-fights! You will find all the availables and functions in file configuration of the script (combat_editable.lua).
🐴 STRIANO_RIDEHORSE DOCUMENTATION
🐴 Ride Horse: Documentation
Hey hey riders!
Here you will find all what you need to know about setup your ridehorse system!
It's not hard and not long, so i'll try to explain the important things about it, and for any other problems feel free to open a ticket on discord!
In this version every player can have a list of rideable horse, saved on database or just saved for the session (rent).
If you want them on database remember to setup the sql file provided in main folder.
If you want only rented animals just setup all in editablehorse.lua.
If you want manage the system to assign an animal as admin please checkout the file server editable editable_permission.lua.
All the rent position you can find in lua table SpawnerHorse = {
On function OnBuyAnAnimal(data) remember to setup you own callback to check if player have the money and the ServerEvent to remove the money and buy/rent animals!
Now also when you rent animal, will not fast spawn, you have your own ride-animals list to spawn it with /myAnimals
To buy an horse and store it in database, after you setup the sql file provided, you can check the shop with /shopAnimals.
If you want test the script before setup you can just use /testHorse, remember to remove this command before push it in your official server.
SERVER TEST!
The script and the documentation is work in progress. Thank you for you patience and for your support!
To open the Combat Menu use the command /combatset in game (after the mini-intro).
Now let's test all in my server test! In the main page of FiveM press F8 and copy and paste this connect ↓ inside and press Enter!