Place at the bottom of the main.txt
' ********************************************
' * Base Script By: Dram // Script By: Cruzn *
' ********************************************

Sub BoatDock(index, sprite, message, color)
If GetPlayerSprite(index) = sprite Then
Call BlockPlayer(index)
Call PlayerMsg(index, "Sorry, this is the entrance.", 1)
Else
Call PutVar("accounts\" & GetPlayerLogin(index) & ".ini " , "CHAR" & GetPlayerCharNum(Index) , "TempSprite" , 0)
Call PutVar("accounts\" & GetPlayerLogin(index) & ".ini " , "CHAR" & GetPlayerCharNum(Index) , "TempSprite" , GetPlayerSprite(index))
Call SetPlayerSprite(index, sprite)
Call PlayerMsg(index, message, color)
Call SendPlayerData(index)
End If
End Sub

' ********************************************
' * Base Script By: Dram // Script By: Cruzn *
' ********************************************

Sub BoatExit(index, sprite, message, color)
If GetPlayerSprite(index) <> sprite Then
Call BlockPlayer(index)
Call PlayerMsg(index, "Sorry, this is the exit.", 1)
Else
Call SetPlayerSprite(index, GetVar("accounts\" & GetPlayerLogin(index) & ".ini", "CHAR" & GetPlayerCharNum(Index), "TempSprite"))
Call PlayerMsg(index, message, color)
Call SendPlayerData(index)
End If
End Sub

Use these codes under ScriptTile Sub

:Examples:
Case 2
Call BoatDock(index, 31, "You set sail across the smooth seas.", 1)
Case 3
Call BoatExit(index, 31, "Your boat docks safely, and you walk off.", 1)

Call BoatDock(index, sprite, "message", color)