Mirage Source

Free ORPG making software.
It is currently Thu Jan 01, 2026 3:19 pm

All times are UTC




Post new topic Reply to topic  [ 14 posts ] 
Author Message
 Post subject: Door Attribute Tile
PostPosted: Thu Jun 01, 2006 9:29 pm 
Offline
Tutorial Bot
User avatar

Joined: Thu Mar 22, 2007 5:23 pm
Posts: 49
Author: funkynut
Difficulty: 1/5

This will make door tile that acts like a key tile surrounded by key open tiles.

:: SERVER & CLIENT SIDE ::
In modTypes, add:
Code:
Public Const TILE_TYPE_DOOR = 16


:: SERVER SIDE ::
In modGameLogic, in sub PlayerMove, find:
Code:
    Select Case Dir
        Case DIR_UP
             ' Check to make sure not outside of boundries
             If GetPlayerY(Index) > 0 Then
                 ' Check to make sure that the tile is walkable
                 If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index) - 1).Type <> TILE_TYPE_BLOCKED Then
                     ' Check to see if the tile is a key and if it is check if its opened
                     If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index) - 1).Type <> TILE_TYPE_KEY Or (Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index) - 1).Type = TILE_TYPE_KEY And TempTile(GetPlayerMap(Index)).DoorOpen(GetPlayerX(Index), GetPlayerY(Index) - 1) = YES) Then
           
                               Call SetPlayerY(Index, GetPlayerY(Index) - 1)
                               
                               packet = "PLAYERMOVE" & SEP_CHAR & Index & SEP_CHAR & GetPlayerX(Index) & SEP_CHAR & GetPlayerY(Index) & SEP_CHAR & GetPlayerDir(Index) & SEP_CHAR & Movement & SEP_CHAR & END_CHAR
                               Call SendDataToMapBut(Index, GetPlayerMap(Index), packet)
                               Moved = YES
                         
                     End If
                 End If
             Else
                 ' Check to see if we can move them to the another map
                 If Map(GetPlayerMap(Index)).Up > 0 Then
                     Call PlayerWarp(Index, Map(GetPlayerMap(Index)).Up, GetPlayerX(Index), MAX_MAPY)
                     Moved = YES
                 End If
             End If
                     
        {..DIR_LEFT and DIR_DOWN stuff were here.}
       
        Case DIR_RIGHT
             ' Check to make sure not outside of boundries
             If GetPlayerX(Index) < MAX_MAPX Then
                 ' Check to make sure that the tile is walkable
                 If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index) + 1, GetPlayerY(Index)).Type <> TILE_TYPE_BLOCKED Then
                     ' Check to see if the tile is a key and if it is check if its opened
                     If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index) + 1, GetPlayerY(Index)).Type <> TILE_TYPE_KEY Or (Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index) + 1, GetPlayerY(Index)).Type = TILE_TYPE_KEY And TempTile(GetPlayerMap(Index)).DoorOpen(GetPlayerX(Index) + 1, GetPlayerY(Index)) = YES) Then
                           
                               Call SetPlayerX(Index, GetPlayerX(Index) + 1)
                               
                               packet = "PLAYERMOVE" & SEP_CHAR & Index & SEP_CHAR & GetPlayerX(Index) & SEP_CHAR & GetPlayerY(Index) & SEP_CHAR & GetPlayerDir(Index) & SEP_CHAR & Movement & SEP_CHAR & END_CHAR
                               Call SendDataToMapBut(Index, GetPlayerMap(Index), packet)
                               Moved = YES
                     
                     End If
                 End If
             Else
                 ' Check to see if we can move them to the another map
                 If Map(GetPlayerMap(Index)).Right > 0 Then
                     Call PlayerWarp(Index, Map(GetPlayerMap(Index)).Right, 0, GetPlayerY(Index))
                     Moved = YES
                 End If
             End If
    End Select

