Mirage Source

Free ORPG making software.
It is currently Sat Apr 20, 2024 3:17 am

All times are UTC


Forum rules


Make sure your tutorials are kept up to date with the latest MS4 releases.



Post new topic Reply to topic  [ 1975 posts ]  Go to page 1, 2, 3, 4, 5 ... 79  Next
Author Message
PostPosted: Wed Jan 07, 2009 12:52 am 
Offline
Persistant Poster
User avatar

Joined: Thu Jul 24, 2008 6:42 am
Posts: 703
Google Talk: infectiousbyte@gmail.com
Ok, so this is just a bounty system I made for the hell of it. Keep in mind I did this, after pulling an all nighter, and was completely exhausted when I wrote most if it, so if you find a mistake, please let me know and don't hold it against me. This feature, will allow users to put hits out on other people, as soon as the hit is put out, the money is subtracted from their inventory. Anyone who kills the person with the price on their head, will receive the money. I also went as far as to include a command which brings up a list of people with bounties, and the price of the bounty on their head (was extremely easy)

Credit goes to: William for his TakeGold function, and then the rest of the credit goes to you of MS4, for always answering my questions and helping. :)


Without further adieu:

Server Side

SPOILER: (click to show)
Find:
Code:
Function HasItem(ByVal index As Long, ByVal ItemNum As Long) As Long
    Dim i As Long
   
    HasItem = 0
   
    ' Check for subscript out of range
    If IsPlaying(index) = False Or ItemNum <= 0 Or ItemNum > MAX_ITEMS Then
        Exit Function
    End If
   
    For i = 1 To MAX_INV

        ' Check to see if the player has the item
        If GetPlayerInvItemNum(index, i) = ItemNum Then
            If Item(ItemNum).Type = ITEM_TYPE_CURRENCY Then
                HasItem = GetPlayerInvItemValue(index, i)
            Else
                HasItem = 1
            End If

            Exit Function
        End If

    Next i

End Function


Under it add:
Code:
Function TakeGold(ByVal index As Long, ByVal ItemNum As Long, ByVal ItemVal As Long) As Boolean
    Dim i As Long, N As Long
    TakeGold = False

    ' Check for subscript out of range
    If IsPlaying(index) = False Or ItemNum <= 0 Or ItemNum > MAX_ITEMS Then
        Exit Function
    End If
       
    For i = 1 To MAX_INV

        ' Check to see if the player has the item
        If GetPlayerInvItemNum(index, i) = ItemNum Then
            If Item(ItemNum).Type = ITEM_TYPE_CURRENCY Then

                ' Is what we are trying to take away more then what they have?  If so just set it to zero
                If ItemVal <= GetPlayerInvItemValue(index, i) Then
                    Call SetPlayerInvItemValue(index, i, GetPlayerInvItemValue(index, i) - ItemVal)
                    Call SendInventoryUpdate(index, i)
                    TakeGold = True
                    Exit Function
                End If
            End If
        End If

    Next i

End Function


Find:
Code:
PK As Byte
in the player rec.

Under it add:
Code:
Bounty as Long


Then Find:
Code:
CQuit


Under it add:
Code:
CSetBounty


Then find:
Code:
        Case CQuit
            HandleQuit index


Under it add:
Code:
        Case CSetBounty
            HandleSetBounty index, Parse


Then find:
Code:
' :::::::::::::::::::::::
' :: Set access packet ::
' :::::::::::::::::::::::
Sub HandleSetAccess(ByVal index As Long, _
                    ByRef Parse() As String)
    Dim N As Long, i As Long

    ' Prevent hacking
    If GetPlayerAccess(index) < ADMIN_CREATOR Then
        Call HackingAttempt(index, "Trying to use powers not available")
        Exit Sub
    End If
   
    ' The index
    N = FindPlayer(Parse(1))
    ' The access
    i = Val(Parse(2))
   
    ' Check for invalid access level
    If i >= 0 Or i <= 3 Then

        ' Check if player is on
        If N > 0 Then
            If GetPlayerAccess(N) <= 0 Then
                Call GlobalMsg(GetPlayerName(N) & " has been blessed with administrative access.", BrightBlue)
            End If
           
            Call SetPlayerAccess(N, i)
            Call SendPlayerData(N)
            Call AddLog(GetPlayerName(index) & " has modified " & GetPlayerName(N) & "'s access.", ADMIN_LOG)
        Else
            Call PlayerMsg(index, "Player is not online.", White)
        End If

    Else
        Call PlayerMsg(index, "Invalid access level.", Red)
    End If

