Eclipse
January 05, 2009, 11:13:16 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News:
 
   Home   Chat Help Rules Arcade Search Calendar Gallery Login Register  
 
 
 
Recent Topics +-
Count to 1,000,000! by <insert username here>
Today at 11:13:09 PM

Big city... by <insert username here>
Today at 11:11:49 PM

Necesito mappers y scripter para un proyecto de Zelda de alta calidad by MrMiguu™
Today at 11:11:33 PM

how will the person above die. by kira423
Today at 11:10:42 PM

Lostica [Project Revamp] by MrMiguu™
Today at 11:09:53 PM

I need a little help by The Roujo
Today at 11:07:41 PM

My Custom GUI by <insert username here>
Today at 11:07:32 PM

Necisto scripters y mappers para proyecto grande by Nospheratus
Today at 11:01:26 PM

Party system : is it possible? by The Roujo
Today at 10:57:39 PM

SnowCap by The Roujo
Today at 10:53:56 PM

Members Online +-
10 Guests, 15 Users
<insert username here>,
HawkStorm95,
MrMiguu™,
Baron,
kira423,
Marsh,
Leaf [zach],
Simius Cruentus,
Kreator,
The Roujo,
Karl,
‪‫‬‭‮‪‫Kusy,
FS:CG Admin[Shadowwulf],
Nospheratus,
dg1423
Pages: [1] 2 3 ... 9
  Print  
Author Topic: BARONS SKILL SUPERSCRIPT  (Read 13010 times)
0 Members and 1 Guest are viewing this topic.
Baron
Lord Of Spleens
Administrator
Teh Uberleet
*
Online Online

Posts: 2,739


Genesis CoCreator - Eclipse Evo Developer


View Profile WWW Email
« on: March 11, 2006, 07:04:15 AM »

THIS SKILLSCRIPT AND ALL DERIVATIVE WORKS ARE COPYRIGHT OF REDEEMER GAME STUDIOS. ITS USE IS OPEN TO ALL USERS OF ECLIPSE ENGINES ALONG WITH THE RIGHT TO EDIT IT FREELY. ANY OTHER ENGINES / GAMES REQUIRE APPROVAL FOR USE. THIS MAY NOT BE POSTED ON OTHER BOARDS.


This is a neatened, shortened, improved, shinier, much more awesome, much cleaner, easier to use, and overall awesomer version of my skills. This script now does both recipe style skills (A+B+C=D&E) with any number of components and results, as well as normal skills like mining.

This tutorial requires you to have certain examples to work off. If you are using my downloaded scripts folder, skip to section 2.

NB its 2745 words long. its an indepth tutorial so you can really understand this, not just guess about it.

SECTION 1 : INSTALLING

If you wish to keep your own main.txt, simply put everything into your script folder from the .rar linked below except the main.txt

http://www.createforum.com/phpbb/viewtopic.php?t=1843&mforum=marsh0

Then add this to the bottom of your main.txt

Quote

'********************************
Function F_Freeslots(index)      
'********************************

Dim slot
Dim count

slot=1
count=0
   Do While slot < 25   
      If getplayerinvitemnum(index, slot) = 0 Then
      count = Int(count) + 1
      End If
   slot=Int(slot) + 1
   Loop
F_Freeslots=Int(count)
End Function

'********************************
Sub Give_Item(index, number, durability)
'********************************

Dim slot

slot = 1
   Do While slot < 25
      If Getplayerinvitemnum( index, Int( slot ) ) = 0 Then
         Call SetPlayerInvItemNum(index, Int( slot ), Int( number ) )
         Call SetPlayerInvItemDur(index, Int( slot ), Int( durability ) )
         Call SetPlayerInvItemValue(index, Int( slot ), Int(0) )
         Call SendInventoryUpdate(index, Int(slot) )
         slot = 25
      End If
   slot = slot + 1
   Loop
End Sub

'********************************
Sub Give_Currency(index, number, quantity)
'********************************

Dim slot
Dim initial
Dim final
Dim given

slot=1
given=0

   Do While slot < 25
      If Getplayerinvitemnum(index,Int(slot))=Int(number) Then
         initial = Getplayerinvitemvalue( index, Int( slot ) )
         final = Int( initial ) + Int( quantity )
         Call setplayerinvitemvalue( index, Int( slot ), Int( final ) )
         Call SendInventoryUpdate(index, Int(slot) )
         slot = 25
         given = 1
      End If
   slot = slot + 1
   Loop
      
   If given=1 Then
      slot=25
   Else
      slot=1
   End If

   Do While slot < 25
      If Getplayerinvitemnum(index,Int(slot)) = 0 Then
         Call SetPlayerInvItemNum(index, Int( slot ), Int( number ) )
         Call SetPlayerInvItemValue(index, Int( slot ), Int( quantity ) )
         Call SetPlayerInvItemDur(index, Int( slot ), 0 )
         Call SendInventoryUpdate(index, Int(slot) )
         slot = 25
      End If
   slot = slot + 1
   Loop
   
End Sub

'********************************
Function F_Check_Take(index, number, value)
'********************************

Dim slot

slot = 1
F_Check_Take =0
   Do While slot < 25   
      If Getplayerinvitemnum( index, Int( slot ) ) = Int( number ) Then
         If GetPlayerInvItemValue(index, Int( slot ) ) >= Int(value) Then         
         F_Check_Take=1            
         End If
      End If
   slot = slot + 1
   Loop
