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
|