SphereCommunity
How to change the Player SkillClass - Printable Version

+- SphereCommunity (https://forum.spherecommunity.net)
+-- Forum: Sphere 0.56d (/Forum-Sphere-0-56d)
+--- Forum: Script Help (/Forum-Script-Help)
+--- Thread: How to change the Player SkillClass (/Thread-How-to-change-the-Player-SkillClass)

Pages: 1 2 3 4 5 6


How to change the Player SkillClass - AmpereJoule - 12-15-2012 10:51 PM

Hello,


I was reading the SphereWiki because I want to make a SIMPLE RPG Shard.

Why did I choose Sphere instead of RunUO? Because Sphere remember me old times.



So, I want that the players can choose one of three classes: "Guerreiro", "Arqueiro" or "Mago". Here what I did:

sphere.ini:
"
...
// When player skills/stats goes this times more than skillclass allowed, drop
// them to skillclass level. Setting this to 0 disables the action.
OverSkillMultiply=1
..."


sphere_skills.scp:
"...
[SKILLCLASS 0]
// undeclared class.
// max skills for players of this skill class.
// might want this to be all 50.0 to make people declare a class?
DEFNAME=Class_guerreiro
NAME=Guerreiro
EVENTS=e_guerreiro
STATSUM=800
SKILLSUM=10000.0
STR=500
INT=100
DEX=200
Alchemy=0.0
Anatomy=100.0
..."


Now I need to script a stone that the player will choose the class he wants to be. But I don't know how to change his SkillClass.

So, How do I change the skillclass of a player?


Thank you.


RE: How to change the Player SkillClass - darksun84 - 12-15-2012 11:20 PM

skillclass = 1 //warrior
...

and so on


RE: How to change the Player SkillClass - AmpereJoule - 12-16-2012 09:59 AM

(12-15-2012 11:20 PM)darksun84 Wrote:  skillclass = 1 //warrior
...

and so on

would'nt it be: "skillclass = 0 //guerreiro" ?

because my "warrior" is [SKILLCLASS 0].

this number is the number in front of "[SKILLCLASS <number>]"?


RE: How to change the Player SkillClass - Elmortis - 12-16-2012 08:16 PM

You must use like this. i use this system first time

Code:
[FUNCTION f_onchar_create]
IF (<src.argn3> == 0)
src.skillclass = class_warrior
elif ....
else
endif
It,s very easy, but don't change a race and body


RE: How to change the Player SkillClass - darksun84 - 12-16-2012 08:43 PM

(12-16-2012 09:59 AM)AmpereJoule Wrote:  
(12-15-2012 11:20 PM)darksun84 Wrote:  skillclass = 1 //warrior
...

and so on

would'nt it be: "skillclass = 0 //guerreiro" ?

because my "warrior" is [SKILLCLASS 0].

this number is the number in front of "[SKILLCLASS <number>]"?

yep i put the wrong number Big Grin


RE: How to change the Player SkillClass - Elmortis - 12-16-2012 08:48 PM

See it's fool code. Ultima online have 6 classes on standart. you need only 3?

In function (f_onchar_create) argn3= it argument. when player click on create charecter like mage or like warrir . he has diff argn3. you must use this arng3 about skillclass

[skillclass class_mage or 0]
.....

You make
if <argn3> == 0
src.skillclass= class_mage
else
endif


RE: How to change the Player SkillClass - AmpereJoule - 12-17-2012 01:44 AM

Thank you all guys \o\

I made one here and it worked!
Here it is the code:

[ITEMDEF i_pedra_classes]
ID=i_gravestone_18
DEFNAME=i_pedra_classes
NAME=Pedra das Classes
TYPE=t_normal

ON=@CREATE
COLOR=01
ATTR=010

ON=@DCLICK
SRC.SDIALOG D_classes
RETURN 1

[DIALOG D_classes]
0,0
noclose
page 0
resizepic 200 200 2620 500 350
checkertrans 200 200 500 350
dtext 210 210 650 Escolha sua Classe:
dtext 210 280 650 Guerreiro
dtext 210 320 650 Arqueiro
dtext 210 360 650 Mago
button 300 280 025fe 02601 1 0 0
button 300 320 025fe 02601 1 0 1
button 300 360 025fe 02601 1 0 2


[DIALOG D_classes BUTTON]
ON=0 5
IF !(<ARGN>)
src.skillclass=Class_guerreiro
GO britain
ELIF (<ARGN>==1)
src.skillclass=Class_arqueiro
GO britain
ELIF (<ARGN>==2)
src.skillclass=Class_mago
GO britain
ENDIF

Now I got three other problems:
1- I can only use the .scp (script files) that already has in the folders; (because when I make a new one the sphere does not read it o.o)
2- I want that every player borns at "Green Acres 3 (6126,1863)" Where do I change it?
3- My Axis isn't working right, I can barely use the "Travel" tab. The "Spawns" tab has nothing to use |:. Does anyone know what can I do?

PS: the Settings Folders that the Axis is "searching" his things are the Ultime Online Folders (C:\Program Files (x86)\EA Games\Ultima Online Mondain's Legacy\)


RE: How to change the Player SkillClass - Mordaunt - 12-17-2012 03:15 AM

1. Add the new scripts path to your spheretables.scp
2. Sphere_map_points0.scp change all the co ordinates for the towns under [STARTS]
3. You must create a profile that tells axis where your sphereserver install is located, save said profile and then hit "Load Profile"


RE: How to change the Player SkillClass - darksun84 - 12-17-2012 03:25 AM

Even if there is the "noclose" property in the dialog, it's a good practice to avoid te use of 0 id button for doing something that is not related to the gump's closing


RE: How to change the Player SkillClass - AmpereJoule - 12-17-2012 06:07 AM

Very nice \o\.

It worked!

Now I only have to make the "Spawns" of every NPC. And I am doing it right now,
but I noticed that it has not ores in the mines, Do I need to put one by one using
Axis (now that it is working \o\) ? Or does it have an easy way to put randoms ores
at minings spots?

PS: It is OBVIOUSLY that the first place that I "spawned" was Britain Graveyard Smile.

PS 2: Hey, I want that every skill grows every stats (str, dex, int) to the max stats,
what do I have to change? (I was thinking in changing it in every skill at
c:\sphere\script\skills),
example: in "sphere_skill_alchemy.scp"
[SKILL 0]
DEFNAME=SKILL_ALCHEMY
KEY=Alchemy
TITLE=Alchemist
DELAY=3.0,1.0 // per stroke.
ADV_RATE=10.0,200.0,800.0
VALUES=1,20,100
BONUS_STATS=1500
BONUS_STR=500
BONUS_DEX=500
BONUS_INT=500
STAT_STR=5 }
STAT_INT=75 } What does these 3 do? Is it how much of str,dex,int that I need to have to use "mortar and pestle"?
STAT_DEX=40 }


Thank you \o\.