End Function

'********************************
Sub Take_Item(index, number, value)
'********************************

Dim slot
Dim taken
Dim initial
Dim final

slot=1
taken=0
   Do While Int(slot) < 25      
      If Int(taken)=0 Then      
         If Getplayerinvitemnum(index,Int(slot)) = Int(number) Then
            If Int(getplayerinvitemvalue(index, Int(slot))) >= Int(value) Then
            initial = Int(getplayerinvitemvalue(index, Int(slot) ) )
            final = Int(initial) - Int(value)            
               If Int(final) <= 0 Then               
               Call setplayerinvitemnum(index, Int(slot), Int(0) )
               Call setplayerinvitemvalue(index, Int(slot), Int(0) )
               Call setplayerinvitemdur(index, Int(slot), Int(0) )
               Call SendInventoryUpdate(index, Int(slot))
               taken=1               
               Else            
               Call setplayerinvitemvalue(index, Int(slot), Int(final) )
               Call SendInventoryUpdate(index, Int(slot) )
               taken=1            
               End If
            End If         
         End If
      End If      
   slot = slot + 1
   Loop
End Sub

'********************************
Sub Baron_Stam_regain(index)
'********************************

Dim skill_type
Dim skill_action
Dim stam_total
Dim player_lvl

skill_type=Trim( GetVar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "SKILL","type") )

   If Int(Getvar("scripts\charextras\" & GetPlayerName(index) & ".ini", Trim(Skill_type), "has_data") ) < 1 Then
   Call putvar("scripts\charextras\" & GetPlayerName(index) & ".ini", Trim(Skill_type) , "Exp", Int(0) )
   Call putvar("scripts\charextras\" & GetPlayerName(index) & ".ini", Trim(Skill_type) , "level", Int(0))
   Call putvar("scripts\charextras\" & GetPlayerName(index) & ".ini", Trim(Skill_type) , "stamina", Int(10))
   Call putvar("scripts\charextras\" & GetPlayerName(index) & ".ini", Trim(Skill_type) , "has_data", Int(1))
   Call battlemsg(index, "You should return here if you wish to rest", 14, 1)
   End If
      
player_lvl=Getvar("scripts\charextras\" & GetPlayerName(index) & ".ini", Trim(Skill_type) , "level")
skill_action=Trim(GetVar("scripts\skills\" & skill_type & ".ini", "INDEX","action"))
stam_total=5 + Int(player_lvl)
Call PutVar("scripts\charextras\" & GetPlayerName(index) & ".ini", Trim(Skill_type) , "stamina", Int(stam_total))
Call battlemsg(index, "You feel refreshed and ready to " & skill_action & " again.", 14, 1)
End Sub

'********************************
Sub Baron_Uber_skills(index)
'********************************
'Do not modify this script in any way.
'It is provided as is in all goodwill.
'There is CONSIDERABLE time spent here.
On Error Resume next
Dim skill_type
Dim skill_number
Dim take_total
Dim give_total
Dim count
Dim take_count
Dim take_num
Dim take_val
Dim take_msg
Dim empty_space
Dim take_check
Dim needed_item
Dim player_weapon
Dim skill_action
Dim currency_check
Dim recipe_count
Dim recipe_total
Dim min_lvl
Dim player_lvl
Dim player_stam
Dim recipe_stam
Dim give_val
Dim give_num
Dim give_dur
Dim give_msg
Dim high_randomiser
Dim success_chance
Dim low_chance
Dim high_chance
Dim give_exp
Dim new_exp
Dim lvl_exp
Dim next_lvl

If Int(GetVar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "SKILL","has_data")) < 0 Then
Call Putvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "SKILL","type", "")
Call Putvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "SKILL","number", 0)
Call Putvar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "SKILL","has_data", 1)
Call Playermsg(index, "Made skill template for map", 14)
Call Playermsg(index, "Credits go to Baron - http://barony.deviantart.com/", 14)
End If

RECIPE_COUNT = Int(1)
skill_type=Trim( GetVar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "SKILL","type") )
recipe_total=Int(GetVar("scripts\skills\" & skill_type & ".ini","INDEX" ,"total_recipes"))

'RECIPES ALWAYS HAVE SKILL 1 SELECTED IN MAPEXTRAS AND TOTAL RECIPES IN SKILLS SET TO HIGHEST
'NON RECIPES HAVE ANY SKILL SELECTED IN MAPEXTRAS AND TOTAL RECIPES IN SKILLS SET TO 1

Do While Int(RECIPE_COUNT) <= Int(recipe_total)

   If trim(skill_type) <> "" Then

   skill_number = Int(GetVar("scripts\mapextras\" & GetPlayerMap(index) & ".ini", "SKILL","number"))

   If Int(recipe_count) > 1 Then
   skill_number = Int(recipe_count)
   End If

   needed_item=Int(GetVar("scripts\skills\" & skill_type & ".ini", Int(skill_number),"item_num_needed"))
   player_weapon=Int( Getplayerinvitemnum(index, Int(getplayerweaponslot(index)) ) )
   skill_action=Trim(GetVar("scripts\skills\" & skill_type & ".ini", "INDEX","action"))

      If Int(needed_item) = Int(player_weapon) Then

      min_lvl = Int(GetVar("scripts\skills\" & skill_type & ".ini", Int(skill_number),"min_level"))

      If Int(Getvar("scripts\charextras\" & GetPlayerName(index) & ".ini", Trim(Skill_type), "has_data") ) < 1 Then
      Call putvar("scripts\charextras\" & GetPlayerName(index) & ".ini", Trim(Skill_type) , "Exp", Int(0) )
      Call putvar("scripts\charextras\" & GetPlayerName(index) & ".ini", Trim(Skill_type) , "level", Int(0))
      Call putvar("scripts\charextras\" & GetPlayerName(index) & ".ini", Trim(Skill_type) , "stamina", Int(10))
      Call putvar("scripts\charextras\" & GetPlayerName(index) & ".ini", Trim(Skill_type) , "has_data", Int(1))
      Call playermsg(index, "You attempt to " & skill_action & " for the first time!", 14)
      End If

      player_lvl = Int(Getvar("scripts\charextras\" & GetPlayerName(index) & ".ini", Trim(Skill_type) , "level"))

         If Int(min_lvl) <= Int(player_lvl) Then
         
         player_stam=Int(getvar("scripts\charextras\" & GetPlayerName(index) & ".ini", Trim(Skill_type) , "stamina"))
         recipe_stam=Int(GetVar("scripts\skills\" & skill_type & ".ini", Int(skill_number),"stam_taken"))
         
         If Int(player_stam) >= Int(recipe_stam) Then

         take_total = Int(GetVar("scripts\skills\" & skill_type & ".ini", Int(skill_number),"take_total"))
         give_total = Int(GetVar("scripts\skills\" & skill_type & ".ini", Int(skill_number),"give_total"))   
          count = Int ( 1 )
          take_count = Int ( 0 )
          empty_space=F_Freeslots(index)
   
               If Int(give_total) <= Int(empty_space) Then
   
            Do While count <= Int(take_total)
            take_num=Int(GetVar("scripts\skills\" & skill_type & ".ini", Int(skill_number), Int(count) & "_take_num"))
            take_val=Int(GetVar("scripts\skills\" & skill_type & ".ini", Int(skill_number), Int(count) & "_take_val"))   

            take_check=F_Check_Take(index,take_num,take_val)
            take_count=take_count + Int(take_check)   
            count=count+1
            Loop

               If Int(take_count) = Int(take_total) Then         
            
               count = Int ( 1 )      
            
                  Do While Int(count) <= Int(take_total)
                  take_num=Int(GetVar("scripts\skills\" & skill_type & ".ini", Int(skill_number), Int(count) & "_take_num"))
                  take_val=Int(GetVar("scripts\skills\" & skill_type & ".ini", Int(skill_number), Int(count) & "_take_val"))   
                    take_msg=Trim(GetVar("scripts\skills\" & skill_type & ".ini", Int(skill_number), Int(count) & "_take_Msg"))            
                  Call battlemsg(index, trim(take_msg), 15, 1)   
                  Call Take_Item(index, Int(take_num), Int(take_val) )         
                  count=count+1
                  Loop
         
                  count = Int ( 1 )
                  new_exp = 0
                  
                  Do While Int(count) <= Int(give_total)
                  give_val = Int(GetVar("scripts\skills\" & skill_type & ".ini", Int(skill_number), Int(count) & "_give_val"))
                  give_msg = Trim(GetVar("scripts\skills\" & skill_type & ".ini", Int(skill_number), Int(count) & "_give_msg"))
                  
                  success_chance = Int(GetVar("scripts\skills\" & skill_type & ".ini", Int(skill_number), Int(count) & "_base_chance"))
                  low_chance= Int(player_lvl) - Int(min_lvl) + 1
                  high_chance = Int(player_lvl) - Int(min_lvl) + Int(success_chance)
                  high_randomiser = Int((high_chance + 1) * Rnd)
                                 
                  If Int(high_randomiser) <= Int(low_chance) Then                  
                     
                     If Int(give_val) > 0 Then
                     give_num = Int(GetVar("scripts\skills\" & skill_type & ".ini", Int(skill_number), Int(count) & "_give_num"))
                     Call Give_Currency(index, Int(give_num), Int(give_val) )
                     Call battlemsg(index, Trim(give_msg),10, 1)
                     'TO HAVE THE SCRIPT AUTO CREATE ALL ITEMS IT CAN ONCE EACH, REMOVE LINE BELOW
                     RECIPE_COUNT= Int(recipe_total)
                     Else
                     give_num = Int(GetVar("scripts\skills\" & skill_type & ".ini", Int(skill_number), Int(count) & "_give_num"))
                     give_dur = Int(GetVar("scripts\skills\" & skill_type & ".ini", Int(skill_number), Int(count) & "_give_dur"))
                     Call Give_Item(index, give_num, give_dur)
                     Call battlemsg(index, Trim(give_msg),10, 1)
                     'TO HAVE THE SCRIPT AUTO CREATE ALL ITEMS IT CAN ONCE EACH, REMOVE LINE BELOW
                     RECIPE_COUNT= Int(recipe_total)
                     End If
                     
                     give_exp = 0 + Int(GetVar("scripts\skills\" & skill_type & ".ini", Int(skill_number), Int(count) & "_EXP"))
                     new_exp = 0 + Int(getvar("scripts\charextras\" & GetPlayerName(index) & ".ini", Trim(Skill_type) , "exp")) + Int(give_exp)
                      Call putvar("scripts\charextras\" & GetPlayerName(index) & ".ini", Trim(Skill_type) , "exp", Int(new_exp))
                  End If
                  
                  If new_exp=0 Then
                  new_exp=Int(getvar("scripts\charextras\" & GetPlayerName(index) & ".ini", Trim(Skill_type) , "exp"))
                  End If
                     
                  count=count+1
                  Loop
                  
                  next_level = Int(player_lvl) + Int(1)
                  lvl_exp = Int(Getvar("experience.ini", "EXPERIENCE", "Exp" & Int(next_level) ) )
                  Call battlemsg(index,new_exp & " / " & lvl_exp & " For " & next_level & " " & trim(skill_type), 6, 0)
                                                      
                  If Int(new_exp) >= Int(lvl_exp) and Int(player_lvl) < 100 Then
                  new_exp= 0 + Int(new_exp) - Int(lvl_exp)                  
                  Call putvar("scripts\charextras\" & GetPlayerName(index) & ".ini", Trim(Skill_type) , "exp", Int(new_exp))
                  Call putvar("scripts\charextras\" & GetPlayerName(index) & ".ini", Trim(Skill_type) , "level", Int(next_level))
                  Call battlemsg(index, "Congratulations, you are now level " & Int(next_level) & " in " & trim(skill_type) & "!", 13, 1)
                  End If
                  
                  player_stam = Int(player_stam) - Int(recipe_stam)
                  Call putvar("scripts\charextras\" & GetPlayerName(index) & ".ini", Trim(Skill_type) , "stamina", Int(player_stam))
                  
                  If Int(recipe_total) = 1 Then
                  RECIPE_COUNT= Int(recipe_total)
                  End If                           
                 
                 Else                 
                    If Int(recipe_count) + 1 > Int(recipe_total) and Int(recipe_total) > Int(1) Then
                  Call battlemsg(index, "You have no components to " & skill_action, 12, 1)
                  End If    
               End If         
      
            Else      
            Call battlemsg(index, "You need more inventory room to continue " & skill_type & ".", 15, 1)            
             End If
           
           Else
           Call battlemsg(index, "You are too tired to " & skill_action & ".", 12, 1)
           End If
           
           Else
           Call battlemsg(index, "You need to be more skilled to " & skill_action & " here.", 12, 1)          
           End If
           
      End If
        'This continues off end of item script. Used when empty slot. Elseif errors usually.
      If Int(needed_item) <> Int(player_weapon) and Int(recipe_count) = 1 Then
      Call battlemsg(index, "You need to get the right tool to " & skill_action & " here.", 15, 1)       
      End If
   
    Else
    'Not working. Cant figure out why. Is non essential for the script to work.
    Call Playermsg(index, "You still need to define a skill for this map", 14)
   End If




RECIPE_COUNT = Int(recipe_count)+1

Loop

End Sub


You must also rig two case calls as shown here (change the case number to higher then your current highest

Quote

Case 0
   Call Baron_Uber_skills(index)
   
'<><><><><>

Case 1
   Call Baron_Stam_regain(index)


You should now hagve all the extra folders in your scripts directory that this script will use as well as several example scripts along with the necessary commands to use your skills.

SECTION 2 : CREATING SKILLS

The old skill scripts i wrote used a configure each map system. My new skillscript uses a central skillist, that you then refer to using 2 lines of information.

This section deals with creating the central information for a new skill.

1)

go into
scripts > skills

You will see two files already there, mining and smithing. These contain examples of skills that have been set up. Mining demonstrates normal skills, where after you succeed or fail one type you stop the action. Smithing is an example of multiple checks where it goes through all the possible recipes, stopping when you successfully complete one. This may not be very clear now but will make more sense later.

For this example we shall be creating a skill called woodcutting

Copy the mining.ini and rename it woodcutting.ini

After this has been done, open it up using a text editor. It should look something like this :

Quote


[INDEX]
Action=Mine
Skill=Mining
Succeeded=Mined

Recipe=0
Total_recipes=1

[1]
Min_Level=0
Item_Num_Needed=50
Stam_Taken=1

Take_Total=0

Give_total=2


1_Give_Num=51
1_Give_Val=0
1_Give_dur=0
1_Base_Chance=10
1_Give_Msg=You mined some copper ore.
1_EXP=15


2_Give_Num=24
2_Give_Val=1
2_Give_dur=0
2_Base_Chance=20
2_Give_Msg=You break apart a crystal in your mining efforts.
2_EXP=25


[2]
Min_Level=5
Item_Num_Needed=50
Stam_Taken=1

Take_Total=0

Give_total=2


1_Give_Num=52
1_Give_Val=0
1_Give_dur=0
1_Base_Chance=10
1_Give_Msg=You mined some iron ore.
1_EXP=35


2_Give_Num=24
2_Give_Val=2
2_Give_dur=0
2_Base_Chance=20
2_Give_Msg=You break apart a crystal in your mining efforts.
2_EXP=25




Each of the fields is pretty self explanatory, but i will mention here some things that are important.

These are the different tenses for what you are doing. going to do, doing, done.

THIS IS VERY IMPORTANT -  This number controls the way this skill is treated. if you increase this number from 1 to the total number highlighted with cyan it will check all the recipes (which is what the number in blue is, ie here there are two recipes) until it successfully completes one. Because we dont want woodcutting to check if we succeeded at chopping every variety of tree, leave it at 1.

This is the item number of the WEAPON that must be equipped to perform the skill. For this example we would want to change it to the number for a woodcutting axe.

These numbers control the minimum level a player must have in a skill before they can start attempting to complete it.

This number is the amount of stamina attempting to do the skill uses. This is taken whether they succeed or not. A lvl nothing player in a skill has 5 stamina that is recharged by stepping onto a scripted tile 1 on the same map. For each additional lvl in a skill, they gain one additional point of stamina.

Okies now for the fun stuff. the olive colored fields control the items given. For each group of items you give your give_total increases as well, to see how take scripts work, see the smithing example. The Num field is the item number you are giving. So wed set this to the item number for a wooden log. The val field we leave at 0, because we dont want wooden logs to stack. When setting up logs, make their item type none. The final field dur is used if you are giving an item with durability such as armor. for our example we will leave it as 0. The base chance is the chance a player has of gaining something, and is always read as 1/base_cheance (fractional) This improves with levels gained, but never becomes perfect. Final field is the experience a success gives you. The message is what it says when you succeed. change these appropriately.

Remember to keep these values appropriate to the number of things you are giving and taking for each recipe.

Your new .ini for woodcutting might now look like this :

Quote
[INDEX]
Action=Chop
Skill=Woodcutting
Succeeded=Cut
Recipe=0
Total_recipes=1

[1]
Min_Level=0
Item_Num_Needed=86
Stam_Taken=1

Take_Total=0

Give_total=1

1_Give_Num=37
1_Give_Val=0
1_Give_dur=0
1_Base_Chance=10
1_Give_Msg=You chop the tree into some wooden logs.
1_EXP=25

[2]
Min_Level=10
Item_Num_Needed=86
Stam_Taken=1

Take_Total=0

Give_total=2

1_Give_Num=48
1_Give_Val=0
1_Give_dur=0
1_Base_Chance=20
1_Give_Msg=You chop the old tree into some strong wooden logs.
1_EXP=50

2_Give_Num=17
2_Give_Val=2
2_Give_dur=0
2_Base_Chance=10
2_Give_Msg=You collect some tinderling while chopping the tree.
2_EXP=25


SECTION 3 : USING SKILLS

On a map select scripted tile 0 (if you use my standard values) and put it down at the base of a tree on the map you are on. save the map.

walk your character onto the new tile. It will propmt you that you have created a new template for this map.

Once this is done open
scripts > mapextras > then the .ini with the map number of the map you were on. If you are unsure which map, go back into the game and type /loc.

inside this file you will find this info :

Quote
[SKILL]
type=
number=0
has_data=1


to make it do woodcutting, simply fill in the field and point it at the right recipe number. since i set up old trees in 2, and normal trees in 1, we'll use 1 for now.

it now looks like this

Quote
[SKILL]
type=Woodcutting
number=1
has_data=1


save this file.

go back into your game. step on your new tile a few times. if you're lucky and have followed this tutorial carefully youll get the itmes you set up to correspond to the numbers we entered.

Soon though you will run out of stamina. To regain stamina put a scripted tile 1 somewhere on the map (for example at a table and chairs).

and thats setting up a skill. woodcutting now works, and you should have an idea bout how to make new skills and the diff between recipes and normal skills. For more examples just look at the defaults, they're pretty good.

or use the defaults. *shrug*

SECTION 4 : NOTES

if you want to take 5 copper bars to make an armor, make sure the 5 bars are currency. dont take more then 1 of a normal item type using this script, else they might succeed where they shouldnt have with only one.

if you dont want players inventories to fill up with skill items (but i do usually) make gathering recipes like mining and woodcutting give currency rewards with a value.

to set up a rather nice way where players dont have to keep walking onto the same tile, set up warps back to location of your scripted tile on the skillpoint they are trying to walk onto like is shown below (example is for a mine, with the stam regain at the tables below)

n0madic0debc
Active Member
***
Offline Offline

Posts: 415


View Profile Email
« Reply #1 on: March 11, 2006, 10:10:52 AM »

Is it me or did Baron just Pwn every single other script in this forum?
Baron
Lord Of Spleens
Administrator
Teh Uberleet
*
Online Online

Posts: 2,739


Genesis CoCreator - Eclipse Evo Developer


View Profile WWW Email
« Reply #2 on: March 11, 2006, 10:14:59 AM »

^.^
Lameroth
Active Member
***
Offline Offline

Posts: 316

I own Satan


View Profile Email
« Reply #3 on: March 11, 2006, 11:16:20 AM »

i dont know if it worth using this script now, because if tym adds that check atack thing, this script would have to be redone. and it sucks.
diformex
Newb
*
Offline Offline

Posts: 24



View Profile WWW Email
« Reply #4 on: March 11, 2006, 01:17:32 PM »

i rekon this script is usefull
Marsh
Demi God

Online Online

Posts: 7,280


Comfort the disturbed. Disturb the comfortable.


View Profile WWW Email
User is on moderator watch listWatched
« Reply #5 on: March 11, 2006, 04:06:37 PM »

Quote from: Lameroth
i dont know if it worth using this script now, because if tym adds that check atack thing, this script would have to be redone. and it sucks.


alot of the stuff would be teh same. Instead of walking onto something you would attack it though
Baron
Lord Of Spleens
Administrator
Teh Uberleet
*
Online Online

Posts: 2,739


Genesis CoCreator - Eclipse Evo Developer


View Profile WWW Email
« Reply #6 on: March 11, 2006, 08:28:08 PM »

yeah, if theres a check on attack it would simply have a check in the attack sub which would call this script.

The change wouldnt be in this script.
robthemanbigboy
Active Member
***
Offline Offline

Posts: 110


View Profile WWW Email
« Reply #7 on: March 13, 2006, 06:39:31 PM »

First off, i would like to say good job to Baron. The woodcutting and mining thing is really useful. But there is one thing that i have a problem with. How are you supposed to regain stamina or watever it is? i put down a scripted tile, 1, and it doesnt do anything when i walk over it. I was just wondering if i was doing sumthing wrong or sumthing? plz help me. thx!
da beast
Active Member
***
Offline Offline

Posts: 149


View Profile Email
« Reply #8 on: March 13, 2006, 07:01:04 PM »

Baron I demand you pay repricusions for the pants I ruined in exitment about this!
Baron
Lord Of Spleens
Administrator
Teh Uberleet
*
Online Online

Posts: 2,739


Genesis CoCreator - Eclipse Evo Developer


View Profile WWW Email
« Reply #9 on: March 14, 2006, 08:36:43 AM »

Glad you like the script beast, hope it helps you out a heap with your game. To regain stamina you need some info in the mapextras that you create using tile 0.

The scripted tile 1 only works if you have configured a skill for the map. So you set up the scripted tile 1 to define the fields you need, use it, change to the right skill you wish to regain stam for, then lay down a stamina regain tile at a set of chairs or something. The two are dependent on one another in that you must define a skill to regain stamina.

As for the pants, you can cratf yourself a new set by bringing your soiled pants and 300 gold to the laundromat just outside of town. If you're lucky you may also get an experience bonus for posting utter crap :P (quite literally :P)
mmaatteeoo2003
Active Member
***
Offline Offline

Posts: 108


View Profile WWW Email
« Reply #10 on: March 14, 2006, 11:17:36 AM »

Baron your scipt ownZ :P
Tri-Edge
Advanced Member
****
Offline Offline

Posts: 584



View Profile WWW Email
« Reply #11 on: March 16, 2006, 07:32:08 PM »

ok when i downloaded it and i try to open it with notepad it ends up like this (srry if it takes up alot of space)

Rar! ϐs  
       Ÿ¿t 6 ¨   µ   t0Ýݲ›h43     Scripts\8ball.ini ð8œ   QØÈýœ7мîBÿ)tͥХM¢R‘kc-‹ò2"=î”(¬T“Šgã ?r\Ùã5{Ü>.p:÷^á§B…EG‰åJJkÂ8Å\ÄûÐÃÇ—ókY 
„|¶Ç+3´±Kât–©‹Kw¼Ž–‰¨?Ë„“Leú0þë1—'?œ¤RqsŸ„gÄ×l硨-õ9™HRŒ¦mØuL×.øGœ(Jûê9t C u   ’   gá™”Hk43     Scripts\CHAREXTRAS\2DELDER.ini ð°ƒ…   U˜Èþ
w¡|a¶KY„ÑÑZYŸƒ!Ðal}íðI\p¾ÃàïÞSÍypéÓ¾ ©m¿FÊyò‘þÏÔ…€jþ-§‹<~°?h&Vûì¤ÏDÞ'ò”mëí÷¹/   ç7~æù
½w’Mt A ™   Ö   ¯“âÕÆ­k43     Scripts\CHAREXTRAS\Baron.ini ðš­N   ™
¾{ ø;à–m¯†ðx<Õ¨Ú
"@hÚÖ…ÑvTOWNPORTS]
townmap=3
townx=13
towny=7
ytà7             Y«k40    Scripts\CHAREXTRAS ðì`!{t 8 õ   P  \cÚÞð­k43     Scripts\Command.ini ðÂë
Ù Í ÕÁ¸‘àï™ÄA¦ŸÂ8‚G
æ#„¶Ëµ¢Zâ’SvûØŠnÇ*vÍߍãùý$òm5˜–<m/Ü¿xWÆÏ_ožž‹ßïNÝÊsm\,©ɯõ"óœXžaµÃ†½Z§7‚_`n±wxT1Õ]P5dÖ%N‰¥¼°õ…¸HVW¡E›¹‹j=T¾‡Ó(%°FOÐ2¸[_¢²<¦á±YY"…+¾³@… ¥Wɽ3ðöÅnêÖlCåÿ˜¼uá•¶£ãºwškù¯ãøÃñÙòÒ{ÆŒüÇÕÙþOøïÅ*˜ÉÙãñÄt 5 Ø  q{  ¬r+$®k43     Scripts\Main.txt ðÌÑ“ ÌÌÑ—Å]ÛþT ðs³€{j¶Y[·nÝÝèÈí¯œ"GvÚ 0£jH}„ v.RÆÊ
éQø¼zpÛ"þJ-é–+½ZônYn~X˜¶…ºÑÌ;j£Ò·Îñ@À²6a+‹ç¥F‡¬ß+Ñ€ÉLà.Ö6~8¤îö8(ZÝè×IaÃÛŽó»gârE¾­ºŠxÞØÕµ·3û.©SéH†—±dn   0¤‡ÉC­)ù@4ýýIi¢šn$Z²kªüÀëÊJ+ßêY㛏·]±<äôP<Ezžð±C(€^¸H ¼€sʝ'I18‡Ûmf· ‚Üöubø®g2VFÑ‘àäÁ NDKe®%ÇmG@ú]„g›¤«Æ ñ Y“ Z5o[u¼ñY²{drÈü.ªøRøö#ü4‹` hT*ð¬™ê4hP ´mfMµ§:]°l¯!ŠærÅÌx8ЉZ§ÒôF3cI
ZÊ9I¯:M·–H]®¾/<û$=çLUß·OÝÛZ   ‡Á<—ÅwRašXÀµ7’;¾©«¿¢R ”P;Pu‹÷†4›0^ˆß»³ï©Üf Úz¾‚`T:מ#òæ”4“
~(ë   «:0“0`=1½‡aþ„AWÿ®.
töО$tÌþ?Î::Cä¼Å#4w{ñ mU ÁP"5X=#Hw™¯yWx_ÕoA«CõÅÕ•@<Ôû‡Ö¼ƒêmV¸è³'W³ìªƒŸX`¨­n ˜{fp`Ih7G:›P„Ü5VÎŽ6ûä§s#—   Âì7CIxÀfx+^7µP©ârñ¨?Õ{_m¯´XuëܶýÓù  ±ÿÚ4’´þnQŒÖ›ž2HqK³å'¥ù‰²*Y6F£¡Üù=Ñ›;9õ¡Þýæ©”c~hÀwŠ&šB9ß0 Óo]°l•¸Ý´ÿÖ/çQs»)2î¼ùDCR?;Kp-Tž¿–Ä p¾ÃÕâzë{Bž‚D‡‡õ`Î.µx,ÁrÐr‰ì™ºÁa„‰0Ò/‚Ècaœ‚ð²ß+¢
q_‘žÃû
þÑó~mŒŒ²½§
4ºÎ£“žT|ðíŽdæm½ï¤
¸ChS“§«Fáçgÿ>çlÛ”ZKÜëé=bºXHIûô¬BÉèê¤:X!bôå@ü.ؾ<¥„Ý6°²ú£¤zpAcý3¥ëç×GéÙŸõÊY“ÓÉ Gííº Õ¨æÖÕ¤Æî£+ƒƒ¨L6OO]%ê¡ïý#ÔSD5šJí{B'ÿ©‚ì8 EæØØzã¥w`Ô&‚ÜÖü%Hˆ¯›_[¸‰7E¶ÅËä ô> Fƒ7«ËFHÂŒ}Ï4qôGÉÈtÀ˪˜ù=Bý
}’y½dÐzo42Hõ -5ÀÈ& OB/Ç}éGÄÚtJO
iVë}¶‚缈2ŠE¤
ŸÖ=ôbÃå„¦ËøyþVœ7*,žBpá ü譜ł6ØÚiŠú*Úۉƒ™$¹z@
AšsªÒ{¢7ç4w+Nrp³Ž¸þsÕc©g@žY•¬U›¦M“ç*Åz8}#ÌÊÏžïÕi=R
rÏE½P,éXUÓªEÁÔëBºÓùðSá©O{j™hàúι ƒgZŽvÙGÅÝYAŽ_
R×+¥@æà|:kI|›¾Y§ŽÉb¦æR€ê~V~Kp0üã‚C“"¡JTE%‰n@iPë–±M?À!þ”@È€-‘V—{)sËÎrê´\ §WÆc˜ûé¸ ç?F$‰0IßÂÍ?9Ö×i®ê„î{¿/Ÿ¶h} MheëgÚ‚ÃÜ—±œcŠGŸÙqZÂÏR"ÇN*¹Þ°8f¤6 1|°aï@FÏTË9‚ö·÷¸ªmÓáÙöîS/m¢côçØ•ô•/Ær¯Â4 j†£«!Òâ½2ÉÆZÕÕ ­D3]¾ ”oÝÛV+#Œ»¿JÈúŠÇĉ †=I­IÔÈ’>&V8e¬ôcÚi2ïtVê“A6MgM­h6Äøëp˜Ê\ÈL}•7&{Î*'ø9Ù@´e3©yfš\ç²'¼å‘jøÔû ¸Zµ‹\5RfÒßkÐPµK$ÅùØ'Ö¦q‹eÜû’g‚Y=   ´ò–H?ÌÀ9‘ß®‡xKlY57sªk43     Scripts\SKILLS\Smithing.ini °¶û\LÌÍý{è_~ú‘Ê]:§Fßµ1CZcZb☣Î;+,±Á·/¿b;f·nÝÝèÈí¯œ"GvÚ 0£jH}„ v.RÆÊ
éQø¼zpÛ"þJ-é–+½ZônYn~X˜¶…ºÑÌ;j£Ò·Îñ@À²6a+‹ç¥F‡¬ß+Ñ€ÉLà.Ö6~8¤îö8(ZÝè×IaÃÛŽó»gârE¾­ºŠxÞØÕµ·3û.©SéH†—±dn   0¤‡ÉC­)ù@4ýýIi¢šn$Z²kªüÀëÊJ+ßêY㛏·]±<äôP<Ezžð±C(€^¸H ¼€sʝ'I18‡Ûmf· ‚Üöubø®g2VFÑ‘àäÁ NDKe®%ÇmG@ú]„g›¤«Æ ñ Y“ Z5o[u¼ñY²{drÈü.ªøRøö#ü4‹` hT*ð¬™ê4hP ´mfMµ§:]°l¯!ŠærÅÌx8ЉZ§ÒôF3cI
ZÊ9I¯:M·–H]®¾/<û$=çLUß·OÝÛZ   ‡Á<—ÅwRašXÀµ7’;¾©«¿¢R ”P;Pu‹÷†4›0^ˆß»³ï©Üf Úz¾‚`T:מ#òæ”4“
~(ë   «:0“0`=1½‡aþ„AWÿ®.
töО$tÌþ?Î::Cä¼Å#4w{ñ mU ÁP"5X=#Hw™¯yWx_ÕoA«CõÅÕ•@<Ôû‡Ö¼ƒêmV¸è³'W³ìªƒŸX`¨­n ˜{fp`Ih7G:›P„Ü5VÎŽ6ûä§s#—   Âì7CIxÀfx+^7µP©ârñ¨?Õ{_m¯´XuëܶýÓù  ±ÿÚ4’´þnQŒÖ›ž2HqK³å'¥ù‰²*Y6F£¡Üù=Ñ›;9õ¡Þýæ©”c~hÀwŠ&šB9ß0 Óo]°l•¸Ý´ÿÖ/çQs»)2î¼ùDCR?;Kp-Tž¿–Ä p¾ÃÕâzë{Bž‚D‡‡õ`Î.µx,ÁrÐr‰ì™ºÁa„‰0Ò/‚Ècaœ‚ð²ß+¢
q_‘žÃû
þÑó~mŒŒ²½§
4ºÎ£“žT|ðíŽdæm½ï¤
¸ChS“§«Fáçgÿ>çlÛ”ZKÜëé=bºXHIûô¬BÉèê¤:X!bôå@ü.ؾ<¥„Ý6°²ú£¤zpAcý3¥ëç×GéÙŸõÊY“ÓÉ Gííº Õ¨æÖÕ¤Æî£+ƒƒ¨L6OO]%ê¡ïý#ÔSD5šJí{B'ÿ©‚ì8 EæØØzã¥w`Ô&‚ÜÖü%Hˆ¯›_[¸‰7E¶ÅËä ô> Fƒ7«ËFHÂŒ}Ï4qôGÉÈtÀ˪˜ù=Bý
}’y½dÐzo42Hõ -5ÀÈ& OB/Ç}éGÄÚtJO
iVë}¶‚缈2ŠE¤
ŸÖ=ôbÃå„¦ËøyþVœ7*,žBpá ü譜ł6ØÚiŠú*Úۉƒ™$¹z@
AšsªÒ{¢7ç4w+Nrp³Ž¸þsÕc©g@žY•¬U›¦M“ç*Åz8}#ÌÊÏžïÕi=R
rÏE½P,éXUÓªEÁÔëBºÓùðSá©O{j™hàúι ƒgZŽvÙGÅÝYAŽ_
R×+¥@æà|:kI|›¾Y§ŽÉb¦æR€ê~V~Kp0üã‚C“"¡JTE%‰n@iPë–±M?À!þ”@È€-‘V—{)sËÎrê´\ §WÆc˜ûé¸ ç?F$‰0IßÂÍ?9Ö×i®ê„î{¿/Ÿ¶h} MheëgÚ‚ÃÜ—±œcŠGŸÙqZÂÏR"ÇN*¹Þ°8f¤6 1|°aï@FÏTË9‚ö·÷¸ªmÓáÙöîS/m¢côçØ•ô•/Ær¯Â4 j†£«!Òâ½2ÉÆZÕÕ ­D3]¾ ”oÝÛV+#Œ»¿JÈúŠÇĉ †=I­IÔÈ’>&V8e¬ôcÚi2ïtVê“A6MgM­h6Äøëp˜Ê\ÈL}•7&{Î*'ø9Ù@´e3©yfš\ç²'¼å‘jøÔû ¸Zµ‹\5RfÒßkÐPµK$ÅùØ'Ö¦q‹eÜû’g‚Y=   ´ò–H?ÌÀ9‘ß®‡xKlY57—Ž
Baron
Lord Of Spleens
Administrator
Teh Uberleet
*
Online Online

Posts: 2,739


Genesis CoCreator - Eclipse Evo Developer


View Profile WWW Email
« Reply #12 on: March 17, 2006, 01:27:17 AM »

thats your incompetence in recognizing file formats speaking, not my script.

You need to downlaod winrar (you can get it from http://www.download.com if you dunno where to) to open the rar archive. its like a zip file, only more efficient.