End Sub


Under it add:
Code:
 ' :::::::::::::::::::::::
' :: Set Bounty packet ::
' :::::::::::::::::::::::
Sub HandleSetBounty(ByVal index As Long, _
                    ByRef Parse() As String)
    Dim N As Long
    Dim i As Long
     
    ' The index
    N = FindPlayer(Parse(1))
    ' The name
    i = (Parse(2))
   
    ' Check if player is on
    If N > 0 Then
        If N <> index Then
            If GetPlayerLevel(N) >= 10 Then
                If GetPlayerBounty(N) = 0 Then
                    If TakeGold(index, 1, i) Then
                        Call GlobalMsg(GetPlayerName(index) & " has just had a " & i & " dollar bounty put on " & GetPlayerName(N) & "!", BrightBlue)
                        Call SetPlayerBounty(N, i)
                        Call SendPlayerData(N)
                        Call AddLog(GetPlayerName(index) & " has put a " & i & " bounty on " & GetPlayerName(N), ADMIN_LOG)
                    Else
                        Call PlayerMsg(index, "You don't have sufficient funds for this action!", BrightRed)
                    End If
           
                Else
                    Call PlayerMsg(index, GetPlayerName(N) & " already has a price on their head!", BrightRed)
                End If
   
            Else
                Call PlayerMsg(index, "Player must be level 10 or higher!", BrightRed)
            End If
   
        Else
            Call PlayerMsg(index, "You cant set a hit out on yourself!", BrightRed)
        End If

    Else
        Call PlayerMsg(index, "Player isn't online!", BrightRed)
    End If

End Sub


Then find:
Code:
        ' Player is dead
        Call GlobalMsg(GetPlayerName(Victim) & " has been killed by " & GetPlayerName(Attacker), BrightRed)


Under it add:
Code:
        If GetPlayerBounty(Victim) > 0 Then
            'Give the reward
            Call GiveItem(Attacker, 1, GetPlayerBounty(Victim))
            'Send the messages
            Call PlayerMsg(Attacker, "You have received: " & GetPlayerBounty(Victim) & " dollars for killing " & GetPlayerName(Victim), BrightGreen)
            Call GlobalMsg(GetPlayerName(Victim) & " has been slain by " & GetPlayerName(Attacker) & " and has collected the " & GetPlayerBounty(Victim) & " dollar bounty on his/her head", BrightGreen)
            'Set the bounty to 0
            Call SetPlayerBounty(Victim, 0)
        End If


And now for the code for the list:

Find:
Code:
        Case CWhosOnline
            HandleWhosOnline index


Under it add:
Code:
        Case CBountyList
            HandleBountyList index


Then find:
Code:
' :::::::::::::::::::::::
' :: Who online packet ::
' :::::::::::::::::::::::
Sub HandleWhosOnline(ByVal index As Long)
    Call SendWhosOnline(index)
End Sub


Under it add:
Code:
' ::::::::::::::::::::::::
' :: Bounty list packet ::
' ::::::::::::::::::::::::
Sub HandleBountyList(ByVal index As Long)
    Call SendBountyList(index)
End Sub


Then find:
Code:
Sub SendWhosOnline(ByVal index As Long)
    Dim s As String
    Dim N As Long, i As Long

    For i = 1 To MAX_PLAYERS

        If IsPlaying(i) Then
            If i <> index Then
                s = s & GetPlayerName(i) & ", "
                N = N + 1
            End If
        End If

    Next i
           
    If N = 0 Then
        s = "There are no other players online."
    Else
        s = Mid$(s, 1, Len(s) - 2)
        s = "There are " & N & " other players online: " & s & "."
    End If
       
    Call PlayerMsg(index, s, WhoColor)
End Sub


