Print Page | Close Window

::: Jumping mode :::

Printed From: Mirage Source
Category: Tutorials
Forum Name: Temporary Archive (Read Only)
Forum Discription: Temporary 3.0.3 archive tutorials, will be deleted when converted.
URL: http://ms.shannaracorp.com/backup-forums/forum_posts.asp?TID=188
Printed Date: 20 December 2006 at 5:53pm
Software Version: Web Wiz Forums 8.01 - http://www.webwizforums.com


Topic: ::: Jumping mode :::
Posted By: Sync
Subject: ::: Jumping mode :::
Date Posted: 11 February 2006 at 3:23pm
This will make player jumping (from X : 3 to X : 6 or whatever)

add this code in frmMirage [EDITED] KeyUp


                 If KeyCode = vbKeyF2 Then
                 If GetPlayerMP(MyIndex) < 5 Then
                     AddText "tidak cukup mp.", BrightRed
                 Exit Sub
                 Else
             If Map.Tile(GetPlayerX(MyIndex) - 1 Or 2 Or 3, GetPlayerY(MyIndex) - 1 Or 2 Or 3).Type = TILE_TYPE_BLOCKED Then
                     AddText "Kau tidak mungkin dapat melompati batas ini.", BrightGreen
                 Exit Sub
    Else
             If Map.Tile(GetPlayerX(MyIndex) - 1 Or 2 Or 3, GetPlayerY(MyIndex) - 1 Or 2 Or 3).Type = TILE_TYPE_WARP Then
                     AddText "Kau tidak mungkin dapat melompati batas ini.", BrightGreen
                 Exit Sub
             Else
             If MAX_MAPX = GetPlayerX(MyIndex) + 1 And GetPlayerDir(MyIndex) = DIR_RIGHT Then
                 AddText "Kau tidak mungkin dapat melompati batas ini.", BrightGreen
                 
                     Select Case GetPlayerDir(MyIndex)
                          Case DIR_RIGHT
                          Call SetPlayerX(MyIndex, GetPlayerX(MyIndex) + 1)
                     End Select
                     Exit Sub
             Else
             If MAX_MAPY = GetPlayerY(MyIndex) + 1 And GetPlayerDir(MyIndex) = DIR_DOWN Then
                 AddText "Kau tidak mungkin dapat melompati batas ini.", BrightGreen
                          Select Case GetPlayerDir(MyIndex)
                          Case DIR_DOWN
                          Call SetPlayerY(MyIndex, GetPlayerY(MyIndex) + 1)
                          End Select
                 Exit Sub
             Else
            
                          If MAX_MAPX = GetPlayerX(MyIndex) + 2 And GetPlayerDir(MyIndex) = DIR_RIGHT Then
                 AddText "Kau tidak mungkin dapat melompati batas ini.", BrightGreen
                
                     Select Case GetPlayerDir(MyIndex)
                          Case DIR_RIGHT
                          Call SetPlayerX(MyIndex, GetPlayerX(MyIndex) + 2)
                     End Select
                     Exit Sub
             Else
             If MAX_MAPY = GetPlayerY(MyIndex) + 2 And GetPlayerDir(MyIndex) = DIR_DOWN Then
                 AddText "Kau tidak mungkin dapat melompati batas ini.", BrightGreen
                          Select Case GetPlayerDir(MyIndex)
                          Case DIR_DOWN
                          Call SetPlayerY(MyIndex, GetPlayerY(MyIndex) + 2)
                          End Select
                 Exit Sub
             Else
            
                          If MAX_MAPX = GetPlayerX(MyIndex) + 0 And GetPlayerDir(MyIndex) = DIR_RIGHT Then
                 AddText "Kau tidak mungkin dapat melompati batas ini.", BrightGreen
                
                     Select Case GetPlayerDir(MyIndex)
                          Case DIR_RIGHT
                          Call SetPlayerX(MyIndex, GetPlayerX(MyIndex) + 0)
                     End Select
                     Exit Sub
             Else
             If MAX_MAPY = GetPlayerY(MyIndex) + 0 And GetPlayerDir(MyIndex) = DIR_DOWN Then
                 AddText "Kau tidak mungkin dapat melompati batas ini.", BrightGreen
                          Select Case GetPlayerDir(MyIndex)
                          Case DIR_DOWN
                          Call SetPlayerY(MyIndex, GetPlayerY(MyIndex) + 0)
                          End Select
                 Exit Sub
             Else
             If GetPlayerX(MyIndex) = 1 And GetPlayerDir(MyIndex) = DIR_LEFT Then
                 AddText "Kau tidak mungkin dapat melompati batas ini.", BrightGreen
                 Select Case GetPlayerDir(MyIndex)
                          Case DIR_LEFT
                          Call SetPlayerX(MyIndex, GetPlayerX(MyIndex) - 1)
                          End Select
                 Exit Sub
             Else
             If GetPlayerX(MyIndex) = 2 And GetPlayerDir(MyIndex) = DIR_LEFT Then
                 AddText "Kau tidak mungkin dapat melompati batas ini.", BrightGreen
                 Select Case GetPlayerDir(MyIndex)
                          Case DIR_LEFT
                          Call SetPlayerX(MyIndex, GetPlayerX(MyIndex) - 2)
                          End Select
                 Exit Sub
             Else
             If GetPlayerX(MyIndex) = 3 And GetPlayerDir(MyIndex) = DIR_LEFT Then
                 AddText "Kau tidak mungkin dapat melompati batas ini.", BrightGreen
                 Select Case GetPlayerDir(MyIndex)
                          Case DIR_LEFT
                          Call SetPlayerX(MyIndex, GetPlayerX(MyIndex) - 3)
                          End Select
                 Exit Sub
             Else
             If GetPlayerY(MyIndex) = 1 And GetPlayerDir(MyIndex) = DIR_UP Then
                 AddText "Kau tidak mungkin dapat melompati batas ini.", BrightGreen
                 Select Case GetPlayerDir(MyIndex)
                          Case DIR_UP
                          Call SetPlayerY(MyIndex, GetPlayerY(MyIndex) - 1)
                          End Select
                 Exit Sub
             Else
             If GetPlayerY(MyIndex) = 2 And GetPlayerDir(MyIndex) = DIR_UP Then
                 AddText "Kau tidak mungkin dapat melompati batas ini.", BrightGreen
                 Select Case GetPlayerDir(MyIndex)
                          Case DIR_UP
                          Call SetPlayerY(MyIndex, GetPlayerY(MyIndex) - 2)
                          End Select
                 Exit Sub
             Else
             If GetPlayerY(MyIndex) = 2 And GetPlayerDir(MyIndex) = DIR_UP Then
                 AddText "Kau tidak mungkin dapat melompati batas ini.", BrightGreen
                 Select Case GetPlayerDir(MyIndex)
                          Case DIR_UP
                          Call SetPlayerY(MyIndex, GetPlayerY(MyIndex) - 3)
                          End Select
                 Exit Sub
             Else
                     Select Case GetPlayerDir(MyIndex)
                          Case DIR_UP
                          Call SetPlayerY(MyIndex, GetPlayerY(MyIndex) - 3)
                         
                          Case DIR_DOWN
                          Call SetPlayerY(MyIndex, GetPlayerY(MyIndex) + 3)
                         
                          Case DIR_LEFT
                          Call SetPlayerX(MyIndex, GetPlayerX(MyIndex) - 3)

                          Case DIR_RIGHT
                          Call SetPlayerX(MyIndex, GetPlayerX(MyIndex) + 3)
                         
                     End Select
                 End If
                 End If
             End If
    End If
                     End If
                 End If
             End If
    End If
    End If
    End If
    End If
   
                 End If
                 Call SendData("letsjump" & SEP_CHAR & END_CHAR)
                     frmMirage.shpMP.Width = (((GetPlayerMP(MyIndex) / 100) / (GetPlayerMaxMP(MyIndex) / 100)) * 100)
                     frmMirage.lblMP.Caption = Int(GetPlayerMP(MyIndex) / GetPlayerMaxMP(MyIndex) * 100) & "%"
                 End If
                 End If
                 End If
                 End If


