Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
OSI SKILL MENU REQUEST
Author Message
jexnico
Journeyman
*

Posts: 191
Likes Given: 113
Likes Received: 3 in 3 posts
Joined: Jan 2014
Reputation: 0



Post: #1
OSI SKILL MENU REQUEST
Hello people

I looked on the forum but I couldn't find it, that's why I made this post

I'm looking for the osi skillmenu script, would anyone have it? if yes, could you teach me how to configure?
I will leave a representative image fixed

thanks

like this:
[Image: tailor-menu.jpg]
07-30-2021 12:46 AM
Visit this user's website Find all posts by this user Like Post Quote this message in a reply
golfin
Banned

Posts: 213
Likes Given: 2
Likes Received: 32 in 28 posts
Joined: Nov 2017

Eranova

Post: #2
RE: OSI SKILL MENU REQUEST
Why are you looking for him when you already have him? Download SphereX-Scriptpack:https://github.com/cbnolok/SphereX-Scriptpack

I was more interested in the font type that is used in the picture. Smile
07-30-2021 12:29 PM
Visit this user's website Find all posts by this user Like Post Quote this message in a reply
[+] 1 user Likes golfin's post
jexnico
Journeyman
*

Posts: 191
Likes Given: 113
Likes Received: 3 in 3 posts
Joined: Jan 2014
Reputation: 0



Post: #3
RE: OSI SKILL MENU REQUEST
(07-30-2021 12:29 PM)golfin Wrote:  Why are you looking for him when you already have him? Download SphereX-Scriptpack:https://github.com/cbnolok/SphereX-Scriptpack

I was more interested in the font type that is used in the picture. Smile

sphereX is a stable version?
08-06-2021 11:20 PM
Visit this user's website Find all posts by this user Like Post Quote this message in a reply
jexnico
Journeyman
*

Posts: 191
Likes Given: 113
Likes Received: 3 in 3 posts
Joined: Jan 2014
Reputation: 0



Post: #4
RE: OSI SKILL MENU REQUEST
I found the script but I don't know how to configure it... can someone help me?

//****************************************************************************
// SphereServer ©1997-2009
// This script is part from the Sphere Community Script Pack.
// You can download the full pack from: http://www.sphereserver.net
//****************************************************************************
// FILE LAST UPDATED:
VERSION=0.56b
//
// SCRIPT CREDITS
// --------------
// ShiryuX - All the script
//
// SCRIPT DOCUMENTATION
// --------------------
// This is a basic script that generates all your colored crafting files.
// By default, only a few comes scripted, so I did this to save time.
// Before using this, you need to define the colored materials to generate.
// Along with the items, it will generate a table for each color.
//
// Now, how this baby works...
// Mainly, it loops through all the items in all the categories of all skills
// For each item, it will do the following proccess:
// 1. a. This will read the options defined in each skill per each item.
// b. If option colored is 1, proceed to step 2.
// 2. It creates a base item with MAX properties.
// 3. Apply all the RES* and DAM* tags, apply the function defined for the color.
// 4. Open/Creates a file in "scripts/items/crafting/"
// Name of the file is: "sphere_crafting_SKILL_COLOR.scp"
//
// After the main proccess of creating the item scripts per each color:
// 1. Reads all the entries in crafting skillmenues
// 2. Open/Creates a file in "scripts/add-on/skillmenu/"
// Name of the file is: "sphere_skillmenu_SKILL_colored.scp"
//
// To start the whole proccess, just write "ScriptCrafting" in the console
// Good luck and enjoy it.

[function ScriptCrafting]
f_crafting_generate blacksmithing
f_crafting_generate bowcraft
f_crafting_generate carpentry
f_crafting_generate tailoring

[function f_crafting_generate]
local.skill = <args>
serv.log @CraftingGenerator :: Starting generation of <local.skill>.
for 1 10
if <isempty <def.<local.skill>_material_<dlocal._for>>>
serv.log @CraftingGenerator :: Finished generation of <local.skill>.
return 1
endif
f_make_craftinglist <local.skill>,<local._for>
for u 1 20
if !<isempty <def.<local.skill>_category_<dlocal.u>_1>>
for y 1 100
if !<isempty <def.<local.skill>_category_<dlocal.u>_<dlocal.y>>>
if <isempty <def.<local.skill>_category_<dlocal.u>_<dlocal.y>_opt>>
local.colored = <getargv 2 <def.<local.skill>_options_default>>
else
local.colored = <getargv 2 <def.<local.skill>_category_<dlocal.u>_<dlocal.y>_opt>>
endif
if <local.colored> == 1
f_craft_item <def.<local.skill>_category_<dlocal.u>_<dlocal.y>>,<local.skill>,<local._for>
endif
endif
endfor
endif
endfor
endfor