Replace with:
Code:
    Select Case Dir
        Case DIR_UP
             ' Check to make sure not outside of boundries
             If GetPlayerY(Index) > 0 Then
                 ' Check to make sure that the tile is walkable
                 If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index) - 1).Type <> TILE_TYPE_BLOCKED Then
                     ' Check to see if the tile is a key and if it is check if its opened
                     If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index) - 1).Type <> TILE_TYPE_KEY Or (Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index) - 1).Type = TILE_TYPE_KEY And TempTile(GetPlayerMap(Index)).DoorOpen(GetPlayerX(Index), GetPlayerY(Index) - 1) = YES) Then
                           ' Check to see if the tile is a door and if it is check if its opened
                           If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index) - 1, GetPlayerY(Index)).Type <> TILE_TYPE_DOOR Or (Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index) - 1, GetPlayerY(Index)).Type = TILE_TYPE_DOOR And TempTile(GetPlayerMap(Index)).DoorOpen(GetPlayerX(Index) - 1, GetPlayerY(Index)) = YES) Then
                               Call SetPlayerY(Index, GetPlayerY(Index) - 1)
                               
                               packet = "PLAYERMOVE" & SEP_CHAR & Index & SEP_CHAR & GetPlayerX(Index) & SEP_CHAR & GetPlayerY(Index) & SEP_CHAR & GetPlayerDir(Index) & SEP_CHAR & Movement & SEP_CHAR & END_CHAR
                               Call SendDataToMapBut(Index, GetPlayerMap(Index), packet)
                               Moved = YES
                           End If
                     End If
                 End If
             Else
                 ' Check to see if we can move them to the another map
                 If Map(GetPlayerMap(Index)).Up > 0 Then
                     Call PlayerWarp(Index, Map(GetPlayerMap(Index)).Up, GetPlayerX(Index), MAX_MAPY)
                     Moved = YES
                 End If
             End If
                     
        Case DIR_DOWN
             ' Check to make sure not outside of boundries
             If GetPlayerY(Index) < MAX_MAPY Then
                 ' Check to make sure that the tile is walkable
                 If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index) + 1).Type <> TILE_TYPE_BLOCKED Then
                     ' Check to see if the tile is a key and if it is check if its opened
                     If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index) + 1).Type <> TILE_TYPE_KEY Or (Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index) + 1).Type = TILE_TYPE_KEY And TempTile(GetPlayerMap(Index)).DoorOpen(GetPlayerX(Index), GetPlayerY(Index) + 1) = YES) Then
                           ' Check to see if the tile is a door and if it is check if its opened
                           If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index) + 1).Type <> TILE_TYPE_DOOR Or (Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index) + 1).Type = TILE_TYPE_DOOR And TempTile(GetPlayerMap(Index)).DoorOpen(GetPlayerX(Index), GetPlayerY(Index) + 1) = YES) Then
                               Call SetPlayerY(Index, GetPlayerY(Index) + 1)
                               
                               packet = "PLAYERMOVE" & SEP_CHAR & Index & SEP_CHAR & GetPlayerX(Index) & SEP_CHAR & GetPlayerY(Index) & SEP_CHAR & GetPlayerDir(Index) & SEP_CHAR & Movement & SEP_CHAR & END_CHAR
                               Call SendDataToMapBut(Index, GetPlayerMap(Index), packet)
                               Moved = YES
                           End If
                     End If
                 End If
             Else
                 ' Check to see if we can move them to the another map
                 If Map(GetPlayerMap(Index)).Down > 0 Then
                     Call PlayerWarp(Index, Map(GetPlayerMap(Index)).Down, GetPlayerX(Index), 0)
                     Moved = YES
                 End If
             End If
       
        Case DIR_LEFT
             ' Check to make sure not outside of boundries
             If GetPlayerX(Index) > 0 Then
                 ' Check to make sure that the tile is walkable
                 If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index) - 1, GetPlayerY(Index)).Type <> TILE_TYPE_BLOCKED Then
                     ' Check to see if the tile is a key and if it is check if its opened
                     If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index) - 1, GetPlayerY(Index)).Type <> TILE_TYPE_KEY Or (Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index) - 1, GetPlayerY(Index)).Type = TILE_TYPE_KEY And TempTile(GetPlayerMap(Index)).DoorOpen(GetPlayerX(Index) - 1, GetPlayerY(Index)) = YES) Then
                           ' Check to see if the tile is a door and if it is check if its opened
                           If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index - x), GetPlayerY(Index)).Type <> TILE_TYPE_DOOR Or (Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Type = TILE_TYPE_DOOR And TempTile(GetPlayerMap(Index)).DoorOpen(GetPlayerX(Index) - 1, GetPlayerY(Index) + 1) = YES) Then
                               Call SetPlayerX(Index, GetPlayerX(Index) - 1)
                               
                               packet = "PLAYERMOVE" & SEP_CHAR & Index & SEP_CHAR & GetPlayerX(Index) & SEP_CHAR & GetPlayerY(Index) & SEP_CHAR & GetPlayerDir(Index) & SEP_CHAR & Movement & SEP_CHAR & END_CHAR
                               Call SendDataToMapBut(Index, GetPlayerMap(Index), packet)
                               Moved = YES
                           End If
                     End If
                 End If
             Else
                 ' Check to see if we can move them to the another map
                 If Map(GetPlayerMap(Index)).Left > 0 Then
                     Call PlayerWarp(Index, Map(GetPlayerMap(Index)).Left, MAX_MAPX, GetPlayerY(Index))
                     Moved = YES
                 End If
             End If
       
        Case DIR_RIGHT
             ' Check to make sure not outside of boundries
             If GetPlayerX(Index) < MAX_MAPX Then
                 ' Check to make sure that the tile is walkable
                 If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index) + 1, GetPlayerY(Index)).Type <> TILE_TYPE_BLOCKED Then
                     ' Check to see if the tile is a key and if it is check if its opened
                     If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index) + 1, GetPlayerY(Index)).Type <> TILE_TYPE_KEY Or (Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index) + 1, GetPlayerY(Index)).Type = TILE_TYPE_KEY And TempTile(GetPlayerMap(Index)).DoorOpen(GetPlayerX(Index) + 1, GetPlayerY(Index)) = YES) Then
                           ' Check to see if the tile is a door and if it is check if its opened
                           If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index) + 1, GetPlayerY(Index)).Type <> TILE_TYPE_DOOR Or (Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index) + 1, GetPlayerY(Index)).Type = TILE_TYPE_DOOR And TempTile(GetPlayerMap(Index)).DoorOpen(GetPlayerX(Index) + 1, GetPlayerY(Index)) = YES) Then
                               Call SetPlayerX(Index, GetPlayerX(Index) + 1)
                               
                               packet = "PLAYERMOVE" & SEP_CHAR & Index & SEP_CHAR & GetPlayerX(Index) & SEP_CHAR & GetPlayerY(Index) & SEP_CHAR & GetPlayerDir(Index) & SEP_CHAR & Movement & SEP_CHAR & END_CHAR
                               Call SendDataToMapBut(Index, GetPlayerMap(Index), packet)
                               Moved = YES
                           End If
                     End If
                 End If
             Else
                 ' Check to see if we can move them to the another map
                 If Map(GetPlayerMap(Index)).Right > 0 Then
                     Call PlayerWarp(Index, Map(GetPlayerMap(Index)).Right, 0, GetPlayerY(Index))
                     Moved = YES
                 End If
             End If
    End Select