Under it add:
Code:
Sub SendBountyList(ByVal index As Long)
    Dim s As String
    Dim N As Long, i As Long

    For i = 1 To MAX_PLAYERS

        If IsPlaying(i) Then
            If i <> index Then
                If GetPlayerBounty(i) > 0 Then
                    s = s & GetPlayerName(i) & "(" & GetPlayerBounty(i) & ")" & ", "
                    N = N + 1
                End If
            End If
        End If

    Next i
           
    If N = 0 Then
        s = "No one has a bounty!"
    Else
        s = Mid$(s, 1, Len(s) - 2)
        s = "There are " & N & " players with bounties: " & s & "."
    End If
       
    Call PlayerMsg(index, s, WhoColor)
End Sub


Then find:
Code:
CSetBounty


Under it add:
Code:
CBountyList


Client Side

SPOILER: (click to show)
Find:
Code:
CQuit


Under it add:
Code:
CSetBounty


Then find:
Code:
                Case "/setaccess"

                    If GetPlayerAccess(MyIndex) < ADMIN_CREATOR Then
                        AddText "You need to be a high enough staff member to do this!", AlertColor
                        GoTo Continue
                    End If
                   
                    If UBound(Command) < 2 Then
                        AddText "Usage: /setaccess (name) (access)", AlertColor
                        GoTo Continue
                    End If
                   
                    If IsNumeric(Command(1)) = True Or IsNumeric(Command(2)) = False Then
                        AddText "Usage: /setaccess (name) (access)", AlertColor
                        GoTo Continue
                    End If
                   
                    SendSetAccess Command(1), CLng(Command(2))
               
                Case "/setlevel"


Under it add:
Code:
                Case "/bounty"
                   
                    If UBound(Command) < 2 Then
                        AddText "Usage: /bounty (name) (price)", AlertColor
                        GoTo Continue
                    End If
                   
                    If IsNumeric(Command(1)) = True Or IsNumeric(Command(2)) = False Then
                        AddText "Usage: /setname (name) (price)", AlertColor
                        GoTo Continue
                    End If
                   
                    SendSetBounty Command(1), (Command(2))
                   
                Case "/warn"


Then find:
Code:
Sub SendSetAccess(ByVal Name As String, ByVal Access As Byte)
    Dim Packet As String

    Packet = CSetAccess & SEP_CHAR & Name & SEP_CHAR & Access & END_CHAR
    Call SendData(Packet)
End Sub


Under it add:
Code:
Sub SendSetBounty(ByVal Name As String, _
                  ByVal Bounty As Long)
    Dim Packet As String

    Packet = CSetBounty & SEP_CHAR & Name & SEP_CHAR & Bounty & END_CHAR
    Call SendData(Packet)
End Sub


Then find:
Code:
Sub SendWhosOnline()
    Dim Packet As String

    Packet = CWhosOnline & END_CHAR
    Call SendData(Packet)
End Sub


Under it add:
Code:
Sub SendBountyList()
    Dim Packet As String

    Packet = CBountyList & END_CHAR
    Call SendData(Packet)
End Sub


Then find:
Code:
CSetBounty


Under it add:
Code:
CBountyList


Then find:
Code:
                    ' Whos Online
                Case "/who"
                    SendWhosOnline


Under it add:
Code:
                    ' Bounty List
                Case "/bounties"
                    SendBountyList


This feature gives you two different commands:

/bounty (playername) (price of bounty)
/bounties (Displays the list of people with prices on their head, and how much)

Also it allows you to use two new functions: GetPlayerBounty, and SetPlayerBounty. Have fun.

Also, remember to read the code. After all, it will require one or two tweaks, such as replacing the 1's with the number slot that your currency is, etc, etc. That's where the 2/5 comes into play ;)

_________________
Image
GIAKEN wrote:
Since I'm into men, not women

GIAKEN wrote:
I can't take these huge penises anymore! All that's left is shame! And blood


Top
 Profile  
 
PostPosted: Wed Jan 07, 2009 7:51 am 
Offline
Knowledgeable
User avatar

Joined: Sat Dec 30, 2006 9:09 am
Posts: 252
I once worked on a bounty system.

And then I reformatted my computer.

And then I stopped coding.

_________________
Image


Top
 Profile  
 
PostPosted: Wed Jan 07, 2009 4:51 pm 
Offline
Knowledgeable
User avatar

Joined: Fri Feb 02, 2007 4:50 am
Posts: 263
Location: usa michigan centriville
this looks very interesting =]. thanks. this could help with making a law system. where if your in an npc range and you steal or something bad you get a bounty put on your head =].