[function f_make_craftinglist]
local.skill = <argv[0]>
local.material = <argv[1]>
local.topen = "scripts/add-on/skillmenu/sphere_skillmenu_<local.skill>_colored.scp" // _<def.<local.skill>_material_<dlocal.material>>
file.mode.append = 1
if <file.open <local.topen>>
file.writeline "[defname sphere_crafting_blacksmithing_<def.<local.skill>_material_<dlocal.material>>]"
for y 1 20
if !<isempty <def.<local.skill>_category_<dlocal.y>_1>>
local.items = 1
for z 1 100
if !<isempty <def.<local.skill>_category_<dlocal.y>_<dlocal.z>>>
if <isempty <def.<local.skill>_category_<dlocal.y>_<dlocal.z>_opt>>
local.colored = <getargv 2 <def.<local.skill>_options_default>>
else
local.colored = <getargv 2 <def.<local.skill>_category_<dlocal.y>_<dlocal.z>_opt>>
endif
if <local.colored> == 1
file.writeline <local.skill>_<dlocal.material>_category_<dlocal.y>_<dlocal.items> "<def.<local.skill>_category_<dlocal.y>_<dlocal.z>>_<def.<local.skill>_material_<dlocal.material>>"
local.items ++
endif
endif
endfor
if <local.items>
file.writeline " "
endif
endif
endfor
file.writeline " "
file.close
endif

// f_craft_item $item,$skill,$resource
[function f_craft_item]
local.item = <argv[0]>
local.skill = <argv[1]>
local.material = <argv[2]>
serv.newitem <local.item>
new.name = <def.<local.skill>_material_<dlocal.material>_name> <new.name>
new.color = <def.<local.skill>_material_<dlocal.material>_color>
if <new.isweapon>
new.hitpoints = 48
args = <def.<local.skill>_material_<dlocal.material>_weaps_dam>
new.tag0.DamPhysical = <eval <new.tag0.DamPhysical> + <argv[0]>>
new.tag0.DamFire = <eval <new.tag0.DamPhysical> + <argv[1]>>
new.tag0.DamCold = <eval <new.tag0.DamPhysical> + <argv[2]>>
new.tag0.DamPoison = <eval <new.tag0.DamPhysical> + <argv[3]>>
new.tag0.DamEnergy = <eval <new.tag0.DamPhysical> + <argv[4]>>
if !<isempty <argv[5]>>
if (strmatch("<def.<local.skill>_material_<dlocal.material>_name>","heartwood"))
local.tocall = <argv[5]>
else
new.<argv[5]>
endif
endif
elif <new.isarmor>
new.hitpoints = 48
args = <def.<local.skill>_material_<dlocal.material>_armor_res>
new.tag0.ResPhysical = <eval <new.tag0.ResPhysical> + <argv[0]>>
new.tag0.ResFire = <eval <new.tag0.ResFire> + <argv[1]>>
new.tag0.ResCold = <eval <new.tag0.ResCold> + <argv[2]>>
new.tag0.ResPoison = <eval <new.tag0.ResPoison> + <argv[3]>>
new.tag0.ResEnergy = <eval <new.tag0.ResEnergy> + <argv[4]>>
if !<isempty <argv[5]>>
if (strmatch("<def.<local.skill>_material_<dlocal.material>_name>","heartwood"))
local.tocall = <argv[5]>
else
new.<argv[5]>
endif
endif
endif
call f_script_item <new.uid>
new.remove