At the bottom of Sub PlayerMove, after the key open stuff, add:
Code:
    '  ///////////////////////
    ' //check for door tile//
    '///////////////////////
    x = GetPlayerX(Index)
    y = GetPlayerY(Index)
   
    'check if doors on players left
    If Map(GetPlayerMap(Index)).Tile(x - 1, y).Type = TILE_TYPE_DOOR And TempTile(GetPlayerMap(Index)).DoorOpen(x - 1, y) = NO Then
        TempTile(GetPlayerMap(Index)).DoorOpen(x - 1, y) = YES
        TempTile(GetPlayerMap(Index)).DoorTimer = GetTickCount
       
        Call SendDataToMap(GetPlayerMap(Index), "MAPKEY" & SEP_CHAR & x - 1 & SEP_CHAR & y & SEP_CHAR & 1 & SEP_CHAR & END_CHAR)
        Call MapMsg(GetPlayerMap(Index), "A door has been unlocked.", White)
    End If
   
    'check if doors on players right
    If Map(GetPlayerMap(Index)).Tile(x + 1, y).Type = TILE_TYPE_DOOR And TempTile(GetPlayerMap(Index)).DoorOpen(x + 1, y) = NO Then
        TempTile(GetPlayerMap(Index)).DoorOpen(x + 1, y) = YES
        TempTile(GetPlayerMap(Index)).DoorTimer = GetTickCount
       
        Call SendDataToMap(GetPlayerMap(Index), "MAPKEY" & SEP_CHAR & x + 1 & SEP_CHAR & y & SEP_CHAR & 1 & SEP_CHAR & END_CHAR)
        Call MapMsg(GetPlayerMap(Index), "A door has been unlocked.", White)
    End If
   
    'check if doors above player
    If Map(GetPlayerMap(Index)).Tile(x, y - 1).Type = TILE_TYPE_DOOR And TempTile(GetPlayerMap(Index)).DoorOpen(x, y - 1) = NO Then
        TempTile(GetPlayerMap(Index)).DoorOpen(x, y - 1) = YES
        TempTile(GetPlayerMap(Index)).DoorTimer = GetTickCount
       
        Call SendDataToMap(GetPlayerMap(Index), "MAPKEY" & SEP_CHAR & x & SEP_CHAR & y - 1 & SEP_CHAR & 1 & SEP_CHAR & END_CHAR)
        Call MapMsg(GetPlayerMap(Index), "A door has been unlocked.", White)
    End If
   
    'check of doors below player
    If Map(GetPlayerMap(Index)).Tile(x, y + 1).Type = TILE_TYPE_DOOR And TempTile(GetPlayerMap(Index)).DoorOpen(x, y + 1) = NO Then
        TempTile(GetPlayerMap(Index)).DoorOpen(x, y + 1) = YES
        TempTile(GetPlayerMap(Index)).DoorTimer = GetTickCount
        Call SendDataToMap(GetPlayerMap(Index), "MAPKEY" & SEP_CHAR & x & SEP_CHAR & y + 1 & SEP_CHAR & 1 & SEP_CHAR & END_CHAR)
        Call MapMsg(GetPlayerMap(Index), "A door has been unlocked.", White)
    End If

In modGeneral, in sub GameAI, find:
Code:
If Map(y).Tile(x1, y1).Type = TILE_TYPE_KEY

Replace with:
Code:
If Map(y).Tile(x1, y1).Type = TILE_TYPE_KEY or tile_type_door


:: CLIENT SIDE ::
In modGameLogic, in Sub GameLoop, find:
Code:
If .Type = TILE_TYPE_MESSAGE Then Call DrawText(TexthDC, x * PIC_X + 8, y * PIC_Y + 8, "M", QBColor(Yellow))

Beneath it, add:
Code:
If .Type = TILE_TYPE_DOOR Then Call DrawText(TexthDC, x * PIC_X + 8, y * PIC_Y + 8, "D", QBColor(Pink))