_________________
Fuck? I really joined in 2006.
Spirea, Chat Rooms, Discussions, Help. everything you need in one spot.
http://spirean.com
I love my computer, you never ask for more, you can be my princess or be my whore


Top
 Profile  
 
PostPosted: Wed Jan 07, 2009 7:37 pm 
Offline
Persistant Poster
User avatar

Joined: Tue May 30, 2006 2:07 am
Posts: 836
Location: Nashville, Tennessee, USA
Google Talk: rs.ruggles@gmail.com
Nice work Nean. I haven't tested it, but it seems like a solid tutorial. I might even use it if I ever get around to reinstalling Visual Studio :P

_________________
I'm on Facebook! Google Plus My Youtube Channel My Steam Profile

Image


Top
 Profile  
 
PostPosted: Wed Jan 07, 2009 7:57 pm 
Offline
Persistant Poster
User avatar

Joined: Thu Jul 24, 2008 6:42 am
Posts: 703
Google Talk: infectiousbyte@gmail.com
@Rory: I know the feeling, I've had to reinstall VB6 multiple times, it's a pain.

@Genusis: Tell me how that works out dude, sounds awesome.

@Rian: Sweet, if/when you do so, tell me how it works for you, I have it full implemented and I haven't found any problems, so I hope it's the same for you. :)

_________________
Image
GIAKEN wrote:
Since I'm into men, not women

GIAKEN wrote:
I can't take these huge penises anymore! All that's left is shame! And blood


Top
 Profile  
 
PostPosted: Wed Jan 07, 2009 10:24 pm 
Offline
Knowledgeable
User avatar

Joined: Fri Feb 02, 2007 4:50 am
Posts: 263
Location: usa michigan centriville
well for the law system all you do is set the npc to have a tile range to where they can see. then you code in a new frm where you can set stuff like the skill theifing or something you want to be considered breaking a rule.

then once you set that you then make a npc that is a guard npc<make all guard npc do this>

ok for example

the rule attacking players in town. place guard npc there and if the code attack player is called send another code doing a search to see if npcs are close enough if not nothing happens to them if so they set a bounty and guard npcs will start to attack them. and if players like kill a bounties player out of the npcs range they get the bounty<or you can set it to have a bounty npc to give players bounties to hunt for in your game.

so for this you need to make some code for bounty like what you have there then have it set the bounties if they are breaking a rule in the game. like killing a player near a guard npc or attacking a guard npc. they would get a bounty. you can have the system set anything and everything to certain standards in the game. like opening a chest in front of a guard in a store<stealing crime>

the main point would be the npc sight or range and the setting of the rules correctly as well setting the bounty and the rewards given.

_________________
Fuck? I really joined in 2006.
Spirea, Chat Rooms, Discussions, Help. everything you need in one spot.
http://spirean.com
I love my computer, you never ask for more, you can be my princess or be my whore


Top
 Profile  
 
PostPosted: Wed Jan 07, 2009 10:40 pm 
Offline
Regular

Joined: Wed Jan 16, 2008 8:50 pm
Posts: 60
It might also be a good idea to set another variable in the bounty system, to check to see if the bounty was player created, or created by the guards, and if it was created by the guards and the guard kills the player, the bounty goes away.


Top
 Profile  
 
PostPosted: Thu Jan 08, 2009 2:21 pm 
Offline
Knowledgeable
User avatar

Joined: Fri Feb 02, 2007 4:50 am
Posts: 263
Location: usa michigan centriville
to me i think a player shouldn't be able to set a bounty on another player unless that player breaks a rule in the game. to make it more fair for the other players, because then there probably be bounties on everyone if they where allowed to freely do that.

_________________
Fuck? I really joined in 2006.
Spirea, Chat Rooms, Discussions, Help. everything you need in one spot.
http://spirean.com
I love my computer, you never ask for more, you can be my princess or be my whore


Top
 Profile  
 
PostPosted: Fri Jan 09, 2009 4:20 am 
Offline
Community Leader
User avatar

Joined: Sun May 28, 2006 10:29 pm
Posts: 1762
Location: Salt Lake City, UT, USA
Google Talk: Darunada@gmail.com
I say anyone can create a bounty on anyone. Doesn't mean players can legally kill them.

