|
|
Elysium Source - Your Only
Source! |
|
View
previous topic :: View
next topic |
Author |
Message |
pingu "The Bird"
Joined: 23 Feb 2006 Posts:
3400 Location: Antartica Points
|
Posted: Sun Sep 17,
2006 1:49 pm
Post subject: Diamond Paperdoll (v5) |
|
|
Diamond Paperdoll (v5)
Made by
pingu
I can't test it, so this
remains UNTESTED until somebody comes along and tries it
on a blank source. However, I have a feeling that it
will work now because I know exactly what I did and
exactly what I needed to do. A few times I had to go
back and change something to make it work, so I think it
will.
If it doesn't, it's Johnny's turn...
----------
SERVER SIDE
----------
Find and replace all instances
of:
With:
----------
Find: (keep in mind
that there are two that need changing)
Replace whole sub with:
Code: |
Sub SendInvSlots(ByVal index
As Long) Dim Packet As String
If IsPlaying(index) Then
Packet =
"PLAYERINVSLOTS" & SEP_CHAR &
GetPlayerArmorSlot(index) & SEP_CHAR &
GetPlayerWeaponSlot(index) & SEP_CHAR &
GetPlayerHelmetSlot(index) & SEP_CHAR &
GetPlayerShieldSlot(index) & SEP_CHAR &
END_CHAR Call
SendDataTo(index, Packet) End If
End Sub
Sub
SendWornEquipment(ByVal index As Long) Dim
Packet As String Dim i As Long
For i = 1 To MAX_PLAYERS
If IsPlaying(i) Then
If
GetPlayerMap(index) = GetPlayerMap(i) And i
<> index Then
Packet =
"PLAYERWORNEQ" & SEP_CHAR & i &
SEP_CHAR
If GetPlayerArmorSlot(i) >
0 Then
Packet = Packet
& GetPlayerInvItemNum(i,
GetPlayerArmorSlot(i)) & SEP_CHAR
Else
Packet = Packet &
0 & SEP_CHAR
End If
If GetPlayerWeaponSlot(i) > 0 Then
Packet = Packet &
GetPlayerInvItemNum(i, GetPlayerWeaponSlot(i))
& SEP_CHAR
Else
Packet = Packet & 0 & SEP_CHAR
End If
If
GetPlayerHelmetSlot(i) > 0 Then
Packet = Packet &
GetPlayerInvItemNum(i, GetPlayerHelmetSlot(i))
& SEP_CHAR
Else
Packet = Packet & 0 & SEP_CHAR
End If
If
GetPlayerShieldSlot(i) > 0 Then
Packet = Packet &
GetPlayerInvItemNum(i, GetPlayerShieldSlot(i))
& SEP_CHAR
Else
Packet = Packet & 0 & SEP_CHAR
End If
Packet = Packet
& END_CHAR
Call SendDataTo(index,
Packet)
Packet =
"PLAYERWORNEQ" & SEP_CHAR & index &
SEP_CHAR
If GetPlayerArmorSlot(index)
> 0 Then
Packet = Packet
& GetPlayerInvItemNum(index,
GetPlayerArmorSlot(index)) & SEP_CHAR
Else
Packet =
Packet & 0 & SEP_CHAR
End If
If GetPlayerWeaponSlot(index) > 0
Then
Packet = Packet &
GetPlayerInvItemNum(index,
GetPlayerWeaponSlot(index)) & SEP_CHAR
Else
Packet =
Packet & 0 & SEP_CHAR
End If
If GetPlayerHelmetSlot(index) > 0
Then
Packet = Packet &
GetPlayerInvItemNum(index,
GetPlayerHelmetSlot(index)) & SEP_CHAR
Else
Packet =
Packet & 0 & SEP_CHAR
End If
If GetPlayerShieldSlot(index) > 0
Then
Packet = Packet &
GetPlayerInvItemNum(index,
GetPlayerShieldSlot(index)) & SEP_CHAR
Else
Packet =
Packet & 0 & SEP_CHAR
End If
Packet = Packet & END_CHAR
Call SendDataTo(i, Packet)
End
If End If
Next End
Sub |
----------
There are two
options for this next piece depending on how styled you
want the code to look. Only do one of them!
Option 1:
Proper coding method.
Find all occurances of:
Code: |
Call
SendInvSlots(index) |
Under, add:
Code: |
Call
SendWornEquipment(index) |
Option 2: Quick and
easy, but sloppy method.
At the bottom of SendInvSlots,
add:
Code: |
Call
SendWornEquipment(index) |
They both do the same thing,
but have different styles. If the code is to be
redistributed, I highly recommend option 1. Otherwise,
option 2 works just as fine but is much easier to write.
----------
CLIENT SIDE
----------
Find:
Under, add:
Code: |
ArmorNum As Long
WeaponNum As Long
ShieldNum As Long HelmetNum As
Long |
----------
Find:
Code: |
Player(Index).SpellNum =
0 |
Under, add:
Code: |
Player(Index).ArmorNum = 0
Player(Index).WeaponNum = 0
Player(Index).ShieldNum = 0
Player(Index).HelmetNum =
0 |
----------
Find:
Code: |
If Parse(0) = "playerworneq"
Then |
Replace whole condition
with:
Code: |
If Parse(0) = "playerworneq"
Then z =
Val(Parse(1)) If z
<= 0 Then Exit Sub
Player(z).ArmorNum = Val(Parse(2))
Player(z).WeaponNum =
Val(Parse(3))
Player(z).HelmetNum = Val(Parse(4))
Player(z).ShieldNum =
Val(Parse(5)) Exit
Sub End If
If Parse(0) = "playerinvslots"
Then Call
SetPlayerArmorSlot(MyIndex, Val(Parse(1)))
Call
SetPlayerWeaponSlot(MyIndex, Val(Parse(2)))
Call
SetPlayerHelmetSlot(MyIndex, Val(Parse(3)))
Call
SetPlayerShieldSlot(MyIndex, Val(Parse(4)))
If GetPlayerArmorSlot(MyIndex) >
0 Then
Player(MyIndex).ArmorNum =
GetPlayerInvItemNum(MyIndex,
GetPlayerArmorSlot(MyIndex))
Else
Player(MyIndex).ArmorNum = 0
End If
If
GetPlayerWeaponSlot(MyIndex) > 0 Then
Player(MyIndex).WeaponNum =
GetPlayerInvItemNum(MyIndex,
GetPlayerWeaponSlot(MyIndex))
Else
Player(MyIndex).WeaponNum = 0
End If
If
GetPlayerHelmetSlot(MyIndex) > 0 Then
Player(MyIndex).HelmetNum =
GetPlayerInvItemNum(MyIndex,
GetPlayerHelmetSlot(MyIndex))
Else
Player(MyIndex).HelmetNum = 0
End If
If
GetPlayerShieldSlot(MyIndex) > 0 Then
Player(MyIndex).ShieldNum =
GetPlayerInvItemNum(MyIndex,
GetPlayerShieldSlot(MyIndex))
Else
Player(MyIndex).ShieldNum = 0
End If
Call UpdateVisInv
Exit Sub End
If |
----------
Find:
and
Replace both whole subs
with:
Code: |
Sub BltPlayer(ByVal Index As
Long) Dim Anim As Byte Dim x As Long, y As
Long Dim AttackSpeed As Long
If GetPlayerWeaponSlot(Index) > 0 Then
AttackSpeed =
Item(Player(Index).WeaponNum).AttackSpeed
Else
AttackSpeed = 1000 End If
' Only used if ever want to
switch to blt rather then bltfast
' I suggest you don't use, because custom
sizes won't work any longer With
rec_pos .Top =
GetPlayerY(Index) * PIC_Y + Player(Index).YOffset
- (SIZE_Y - PIC_Y)
.Bottom = .Top + PIC_Y
.Left = GetPlayerX(Index) * PIC_X +
Player(Index).XOffset + ((SIZE_X - PIC_X) / 2)
.Right = .Left +
PIC_X + ((SIZE_X - PIC_X) / 2)
End With '
Check for animation Anim = 0
If Player(Index).Attacking = 0
Then Select Case
GetPlayerDir(Index)
Case DIR_UP
If
(Player(Index).YOffset > PIC_Y / 2) Then Anim =
1
Case DIR_DOWN
If
(Player(Index).YOffset < PIC_Y / 2 * -1) Then
Anim = 1
Case DIR_LEFT
If
(Player(Index).XOffset > PIC_Y / 2) Then Anim =
1
Case DIR_RIGHT
If
(Player(Index).XOffset < PIC_Y / 2 * -1) Then
Anim = 1 End
Select Else
If Player(Index).AttackTimer +
Int(AttackSpeed / 2) > GetTickCount Then
Anim
= 2 End If
End If
' Check to see if we want to
stop making him attack If
Player(Index).AttackTimer + AttackSpeed <
GetTickCount Then
Player(Index).Attacking = 0
Player(Index).AttackTimer = 0
End If
x = GetPlayerX(Index) * PIC_X -
(SIZE_X - PIC_X) / 2 + sx + Player(Index).XOffset
y = GetPlayerY(Index) * PIC_Y -
(SIZE_Y - PIC_Y) + sx + Player(Index).YOffset +
(SIZE_Y - PIC_Y)
rec.Left = (GetPlayerDir(Index) * (3 *
(SIZE_X / PIC_X)) + (Anim * (SIZE_X / PIC_X))) *
PIC_X rec.Right = rec.Left +
SIZE_X If
SIZE_X > PIC_X Then
If x < 0 Then
x = Player(Index).XOffset +
sx + ((SIZE_X - PIC_X) / 2)
If GetPlayerDir(Index)
= DIR_RIGHT And Player(Index).Moving > 0 Then
rec.Left = rec.Left -
Player(Index).XOffset
Else
rec.Left =
rec.Left - Player(Index).XOffset + ((SIZE_X -
PIC_X) / 2)
End If End
If
If x > MAX_MAPX * 32 Then
x =
MAX_MAPX * 32 + sx - ((SIZE_X - PIC_X) / 2) +
Player(Index).XOffset
If GetPlayerDir(Index) =
DIR_LEFT And Player(Index).Moving > 0 Then
rec.Right = rec.Right +
Player(Index).XOffset
Else
rec.Right = rec.Right +
Player(Index).XOffset - ((SIZE_X - PIC_X) / 2)
End
If End If
End If
If GetPlayerDir(Index) = DIR_UP
Then If
Player(Index).WeaponNum > 0 Then
rec.Top =
(Int(Item(Player(Index).WeaponNum).Pic / 6) +
(SIZE_Y / PIC_Y)) * PIC_Y
rec.Bottom = rec.Top + PIC_Y
Call
DD_BackBuffer.BltFast(x - (NewPlayerX * PIC_X) -
NewXOffset, y - (NewPlayerY * PIC_Y) - NewYOffset,
DD_ItemSurf, rec, DDBLTFAST_WAIT Or
DDBLTFAST_SRCCOLORKEY)
End If
If
Player(Index).ShieldNum > 0 Then
rec.Top =
(Int(Item(Player(Index).ShieldNum).Pic / 6) +
(SIZE_Y / PIC_Y)) * PIC_Y
rec.Bottom = rec.Top + PIC_Y
Call
DD_BackBuffer.BltFast(x - (NewPlayerX * PIC_X) -
NewXOffset, y - (NewPlayerY * PIC_Y) - NewYOffset,
DD_ItemSurf, rec, DDBLTFAST_WAIT Or
DDBLTFAST_SRCCOLORKEY)
End If End If
rec.Top =
GetPlayerSprite(Index) * SIZE_Y + (SIZE_Y - PIC_Y)
rec.Bottom = rec.Top + PIC_Y
Call
DD_BackBuffer.BltFast(x - (NewPlayerX * PIC_X) -
NewXOffset, y - (NewPlayerY * PIC_Y) - NewYOffset,
DD_SpriteSurf, rec, DDBLTFAST_WAIT Or
DDBLTFAST_SRCCOLORKEY)
If
Player(Index).ArmorNum > 0 Then
rec.Top =
(Int(Item(Player(Index).ArmorNum).Pic / 6) +
(SIZE_Y / PIC_Y)) * PIC_Y
rec.Bottom = rec.Top + PIC_Y
Call DD_BackBuffer.BltFast(x
- (NewPlayerX * PIC_X) - NewXOffset, y -
(NewPlayerY * PIC_Y) - NewYOffset, DD_ItemSurf,
rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
End If
If Player(Index).HelmetNum >
0 Then rec.Top =
(Int(Item(Player(Index).HelmetNum).Pic / 6) +
(SIZE_Y / PIC_Y)) * PIC_Y
rec.Bottom = rec.Top + PIC_Y
Call DD_BackBuffer.BltFast(x
- (NewPlayerX * PIC_X) - NewXOffset, y -
(NewPlayerY * PIC_Y) - NewYOffset, DD_ItemSurf,
rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
End If
If GetPlayerDir(Index) <>
DIR_UP Then If
Player(Index).ShieldNum > 0 Then
rec.Top =
(Int(Item(Player(Index).ShieldNum).Pic / 6) +
(SIZE_Y / PIC_Y)) * PIC_Y
rec.Bottom = rec.Top + PIC_Y
Call
DD_BackBuffer.BltFast(x - (NewPlayerX * PIC_X) -
NewXOffset, y - (NewPlayerY * PIC_Y) - NewYOffset,
DD_ItemSurf, rec, DDBLTFAST_WAIT Or
DDBLTFAST_SRCCOLORKEY)
End If
If
Player(Index).WeaponNum > 0 Then
rec.Top =
(Int(Item(Player(Index).WeaponNum).Pic / 6) +
(SIZE_Y / PIC_Y)) * PIC_Y
rec.Bottom = rec.Top + PIC_Y
Call
DD_BackBuffer.BltFast(x - (NewPlayerX * PIC_X) -
NewXOffset, y - (NewPlayerY * PIC_Y) - NewYOffset,
DD_ItemSurf, rec, DDBLTFAST_WAIT Or
DDBLTFAST_SRCCOLORKEY)
End If End If End Sub
Sub BltPlayerTop(ByVal Index As Long)
Dim Anim As Byte Dim x As Long, y As Long
Dim AttackSpeed As Long
If GetPlayerWeaponSlot(Index) > 0 Then
AttackSpeed =
Item(Player(Index).WeaponNum).AttackSpeed
Else
AttackSpeed = 1000 End If
' Only used if ever want to
switch to blt rather then bltfast
' I suggest you don't use, because custom
sizes won't work any longer With
rec_pos .Top =
GetPlayerY(Index) * PIC_Y + Player(Index).YOffset
- (SIZE_Y - PIC_Y)
.Bottom = .Top + PIC_Y
.Left = GetPlayerX(Index) * PIC_X +
Player(Index).XOffset + ((SIZE_X - PIC_X) / 2)
.Right = .Left +
PIC_X + ((SIZE_X - PIC_X) / 2)
End With '
Check for animation Anim = 0
If Player(Index).Attacking = 0
Then Select Case
GetPlayerDir(Index)
Case DIR_UP
If
(Player(Index).YOffset > PIC_Y / 2) Then Anim =
1
Case DIR_DOWN
If
(Player(Index).YOffset < PIC_Y / 2 * -1) Then
Anim = 1
Case DIR_LEFT
If
(Player(Index).XOffset > PIC_Y / 2) Then Anim =
1
Case DIR_RIGHT
If
(Player(Index).XOffset < PIC_Y / 2 * -1) Then
Anim = 1 End
Select Else
If Player(Index).AttackTimer +
Int(AttackSpeed / 2) > GetTickCount Then
Anim
= 2 End If
End If
' Check to see if we want to
stop making him attack If
Player(Index).AttackTimer + AttackSpeed <
GetTickCount Then
Player(Index).Attacking = 0
Player(Index).AttackTimer = 0
End If
x = GetPlayerX(Index) * PIC_X -
(SIZE_X - PIC_X) / 2 + sx + Player(Index).XOffset
y = GetPlayerY(Index) * PIC_Y -
(SIZE_Y - PIC_Y) + sx + Player(Index).YOffset
rec.Left =
(GetPlayerDir(Index) * (3 * (SIZE_X / PIC_X)) +
(Anim * (SIZE_X / PIC_X))) * PIC_X
rec.Right = rec.Left + SIZE_X
If x < 0 Then
x =
Player(Index).XOffset + sx + ((SIZE_X - PIC_X) /
2) If
GetPlayerDir(Index) = DIR_RIGHT And
Player(Index).Moving > 0 Then
rec.Left = rec.Left -
Player(Index).XOffset
Else
rec.Left = rec.Left - Player(Index).XOffset
+ ((SIZE_X - PIC_X) / 2)
End If End If
If x > MAX_MAPX * 32
Then x = MAX_MAPX
* 32 + sx - ((SIZE_X - PIC_X) / 2) +
Player(Index).XOffset
If GetPlayerDir(Index) = DIR_LEFT And
Player(Index).Moving > 0 Then
rec.Right = rec.Right
+ Player(Index).XOffset
Else
rec.Right = rec.Right +
Player(Index).XOffset - ((SIZE_X - PIC_X) / 2)
End If
End If
If
GetPlayerDir(Index) = DIR_UP Then
If Player(Index).WeaponNum
> 0 Then
rec.Top =
Int(Item(Player(Index).WeaponNum).Pic / 6) * PIC_Y
+ (SIZE_Y - PIC_Y)
rec.Bottom = rec.Top + (SIZE_Y -
PIC_Y)
If y < 0 Then
y = 0
If GetPlayerDir(Index) = DIR_DOWN
And Player(Index).Moving > 0 Then
rec.Top = rec.Top -
Player(Index).YOffset
Else
rec.Top = rec.Top -
Player(Index).YOffset + (SIZE_Y - PIC_Y)
End If
End If
Call
DD_BackBuffer.BltFast(x - (NewPlayerX * PIC_X) -
NewXOffset, y - (NewPlayerY * PIC_Y) - NewYOffset,
DD_ItemSurf, rec, DDBLTFAST_WAIT Or
DDBLTFAST_SRCCOLORKEY)
End If
If Player(Index).ShieldNum > 0
Then
rec.Top = Int(Item(Player(Index).ShieldNum).Pic /
6) * PIC_Y + (SIZE_Y - PIC_Y)
rec.Bottom = rec.Top +
(SIZE_Y - PIC_Y)
y = GetPlayerY(Index) * PIC_Y -
(SIZE_Y - PIC_Y) + sx + Player(Index).YOffset
If y
< 0 Then
y = 0
If
GetPlayerDir(Index) = DIR_DOWN And
Player(Index).Moving > 0 Then
rec.Top = rec.Top - Player(Index).YOffset
Else
rec.Top
= rec.Top - Player(Index).YOffset + (SIZE_Y -
PIC_Y)
End If
End If
Call
DD_BackBuffer.BltFast(x - (NewPlayerX * PIC_X) -
NewXOffset, y - (NewPlayerY * PIC_Y) - NewYOffset,
DD_ItemSurf, rec, DDBLTFAST_WAIT Or
DDBLTFAST_SRCCOLORKEY)
End If End If
rec.Top =
GetPlayerSprite(Index) * SIZE_Y
rec.Bottom = rec.Top + (SIZE_Y - PIC_Y)
y = GetPlayerY(Index) *
PIC_Y - (SIZE_Y - PIC_Y) + sx +
Player(Index).YOffset
If y < 0 Then
y = 0 If
GetPlayerDir(Index) = DIR_DOWN And
Player(Index).Moving > 0 Then
rec.Top = rec.Top -
Player(Index).YOffset
Else
rec.Top = rec.Top - Player(Index).YOffset +
(SIZE_Y - PIC_Y)
End If End If
Call DD_BackBuffer.BltFast(x -
(NewPlayerX * PIC_X) - NewXOffset, y - (NewPlayerY
* PIC_Y) - NewYOffset, DD_SpriteSurf, rec,
DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
If Player(Index).ArmorNum
> 0 Then
rec.Top = Int(Item(Player(Index).ArmorNum).Pic /
6) * PIC_Y + (SIZE_Y - PIC_Y)
rec.Bottom = rec.Top + (SIZE_Y -
PIC_Y)
y = GetPlayerY(Index) * PIC_Y
- (SIZE_Y - PIC_Y) + sx + Player(Index).YOffset
If y < 0 Then
y = 0
If
GetPlayerDir(Index) = DIR_DOWN And
Player(Index).Moving > 0 Then
rec.Top
= rec.Top - Player(Index).YOffset
Else
rec.Top = rec.Top - Player(Index).YOffset +
(SIZE_Y - PIC_Y)
End If
End If
Call
DD_BackBuffer.BltFast(x - (NewPlayerX * PIC_X) -
NewXOffset, y - (NewPlayerY * PIC_Y) - NewYOffset,
DD_ItemSurf, rec, DDBLTFAST_WAIT Or
DDBLTFAST_SRCCOLORKEY) End If
If
Player(Index).HelmetNum > 0 Then
rec.Top =
Int(Item(Player(Index).HelmetNum).Pic / 6) * PIC_Y
+ (SIZE_Y - PIC_Y)
rec.Bottom = rec.Top + (SIZE_Y - PIC_Y)
y = GetPlayerY(Index) * PIC_Y - (SIZE_Y -
PIC_Y) + sx + Player(Index).YOffset
If y < 0 Then
y = 0
If GetPlayerDir(Index)
= DIR_DOWN And Player(Index).Moving > 0 Then
rec.Top = rec.Top -
Player(Index).YOffset
Else
rec.Top =
rec.Top - Player(Index).YOffset + (SIZE_Y - PIC_Y)
- 1
End If End If
Call DD_BackBuffer.BltFast(x -
(NewPlayerX * PIC_X) - NewXOffset, y - (NewPlayerY
* PIC_Y) - NewYOffset, DD_ItemSurf, rec,
DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)
End If
If GetPlayerDir(Index) <>
DIR_UP Then If
Player(Index).WeaponNum > 0 Then
rec.Top =
Int(Item(Player(Index).WeaponNum).Pic / 6) * PIC_Y
+ (SIZE_Y - PIC_Y)
rec.Bottom = rec.Top + (SIZE_Y -
PIC_Y)
y = GetPlayerY(Index) * PIC_Y - (SIZE_Y -
PIC_Y) + sx + Player(Index).YOffset
If y < 0
Then
y = 0
If
GetPlayerDir(Index) = DIR_DOWN And
Player(Index).Moving > 0 Then
rec.Top = rec.Top - Player(Index).YOffset
Else
rec.Top
= rec.Top - Player(Index).YOffset + (SIZE_Y -
PIC_Y)
End If
End If
Call
DD_BackBuffer.BltFast(x - (NewPlayerX * PIC_X) -
NewXOffset, y - (NewPlayerY * PIC_Y) - NewYOffset,
DD_ItemSurf, rec, DDBLTFAST_WAIT Or
DDBLTFAST_SRCCOLORKEY)
End If
If y = 0 Then y =
GetPlayerY(Index) * PIC_Y - (SIZE_Y - PIC_Y) + sx
+ Player(Index).YOffset
If
Player(Index).ShieldNum > 0 Then
rec.Top =
Int(Item(Player(Index).ShieldNum).Pic / 6) * PIC_Y
+ (SIZE_Y - PIC_Y)
rec.Bottom = rec.Top + (SIZE_Y -
PIC_Y)
y = GetPlayerY(Index) * PIC_Y - (SIZE_Y -
PIC_Y) + sx + Player(Index).YOffset
If y < 0
Then
y = 0
If
GetPlayerDir(Index) = DIR_DOWN And
Player(Index).Moving > 0 Then
rec.Top = rec.Top - Player(Index).YOffset
Else
rec.Top
= rec.Top - Player(Index).YOffset + (SIZE_Y -
PIC_Y)
End If
End If
Call
DD_BackBuffer.BltFast(x - (NewPlayerX * PIC_X) -
NewXOffset, y - (NewPlayerY * PIC_Y) - NewYOffset,
DD_ItemSurf, rec, DDBLTFAST_WAIT Or
DDBLTFAST_SRCCOLORKEY)
End If End If End
Sub |
----------
Eh? _________________
Last edited
by pingu on Sat Oct 07, 2006 9:57 am; edited 3 times in
total | |
Back
to top |
|
|
frozengod Sr. Member
Joined: 11 May 2006 Posts:
658 Location: Unknown Points
|
Posted: Sun Sep 17,
2006 2:00 pm
Post subject: |
|
|
Quote: |
Find and replace all
instances of:
Code:
SendWornEquipment |
there is alot of these instances
for every item it sends the worn equipment. What
about the SendOthers sub that was before ? do we delete
that if we have done the other tutorial or ?
*edit* I have 1 sub SendInvSlots but no
statements in my server project. ill try it
though. _________________
| |
Back
to top |
|
pingu "The Bird"
Joined: 23 Feb 2006 Posts:
3400 Location: Antartica Points
|
Posted: Sun Sep 17,
2006 2:20 pm
Post subject: |
|
|
You'll need to do
this on a blank source without an attempt of paperdoll.
I'm basically renaming that function so that it makes
more sense. Hit ctrl + F, click on "Replace", type in
"SendWornEquipment" in the top box and then type
"SendInvSlots". Make it search through the whole project
and then hit "Replace All".
I seem to remember
22 as the number of replacements it
made. _________________
| |
Back
to top |
|
CuChulainn Sr. Member
Joined: 13 Apr 2006 Posts:
1009
Points
|
Posted: Sun Sep 17,
2006 2:22 pm
Post subject: |
|
|
Ima test this on a
blank ed. Ill tell you how it works. Also, is the sprite
thing fixed? It sets the head like 2 pixels to the right
so it looks fuked up. _________________
Last edited
by CuChulainn on Sun Sep 03, 1675 13:37 pm; edited
2147483647 times in total | |
Back
to top |
|
pingu "The Bird"
Joined: 23 Feb 2006 Posts:
3400 Location: Antartica Points
|
Posted: Sun Sep 17,
2006 2:26 pm
Post subject: |
|
|
CuChulainn wrote: |
Ima test this on a blank
ed. Ill tell you how it works. Also, is the sprite
thing fixed? It sets the head like 2 pixels to the
right so it looks fuked
up. |
You'll find out that that error
is actually just bad graphics. If I were you, I'd move
those graphics 2 pixels to the left and see what
happens. _________________
| |
Back
to top |
|
CuChulainn Sr. Member
Joined: 13 Apr 2006 Posts:
1009
Points
|
Posted: Sun Sep 17,
2006 2:39 pm
Post subject: |
|
|
hehe i actually tried
it and it didnt work. _________________
Last edited
by CuChulainn on Sun Sep 03, 1675 13:37 pm; edited
2147483647 times in total | |
Back
to top |
|
frozengod Sr. Member
Joined: 11 May 2006 Posts:
658 Location: Unknown Points
|
Posted: Sun Sep 17,
2006 2:44 pm
Post subject: |
|
|
Call
SetPlayerArmorSlot(Index, Val(Parse(1)))
The
Index is highlighted and says variable not defined.
client side.
Remove the Index, or
?? _________________
| |
Back
to top |
|
pingu "The Bird"
Joined: 23 Feb 2006 Posts:
3400 Location: Antartica Points
|
Posted: Sun Sep 17,
2006 2:50 pm
Post subject: |
|
|
MyIndex. _________________
| |
Back
to top |
|
CuChulainn Sr. Member
Joined: 13 Apr 2006 Posts:
1009
Points
|
Posted: Sun Sep 17,
2006 3:32 pm
Post subject: |
|
|
Find:
visual basic
code:
If
Parse(0) = "playerworneq" Then
z = Val(Parse(1))
If z
<= 0 Then
Exit Sub
Player(z).ArmorNum = Val(Parse(2))
Player(z).WeaponNum =
Val(Parse(3))
Player(z).HelmetNum = Val(Parse(4))
Player(z).ShieldNum =
Val(Parse(5)) Exit Sub
End If
If Parse(0) = "playerinvslots"
Then
Call SetPlayerArmorSlot(MyIndex,
Val(Parse(1))) Call
SetPlayerWeaponSlot(MyIndex, Val(Parse(2)))
Call SetPlayerHelmetSlot(MyIndex,
Val(Parse(3))) Call
SetPlayerShieldSlot(MyIndex, Val(Parse(4)))
If
GetPlayerArmorSlot(MyIndex) > 0 Then
Player(MyIndex).ArmorNum =
GetPlayerInvItemNum(MyIndex,
GetPlayerArmorSlot(MyIndex))
Else
Player(MyIndex).ArmorNum =
0 End If
If
GetPlayerWeaponSlot(MyIndex) > 0 Then
Player(MyIndex).WeaponNum =
GetPlayerInvItemNum(MyIndex,
GetPlayerWeaponSlot(MyIndex))
Else
Player(MyIndex).WeaponNum =
0 End If
If
GetPlayerHelmetSlot(MyIndex) > 0 Then
Player(MyIndex).HelmetNum =
GetPlayerInvItemNum(MyIndex,
GetPlayerHelmetSlot(MyIndex))
Else
Player(MyIndex).HelmetNum =
0 End If
If
GetPlayerShieldSlot(MyIndex) > 0 Then
Player(MyIndex).ShieldNum =
GetPlayerInvItemNum(MyIndex,
GetPlayerShieldSlot(MyIndex))
Else
Player(MyIndex).ShieldNum =
0 End If
Call UpdateVisInv
Exit Sub End If
----------
Thanks pingu, that makes
sense... _________________
Last edited
by CuChulainn on Sun Sep 03, 1675 13:37 pm; edited
2147483647 times in total | |
Back
to top |
|
pingu "The Bird"
Joined: 23 Feb 2006 Posts:
3400 Location: Antartica Points
|
Posted: Sun Sep 17,
2006 3:38 pm
Post subject: |
|
|
Fixed that up. Still,
I don't see why you couldn't figure it
out... _________________
| |
Back
to top |
|
frozengod Sr. Member
Joined: 11 May 2006 Posts:
658 Location: Unknown Points
|
Posted: Sun Sep 17,
2006 4:12 pm
Post subject: |
|
|
*Tested* Works 100%
Fixes all Paperdolling Bugs and the main RTE 9 when a
player joins the map bug, Move this baby to Approved
tutorials ! Nice Work Pingu _________________
| |
Back
to top |
|
loktar Newcomer
Joined: 04 Sep
2006 Posts: 28
Points
|
Posted: Sun Sep 17,
2006 4:54 pm
Post subject: |
|
|
sweet nice
job! _________________
| |
Back
to top |
|
NexSteve Sr. Member
Joined: 04 Mar 2006 Posts:
566 Location: Missouri Points
|
Posted: Sun Sep 17,
2006 7:12 pm
Post subject: |
|
|
Lol awsome thank god
you fixed it this upload it was about 17% done when
frozengod said it was fixed.Now i get my 15 hours of
upload time back! _________________
| |
Back
to top |
|
Iceknight Member
Joined: 15 Mar
2006 Posts: 151
Points
|
Posted: Thu Sep 21,
2006 12:21 pm
Post subject: |
|
|
The paperdoll
tutorial bug.
When I'm warp on an other map I
dont see equipement. Try (or this bug) | |
Back
to top |
|
GameBoy Sr. Member
Joined: 20 Aug 2006 Posts:
649 Location: UK Points
|
Posted: Thu Sep 21,
2006 1:39 pm
Post subject: |
|
|
Is this set up for
32x64 or can it be used with 32x32? I wanna try and
rewrite this for another version of
Elysium _________________
| |
Back
to top |
|
|
|
|
You cannot post new topics in this
forum You cannot reply to topics in this
forum You cannot edit your posts in this
forum You cannot delete your posts in this
forum You cannot vote in polls in this
forum
|
|
|
|
Powered by phpBB © 2001, 2002
phpBB Group iCGstation v1.0 Template By Ray © 2003, 2004
iOptional
|
| |
|