Now, replace the entire CanMove function with:
Code:
Function CanMove() As Boolean
Dim i As Long, d As Long

    CanMove = True
   
    ' Make sure they aren't trying to move when they are already moving
    If Player(MyIndex).Moving <> 0 Then
        CanMove = False
        Exit Function
    End If
   
    ' Make sure they haven't just casted a spell
    If Player(MyIndex).CastedSpell = YES Then
        If GetTickCount > Player(MyIndex).AttackTimer + 1000 Then
             Player(MyIndex).CastedSpell = NO
        Else
             CanMove = False
             Exit Function
        End If
    End If
   
    d = GetPlayerDir(MyIndex)
    If DirUp Then
        Call SetPlayerDir(MyIndex, DIR_UP)
       
        ' Check to see if they are trying to go out of bounds
        If GetPlayerY(MyIndex) > 0 Then
             ' Check to see if the map tile is blocked or not
             If Map.Tile(GetPlayerX(MyIndex), GetPlayerY(MyIndex) - 1).Type = TILE_TYPE_BLOCKED Then
                 CanMove = False
                 
                 ' Set the new direction if they weren't facing that direction
                 If d <> DIR_UP Then
                     Call SendPlayerDir
                 End If
                 Exit Function
             End If
                                             
             ' Check to see if the key door is open or not
             If Map.Tile(GetPlayerX(MyIndex), GetPlayerY(MyIndex) - 1).Type = TILE_TYPE_KEY Or Map.Tile(GetPlayerX(MyIndex), GetPlayerY(MyIndex) - 1).Type = TILE_TYPE_DOOR Then
                 ' This actually checks if its open or not
                 If TempTile(GetPlayerX(MyIndex), GetPlayerY(MyIndex) - 1).DoorOpen = NO Then
                     CanMove = False
                 
                     ' Set the new direction if they weren't facing that direction
                     If d <> DIR_UP Then
                           Call SendPlayerDir
                     End If
                     Exit Function
                 End If
             End If
             
             ' Check to see if a player is already on that tile
             For i = 1 To MAX_PLAYERS
                 If IsPlaying(i) Then
                     If GetPlayerMap(i) = GetPlayerMap(MyIndex) Then
                           If (GetPlayerX(i) = GetPlayerX(MyIndex)) And (GetPlayerY(i) = GetPlayerY(MyIndex) - 1) Then
                               CanMove = False
                           
                               ' Set the new direction if they weren't facing that direction
                               If d <> DIR_UP Then
                                   Call SendPlayerDir
                               End If
                               Exit Function
                           End If
                     End If
                 End If
             Next i
       
             ' Check to see if a npc is already on that tile
             For i = 1 To MAX_MAP_NPCS
                 If MapNpc(i).Num > 0 Then
                     If (MapNpc(i).x = GetPlayerX(MyIndex)) And (MapNpc(i).y = GetPlayerY(MyIndex) - 1) Then
                           CanMove = False
                           
                           ' Set the new direction if they weren't facing that direction
                           If d <> DIR_UP Then
                               Call SendPlayerDir
                           End If
                           Exit Function
                     End If
                 End If
             Next i
        Else
             ' Check if they can warp to a new map
             If Map.Up > 0 Then
                 Call SendPlayerRequestNewMap
                 GettingMap = True
             End If
             CanMove = False
             Exit Function
        End If
    End If
             
    If DirDown Then
        Call SetPlayerDir(MyIndex, DIR_DOWN)
       
        ' Check to see if they are trying to go out of bounds
        If GetPlayerY(MyIndex) < MAX_MAPY Then
             ' Check to see if the map tile is blocked or not
             If Map.Tile(GetPlayerX(MyIndex), GetPlayerY(MyIndex) + 1).Type = TILE_TYPE_BLOCKED Then
                 CanMove = False
                 
                 ' Set the new direction if they weren't facing that direction
                 If d <> DIR_DOWN Then
                     Call SendPlayerDir
                 End If
                 Exit Function
             End If
                                             
             ' Check to see if the key door is open or not
             If Map.Tile(GetPlayerX(MyIndex), GetPlayerY(MyIndex) + 1).Type = TILE_TYPE_KEY Or Map.Tile(GetPlayerX(MyIndex), GetPlayerY(MyIndex) + 1).Type = TILE_TYPE_DOOR Then
                 ' This actually checks if its open or not
                 If TempTile(GetPlayerX(MyIndex), GetPlayerY(MyIndex) + 1).DoorOpen = NO Then
                     CanMove = False
                 
                     ' Set the new direction if they weren't facing that direction
                     If d <> DIR_DOWN Then
                           Call SendPlayerDir
                     End If
                     Exit Function
                 End If
             End If
             
             ' Check to see if a player is already on that tile
             For i = 1 To MAX_PLAYERS
                 If IsPlaying(i) And GetPlayerMap(i) = GetPlayerMap(MyIndex) Then
                     If (GetPlayerX(i) = GetPlayerX(MyIndex)) And (GetPlayerY(i) = GetPlayerY(MyIndex) + 1) Then
                           CanMove = False
                           
                           ' Set the new direction if they weren't facing that direction
                           If d <> DIR_DOWN Then
                               Call SendPlayerDir
                           End If
                           Exit Function
                     End If
                 End If
             Next i
             
             ' Check to see if a npc is already on that tile
             For i = 1 To MAX_MAP_NPCS
                 If MapNpc(i).Num > 0 Then
                     If (MapNpc(i).x = GetPlayerX(MyIndex)) And (MapNpc(i).y = GetPlayerY(MyIndex) + 1) Then
                           CanMove = False
                           
                           ' Set the new direction if they weren't facing that direction
                           If d <> DIR_DOWN Then
                               Call SendPlayerDir
                           End If
                           Exit Function
                     End If
                 End If
             Next i
        Else
             ' Check if they can warp to a new map
             If Map.Down > 0 Then
                 Call SendPlayerRequestNewMap
                 GettingMap = True
             End If
             CanMove = False
             Exit Function
        End If
    End If
                 
    If DirLeft Then
        Call SetPlayerDir(MyIndex, DIR_LEFT)
       
        ' Check to see if they are trying to go out of bounds
        If GetPlayerX(MyIndex) > 0 Then
             ' Check to see if the map tile is blocked or not
             If Map.Tile(GetPlayerX(MyIndex) - 1, GetPlayerY(MyIndex)).Type = TILE_TYPE_BLOCKED Then
                 CanMove = False
                 
                 ' Set the new direction if they weren't facing that direction
                 If d <> DIR_LEFT Then
                     Call SendPlayerDir
                 End If
                 Exit Function
             End If
                                             
             ' Check to see if the key door is open or not
             If Map.Tile(GetPlayerX(MyIndex) - 1, GetPlayerY(MyIndex)).Type = TILE_TYPE_KEY Or Map.Tile(GetPlayerX(MyIndex) - 1, GetPlayerY(MyIndex)).Type = TILE_TYPE_DOOR Then
                 ' This actually checks if its open or not
                 If TempTile(GetPlayerX(MyIndex) - 1, GetPlayerY(MyIndex)).DoorOpen = NO Then
                     CanMove = False
                     
                     ' Set the new direction if they weren't facing that direction
                     If d <> DIR_LEFT Then
                           Call SendPlayerDir
                     End If
                     Exit Function
                 End If
             End If
             
             ' Check to see if a player is already on that tile
             For i = 1 To MAX_PLAYERS
                 If IsPlaying(i) And GetPlayerMap(i) = GetPlayerMap(MyIndex) Then
                     If (GetPlayerX(i) = GetPlayerX(MyIndex) - 1) And (GetPlayerY(i) = GetPlayerY(MyIndex)) Then
                           CanMove = False
                           
                           ' Set the new direction if they weren't facing that direction
                           If d <> DIR_LEFT Then
                               Call SendPlayerDir
                           End If
                           Exit Function
                     End If
                 End If
             Next i
       
             ' Check to see if a npc is already on that tile
             For i = 1 To MAX_MAP_NPCS
                 If MapNpc(i).Num > 0 Then
                     If (MapNpc(i).x = GetPlayerX(MyIndex) - 1) And (MapNpc(i).y = GetPlayerY(MyIndex)) Then
                           CanMove = False
                           
                           ' Set the new direction if they weren't facing that direction
                           If d <> DIR_LEFT Then
                               Call SendPlayerDir
                           End If
                           Exit Function
                     End If
                 End If
             Next i
        Else
             ' Check if they can warp to a new map
             If Map.Left > 0 Then
                 Call SendPlayerRequestNewMap
                 GettingMap = True
             End If
             CanMove = False
             Exit Function
        End If
    End If
       
    If DirRight Then
        Call SetPlayerDir(MyIndex, DIR_RIGHT)
       
        ' Check to see if they are trying to go out of bounds
        If GetPlayerX(MyIndex) < MAX_MAPX Then
             ' Check to see if the map tile is blocked or not
             If Map.Tile(GetPlayerX(MyIndex) + 1, GetPlayerY(MyIndex)).Type = TILE_TYPE_BLOCKED Then
                 CanMove = False
                 
                 ' Set the new direction if they weren't facing that direction
                 If d <> DIR_RIGHT Then
                     Call SendPlayerDir
                 End If
                 Exit Function
             End If
                                             
             ' Check to see if the key door is open or not
             If Map.Tile(GetPlayerX(MyIndex) + 1, GetPlayerY(MyIndex)).Type = TILE_TYPE_KEY Or Map.Tile(GetPlayerX(MyIndex) + 1, GetPlayerY(MyIndex)).Type = TILE_TYPE_DOOR Then
                 ' This actually checks if its open or not
                 If TempTile(GetPlayerX(MyIndex) + 1, GetPlayerY(MyIndex)).DoorOpen = NO Then
                     CanMove = False
                     
                     ' Set the new direction if they weren't facing that direction
                     If d <> DIR_RIGHT Then
                           Call SendPlayerDir
                     End If
                     Exit Function
                 End If
             End If
             
             ' Check to see if a player is already on that tile
             For i = 1 To MAX_PLAYERS
                 If IsPlaying(i) And GetPlayerMap(i) = GetPlayerMap(MyIndex) Then
                     If (GetPlayerX(i) = GetPlayerX(MyIndex) + 1) And (GetPlayerY(i) = GetPlayerY(MyIndex)) Then
                           CanMove = False
                           
                           ' Set the new direction if they weren't facing that direction
                           If d <> DIR_RIGHT Then
                               Call SendPlayerDir
                           End If
                           Exit Function
                     End If
                 End If
             Next i
       
             ' Check to see if a npc is already on that tile
             For i = 1 To MAX_MAP_NPCS
                 If MapNpc(i).Num > 0 Then
                     If (MapNpc(i).x = GetPlayerX(MyIndex) + 1) And (MapNpc(i).y = GetPlayerY(MyIndex)) Then
                           CanMove = False
                           
                           ' Set the new direction if they weren't facing that direction
                           If d <> DIR_RIGHT Then
                               Call SendPlayerDir
                           End If
                           Exit Function
                     End If
                 End If
             Next i
        Else
             ' Check if they can warp to a new map
             If Map.Right > 0 Then
                 Call SendPlayerRequestNewMap
                 GettingMap = True
             End If
             CanMove = False
             Exit Function
        End If
    End If