_________________
I'm on Facebook! Google Plus LinkedIn My Youtube Channel Send me an email Call me with Skype Check me out on Bitbucket Yup, I'm an EVE Online player!
Why not try my app, ColorEye, on your Android devlce?
Do you like social gaming? Fight it out in Battle Juice!

I am a professional software developer in Salt Lake City, UT.


Top
 Profile  
 
PostPosted: Fri Jan 09, 2009 4:26 am 
Offline
Persistant Poster
User avatar

Joined: Thu Jul 24, 2008 6:42 am
Posts: 703
Google Talk: infectiousbyte@gmail.com
genusis wrote:
to me i think a player shouldn't be able to set a bounty on another player unless that player breaks a rule in the game. to make it more fair for the other players, because then there probably be bounties on everyone if they where allowed to freely do that.


Take this into consideration. A lower level player is going around farming, chilling, generally having a good time. Bam. A higher level comes out of nowhere, and pwns the shit out of them. Tough luck, doubtful any higher level will have any incentive to go kill them as revenge for the other player. With the bounty system implemented, this n00b can exact his/her revenge by using money as the incentive for the more bored players.

_________________
Image
GIAKEN wrote:
Since I'm into men, not women

GIAKEN wrote:
I can't take these huge penises anymore! All that's left is shame! And blood


Top
 Profile  
 
PostPosted: Fri Jan 09, 2009 11:13 am 
Offline
Persistant Poster
User avatar

Joined: Thu Aug 17, 2006 5:27 pm
Posts: 866
Location: United Kingdom
I haven't read the code so this may be an uninformed comment, but I think a nice implementation of this idea would be to restrict the ability to place bounties.

The way I would do it, is allow people to place bounties if the person has killed them, or has killed someone in their guild who is the same rank or lower. Also, perhaps a new npc type that brings up a noticeboard of all current bounties would be a nice expansion.

Oh, I'm not requesting this btw, just pooling my thoughts :3


Top
 Profile  
 
PostPosted: Fri Jan 09, 2009 1:05 pm 
Offline
Knowledgeable
User avatar

Joined: Sat Dec 30, 2006 9:09 am
Posts: 252
A good idea would be to only be able to put a bounty as high as you can offer. So if you only have 12gold you can only put a 12gold bounty on the player. Allowing normal players to put bounty on other player's heads. Once they use the command, their money is automatically deducted.

_________________
Image


Top
 Profile  
 
PostPosted: Fri Jan 09, 2009 8:26 pm 
Offline
Persistant Poster
User avatar

Joined: Thu Jul 24, 2008 6:42 am
Posts: 703
Google Talk: infectiousbyte@gmail.com
Fox wrote:
I haven't read the code so this may be an uninformed comment, but I think a nice implementation of this idea would be to restrict the ability to place bounties.

The way I would do it, is allow people to place bounties if the person has killed them, or has killed someone in their guild who is the same rank or lower. Also, perhaps a new npc type that brings up a noticeboard of all current bounties would be a nice expansion.

Oh, I'm not requesting this btw, just pooling my thoughts :3



That's a great idea, however would be a little difficult to do. I suppose I could just make a variable when someone kills another person, or something. Yeah, I like the idea of the noticeboard, I don't think it would be too difficult to add either. Thanks for the suggestions, I think I'll try some of them out!

Rory wrote:
A good idea would be to only be able to put a bounty as high as you can offer. So if you only have 12gold you can only put a 12gold bounty on the player. Allowing normal players to put bounty on other player's heads. Once they use the command, their money is automatically deducted.


As it stands now, they can only set a bounty if they have the right money, but I like your idea. However instead of taking all of their money, I was thinking of calculating the price based on the players level. :D

_________________
Image
GIAKEN wrote:
Since I'm into men, not women

GIAKEN wrote:
I can't take these huge penises anymore! All that's left is shame! And blood


Top
 Profile  
 
PostPosted: Sat Jan 10, 2009 6:42 am 
Offline
Regular

Joined: Wed Jan 16, 2008 8:50 pm
Posts: 60
I like that idea, having it calculated based on the players level, but I think it would be fun to make that a minimum. Also it would be interesing to add in 2 more commands, a cancel bounty command (get your gold back minus a certain percent I.e. bounty of 100 gold, you cancel get 90 back). And an add on to bounty command, so that if no one wants to kill that person for that money, you can increase it to create a better incentive, or someone else can add their money to the bounty to create more of an incentive.