[function f_script_item]
ref1 = <args>
file.close
file.mode.append = 1
local.topen = scripts/items/crafting/sphere_crafting_<local.skill>_<def.<local.skill>_material_<dlocal.material>>.scp
if <file.open <local.topen>>
file.writeline "[ITEMDEF <ref1.baseid>_<def.<local.skill>_material_<dlocal.material>>]"
file.writeline "ID=<ref1.id>"
file.writeline "NAME=<ref1.name>"
file.writeline "TYPE=<ref1.type>"
args = <serv.itemdef.<ref1.baseid>.resources>
if <serv.itemdef.<local.item>.resources.1.key> == <def.<local.skill>_resourceid>
local.resources = "<eval <serv.itemdef.<local.item>.resources.1.val>> <def.<local.skill>_material_<dlocal.material>_resourceid>"
if <argv> > 1
for j 1 <eval <argv>-1>
local.resources .= ", <argv[<local.j>]>"
endfor
endif
else
local.resources = <argv[0]>
if <argv> > 1
for j 1 <eval <argv>-1>
if <serv.itemdef.<local.item>.resources.<dlocal.j>.key> == <def.<local.skill>_resourceid>
local.resources .= ", <serv.itemdef.<local.item>.resources.<dlocal.j>.val> <def.<local.skill>_material_<dlocal.material>_resourceid>"
else
local.resources = ", <serv.itemdef.<local.item>.resources.<dlocal.j>.val> <strtrim <serv.itemdef.<local.item>.resources.<dlocal.j>.key>>"
endif
endfor
endif
endif
file.writeline "RESOURCES=<local.resources>"
file.writeline "SKILLMAKE=<serv.itemdef.<ref1.baseid>.skillmake>"
file.writeline "WEIGHT=<fval <ref1.weight>>"
if <ref1.tag.LowerRequeriments>
file.writeline "REQSTR=<muldiv <ref1.reqstr>,<ref1.tag.lowerrequeriments>,100>"
endif
if <ref1.istevent.t_iprop>
file.writeline "TEVENTS=t_iprop"
for 1 <def.itemprops>
if !<isempty <ref1.tag.<getargv 5 <def.itemprop_<local.x>>>>>
file.writeline "TAG.<getargv 5 <def.itemprop_<local.x>>=<ref1.tag0.<getargv 5 <def.itemprop_<local.x>>>>"
endif
endfor
endif
if <ref1.isweapon>
local.category = "Provisions - Weapons"
local.subsection = <qval <ref1.baseid> == <ref1.id> ? "<ref1.typedef.name>" : "<serv.itemdef.<ref1.id>.name>">
elif <ref1.isarmor>
local.category = "Provisions - Armor"
if (<ref1.id> > 02773) && (<ref1.id> < 027e9)
local.subsection = "<strarg <ref1.typedef.name>> Samurai Armor"
else
local.subsection = "<strarg <ref1.typedef.name>> Armor"
endif
if <ref1.layer> == layer_helm
local.subsection = "Helmets"
elif <ref1.layer> == layer_hand2
local.subsection = "Shields"
endif
elif <ref1.type> == t_weapon_arrow
local.category = "Provisions - Weapons"
local.subsection = "Ammunition"
else
serv.log @CraftingGenerator :: Cannot recognize type <ref1.type> of <ref1.typedef.name> (<ref1.baseid>)
endif
file.writeline "CATEGORY=<local.category> - Colored"
file.writeline "SUBSECTION=<def.<local.skill>_material_<dlocal.material>_name> <local.subsection>"
file.writeline "DESCRIPTION=<ref1.name>"
if <ref1.tag0.Penalty.Meditation>
file.writeline "TAG.Penalty.Meditation=1"
endif
if <ref1.tag0.Penalty.Stealth>
file.writeline "TAG.Penalty.Stealth=<ref1.dtag0.Penalty.Stealth>"
endif
if <ref1.tag0.DamPhysical>
file.writeline "TAG.DamPhysical=<ref1.dtag0.DamPhysical>"
endif
if <ref1.tag0.DamFire>
file.writeline "TAG.DamFire=<ref1.dtag0.DamFire>"
endif
if <ref1.tag0.DamCold>
file.writeline "TAG.DamCold=<ref1.dtag0.DamCold>"
endif
if <ref1.tag0.DamPoison>
file.writeline "TAG.DamPoison=<ref1.dtag0.DamPoison>"
endif
if <ref1.tag0.DamEnergy>
file.writeline "TAG.DamEnergy=<ref1.dtag0.DamEnergy>"
endif
if <ref1.tag0.ResPhysical>
file.writeline "TAG.ResPhysical=<ref1.dtag0.ResPhysical>"
endif
if <ref1.tag0.ResFire>
file.writeline "TAG.ResFire=<ref1.dtag0.ResFire>"
endif
if <ref1.tag0.ResCold>
file.writeline "TAG.ResCold=<ref1.dtag0.ResCold>"
endif
if <ref1.tag0.ResPoison>
file.writeline "TAG.ResPoison=<ref1.dtag0.ResPoison>"
endif
if <ref1.tag0.ResEnergy>
file.writeline "TAG.ResEnergy=<ref1.dtag0.ResEnergy>"
endif
file.writeline " "
file.writeline "ON=@Create"
if !(strmatch("<local.tocall>","0"))
file.writeline "<local.tocall>"
endif
file.writeline "HITPOINTS={<eval <ref1.hitpoints>-12> <ref1.hitpoints>}"
file.writeline "COLOR=<ref1.color>"
file.writeline " "
file.close
endif

[eof]
08-07-2021 04:17 AM
Visit this user's website Find all posts by this user Like Post Quote this message in a reply
golfin
Banned

Posts: 213
Likes Given: 2
Likes Received: 32 in 28 posts
Joined: Nov 2017

Eranova

Post: #5
RE: OSI SKILL MENU REQUEST
I don't really understand why you want to replace the older version from 56b to the X version. It is implemented there. You just enter event e_player_crafting_event in spehere.ini. And of course you then edit the products in the crafting def files. Go to discord, there you will find out more and sooner.
08-07-2021 01:36 PM
Visit this user's website Find all posts by this user Like Post Quote this message in a reply
[+] 1 user Likes golfin's post
Jhobean
Journeyman
*

Posts: 98
Likes Given: 11
Likes Received: 8 in 3 posts
Joined: Jun 2019
Reputation: 2



Post: #6
RE: OSI SKILL MENU REQUEST
Ask your specific question here or Feel free to come talk in private in discord if you need help.

https://www.uocryptonite.com/
08-26-2021 03:25 AM
Find all posts by this user Like Post Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)