End Function

Find:
Code:
                     If frmMirage.optKeyOpen.Value = True Then
                           .Type = TILE_TYPE_KEYOPEN
                           .Data1 = KeyOpenEditorX
                           .Data2 = KeyOpenEditorY
                           .Data3 = 0
                     End If

Beneath it, add:
Code:
                  If frmMirage.Optdoor.Value = True Then
                           .Type = TILE_TYPE_DOOR
                           .Data1 = 0
                           .Data2 = 0
                           .Data3 = 0
                     End If

Finally, in the map editor add an option button called optDoor and you're finished.


Top
 Profile  
 
 Post subject: Re: Door Attribute Tile
PostPosted: Sun Dec 16, 2007 8:34 pm 
Offline
Pro
User avatar

Joined: Thu Dec 14, 2006 3:20 am
Posts: 495
Location: California
Google Talk: [email protected]
Holy shit, has anyone actually looked at this tutorial?

Look at this line, for deciding whether you can walk into a door or not:
Code:
If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index - x), GetPlayerY(Index)).Type <> TILE_TYPE_DOOR Or (Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Type = TILE_TYPE_DOOR And TempTile(GetPlayerMap(Index)).DoorOpen(GetPlayerX(Index) - 1, GetPlayerY(Index) + 1) = YES) Then


GetPlayerX(Index - x)?
It should be GetPlayerX(Index) - 1

The way he had it is checking an index lower than yours, to whatever the hell x was.
then just after it..

Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Type

That's checking if you're standing ON a door.

Tons of them are messed up, the direction up ones are checking the X variables instead of Y..


Top
 Profile  
 
 Post subject: Re: Door Attribute Tile
PostPosted: Tue Nov 02, 2021 7:12 am 
Offline
Mirage Source Lover

Joined: Sun Jul 04, 2021 4:04 am
Posts: 559305
Econ181.8BettshutTotaDigiEmmaAnilInclFredHarrPROMTescConcWilhewelPensCantTescDanzSebaJohnChar
KareNoraPaprStevBillStracontXVIIGeorStevJacqBobbFleuPatrGiveXIIIRichDiadRussSideFirsCharKiss
BrenJeanWindLoewRecoVictChenDeatKimoGillFOREGammTryiVoltDrBrIstvRichCollAlexEricCollModeLeve
ArktDynaXVIIJameSylvJorgSelaNoraTimeWindMollSettELEGZoneNBRDRickOZONMeetFuxiRusiSpacXVIIFuxi
FuxiMooddiamClaqZoneZoneJeweZoneZoneJillZoneZoneZoneZoneZoneXVIIMichZoneZoneJeweAlbeJeanPier
ZoneCosmPJMehandMettKronSamsCataBookSylvEnglStevTexaWantPolaYPenSonsAddiBlueRACISpanmedifolk
SonsAeroCreaPianBoomLegeWarhVolkEnglWindWinxRowefrieMarcFrisMastWebeTaleJewePrinIntrColdMcCa
actiGeofXVIIXVIIXVIIFrauJuleEmilSibeCharBriaNikoJessDreaBeatBonuNencLIVEStevInteMartCollSony
onliVIIIToyoNelsABBYMilaAlphWindPlayXVIIPhilRiahGrahKarlMartHeidRobeHypnWindSinsSilvhandhand
handWindLindJasmFantDigiBuddThisBodiTakeTheyGranSliptuchkasCompAstr


Top
 Profile  
 
 Post subject: Re: Door Attribute Tile
PostPosted: Fri Feb 18, 2022 12:32 am 
Offline
Mirage Source Lover

Joined: Sun Jul 04, 2021 4:04 am
Posts: 559305
XVII159.6BettraysBonuAlfrWindRainPercWhatJavaSixtAtlaWernErneGinaTescUnitAgneEllaMarcAlanMirc
MeniChihTescGyorBreaLondcompSigmDougFitnIntrDeadWeihMangNearcredPureTaftFrieHerdDiscLewiGill
FredJeanspliThomLittDeweWindCircHarpJohaWillWillSujoAuguPierJuleLarrPaliPoulThanMariWintAnam
MariGiocGeorEdgaBuddELEGELEGRobeJuliSmarMaxiRaceELEGModeDaviProdPierXXIIArtsRHINCockZoneArts
ArtsMargFuxiRoseZoneZoneTogeZoneZoneUnchdiamZoneZoneZoneMiyoHistXVIIZoneZoneNokiXVIIZoneZone
ZoneMadeAngeRussSterRomaSamsCataBookFantWinfWindAnimMercDaliLabaFlipTickMystPremPatiOxycElec
bestCreaTrefKiriFiresensPorsKathGreaJeweBeifPhilsupeSalvAdvaStarNottWiFiXVIIHannParkGITSIntr
FantStefStenDaviCorbJohnClosMoguHypeWaltCareHoliSellLiyaLifeFormremifilmvideMarsOstrKokoSand
XVIIMartApplThomClanHangbestRazeRobeMinsSuffWhatLEGOKurtMarsOuveOutlTimeSadiLindRichRussRuss
RussbonuAndrLoveDiagfirsBuddimpoLisaRobeWelfMichXVIItuchkasStamAstr


