Braydo25
-
Posts
112 -
Joined
-
Last visited
Never
Content Type
Profiles
Forums
Calendar
Posts posted by Braydo25
-
-
I've been working on a gui for lunar crescent for a few days, its looking really nice, photoshopped, effects, everything. I'm shrinking the game window to incorporate just the display screen where chars walk around and stuff, and a partial dx gui tacked on to it. But for the gui and this is the question I have, for inventory, equipment, etc windows, should they pop-up outside of the main game window? or within the main game display screen.
I would be making them display within the display screen but sadly i dont have time to swap out dx7 for dx8 to incorporate alpha blending to make it look better.
so pop up windows outside the main game window, or pop up windows within the main display screen? -
Been working on this for a while, currently I'm still developing the custom engine. but when im done with that, im looking for someone who has a lot of experience with spriting/paperdolling.
you can look at this to see what the games like: http://www.touchofdeathforums.com/smf/index.php?topic=27228.0
disregard the co-admin request, that no longer is open
currently me and hyperion are mapping, im doing the source editing, scripting, gui-ing with dx.
just need someone with spriting experience! :sad: -
So, I've decided to script all my spells, since the default types are too generic, so what commands should a scripted spell entail?
so my questions are,
How do you set the spells range?
What if i wanted to make a buff that lasted for a certain amount of time?
Is It possible to set a target as "Stunned" where they can't move or move slowly for a period of time? -
Well, some of you probably think 3 characters max per account is too much or maybe too little, you can simply change this by opening up your server source and client source and searching for "MAX_CHARS =" while having a code window up. you can search by pressing CTRL + F. Change the MAX_CHARS = 3 to however many char slots you want an account to hold. the same thing has to be done to the client and server source.
-
My main isnt erroring when i use any other command such as /warp or anything, im using barons ee1 when i place the tile and walk on it, nothing happens. whats wrong?
```
Case 4 ' Magi Arena Blue
If GetPlayerLevel(Index) < 20 And GetPlayerLevel(Index) > 45 Then
Call PlayerMsg(Index, "You Must Be Level 20 To 45 To Enter This PvP Arena!", 4)
Call PlayerWarp(Index, 112, 7, 8)
ElseIf GetPlayerLevel(Index) >= 20 And GetPlayerLevel(Index) <= 45 Then
Call PlayerMsg(Index, "Welcome To The Arena!", 4)
Call PlayerWarp(Index, 117, 7, 7)
End If
``` -
Well, the topic explains it, Select what type of sprites you would rather see in a Orpg made with eclipse!
I prefer custom rmxp sprites with 100% custom paperdoll, imo it looks the best and the cleanest.
post your thoughts! -
Well since there is no Etc attribute for an item (WHICH REALLY NEEDS TO BE ADDED) because I have been working on quests that require 15 of an item. Currency doesnt work for this Item becuse it needs to be able to be sold too, Key type doesnt work because when its set to stackable they don't stack. Do you think its possible to make the item type scriptable (i dont think so, if it is… BALIZTIK1 HELP =P )
If you've ever played Ragnarok Online, I'm talking about an item type like the etc. category in your inventory. -
Here's a little source code I put together that makes Reqs and other unwanted things NOT display on hp potions, keys, currency etc.
Find This Line Of Code In Your Mirage code under mousemove for picInv
```
Private Sub picInv_MouseMove(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)
Dim d As Long
d = Index
Dim ItemNum As Long
ItemNum = GetPlayerInvItemNum(MyIndex, d + 1)
If Player(MyIndex).Inv(d + 1).num > 0 Then
If Item(GetPlayerInvItemNum(MyIndex, d + 1)).Type = ITEM_TYPE_CURRENCY Or Item(GetPlayerInvItemNum(MyIndex, d + 1)).Stackable = 1 Then
If Trim$(Item(GetPlayerInvItemNum(MyIndex, d + 1)).desc) = "" Then
itmDesc.Height = 17
itmDesc.Top = 224
Else
itmDesc.Height = 233
itmDesc.Top = 8
End If
Else
If Trim$(Item(GetPlayerInvItemNum(MyIndex, d + 1)).desc) = "" Then
itmDesc.Height = 145
itmDesc.Top = 96
Else
itmDesc.Height = 233
itmDesc.Top = 8
End If
End If
If Item(GetPlayerInvItemNum(MyIndex, d + 1)).Type = ITEM_TYPE_CURRENCY Or Item(GetPlayerInvItemNum(MyIndex, d + 1)).Stackable = 1 Then
descName.Caption = Trim$(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (" & GetPlayerInvItemValue(MyIndex, d + 1) & ")"
Else
If GetPlayerWeaponSlot(MyIndex) = d + 1 Then
descName.Caption = Trim$(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (worn)"
ElseIf GetPlayerArmorSlot(MyIndex) = d + 1 Then
descName.Caption = Trim$(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (worn)"
ElseIf GetPlayerHelmetSlot(MyIndex) = d + 1 Then
descName.Caption = Trim$(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (worn)"
ElseIf GetPlayerShieldSlot(MyIndex) = d + 1 Then
descName.Caption = Trim$(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (worn)"
ElseIf GetPlayerLegsSlot(MyIndex) = d + 1 Then
descName.Caption = Trim$(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (worn)"
ElseIf GetPlayerRingSlot(MyIndex) = d + 1 Then
descName.Caption = Trim$(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (worn)"
ElseIf GetPlayerNecklaceSlot(MyIndex) = d + 1 Then
descName.Caption = Trim$(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name) & " (worn)"
Else
descName.Caption = Trim$(Item(GetPlayerInvItemNum(MyIndex, d + 1)).Name)
End If
End If
```
Put this after it
```
If Not Item(ItemNum).Type = ITEM_TYPE_CURRENCY Or ITEM_TYPE_POTIONADDHP Or ITEM_TYPE_POTIONADDMP Or ITEM_TYPE_POTIONADDSP Or ITEM_TYPE_POTIONSUBHP Or ITEM_TYPE_POTIONSUBMP Or ITEM_TYPE_POTIONSUBSP Or ITEM_TYPE_KEY Or ITEM_TYPE_SPELL Or ITEM_TYPE_WEAPON Then
descStr.Caption = Item(GetPlayerInvItemNum(MyIndex, d + 1)).StrReq & " Strength"
descDef.Caption = Item(GetPlayerInvItemNum(MyIndex, d + 1)).DefReq & " Defence"
descSpeed.Caption = Item(GetPlayerInvItemNum(MyIndex, d + 1)).SpeedReq & " Speed"
descHpMp.Caption = "HP: " & Item(GetPlayerInvItemNum(MyIndex, d + 1)).AddHP & " MP: " & Item(GetPlayerInvItemNum(MyIndex, d + 1)).AddMP & " SP: " & Item(GetPlayerInvItemNum(MyIndex, d + 1)).AddSP
descSD.Caption = "Str: " & Item(GetPlayerInvItemNum(MyIndex, d + 1)).AddStr & " Def: " & Item(GetPlayerInvItemNum(MyIndex, d + 1)).AddDef
descMS.Caption = "Magi: " & Item(GetPlayerInvItemNum(MyIndex, d + 1)).AddMagi & " Speed: " & Item(GetPlayerInvItemNum(MyIndex, d + 1)).AddSpeed
desc.Caption = Trim$(Item(GetPlayerInvItemNum(MyIndex, d + 1)).desc)
descMS.Visible = True
descSD.Visible = True
descHpMp.Visible = True
descSpeed.Visible = True
descSpeed.Visible = True
descDef.Visible = True
descStr.Visible = True
Label15.Visible = True
Label5.Visible = True
descDmg.Visible = True
Label19.Visible = True
End If
If Item(ItemNum).Type = ITEM_TYPE_CURRENCY Or ITEM_TYPE_POTIONADDHP Or ITEM_TYPE_POTIONADDMP Or ITEM_TYPE_POTIONADDSP Or ITEM_TYPE_POTIONSUBHP Or ITEM_TYPE_POTIONSUBMP Or ITEM_TYPE_POTIONSUBSP Or ITEM_TYPE_KEY Or ITEM_TYPE_SPELL Or ITEM_TYPE_WEAPON Then
desc.Caption = Trim$(Item(GetPlayerInvItemNum(MyIndex, d + 1)).desc)
descMS.Visible = False
descSD.Visible = False
descHpMp.Visible = False
descSpeed.Visible = False
descSpeed.Visible = False
descDef.Visible = False
descStr.Visible = False
Label15.Visible = False
Label5.Visible = False
descDmg.Visible = False
Label19.Visible = False
End If
If Item(ItemNum).Type = ITEM_TYPE_WEAPON Then
descStr.Caption = Item(GetPlayerInvItemNum(MyIndex, d + 1)).StrReq & " Strength"
descDef.Caption = Item(GetPlayerInvItemNum(MyIndex, d + 1)).DefReq & " Defence"
descSpeed.Caption = Item(GetPlayerInvItemNum(MyIndex, d + 1)).SpeedReq & " Speed"
descHpMp.Caption = "HP: " & Item(GetPlayerInvItemNum(MyIndex, d + 1)).AddHP & " MP: " & Item(GetPlayerInvItemNum(MyIndex, d + 1)).AddMP & " SP: " & Item(GetPlayerInvItemNum(MyIndex, d + 1)).AddSP
descSD.Caption = "Str: " & Item(GetPlayerInvItemNum(MyIndex, d + 1)).AddStr & " Def: " & Item(GetPlayerInvItemNum(MyIndex, d + 1)).AddDef
descMS.Caption = "Magi: " & Item(GetPlayerInvItemNum(MyIndex, d + 1)).AddMagi & " Speed: " & Item(GetPlayerInvItemNum(MyIndex, d + 1)).AddSpeed
desc.Caption = Trim$(Item(GetPlayerInvItemNum(MyIndex, d + 1)).desc)
End If
End Sub
```
OH 1 THING, remove this: descDmg.Visible = False
Label19.Visible = False
from anywhere in there, thats something for my item description table that you don't need and your source won't compile unless you delete it out of the code i posted. -
Welp, I dont have anything that will work for outdoor castle walls, does anyone have a tilesheet with it?
rmxp looking plz -
Alright so I was working on my source and decided to resize my exp, hp, and mp bars to match up with the box they should be in, but now they get really weird when hiting high values of hp, or exp, or mp and go out of the designated box they should be in, how do i fix this?
screeny attached -
```
:: Access ::
'ADMIN_MONITER = 1
'ADMIN_MAPPER = 2
'ADMIN_DEVELOPER = 3
'ADMIN_CREATOR = 4
':: Text Color Code ::
'Black = 0
'Blue = 1
'Green = 2
'Cyan = 3
'Red = 4
'Magenta = 5
'Brown = 6
'Grey = 7
'DarkGrey = 8
'BrightBlue = 9
'BrightGreen = 10
'BrightCyan = 11
'BrightRed = 12
'Pink = 13
'Yellow = 14
'White = 15
Sub JoinGame(index)
Dim GameName
Dim MOTD
GameName = Trim(GetVar("Data.ini", "CONFIG", "GameName"))
MOTD = GetVar("motd.ini", "MOTD", "Msg")
' Send them welcome
Call PlayerMsg(index, "Welcome to " & GameName & "!", 15)
' Send motd
If Trim(MOTD) <> "" Then
Call PlayerMsg(index, "MOTD: " & MOTD, 11)
End If
'Human Skill Start
If GetVar("OneTime.ini", GetPlayerName(index), "Spells") = "" And GetPlayerClass(index) = 0 Then
Call SetPlayerSpell(index, 1, 5)
Call SetPlayerSpell(index, 2, 6)
Call SetPlayerSpell(index, 3, 7)
Call PutVar("OneTime.ini", GetPlayerName(index), "Spells", "Done")
End If
'Magi Skill Start
If GetVar("OneTime.ini", GetPlayerName(index), "Spells") = "" And GetPlayerClass(index) = 1 Then
Call SetPlayerSpell(index, 1, 13)
Call SetPlayerSpell(index, 2, 14)
Call SetPlayerSpell(index, 3, 15)
Call PutVar("OneTime.ini", GetPlayerName(index), "Spells", "Done")
End If
'Druid Skill Start
If GetVar("OneTime.ini", GetPlayerName(index), "Spells") = "" And GetPlayerClass(index) = 2 Then
Call SetPlayerSpell(index, 1, 9)
Call SetPlayerSpell(index, 2, 10)
Call SetPlayerSpell(index, 3, 11)
Call PutVar("OneTime.ini", GetPlayerName(index), "Spells", "Done")
End If
'Trogdin Skill Start
If GetVar("OneTime.ini", GetPlayerName(index), "Spells") = "" And GetPlayerClass(index) = 3 Then
Call SetPlayerSpell(index, 1, 1)
Call SetPlayerSpell(index, 2, 2)
Call SetPlayerSpell(index, 3, 3)
Call PutVar("OneTime.ini", GetPlayerName(index), "Spells", "Done")
End If
End Sub
```
well I recently transfered everything from T.E. to baron EE 1.0 for more features, well now this part of my main isnt executing when a new player joins, whats wrong? -
Alright so, I've been working on a GUI and was wondering, what is the maximum pixel x pixel that a vb6 form can be sized to so it covers the screen and all of that window shows?
-
Well, I know it hasn't been made yet, and I personally requested it a while ago. Well I've decided to make a Separate map editing program that exports in eclipse format (map1, map2, etc) it will have a similiar interface to the 2.5 map editor but I am NOT putting in the scripted tile (i,e warp, block, etc) because i've noticed that the newer (2.7) may need a conversion or pre -set tile #s might not match up which may cause errors..
regards, Braydon -
i searched the forums and found 1, the PD Tester, but it only loads a small amount of paperdoll items at a time, is there any pd aligner that can handle a large paperdoll sheeT?
-
Hey everyone, I've been working on Lunar Crescent for a while (some of you probably already know that) but I've been doing everything by myself (i have absolutely no team) and the work load is pretty tiring but i'll keep on with it. But to the point, i'm looking for someone who is VERY experienced with the eclipse source coding (as i am still learning but know most of it) to help out, maybe clean up some of what i've done and help debug the few errors i'm currently having, you will be a co-admin (myself being the other)
Here's some previews of lunar crescent who want to see what their applying for before actually applying:
Some of the mapping i've done for it (80+ done so far)
![](http://img260.imageshack.us/img260/7393/coalencampmentnm2.png)
![](http://img260.imageshack.us/img260/634/betterbv5.png)
im to lazy to post the others i've made, just look in the mapping show off section.
source gui edit, less cluttered better looking in-game interface with fully functional pop up windows to reduce clutter. here's an example of it with the spells and abilities window open:
![](http://img507.imageshack.us/img507/1849/uniquenf2.png)
please do not post here if you don't know the code that well, lunar crescent really needs some ready and willing to finish it up, we've already got players waiting to test on the forums, the communitys forums are growing daily (thanks to advertising =) )
please post if you would like to apply
regards, braydon
you can check out the games current site here: www.lunarcrescent.darkbb.com -
I can't seem to find it, i've looked through it a few times. help :?:
```
':: Text Color Code ::
'Black = 0
'Blue = 1
'Green = 2
'Cyan = 3
'Red = 4
'Magenta = 5
'Brown = 6
'Grey = 7
'DarkGrey = 8
'BrightBlue = 9
'BrightGreen = 10
'BrightCyan = 11
'BrightRed = 12
'Pink = 13
'Yellow = 14
'White = 15
:: Mini Scripting Explanation ::
'Writing with ' before it are comments and do not do anything.
'Subs are mini packages of code that run as a group from top to bottom
'You can run subs by calling them. ie call onattack(index) and index would be a player number.
'Dims are boxes for storing data in. You say dim MYSTUFF, then MYSTUFF = "thisword", and you could use MYSTUFF where ever 'you needed the text "thisword"
'Different commands have different pieces of info you must give to them. See the scripting forum for more help.
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' This sub runs whenever a new character is created.
' Warning: This is intended for creating new values, etc. only.
' The player is NOT logged into the game when this runs, so commands
' such as PlayerMsg will NOT work!
Sub OnNewChar(index, charNum)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' This sub is used to run timed events based off the server time.
Sub TimedEvent(Hours,Minutes,Seconds)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' If minutes are zero then
If minutes = 0 Then
' If seconds are also zero then
If seconds = 0 Then
' Tell the admins to come check out the forums
Call adminmsg("Welcome Admin!", 14)
End If
End If
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' This sub runs every time the player hits the ctrl key and attacks.
Sub OnAttack(index)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'Call playermsg(index, "whiz bang slash etc. You be attacking now!", 14, 2)
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' This sub runs when any player presses the PageUp key
Sub HotScript1(index)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' This sub runs when any player presses the Delete key
Sub HotScript2(index)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' This sub runs when players press the End key
Sub HotScript3(index)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' This sub runs when players press the PageDown key
Sub HotScript4(index)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' This sub runs when something on a custom menu is clicked.
Sub MenuScripts(index, Clicked_Index, Menu_Type)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dim field_message
Dim menu_title
menu_title = getplayermenuclicktitle(index)
field_message = getplayermenuclickmsg(index)
' Figure out what type of button was clicked ie picture, textbox, label.
Select Case Menu_Type
Case 1
' PICTURE WAS CLICKED
' Player has clicked a picture box whos number is clicked_index on the custom menu named menu_title
Call playermsg(index, "Clicked picture number " & clicked_index & " on the menu named " & menu_title, 14)
Case 2
' FIELD WAS CLICKED
' Player has clicked a text field OK button whos number is clicked_index on the custom menu named menu_title.
Call playermsg(index, "Clicked field number " & clicked_index & " on the menu named " & menu_title & ". The field text was " & field_message, 14)
Case 3
' LABEL WAS CLICKED
' Player has clicked a label button whos number is clicked_index on the custom menu named menu_title
Call playermsg(index, "Clicked label number " & clicked_index & " on the menu named " & menu_title, 14)
End Select
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' This sub runs when a player logs into the game.
Sub JoinGame(index)
'Human Skill Start
If GetVar("OneTime.ini", GetPlayerName(index), "Spells") = "" And GetPlayerClass(index) = 0 Then
Call SetPlayerSpell(index, 1, 5)
Call SetPlayerSpell(index, 2, 6)
Call SetPlayerSpell(index, 3, 7)
Call PutVar("OneTime.ini", GetPlayerName(index), "Spells", "Done")
End If
'Magi Skill Start
If GetVar("OneTime.ini", GetPlayerName(index), "Spells") = "" And GetPlayerClass(index) = 1 Then
Call SetPlayerSpell(index, 1, 13)
Call SetPlayerSpell(index, 2, 14)
Call SetPlayerSpell(index, 3, 15)
Call PutVar("OneTime.ini", GetPlayerName(index), "Spells", "Done")
End If
'Druid Skill Start
If GetVar("OneTime.ini", GetPlayerName(index), "Spells") = "" And GetPlayerClass(index) = 2 Then
Call SetPlayerSpell(index, 1, 9)
Call SetPlayerSpell(index, 2, 10)
Call SetPlayerSpell(index, 3, 11)
Call PutVar("OneTime.ini", GetPlayerName(index), "Spells", "Done")
End If
'Trogdin Skill Start
If GetVar("OneTime.ini", GetPlayerName(index), "Spells") = "" And GetPlayerClass(index) = 3 Then
Call SetPlayerSpell(index, 1, 1)
Call SetPlayerSpell(index, 2, 2)
Call SetPlayerSpell(index, 3, 3)
Call PutVar("OneTime.ini", GetPlayerName(index), "Spells", "Done")
End If
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
On Error Resume next
Dim GameName
Dim MOTD
Dim firstjoin
' Load the gamename from the data.ini file into the variable named GameName
GameName = Trim(GetVar("Data.ini", "CONFIG", "GameName"))
' Load the message of the day from the motd.ini file into the variable named MOTD
MOTD = GetVar("motd.ini", "MOTD", "Msg")
' Send the player a welcome to the GameName we loaded up earlier
Call PlayerMsg(index, "Welcome to " & GameName & "!", 15)
' Send motd
If Trim(MOTD) <> "" Then
' If MOTD isnt blank then tell the joining player the message loaded earlier
Call PlayerMsg(index, "MOTD: " & MOTD, 11)
End If
' Check if game is scrolling or non scrolling and change accordingly
If IsScrolling() = 1 Then
' Check numbers arent beyond the limits for the map size
If getbootx(index) <= 30 and getbootx(index) >= 0 and getbooty(index) <= 30 and getbooty(index) >= 0 Then
' If numbers are legitimate, warp the player
Call Playerwarp(Index, getbootmap(index), getbootx(Index), getbooty(Index))
End If
Else
' Check numbers arent beyond the limits for the map size
If getbootx(index) <= 19 and getbootx(index) >= 0 and getbooty(index) <= 14 and getbooty(index) >= 0 Then
' If numbers are legitimate, warp the player
Call Playerwarp(Index, getbootmap(index), getbootx(Index), getbooty(Index))
End If
End If
' Check for very first join and if it is set the player as server owner and with access level 5
firstjoin = "" & getvar("data.ini", "config", "owner")
If firstjoin = "" Then
Call setplayeraccess(index, 5)
Call playermsg(index, "Congratulations, you have joined your Eclipse server and been given creator ststus. Press F1 to begin editing.", 14)
Call putvar("data.ini", "config", "owner", trim(getplayername(index)) )
End If
'Send Whos Online
Call SendWhosOnline(index)
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' This sub runs when a player logs out of the game
Sub LeftGame(index)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dim GameName
Dim n
' Load the gamename from the data.ini file into the variable named GameName
GameName = Trim(GetVar("Data.ini", "CONFIG", "GameName"))
' Check if game is scrolling or non scrolling and change accordingly
If IsScrolling() = 1 Then
' Check numbers arent beyond the limits for the map size
If getbootmap(index) > 0 and getbootx(index) <= 30 and getbootx(index) >= 0 and getbooty(index) <= 30 and getbooty(index) >= 0 Then
' If numbers are legitimate, warp the player
Call Playerwarp(Index, getbootmap(index), getbootx(Index), getbooty(Index))
End If
Else
' Check numbers arent beyond the limits for the map size
If getbootmap(index) > 0 and getbootx(index) <= 19 and getbootx(index) >= 0 and getbooty(index) <= 14 and getbooty(index) >= 0 Then
' If numbers are legitimate, warp the player
Call Playerwarp(Index, getbootmap(index), getbootx(Index), getbooty(Index))
End If
End If
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' This sub runs when a players experience exceeds the next level requirement.
Sub PlayerLevelUp(index)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dim I
Dim D
Dim C
' Calculating the number of points to give to players and setting exp to appropriate amounts.
C = 0
Do While GetPlayerExp(index) => GetPlayerNextLevel(index)
D = GetPlayerExp(index) - GetPlayerNextLevel(index)
Call SetPlayerLevel(index, GetPlayerLevel(index) + 1)
I = Int(GetPlayerSpeed(index) / 10)
If I < 1 Then I = 1
If I > 3 Then I = 3
Call SetPlayerPoints(index, GetPlayerPoints(index) + I)
Call SetPlayerExp(index, D)
C = C + 1
Loop
' Tells the player how many points they have to distribute
Call BattleMsg(index, "You have " & GetPlayerPoints(index) & " stat points.", 9, 0)
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' This sub runs when a player uses one of the points given on an attribute to level up.
Sub UsingStatPoints(index, PointType)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Decide which point type was clicked and run different things accordingly.
Select Case PointType
Case 0
' STRENGTH WAS CLICKED +
' Gives you a set max
If GetPlayerSTR(index) + 1 > 1000 Then
Call BattleMsg(index, "You have maxed your strength!", 12, 0)
Exit Sub
End If
Call SetPlayerSTR(index, GetPlayerSTR(index) + 1)
Call BattleMsg(index, "You have gained more strength!", 15, 0)
Case 1
' DEFENCE WAS CLICKED +
' Gives you a set max
If GetPlayerDEF(index) + 1 > 1000 Then
Call BattleMsg(index, "You have maxed your defence!", 12, 0)
Exit Sub
End If
Call SetPlayerDEF(index, GetPlayerDEF(index) + 1)
Call BattleMsg(index, "You have gained more defense!", 15, 0)
Case 2
' MAGIC WAS CLICKED +
' Gives you a set max
If GetPlayerMAGI(index) + 1 > 1000 Then
Call BattleMsg(index, "You have maxed your magic!", 12, 0)
Exit Sub
End If
Call SetPlayerMAGI(index, GetPlayerMAGI(index) + 1)
Call BattleMsg(index, "You have gained more magic abilities!", 15, 0)
Case 3
' SPEED WAS CLICKED +
' Gives you a set max
If GetPlayerSpeed(index) + 1 > 1000 Then
Call BattleMsg(index, "You have maxed your speed!", 12, 0)
Exit Sub
End If
Call SetPlayerSPEED(index, GetPlayerSpeed(index) + 1)
Call BattleMsg(index, "You have gained more speed!", 15, 0)
End Select
' Remove one point after the sub in question is done
Call SetPlayerPoints(index, GetPlayerPoints(index) - 1)
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' This sub runs when a player steps onto a scripted tile
Sub ScriptedTile(index, Script)
Case 0
Case 1 'scripted tile For Respawn
Call PutVar("\accounts\" & GetPlayerName(index) & ".ini", "Respawn", "X", GetPlayerX(index))
Call PutVar("\accounts\" & GetPlayerName(index) & ".ini", "Respawn", "Y", GetPlayerY(index))
Call PutVar("\accounts\" & GetPlayerName(index) & ".ini", "Respawn", "Map", GetPlayerMap(index))
End Select
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Choose what number the tile was to determine the effect to have
Select Case Script
Case 0
Call PutVar("Scripts\Charextras\test.ini", "TEST", "TEST", "TEST")
Call Playermsg(index, "You feel like you should have seen something happen when you stood here", 14)
End If
Case 1
' Tile script 1 was stepped on
' Tells the player a message
Call Playermsg(index, "You feel like you should have seen something happen when you stood here", 14)
End Select
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' This sub runs when a player clicks on an OnClick tile
Sub OnClick(index, script)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Determine which script to run
Select Case script
Case 0
Call PlayerMsg(index, "You clicked a tile!", 15)
End Select
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Bit outdated, use custom menus, This sub runs when a player chooses yes or no on a player prompt.
Sub PlayerPrompt(index, Prompt, Value)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If Prompt = 6 Then
Select Case Value
Case 0
Call GlobalMsg("Hi This is a Yes answer!", 3)
Case 1
Call GlobalMsg("This is case 1?", 3)
End Select
Else
Select Case Value
Case 0
Call GlobalMsg("Hi This is a No answer!", 4)
Case 1
Call GlobalMsg("This is no case 1?", 4)
End Select
End If
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Bit outdated, use custom menus, it will be easier and far more secure. Handles query box responses.
Sub QueryBox(index, Prompt)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Value = GetVar("responses.ini","Responses",Cstr(index))
End Sub
Sub TimedEvent(hours, minutes, seconds)
If hours=5 and minutes=5 and seconds=10 Then
Call globalmsg("This is a timed broadcast at time 05:05:10", 14)
End If
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' This sub runs every time a player drops an item
Sub OnItemDrop(index, map, itemnum, itemval, itemdur, item_index, inv_slot)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' This sub runs each time a player changes map
Sub OnMapLoad(index)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' This sub runs whenever you kill an NPC. Good for boss kill checkers, monster trackers etc
Sub onNPCdeath(index, map, NPC_Num, NPC_index)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Call BattleMsg(index, "You killed a " & getnpcname(NPC_Num), 12, 0)
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' This sub runs when a player is killed by another. Death occurs as normal externally to this script.
Sub onPVPdeath(attacker,victim)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dim Attackername
Dim PlayerPk
Call GlobalMsg(GetPlayerName(Victim) & " has been killed by " & GetPlayerName(Attacker), 12)
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' This sub handles deaths in an arena. It has been preconfigured to warp to the map x y coords in the arena tile editor and heal the player who died.
Sub onARENAdeath(attacker,victim)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dim map
Dim x
Dim y
Dim data1
Dim data2
Dim data3
map=GetPlayerMap(victim)
x=GetPlayerX(victim)
y=GetPlayerY(victim)
Call GlobalMsg(GetPlayerName(Victim) & " has been defeated in the arena by " & GetPlayerName(Attacker), 12)
Call setplayerhp(victim, getplayermaxhp(victim))
Call setplayermp(victim, getplayermaxmp(victim))
Call sendHp(victim)
Call sendMP(victim)
data1 = GetTileData1(map, x, y)
data2 = GetTileData2(map,x,y)
data3 = GetTileData3(map,x,y)
Call playerwarp(victim, data1, data2, data3)
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub ScriptedSpell(index, Script)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Select Case Script
Case 0
' Example of a scripted spell.
Call MapMsg(GetPlayerMap(index), GetPlayerName(index) & "'s spell fizzles.", 12)
End Select
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub ScriptedNPC(index, Script)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Select Case Script
Case 0
'Call playermsg(index, "Welcome to the mysterious store of uber!", 15)
'Call goshopping(index,1)
Exit Sub
Case Else
End Select
End Sub
'Runs whenever a key has been pressed
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Keys(index, keyNum)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Select Case keyNum
'Do what you want here
End Select
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub Commands(index)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
On Error Resume Next
Dim Portal
Dim mapnum
Dim x
Dim y
Dim i
Dim TextSay
Dim n
Dim m
Dim C
m = GetVar("Data.ini", "MAX", "MAX_MAPS")
TextSay = GetVar("Scripts\Command.ini", "TEMP", "Text" & index)
Portal = GetPlayerHelmetSlot(index)
i = 1
C = 0
If LCase(Mid(TextSay, 1, 9)) = "/warpmeto" Then
If Len(TextSay) > 10 Then
TextSay = Mid(TextSay, 10, Len(TextSay) - 9)
' Prevent hacking
If GetPlayerAccess(index) < 2 Then
Call PlayerMsg(index, "You need be of a higher access to use this command!", 4)
Exit Sub
End If
' The player
n = FindPlayer(TextSay)
If n <> index Then
If n > 0 Then
Call PlayerWarp(index, GetPlayerMap(n), GetPlayerX(n), GetPlayerY(n))
Call PlayerMsg(n, GetPlayerName(index) & " has warped to you.", 6)
Call PlayerMsg(index, "You have been warped to " & GetPlayerName(n) & ".", 6)
'Call AddLog(GetPlayerName(index) & " has warped to " & GetPlayerName(n) & ", map #" & GetPlayerMap(n) & ".", ADMIN_LOG)
Else
Call PlayerMsg(index, "Player is not online.", 15)
End If
Else
Call PlayerMsg(index, "You cannot warp to yourself!", 15)
End If
End If
Exit Sub
End If
If LCase(Mid(TextSay, 1, 9)) = "/warptome" Then
If Len(TextSay) > 10 Then
If GetPlayerAccess(index) < 2 Then
Call PlayerMsg(index, "You need be of a higher access to use this command!", 4)
Exit Sub
End If
n = Mid(TextSay, 10, Len(TextSay) - 9)
n = FindPlayer(n)
If n <> index Then
If n > 0 Then
Call PlayerWarp(n, GetPlayerMap(index), GetPlayerX(index), GetPlayerY(index))
Call PlayerMsg(n, "You have been summoned by " & GetPlayerName(index) & ".", 9)
Call PlayerMsg(index, GetPlayerName(n) & " has been summoned.", 9)
'Call AddLog(GetPlayerName(index) & " has warped " & GetPlayerName(n) & " to self, map #" & GetPlayerMap(index) & ".", ADMIN_LOG)
Else
Call PlayerMsg(index, "Player is not online.", 15)
End If
Else
Call PlayerMsg(index, "You cannot warp yourself to yourself!", 15)
End If
End If
Exit Sub
End If
If LCase(Mid(TextSay, 1, 7)) = "/warpto" Then
If Len(TextSay) > 8 Then
TextSay = Mid(TextSay, 8, Len(TextSay) - 7)
n = TextSay
If n > 0 and n <= m Then
If GetPlayerAccess(index) < 2 Then
Call PlayerMsg(index, "You need be of a higher access to use this command!", 4)
Exit Sub
End If
'If Getattribute(GetPlayerMap(index), GetPlayerX(index), GetPlayerY(index)) <> 1 Then
Call SpellAnim(1, GetPlayerMap(index), GetPlayerX(index), GetPlayerY(index))
Call PlayerWarp(index, n, GetPlayerX(index), GetPlayerY(index))
Call SpellAnim(1, GetPlayerMap(index), GetPlayerX(index), GetPlayerY(index))
Call PlayerMsg(index, "You have been warped to map #" & n, 9)
'Call AddLog(GetPlayerName(index) & " warped to map #" & n & ".", ADMIN_LOG)
Else
Call PlayerMsg(index, "Invalid map number.", 4)
End If
End If
Exit Sub
End If
If LCase(Trim(TextSay)) = "/help" Then
Call PlayerMsg(index, "Social Commands:", 15)
Call PlayerMsg(index, "'msghere = Broadcast Message", 15)
Call PlayerMsg(index, "-msghere = Emote Message", 15)
Call PlayerMsg(index, "!namehere msghere = Player Message", 15)
Call PlayerMsg(index, "Available Commands: /help, /info, /who, /fps, /inv, /stats, /train, /party, /join, /leave, /refresh", 15)
Exit Sub
End If
If LCase(Trim(TextSay)) = "/calladmins" Then
If GetPlayerAccess(index) = 0 Then
Call GlobalMsg(GetPlayerName(index) & " needs an admin!", 10)
Else
Call PlayerMsg(index, "You are an admin!", 10)
End If
Exit Sub
End If
If LCase(Trim(TextSay)) = "/admin" Then
If GetPlayerAccess(index) > 0 Then
Call PlayerMsg(index, "Social Commands:", 15)
Call PlayerMsg(index, """msghere = Global Admin Message", 15)
Call PlayerMsg(index, "=msghere = Private Admin Message", 15)
Call PlayerMsg(index, "Available Commands: /admin, /loc, /mapeditor, /warpmeto, /warptome, /warpto, /setsprite, /mapreport, /kick, /ban, /edititem, /respawn, /editnpc, /motd, /editshop, /ban, /editspell", 15)
End If
Exit Sub
End If
Select Case LCase(Trim(TextSay))
Case "/away"
'If GetPlayerAccess(index) >= 1 Then
If GetVar("accounts\" & GetPlayerLogin(index) & ".ini", "CHAR" & GetPlayerCharNum(index), "Status") = 0 Then
Call GlobalMsg(GetPlayerName(index) & " is now away.", 14)
Call PutVar("accounts\" & GetPlayerLogin(index) & ".ini", "CHAR" & GetPlayerCharNum(index), "Status", 1)
Call PutVar("accounts\" & GetPlayerLogin(index) & ".ini", "CHAR" & GetPlayerCharNum(index), "TempPlayerName", GetPlayerName(index))
Call SetPlayerName(index, GetPlayerName(index) & " - Away")
Call SendPlayerData(index)
Exit Sub
ElseIf GetVar("accounts\" & GetPlayerLogin(index) & ".ini", "CHAR" & GetPlayerCharNum(index), "Status") = 1 Then
Call SetPlayerName(index, GetVar("accounts\" & GetPlayerLogin(index) & ".ini", "CHAR" & GetPlayerCharNum(index), "TempPlayerName"))
Call GlobalMsg(GetPlayerName(index) & " has returned from being away.", 14)
Call PutVar("accounts\" & GetPlayerLogin(index) & ".ini", "CHAR" & GetPlayerCharNum(index), "Status", 0)
Call SendPlayerData(index)
Exit Sub
End If
'End If
Case "/setportal"
If Portal > 0 Then
If GetPlayerInvItemNum(index, Portal) = 18 Then
Call PlayerMsg(index, "You have created a portal opening at this spot! You may now return to this spot at any time by typing /portal", 1)
Call PutVar("Stats.ini", GetPlayerName(index), "map", GetPlayerMap(index))
Call PutVar("Stats.ini", GetPlayerName(index), "x", GetPlayerX(index))
Call PutVar("Stats.ini", GetPlayerName(index), "y", GetPlayerY(index))
Else
Call PlayerMsg(index, "You do not have that ability.", 4)
End If
Exit Sub
End If
Case "/portal"
If Portal > 0 Then
mapnum = GetVar("Stats.ini", GetPlayerName(index), "map")
y = GetVar("Stats.ini", GetPlayerName(index), "y")
x = GetVar("Stats.ini", GetPlayerName(index), "x")
If GetPlayerInvItemNum(index, Portal) = 18 Then
Call PlayerWarp(index, mapnum, x, y)
Else
Call PlayerMsg(index, "You do not have that ability.", 4)
End If
Exit Sub
End If
End Select
Call PlayerMsg(index, "Thats not a valid command!", 12)
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' This sub deals with dropping items on death. By default drops are disabled.
Sub DropItems(index)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' This sub is run whenever somebody dies outside of an arena.
Sub OnDeath(index)
'Respawn
Call PlayerWarp(index, GetVar("\accounts\" & GetPlayerName(index) & ".ini", "Respawn", "Map"), GetVar("\accounts\" & GetPlayerName(index) & ".ini", "Respawn", "X"), GetVar("\accounts\" & GetPlayerName(index) & ".ini", "Respawn", "Y"))
'Penalty
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dim mapnum
Dim x
Dim y
Dim i
i = GetPlayerClass(index)
mapnum = GetVar("Classes\Class" & i & ".ini", "CLASS", "Map")
y = GetVar("Classes\Class" & i & ".ini", "CLASS", "y")
x = GetVar("Classes\Class" & i & ".ini", "CLASS", "x")
Call PlayerWarp(index, mapnum, x, y)
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' This sub is run when a scripted item is used or double clicked.
Sub ScriptedItem(index, Script)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Select Case Script
Case 0
Call PlayerMsg(index, "This item has no apparent use", 15)
Exit Sub
Case Else
'No script found
Call playermsg(index, "No script found. Please contact an admin to solve this problem.", 15)
Exit Sub
End Select
End Sub
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
' Handles custom timer events.
Sub TMRTEST(index, script)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Select Case script
Case 0
Call playermsg(index, "Timed event occuring.", 12)
Call Removetimer("tmrtest " & index & "," & script)
Case Else
Call playermsg(index, "No timer found, please contact an admin to resolve this issue.", 12)
Call Removetimer("tmrtest " &index & "," & script)
End Select
End Sub
``` -
i did a massive source edit on the client and im having 1 problem what ive edited is the main gui for the game, it pops up different forms when you click a button on the Mirage.frm. so say you click inventory etc it pops up inventory and being cluttered in 1 window, like any mmo.
well heres my problem, i've debugged it, compiled, looked back through all my edits and i think this is just me being retarded but when i run the client i get to the make character screen and hit use character it loads and pops up a message say "Your Missing Some Graphics Files!" so what am i missing? in my gfx folder these are the things i have
GFX:
Arrows
BigSpells
BigSprites
emo
Icons
Items
Skill
Spells
sprites
and then tile sheets 1-10
and then gui side i have all what it loads on formload and that is
Skills
and the 800X600
so what am i missing? -
i feel its a lot cleaner, im making small pop up windows for each button.
![](http://img508.imageshack.us/img508/1729/maingamezw1.gif) -
ok so a very select few of my friends are helping test Lunar Crescent, 1 has Vista and gets the ActiveX error of doom when the In Game screen loads. what do you have to do to fix this?
-
Well, I've noticed ive been putting a lot of maps to show up here lately and i decided to just make a thread i update frequently with new stuff, well heres the newest addition:
Coal Mine:
![](http://img91.imageshack.us/img91/5985/coalminelc4.png) -
In my opinion, i feel as if the gui came out great, i just have 1 problem and thats matching up the hp, mp, and exp bar with the actual GUI image. anyone think they can tell me what to edit to fix it? well tell me what you think!
![](http://img261.imageshack.us/img261/6141/newinterfacenn6.png) -
im starting to make scripted spells, what do i have to put (value wise) for the Sub Spellanim to work and display the spell on the target? heres what i thought would work for a healing spell that revolved around magic, but it didnt. please explain this!
```
Call Sub SpellAnim(1, GetPlayerTarget(index), GetPlayerTarget(index), GetPlayerTarget(index))
Call SetPlayerHP(index, GetPlayerMAGI(index) * 3)
Call PlayerMsg(index, "You Have Cast Bio-Rejuvanation On" & GetPlayerTarget(index), 4)
``` -
Wheres The Problem At? Its A Scripted Tile
```
Case 2 ' HEAL TILE
If GetPlayerMaxHp(index) <> GetPlayerHp(index) Then
If GetPlayerMaxMP(index) <> GetPlayerMp(index) Then
Call PlayerMsg(index, "Your Hp And Mp Has Been Restored!", 2)
Call SetPlayerHP(index, GetPlayerMaxHp(index))
Call SetPlayerMP(index, GetPlayerMaxMP(index))
End If
End Select
End Sub
``` -
In my opinion this may be one of my best works ive posted here? i dunno, you decide:
![](http://img142.imageshack.us/img142/1096/coalencampmentoq3.png)
Making a dx hp, mp, exp bar. DX x,y offset problems on scrolling.
in Source
Posted
so basically what i need is some code that will draw the box top left corner, stay there when moving around scrolling.
I've been fiddling with different formulas to try and get it to work either they move when on a scrolling map, or they get drawn in the wrong place and its really beginning to annoy me.