add this code to SERVER handledata


    ' ::::::::::::::::::::::::::::
    ' :: Jumping Request Packet ::
    ' ::::::::::::::::::::::::::::
    If LCase(Parse(0)) = "letsjump" Then
             If MAX_MAPX = GetPlayerX(Index) + 1 And GetPlayerDir(Index) = DIR_RIGHT Then
                 Call PlayerMsg(Index, "Kau tidak mungkin dapat melompati batas ini.", BrightGreen)
                
                     Select Case GetPlayerDir(Index)
                          Case DIR_RIGHT
                          Call SetPlayerX(Index, GetPlayerX(Index) + 1)
                     End Select
                     Exit Sub
             Else
             If MAX_MAPY = GetPlayerY(Index) + 1 And GetPlayerDir(Index) = DIR_DOWN Then
                 Call PlayerMsg(Index, "Kau tidak mungkin dapat melompati batas ini.", BrightGreen)
                          Select Case GetPlayerDir(Index)
                          Case DIR_DOWN
                          Call SetPlayerY(Index, GetPlayerY(Index) + 1)
                          End Select
                 Exit Sub
             Else
            
                          If MAX_MAPX = GetPlayerX(Index) + 2 And GetPlayerDir(Index) = DIR_RIGHT Then
                 Call PlayerMsg(Index, "Kau tidak mungkin dapat melompati batas ini.", BrightGreen)
                
                     Select Case GetPlayerDir(Index)
                          Case DIR_RIGHT
                          Call SetPlayerX(Index, GetPlayerX(Index) + 2)
                     End Select
                     Exit Sub
             Else
             If MAX_MAPY = GetPlayerY(Index) + 2 And GetPlayerDir(Index) = DIR_DOWN Then
                 Call PlayerMsg(Index, "Kau tidak mungkin dapat melompati batas ini.", BrightGreen)
                          Select Case GetPlayerDir(Index)
                          Case DIR_DOWN
                          Call SetPlayerY(Index, GetPlayerY(Index) + 2)
                          End Select
                 Exit Sub
             Else
            
                          If MAX_MAPX = GetPlayerX(Index) + 0 And GetPlayerDir(Index) = DIR_RIGHT Then
                 Call PlayerMsg(Index, "Kau tidak mungkin dapat melompati batas ini.", BrightGreen)
                
                     Select Case GetPlayerDir(Index)
                          Case DIR_RIGHT
                          Call SetPlayerX(Index, GetPlayerX(Index) + 0)
                     End Select
                     Exit Sub
             Else
             If MAX_MAPY = GetPlayerY(Index) + 0 And GetPlayerDir(Index) = DIR_DOWN Then
                 Call PlayerMsg(Index, "Kau tidak mungkin dapat melompati batas ini.", BrightGreen)
                          Select Case GetPlayerDir(Index)
                          Case DIR_DOWN
                          Call SetPlayerY(Index, GetPlayerY(Index) + 0)
                          End Select
                 Exit Sub
             Else
             If GetPlayerX(Index) = 1 And GetPlayerDir(Index) = DIR_LEFT Then
                 Call PlayerMsg(Index, "Kau tidak mungkin dapat melompati batas ini.", BrightGreen)
                 Select Case GetPlayerDir(Index)
                          Case DIR_LEFT
                          Call SetPlayerX(Index, GetPlayerX(Index) - 1)
                          End Select
                 Exit Sub
             Else
             If GetPlayerX(Index) = 2 And GetPlayerDir(Index) = DIR_LEFT Then
                 Call PlayerMsg(Index, "Kau tidak mungkin dapat melompati batas ini.", BrightGreen)
                 Select Case GetPlayerDir(Index)
                          Case DIR_LEFT
                          Call SetPlayerX(Index, GetPlayerX(Index) - 2)
                          End Select
                 Exit Sub
             Else
             If GetPlayerX(Index) = 3 And GetPlayerDir(Index) = DIR_LEFT Then
                 Call PlayerMsg(Index, "Kau tidak mungkin dapat melompati batas ini.", BrightGreen)
                 Select Case GetPlayerDir(Index)
                          Case DIR_LEFT
                          Call SetPlayerX(Index, GetPlayerX(Index) - 3)
                          End Select
                 Exit Sub
             Else
             If GetPlayerY(Index) = 1 And GetPlayerDir(Index) = DIR_UP Then
                 Call PlayerMsg(Index, "Kau tidak mungkin dapat melompati batas ini.", BrightGreen)
                 Select Case GetPlayerDir(Index)
                          Case DIR_UP
                          Call SetPlayerY(Index, GetPlayerY(Index) - 1)
                          End Select
                 Exit Sub
             Else
             If GetPlayerY(Index) = 2 And GetPlayerDir(Index) = DIR_UP Then
                 Call PlayerMsg(Index, "Kau tidak mungkin dapat melompati batas ini.", BrightGreen)
                 Select Case GetPlayerDir(Index)
                          Case DIR_UP
                          Call SetPlayerY(Index, GetPlayerY(Index) - 2)
                          End Select
                 Exit Sub
             Else
             If GetPlayerY(Index) = 2 And GetPlayerDir(Index) = DIR_UP Then
                 Call PlayerMsg(Index, "Kau tidak mungkin dapat melompati batas ini.", BrightGreen)
                 Select Case GetPlayerDir(Index)
                          Case DIR_UP
                          Call SetPlayerY(Index, GetPlayerY(Index) - 3)
                          End Select
                 Exit Sub
             Else
                     Select Case GetPlayerDir(Index)
                          Case DIR_UP
                          Call SetPlayerY(Index, GetPlayerY(Index) - 3)
                         
                          Case DIR_DOWN
                          Call SetPlayerY(Index, GetPlayerY(Index) + 3)
                         
                          Case DIR_LEFT
                          Call SetPlayerX(Index, GetPlayerX(Index) - 3)

                          Case DIR_RIGHT
                          Call SetPlayerX(Index, GetPlayerX(Index) + 3)
                         
                     End Select
                 End If
                 End If
             End If
    End If
                     End If
                 End If
             End If
    End If
    End If
    End If
    End If
   
                 End If
                     Call SetPlayerMP(Index, GetPlayerMP(Index) - 5)
                     Call SendMP(Index)
        Exit Sub
    End If

i used 5 Sp everytime player jumping.
i used F2 for jumping or u can create jumping command like this :

' Reques Loncat
        If LCase(Mid(MyText, 1, 6)) = "/jump" Then
             Call SendData("letsjump" & SEP_CHAR & END_CHAR)
             MyText = ""
             Exit Sub
        End If

u can change "Kau tidak mungkin dapat melompati batas ini." to "You cannot blabla" and "tidak cukup mp" to "not enogh mp".
post if there is bugs, or something i miss



Print Page | Close Window

Bulletin Board Software by Web Wiz Forums version 8.01 - http://www.webwizforums.com
Copyright ©2001-2006 Web Wiz Guide - http://www.webwizguide.info