Top
 Profile  
 
 Post subject: Re: Door Attribute Tile
PostPosted: Tue Mar 15, 2022 7:16 pm 
Offline
Mirage Source Lover

Joined: Sun Jul 04, 2021 4:04 am
Posts: 559305
http://audiobookkeeper.ruhttp://cottagenet.ruhttp://eyesvision.ruhttp://eyesvisions.comhttp://factoringfee.ruhttp://filmzones.ruhttp://gadwall.ruhttp://gaffertape.ruhttp://gageboard.ruhttp://gagrule.ruhttp://gallduct.ruhttp://galvanometric.ruhttp://gangforeman.ruhttp://gangwayplatform.ruhttp://garbagechute.ruhttp://gardeningleave.ruhttp://gascautery.ruhttp://gashbucket.ruhttp://gasreturn.ruhttp://gatedsweep.ruhttp://gaugemodel.ruhttp://gaussianfilter.ruhttp://gearpitchdiameter.ru
http://geartreating.ruhttp://generalizedanalysis.ruhttp://generalprovisions.ruhttp://geophysicalprobe.ruhttp://geriatricnurse.ruhttp://getintoaflap.ruhttp://getthebounce.ruhttp://habeascorpus.ruhttp://habituate.ruhttp://hackedbolt.ruhttp://hackworker.ruhttp://hadronicannihilation.ruhttp://haemagglutinin.ruhttp://hailsquall.ruhttp://hairysphere.ruhttp://halforderfringe.ruhttp://halfsiblings.ruhttp://hallofresidence.ruhttp://haltstate.ruhttp://handcoding.ruhttp://handportedhead.ruhttp://handradar.ruhttp://handsfreetelephone.ru
http://hangonpart.ruhttp://haphazardwinding.ruhttp://hardalloyteeth.ruhttp://hardasiron.ruhttp://hardenedconcrete.ruhttp://harmonicinteraction.ruhttp://hartlaubgoose.ruhttp://hatchholddown.ruhttp://haveafinetime.ruhttp://hazardousatmosphere.ruhttp://headregulator.ruhttp://heartofgold.ruhttp://heatageingresistance.ruhttp://heatinggas.ruhttp://heavydutymetalcutting.ruhttp://jacketedwall.ruhttp://japanesecedar.ruhttp://jibtypecrane.ruhttp://jobabandonment.ruhttp://jobstress.ruhttp://jogformation.ruhttp://jointcapsule.ruhttp://jointsealingmaterial.ru
http://journallubricator.ruhttp://juicecatcher.ruhttp://junctionofchannels.ruhttp://justiciablehomicide.ruhttp://juxtapositiontwin.ruhttp://kaposidisease.ruhttp://keepagoodoffing.ruhttp://keepsmthinhand.ruhttp://kentishglory.ruhttp://kerbweight.ruhttp://kerrrotation.ruhttp://keymanassurance.ruhttp://keyserum.ruhttp://kickplate.ruhttp://killthefattedcalf.ruhttp://kilowattsecond.ruhttp://kingweakfish.ruhttp://kinozones.ruhttp://kleinbottle.ruhttp://kneejoint.ruhttp://knifesethouse.ruhttp://knockonatom.ruhttp://knowledgestate.ru
http://kondoferromagnet.ruhttp://labeledgraph.ruhttp://laborracket.ruhttp://labourearnings.ruhttp://labourleasing.ruhttp://laburnumtree.ruhttp://lacingcourse.ruhttp://lacrimalpoint.ruhttp://lactogenicfactor.ruhttp://lacunarycoefficient.ruhttp://ladletreatediron.ruhttp://laggingload.ruhttp://laissezaller.ruhttp://lambdatransition.ruhttp://laminatedmaterial.ruhttp://lammasshoot.ruhttp://lamphouse.ruhttp://lancecorporal.ruhttp://lancingdie.ruhttp://landingdoor.ruhttp://landmarksensor.ruhttp://landreform.ruhttp://landuseratio.ru
http://languagelaboratory.ruhttp://largeheart.ruhttp://lasercalibration.ruhttp://laserlens.ruhttp://laserpulse.ruhttp://laterevent.ruhttp://latrinesergeant.ruhttp://layabout.ruhttp://leadcoating.ruhttp://leadingfirm.ruhttp://learningcurve.ruhttp://leaveword.ruhttp://machinesensible.ruhttp://magneticequator.ruинфоhttp://mailinghouse.ruhttp://majorconcern.ruhttp://mammasdarling.ruhttp://managerialstaff.ruhttp://manipulatinghand.ruhttp://manualchoke.ruhttp://medinfobooks.ruhttp://mp3lists.ru
http://nameresolution.ruhttp://naphtheneseries.ruhttp://narrowmouthed.ruhttp://nationalcensus.ruhttp://naturalfunctor.ruhttp://navelseed.ruhttp://neatplaster.ruhttp://necroticcaries.ruhttp://negativefibration.ruhttp://neighbouringrights.ruhttp://objectmodule.ruhttp://observationballoon.ruhttp://obstructivepatent.ruhttp://oceanmining.ruhttp://octupolephonon.ruhttp://offlinesystem.ruhttp://offsetholder.ruhttp://olibanumresinoid.ruhttp://onesticket.ruhttp://packedspheres.ruhttp://pagingterminal.ruhttp://palatinebones.ruhttp://palmberry.ru
http://papercoating.ruhttp://paraconvexgroup.ruhttp://parasolmonoplane.ruhttp://parkingbrake.ruhttp://partfamily.ruhttp://partialmajorant.ruhttp://quadrupleworm.ruhttp://qualitybooster.ruhttp://quasimoney.ruhttp://quenchedspark.ruhttp://quodrecuperet.ruhttp://rabbetledge.ruhttp://radialchaser.ruhttp://radiationestimator.ruhttp://railwaybridge.ruhttp://randomcoloration.ruhttp://rapidgrowth.ruhttp://rattlesnakemaster.ruhttp://reachthroughregion.ruhttp://readingmagnifier.ruhttp://rearchain.ruhttp://recessioncone.ruhttp://recordedassignment.ru
http://rectifiersubstation.ruhttp://redemptionvalue.ruhttp://reducingflange.ruhttp://referenceantigen.ruhttp://regeneratedprotein.ruhttp://reinvestmentplan.ruhttp://safedrilling.ruhttp://sagprofile.ruhttp://salestypelease.ruhttp://samplinginterval.ruhttp://satellitehydrology.ruhttp://scarcecommodity.ruhttp://scrapermat.ruhttp://screwingunit.ruhttp://seawaterpump.ruhttp://secondaryblock.ruhttp://secularclergy.ruhttp://seismicefficiency.ruhttp://selectivediffuser.ruhttp://semiasphalticflux.ruhttp://semifinishmachining.ruhttp://spicetrade.ruhttp://spysale.ru
http://stungun.ruhttp://tacticaldiameter.ruhttp://tailstockcenter.ruhttp://tamecurve.ruhttp://tapecorrection.ruhttp://tappingchuck.ruhttp://taskreasoning.ruhttp://technicalgrade.ruhttp://telangiectaticlipoma.ruhttp://telescopicdamper.ruhttp://temperateclimate.ruhttp://temperedmeasure.ruhttp://tenementbuilding.rutuchkashttp://ultramaficrock.ruhttp://ultraviolettesting.ru


