kenny92316
-
Posts
29 -
Joined
-
Last visited
Never
Content Type
Profiles
Forums
Calendar
Posts posted by kenny92316
-
-
The server it's self don't use much cpu, but the client does. If you're playing on the same computer as the server it lowers its capablitys a bit. Just saying, but even with that hundreds of players if you can get enough players to play it.
-
You would have to mod your server to read a database for purchasing off a website, and the website would have to write data to the database using mysql, or one of the other database programs. None of which I know how to do.
-
found it.
Stat(1 To Stats.Stat_Count - 1) As Byte
change byte to interger, which increases its max to the above number for interger in my above post. -
2\. Public Const MAX_LEVELS As Long = 100
10\. I suspect it's 2.147B as with the long's limit, and in the code it says:
Public Const MAX_BYTE As Byte = 255
Public Const MAX_INTEGER As Integer = 32767
Public Const MAX_LONG As Long = 2147483647
```
If Int(Amount) < 10000 Then
ConvertCurrency = Amount
ElseIf Int(Amount) < 999999 Then
ConvertCurrency = Int(Amount / 1000) & "k"
ElseIf Int(Amount) < 999999999 Then
ConvertCurrency = Int(Amount / 1000000) & "m"
Else
ConvertCurrency = Int(Amount / 1000000000) & "b"
End If
```8\. I suspect stats are saved as bytes which is a 255 cap, change their dim xxx as byte to interger if you can find it. -
I'm a novice when it comes to packets, but if you don't get any answers try looking for packets in the source and see how it's used.
-
Perhaps trying something along the lines of:
```
if Sleepduration > 0 then
If spell(spellslot).type = spell_type_unsleep then
'code for casting here
else
Exit Sub
End if
End if
``` -
In the case else, which would be the character moving, simply place something like:
```
dim Rnum
rnum = rand(100,1)
if Rnum => 25 then
Set Buffer = New clsBuffer
Buffer.WriteLong CCast
Buffer.WriteLong spellslot
SendData Buffer.ToArray()
Set Buffer = Nothing
SpellBuffer = spellslot
SpellBufferTimer = GetTickCount
exit sub
elseif Rnum < 25 then
Call AddText("Your attempt to cast the spell has failed!", BrightRed)
end if
``` -
In my opinion try either using one variable for each database part 1 and 2 or change the varriable you're using into an array so you don't have an issue with it only reading one data.
-
I finally got a chance to poke around the source for subs that would be used for npc attack, I found one but not exactly sure what the data input is refering to. The StartAddr and ExtraVar in specific. The only thing that I noticed is the buffer.readlong, and the two data types are classified as longs in the call of the sub.
```
Private Sub HandleNpcAttack(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)
Dim i As Long
Dim Buffer As clsBuffer
' If debug mode, handle error then exit out
If Options.Debug = 1 Then On Error GoTo errorhandler
Set Buffer = New clsBuffer
Buffer.WriteBytes Data()
i = Buffer.ReadLong
' Set player to attacking
MapNpc(i).Attacking = 1
MapNpc(i).AttackTimer = GetTickCount
' Error handler
Exit Sub
errorhandler:
HandleError "HandleNpcAttack", "modHandleData", Err.Number, Err.Description, Err.Source, Err.HelpContext
Err.Clear
Exit Sub
End Sub
``` -
Oh alright, thank you for the clarification soul.
-
Buffering would be for arrows, am I right?
-
Any ideas to how I could make a npc cast spells or use arrows for range attacks? Any input is appreciated.
-
@Renzo:
> @Soul:
>
> > There's ice cream cake, chocolate cake, vanilla cake, strawberry cake, carrot cake, etc..
>
> [Here is your list of cakes](http://en.wikipedia.org/wiki/List_of_cakes)
>
> [and here are all the different kinds of pies](http://en.wikipedia.org/wiki/List_of_pies)
> and that doesnt even include the different fruits
> @Soul:
>
> > We have artificial flavoring and all you have is fruit.
>
> I rest my case
Great argument, tons more kinds of yummy pies than there are cakes for those who like real flavor, compared to artifical stuff in regular ol' cakes. You dont see Black berry cakes do you, no but theres black berry pies, and nearly every fruit is in several kinds of pie. Not sure about vegitables though, dont think "carrot" cake fits into this category either. In my opinion Pie beats plain ol' cake any day. -
well more of what i mean for the 2nd part is it might be a shared friendlist if you use their account(getplayerlogin() not getplayername()) if they have more than 1 character, but good luck with this in getting it how you want it.
-
-Online friends will have their names in green. Offline friends will have their names in red. I was working on this, and I didn't get it to work properly. I plan to continue working on it when I have more time, though, since this is a pretty critical part of any friends list.
wouldnt you beable to do like findplayer() ? if i remember correctly it checks to see if the player is online. Also wouldnt it be easier to add it into the existing ini file for the players account so they have their own unique friend list? -
When i try to compile the project "Konfuse.vbp" thats already made i get some shit about liscence from frmmirage.frm.
![](http://i35.photobucket.com/albums/d186/kenny92316/429-Source-Recompile.png)
![](http://i35.photobucket.com/albums/d186/kenny92316/429-Source-Recompile2.png)
Anyone got any ideas why im getting liscence errors when i try to recompile any precompiled, or modified versions of client? Also it goes down that entire list of frmMirage.yada.Value = ReadInI(yada) -
Compiling a server for a test and this is whats included so far.
![](http://i35.photobucket.com/albums/d186/kenny92316/VBQuestion.jpg)
I need to know if i need to include the .bas and other such files when compiling. Thanks to those who help in advance. -
Public.sub or private.sub are the correct commands for VB code i think.
-
A few questions, Would this edit work as i wanted it to? Would i need to add any additonal data to the frmmapeditor or frmhouseeditor, if so can you give a pointer? Any addtional data i should know i need to place?
Function GetTileX(ByVal mapper As Long, ByVal x As Long, ByVal y As Long, ByVal layer As Long)
Select Case layer
Case 0
GetTileX = map(mapper).Tile(x, y).Ground - Int(map(mapper).Tile(x, y).Ground / 14) * 14
Case 1
GetTileX = map(mapper).Tile(x, y).Mask - Int(map(mapper).Tile(x, y).Mask / 14) * 14
Case 2
GetTileX = map(mapper).Tile(x, y).Anim - Int(map(mapper).Tile(x, y).Anim / 14) * 14
Case 3
GetTileX = map(mapper).Tile(x, y).Anim2 - Int(map(mapper).Tile(x, y).Anim2 / 14) * 14
Case 4
GetTileX = map(mapper).Tile(x, y).Mask2 - Int(map(mapper).Tile(x, y).Mask2 / 14) * 14
Case 5
GetTileX = map(mapper).Tile(x, y).M2Anim - Int(map(mapper).Tile(x, y).M2Anim / 14) * 14
Case 6
GetTileX = map(mapper).Tile(x, y).M2Anim2 - Int(map(mapper).Tile(x, y).M2Anim2 / 14) * 14
Case 7
GetTileX = map(mapper).Tile(x, y).Fringe - Int(map(mapper).Tile(x, y).Fringe / 14) * 14
Case 8
GetTileX = map(mapper).Tile(x, y).FAnim - Int(map(mapper).Tile(x, y).FAnim / 14) * 14
Case 9
GetTileX = map(mapper).Tile(x, y).FAnim2 - Int(map(mapper).Tile(x, y).FAnim2 / 14) * 14
Case 10
GetTileX = map(mapper).Tile(x, y).Fringe2 - Int(map(mapper).Tile(x, y).Fringe2 / 14) * 14
Case 11
GetTileX = map(mapper).Tile(x, y).F2Anim - Int(map(mapper).Tile(x, y).F2Anim / 14) * 14
Case 12
GetTileX = map(mapper).Tile(x, y).F2Anim2 - Int(map(mapper).Tile(x, y).F2Anim2 / 14) * 14
End Select
End Function
Function GetTileY(ByVal mapper As Long, ByVal x As Long, ByVal y As Long, ByVal layer As Long)
Select Case layer
Case 0
GetTileY = Int(map(mapper).Tile(x, y).Ground / 14)
Case 1
GetTileY = Int(map(mapper).Tile(x, y).Mask / 14)
Case 2
GetTileY = Int(map(mapper).Tile(x, y).Anim / 14)
Case 3
GetTileY = Int(map(mapper).Tile(x, y).Anim2 / 14)
Case 4
GetTileY = Int(map(mapper).Tile(x, y).Mask2 / 14)
Case 5
GetTileY = Int(map(mapper).Tile(x, y).M2Anim / 14)
Case 6
GetTileY = Int(map(mapper).Tile(x, y).M2Anim2 / 14)
Case 7
GetTileY = Int(map(mapper).Tile(x, y).Fringe / 14)
Case 8
GetTileY = Int(map(mapper).Tile(x, y).FAnim / 14)
Case 9
GetTileY = Int(map(mapper).Tile(x, y).FAnim2 / 14)
Case 10
GetTileY = Int(map(mapper).Tile(x, y).Fringe2 / 14)
Case 11
GetTileY = Int(map(mapper).Tile(x, y).F2Anim / 14)
Case 12
GetTileY = Int(map(mapper).Tile(x, y).F2Anim2 / 14)
End Select
End Function
Function GetTileSet(ByVal mapper As Long, ByVal x As Long, ByVal y As Long, ByVal layer As Long)
Select Case layer
Case 0
GetTileSet = map(mapper).Tile(x, y).GroundSet
Case 1
GetTileSet = map(mapper).Tile(x, y).MaskSet
Case 2
GetTileSet = map(mapper).Tile(x, y).AnimSet
Case 3
GetTileSet = map(mapper).Tile(x, y).Anim2Set
Case 4
GetTileSet = map(mapper).Tile(x, y).Mask2Set
Case 5
GetTileSet = map(mapper).Tile(x, y).M2AnimSet
Case 6
GetTileSet = map(mapper).Tile(x, y).M2Anim2Set
Case 7
GetTileSet = map(mapper).Tile(x, y).FringeSet
Case 8
GetTileSet = map(mapper).Tile(x, y).FAnimSet
Case 8
GetTileSet = map(mapper).Tile(x, y).FAnim2Set
Case 10
GetTileSet = map(mapper).Tile(x, y).Fringe2Set
Case 11
GetTileSet = map(mapper).Tile(x, y).F2AnimSet
Case 12
GetTileSet = map(mapper).Tile(x, y).F2Anim2Set
End Select
End Function -
I would like to know the section of code to change and if any additional code needs changed, if anyone would like to tell me that is.
Edit: I think i found it, all i need to do is chage the variables to add more sets?
Private Sub mnuType_Click(Index As Integer)
Dim BMU As BitmapUtils
Dim strfilename As String
Dim i As Byte
mnuType(Index).Checked = True
If Index = 1 Then
If mnuType(1).Checked = True Then
frmAttributes.fraLayers.Visible = True
frmAttributes.fraAttribs.Visible = False
mnuTileSheet.Enabled = True
frmAttributes.Visible = True
End If
ElseIf Index = 2 Then
If mnuType(2).Checked = True Then
frmAttributes.fraLayers.Visible = False
frmAttributes.fraAttribs.Visible = True
shpSelected.Width = 32
shpSelected.Height = 32
mnuTileSheet.Enabled = True
frmAttributes.Visible = True
End If
Else
If mnuType(3).Checked = True Then
frmAttributes.fraLayers.Visible = False
frmAttributes.fraAttribs.Visible = False
mnuSet(10).Checked = True
For i = 0 To ExtraSheets
If i <> 10 Then frmMapEditor.mnuSet(i).Checked = False
Next i
If ENCRYPT_TYPE = "BMP" Then
frmMapEditor.picBackSelect.Picture = LoadPicture(App.Path & "\GFX\Tiles" & 10 & ".bmp")
Else
Set BMU = New BitmapUtils
strfilename = App.Path & "/gfx/" & "tiles" & 10 & "." & Trim$(ENCRYPT_TYPE)
BMU.LoadByteData (strfilename)
BMU.DecryptByteData (Trim$(ENCRYPT_PASS))
BMU.DecompressByteData_ZLib
frmMapEditor.picBackSelect.Cls
frmMapEditor.picBackSelect.Width = BMU.ImageWidth
frmMapEditor.picBackSelect.Height = BMU.ImageHeight
Call BMU.Blt(frmMapEditor.picBackSelect.hDC)
End If
EditorSet = 10
scrlPicture.Max = ((picBackSelect.Height - picBack.Height) / PIC_Y)
picBack.Width = picBackSelect.Width
If frmMapEditor.Width > picBack.Width + scrlPicture.Width Then frmMapEditor.Width = (picBack.Width + scrlPicture.Width + 8) * Screen.TwipsPerPixelX
If frmMapEditor.Height > (picBackSelect.Height * Screen.TwipsPerPixelX) + 800 Then frmMapEditor.Height = (picBackSelect.Height * Screen.TwipsPerPixelX) + 800
mnuTileSheet.Enabled = False
frmAttributes.Visible = False
End If
End If
For i = 1 To 3
If i <> Index Then mnuType(i).Checked = False
Next i
End Sub -
call spawnitemslot(5, 6, 2, 1, 3, 4, 7)
5 = not sure -_- <<–---------
6 = item number spawned
4 = x position of item
7 = y position of item
2 = amount of the item spawned
1 = the items durrability
3 = the map the item is spawned on
spawns an item on a map
where the number 5 is it should be Mapitemslot, Ex if you have in your data.ini
MAX_MAP_ITEMS=100 THen the highest mapitemslotnumber would be 100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Function Rand( High, Low)
Quote
Rand(5, 1)
1 = lowest number
5 = highest number
creates a random number inbetween the 2 numbers declared
Was incorrect since 1 was infront and its high, low not low, high
Rand(1, 5)
1 = lowest number
5 = highest number
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Also was wondering how to use Call LoadInternet(index, address) correctly, how exactly would we put the address. would we put it in quotes or as-is? And i was wondering if this was EE only because it dont seem to work on TE. Thanks. -
This is all i want, well of course bug fixes but as long as it can handle them then im cool with whatever you give me :)
-
Im looking to improve upon my scripting by helping others in need. I can install most scripts easily, write differnent scripts like admin off, admin on, a script to give you creator status without having to access the accounts folder and such. Im willing to help anyone who asks for my help so if you need a scripter ask me to help ya.
-
Does anyone have this link… i tried to get to the test and got some freaky results lol... and nerdtest.com didnt seem to be the correct site even though the signature pics say it is lol.
Giant Title
in Q & A
Posted
> Client side,
> open frmEditor_NPC
> Select the scroll bar beside value: 0
> Scroll down in the properties until you see "Max 255"
> Change the max to 50 000
I'm pretty sure the scroll bars have a maximum of around 32,700 about as much as interger data can max at.