Top
 Profile  
 
PostPosted: Sun Jan 11, 2009 11:05 pm 
Offline
Knowledgeable
User avatar

Joined: Sun Feb 10, 2008 7:40 pm
Posts: 200
OMG! Thank you! Very nice tut!

_________________
I is back!


Top
 Profile  
 
PostPosted: Wed Jan 14, 2009 12:41 am 
Offline
Knowledgeable
User avatar

Joined: Sun Feb 10, 2008 7:40 pm
Posts: 200
Well, I tried it out and GetPlayerBounty is int defined.

_________________
I is back!


Top
 Profile  
 
PostPosted: Wed Jan 14, 2009 1:10 am 
Offline
Persistant Poster
User avatar

Joined: Thu Jul 24, 2008 6:42 am
Posts: 703
Google Talk: infectiousbyte@gmail.com
timster0 wrote:
Well, I tried it out and GetPlayerBounty is int defined.


Find:
Code:

Sub SetPlayerName(ByVal index As Long, _
                  ByVal Name As String)
    Player(index).Char(TempPlayer(index).CharNum).Name = Name
End Sub


Under it add:
Code:
Function GetPlayerBounty(ByVal index As Long) As String
    GetPlayerBounty = Val(Player(index).Char(TempPlayer(index).CharNum).Bounty)
End Function

Sub SetPlayerBounty(ByVal index As Long, _
                    ByVal Bounty As Long)
    Player(index).Char(TempPlayer(index).CharNum).Bounty = Bounty
End Sub

_________________
Image
GIAKEN wrote:
Since I'm into men, not women

GIAKEN wrote:
I can't take these huge penises anymore! All that's left is shame! And blood


Top
 Profile  
 
PostPosted: Wed Jan 14, 2009 1:20 am 
Offline
Knowledgeable
User avatar

Joined: Sun Feb 10, 2008 7:40 pm
Posts: 200
Works perfectly now, thanks.

_________________
I is back!


Top
 Profile  
 
PostPosted: Wed Jan 14, 2009 1:25 am 
Offline
Persistant Poster
User avatar

Joined: Thu Jul 24, 2008 6:42 am
Posts: 703
Google Talk: infectiousbyte@gmail.com
timster0 wrote:
Works perfectly now, thanks.


You're welcome. :)

_________________
Image
GIAKEN wrote:
Since I'm into men, not women

GIAKEN wrote:
I can't take these huge penises anymore! All that's left is shame! And blood


Top
 Profile  
 
PostPosted: Wed Dec 01, 2021 8:26 am 
Online
Mirage Source Lover

Joined: Sun Jul 04, 2021 4:04 am
Posts: 479839
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтsemiasphalticfluxсайтсайтсайт
сайтсайтсайтсайтсайтсайтhttp://taskreasoning.ruсайтсайтсайтинфосайтсайтtuchkasсайтсайт


Top
 Profile  
 
PostPosted: Sat Jan 01, 2022 8:22 am 
Online
Mirage Source Lover

Joined: Sun Jul 04, 2021 4:04 am
Posts: 479839
Cora


Top
 Profile  
 
PostPosted: Sat Jan 01, 2022 8:24 am 
Online
Mirage Source Lover

Joined: Sun Jul 04, 2021 4:04 am
Posts: 479839
72.2


Top
 Profile  
 
PostPosted: Sat Jan 01, 2022 8:25 am 
Online
Mirage Source Lover

Joined: Sun Jul 04, 2021 4:04 am
Posts: 479839
Bett


Top
 Profile  
 
PostPosted: Sat Jan 01, 2022 8:26 am 
Online
Mirage Source Lover

Joined: Sun Jul 04, 2021 4:04 am
Posts: 479839
Bett


Top
 Profile  
 
PostPosted: Sat Jan 01, 2022 8:27 am 
Online
Mirage Source Lover

Joined: Sun Jul 04, 2021 4:04 am
Posts: 479839
John


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 1975 posts ]  Go to page 1, 2, 3, 4, 5 ... 79  Next

All times are UTC


Who is online

Users browsing this forum: wanai and 13 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