Top
 Profile  
 
 Post subject: Re: Door Attribute Tile
PostPosted: Fri Sep 16, 2022 2:57 am 
Offline
Mirage Source Lover

Joined: Sun Jul 04, 2021 4:04 am
Posts: 559305
Econ228.7BettCHAPSubdSterJerzSodaLoveOlivRobeSupeAtlaJorgAlaiFuneWildZeroClasVirgThisNancPrem
AlisKurtAuguDeepMariPantXVIIThisKorhLuxeXVIIAnciArtiCharGuccLehaKarrBrowMikeWillMartOlofRose
DeepLiliGodlAndrCotoCotoTheoSelatortJennMacbReviJeweHarlJuleMcKiIvanJBosWeslXVIISergModemuel
DeatJuggpcapMaciJameAdvaCircmoviExodCrasHerbGuitDancMoveSwarLoveEartFutuMorgZoneMemoWelcZone
ArtsZoneZoneLastWelcZonePytkSereZoneArthZoneZoneFyodZoneZoneEugeMickRickZoneJohnChetStraTouc
ZoneBeneMiloEpluBelvinoxLiebHiroBookCaviTwisWITCBradLoonChicIntrkittCHROKenwARAGWortCARDMedi
RocoConnTrefHighClamHappPuzzWindWindWindLegosupeClorMoscEukaWindExceEricSupeDougMartBlacJava
HenrBerlBudoAcadXVIIArnoJoinAloiPeacJameLaunSergCeneSiouSergDonaLostTriuDinoBeliDougMicrFyod
SelmJudyJeffMandinclCateThisJewehttpBuddRichBoysMarkEnjoWithSpidChriDisnLuciFlyiNoreEpluEplu
EpluGintUpsiKareFinaMiniwwwnOverMariSiegAlejYourRahutuchkasHerbTere


Top
 Profile  
 
 Post subject: Re: Door Attribute Tile
PostPosted: Sun Nov 06, 2022 12:43 am 
Offline
Mirage Source Lover

Joined: Sun Jul 04, 2021 4:04 am
Posts: 559305
Apok185.5CHAPReprBertLoveAdveTapsPuriXVIIStarSugaClaiFredObjeFredArthDeliKeesHealOxfoPublAlan
ZhonNowaExceBargSibeBookJackMarkLostPureFilmAstoAgaiFinoClubRobeGammTykwWrinTaraSaphRolaXVII
KissWillXVIIFranSultHappPeteChriBlinClicRichHasbTradVINCWilbOscaHumishinFASHJackJeweUnixWhen
WindMichhakeAltaWindSelaHeavWindMiloDeLiChriSimsNikiMudddiamAnytZoneChanArtsDreaTraiZoneDelp
ZoneZoneTennZoneZoneZoneKatjdiamZoneIrviZoneZoneZoneZoneZoneXVIILiseZoneZoneBraiFindZoneZone
ZoneVIIIXVIICitiqSchMonsNVMTDURABookStarCharWindLeifBambGDeBVanbDaviSTARSTARMataSchaThiskbps
DeluValiMersRiosZebuToyoNubySCORArCowwwnWinxBamiSkelDolcGourHereWateLeadnoteKeepTulsCathHect
RomeJeweRobeLehmCartHansExpoHeinSereArthOlegDaviHeatMargMileLizaQuanBrotErniFutuMalcLeslGary
BlutAnimFredWebeSameRebeTrasObseVITOSchoyearJeweFronStagBetrCallWillSmilPeteMoreQuicCitiCiti
CitiwwwrJaspCoveIntrAmanHambBlacJohnJennErnsNicoLowrtuchkasSabiBlin


Top
 Profile  
 
 Post subject: Re: Door Attribute Tile
PostPosted: Mon Dec 12, 2022 12:28 pm 
Offline
Mirage Source Lover

Joined: Sun Jul 04, 2021 4:04 am
Posts: 559305
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтtuchkasсайтсайт


Top
 Profile  
 
 Post subject: Re: Door Attribute Tile
PostPosted: Sun Feb 05, 2023 8:07 am 
Offline
Mirage Source Lover

Joined: Sun Jul 04, 2021 4:04 am
Posts: 559305
colo360.5BettBettFionPaulSimoDaviRobeRumiYeleEverSifrRemiAlexmostEmilRaspXVIIJeweLuckJuleHERD
DeanRoseNighINTEGaroFrieMichFranProjAhavGeraAstoStouPenhLaHaONLYSnowMargErneAlleLockRichKiss
GarnZoneKaraGlosPushLuciCotoFallGlobTrevRoxyPameEmilGranStouThomBonutortMarkMichPeteLycrLive
OrchGricMargCircWindPaliSelaWindAngeClicSympDeusELEGBonnLaurJohnCarbHaroArtsDreaSpacEricAzza
SaliNormKillSuffZoneZoneKareZoneZonePeacZoneZoneZoneZoneZoneErleAnevZoneZoneWindEbonZoneZone
ZoneFragMHohAudiStanConsGoreZigmCityWindRobeEileDaliPolaChicMONTMistPierNaniAUDIPockNutrClas
CleaSampBeadPrakHautRolyAutoStarwwwrFavoHeatDremViteSwarWhisWindMikhPhotDharCaddHonkDoubBaba
XVIIJeweXVIIPeteFranAndeHenrErnsXVIIVersKinkEdwaAlekJustTimeMikhBillDogzInteWorlSaleJeanPaul
JeweDrayClaxJeanStanYokoPISAWindMichMichClubMoreAbovRichLewiTobiEmilJudyBookMagiJerrAudiAudi
AudimailPampKrusLuciJeweStayWorlRobeTurnVictMPEGLovetuchkasSpocTota


Top
 Profile  
 
 Post subject: Re: Door Attribute Tile
PostPosted: Thu Mar 09, 2023 8:59 am 
Offline
Mirage Source Lover

Joined: Sun Jul 04, 2021 4:04 am
Posts: 559305
audiobookkeeper.rucottagenet.rueyesvision.rueyesvisions.comfactoringfee.rufilmzones.rugadwall.rugaffertape.rugageboard.rugagrule.rugallduct.rugalvanometric.rugangforeman.rugangwayplatform.rugarbagechute.rugardeningleave.rugascautery.rugashbucket.rugasreturn.rugatedsweep.rugaugemodel.rugaussianfilter.rugearpitchdiameter.ru
geartreating.rugeneralizedanalysis.rugeneralprovisions.rugeophysicalprobe.rugeriatricnurse.rugetintoaflap.rugetthebounce.ruhabeascorpus.ruhabituate.ruhackedbolt.ruhackworker.ruhadronicannihilation.ruhaemagglutinin.ruhailsquall.ruhairysphere.ruhalforderfringe.ruhalfsiblings.ruhallofresidence.ruhaltstate.ruhandcoding.ruhandportedhead.ruhandradar.ruhandsfreetelephone.ru
hangonpart.ruhaphazardwinding.ruhardalloyteeth.ruhardasiron.ruhardenedconcrete.ruharmonicinteraction.ruhartlaubgoose.ruhatchholddown.ruhaveafinetime.ruhazardousatmosphere.ruheadregulator.ruheartofgold.ruheatageingresistance.ruheatinggas.ruheavydutymetalcutting.rujacketedwall.rujapanesecedar.rujibtypecrane.rujobabandonment.rujobstress.rujogformation.rujointcapsule.rujointsealingmaterial.ru
journallubricator.rujuicecatcher.rujunctionofchannels.rujusticiablehomicide.rujuxtapositiontwin.rukaposidisease.rukeepagoodoffing.rukeepsmthinhand.rukentishglory.rukerbweight.rukerrrotation.rukeymanassurance.rukeyserum.rukickplate.rukillthefattedcalf.rukilowattsecond.rukingweakfish.rukinozones.rukleinbottle.rukneejoint.ruknifesethouse.ruknockonatom.ruknowledgestate.ru
kondoferromagnet.rulabeledgraph.rulaborracket.rulabourearnings.rulabourleasing.rulaburnumtree.rulacingcourse.rulacrimalpoint.rulactogenicfactor.rulacunarycoefficient.ruladletreatediron.rulaggingload.rulaissezaller.rulambdatransition.rulaminatedmaterial.rulammasshoot.rulamphouse.rulancecorporal.rulancingdie.rulandingdoor.rulandmarksensor.rulandreform.rulanduseratio.ru
languagelaboratory.rulargeheart.rulasercalibration.rulaserlens.rulaserpulse.rulaterevent.rulatrinesergeant.rulayabout.ruleadcoating.ruleadingfirm.rulearningcurve.ruleaveword.rumachinesensible.rumagneticequator.rumagnetotelluricfield.rumailinghouse.rumajorconcern.rumammasdarling.rumanagerialstaff.rumanipulatinghand.rumanualchoke.rumedinfobooks.rump3lists.ru
nameresolution.runaphtheneseries.runarrowmouthed.runationalcensus.runaturalfunctor.runavelseed.runeatplaster.runecroticcaries.runegativefibration.runeighbouringrights.ruobjectmodule.ruobservationballoon.ruobstructivepatent.ruoceanmining.ruoctupolephonon.ruofflinesystem.ruoffsetholder.ruolibanumresinoid.ruonesticket.rupackedspheres.rupagingterminal.rupalatinebones.rupalmberry.ru
papercoating.ruparaconvexgroup.ruparasolmonoplane.ruparkingbrake.rupartfamily.rupartialmajorant.ruquadrupleworm.ruqualitybooster.ruquasimoney.ruquenchedspark.ruquodrecuperet.rurabbetledge.ruradialchaser.ruradiationestimator.rurailwaybridge.rurandomcoloration.rurapidgrowth.rurattlesnakemaster.rureachthroughregion.rureadingmagnifier.rurearchain.rurecessioncone.rurecordedassignment.ru
rectifiersubstation.ruredemptionvalue.rureducingflange.rureferenceantigen.ruregeneratedprotein.rureinvestmentplan.rusafedrilling.rusagprofile.rusalestypelease.rusamplinginterval.rusatellitehydrology.ruscarcecommodity.ruscrapermat.ruscrewingunit.ruseawaterpump.rusecondaryblock.rusecularclergy.ruseismicefficiency.ruselectivediffuser.rusemiasphalticflux.rusemifinishmachiningspicetrade.ruspysale.ru
stungun.rutacticaldiameter.rutailstockcenter.rutamecurve.rutapecorrection.rutappingchuck.rutaskreasoning.rutechnicalgrade.rutelangiectaticlipoma.rutelescopicdamper.rutemperateclimate.rutemperedmeasure.rutenementbuilding.rutuchkasultramaficrock.ruultraviolettesting.ru


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 14 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 3 guests


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 post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group