Skip to content

Commit

Permalink
feat: Vips Groups | fix issue: #730 (#908)
Browse files Browse the repository at this point in the history
  • Loading branch information
kokekanon authored Oct 6, 2024
1 parent 7ff3f41 commit 205e80b
Show file tree
Hide file tree
Showing 16 changed files with 916 additions and 168 deletions.
70 changes: 44 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ Beyond of it's flexibility with scripts, otclient comes with tons of other featu
- ThingCategoryCreature
- ThingExternalTexture: are images in Png | Apng
- [Wiki](https://github.com/Nottinghster/otclient/wiki/Wiki-Attached-Effects)
- [Wiki](https://github.com/mehah/otclient/wiki/Tutorial-Attached-Effects)
- Example Code:
(code sample: [effects.lua](https://github.com/mehah/otclient/blob/main/modules/game_attachedeffects/effects.lua), [code test](https://github.com/mehah/otclient/blob/main/modules/game_attachedeffects/attachedeffects.lua#L1))
Expand All @@ -176,7 +176,7 @@ Beyond of it's flexibility with scripts, otclient comes with tons of other featu
| <img src="https://github.com/kokekanon/OTredemption-Picture-NODELETE/blob/main/Picture/Attached%20Effect/Creature/001_Bone.gif?raw=true" width="200" alt="Haskanoid Video" style="max-width:200px;"> | <img src="https://github.com/kokekanon/OTredemption-Picture-NODELETE/blob/main/Picture/Attached%20Effect/Creature/002_aura.gif?raw=true" width="200" alt="Peoplemon by Alex Stuart" style="max-width: 200px;"> | <img src="https://github.com/kokekanon/OTredemption-Picture-NODELETE/blob/main/Picture/Attached%20Effect/Creature/003_particula.gif?raw=true" width="250" alt="Space Invaders" style="max-width: 250px;"> |
|-------------------------------------------|---------------|-------------------------|
| Creature Attached Effect | Light Attached Effect | Creature Particule |
| ThingCategory Attached Effect | Texture(Png) Attached Effect | <center> Particule </center> |
- Floor Shadowing
Expand All @@ -194,7 +194,7 @@ Beyond of it's flexibility with scripts, otclient comes with tons of other featu
</details>
- Client 12.85 ~ 12.92, 13.00 ~ 13.32 support (protobuf)
- Client 12.85 ~ 12.92, 13.00 ~ 13.40 support (protobuf)
- Market has been rewritten to work only [Canary](https://github.com/opentibiabr/canary)
- Async Texture Loading
- <details>
Expand Down Expand Up @@ -237,7 +237,7 @@ Beyond of it's flexibility with scripts, otclient comes with tons of other featu
</details>
- Drawpool 3
- Tile Widget [Wiki](https://github.com/mehah/otclient/wiki)
- Tile Widget [Wiki](https://github.com/mehah/otclient/wiki/Tutorial-Attached-Effects)
| <img src="https://github.com/kokekanon/OTredemption-Picture-NODELETE/blob/main/Picture/Attached%20Effect/Tile/001_attachedeffect.gif?raw=true" width="250" alt="Haskanoid Video" style="max-width:250px;"> | <img src="https://github.com/kokekanon/OTredemption-Picture-NODELETE/blob/main/Picture/Attached%20Effect/Tile/002_widget.png?raw=true" width="200" alt="Peoplemon by Alex Stuart" style="max-width: 200px;"> | <img src="https://github.com/kokekanon/OTredemption-Picture-NODELETE/raw/main/Picture/Attached%20Effect/Tile/003_particulas.gif?raw=true" width="310" alt="Space Invaders" style="max-width: 310px;"> |
|-------------------------------------------|---------------|-------------------------|
Expand All @@ -256,7 +256,13 @@ Beyond of it's flexibility with scripts, otclient comes with tons of other featu
- [Blessing](https://github.com/mehah/otclient/pull/825)
</details>
- Support DirectX
- <details>
<summary>Garbage Collection </summary>
<br>
Garbage collector is used to check what is no longer being used and remove it from memory. (lua, texture, drawpool, thingtype)
</details>
Expand Down Expand Up @@ -421,33 +427,45 @@ Beyond of it's flexibility with scripts, otclient comes with tons of other featu
| <img src="https://github.com/kokekanon/OTredemption-Picture-NODELETE/blob/main/Picture/Layout%2013/001_interface.png?raw=true" width="300" alt="Haskanoid Video" style="max-width:300px;"> | <img src="https://github.com/kokekanon/OTredemption-Picture-NODELETE/blob/main/Picture/Layout%2013/002_ingame.png?raw=true" width="300" alt="Peoplemon by Alex Stuart" style="max-width: 300px;"> |
|-------------------------------------------|---------------|
| Interface. | In-game |
- blessing
|<center> Interface </center> | <center>In-game</center> |
- Imbuement tracker by [@Reyaleman](https://github.com/reyaleman)
- Blessing
- Screenshot
- highscores
- Store
- Cyclopedia
- Highscores
- Store (compatible with 13.32 - 13.40)
- QuickLoot
- Groups Vip
- <details>
<summary>Browser Client by @OTArchive</summary>
- by [@OTArchive](https://github.com/OTArchive)
- wiki: https://github.com/OTArchive/otclient-web/wiki/Guia-%E2%80%90-OTClient-Redemption-Web
- <video src="https://github.com/kokekanon/OTredemption-Picture-NODELETE/blob/main/Wiki/2024-09-27_19-50-58.mp4?raw=true" width="400" controls></video>
</details>
##### 💸 Sponsored (Features)
- Bot V8 | ([@luanluciano93](https://github.com/luanluciano93), [@SkullzOTS](https://github.com/SkullzOTS), [@kokekanon](https://github.com/kokekanon), [@FranciskoKing](https://github.com/FranciskoKing), [@Kizuno18](https://github.com/Kizuno18))
- Bot V8 ([@luanluciano93](https://github.com/luanluciano93), [@SkullzOTS](https://github.com/SkullzOTS), [@kokekanon](https://github.com/kokekanon), [@FranciskoKing](https://github.com/FranciskoKing), [@Kizuno18](https://github.com/Kizuno18))
- Is adapted in 85%
- To enable it, it is necessary to remove/off the BOT_PROTECTION flag.
- [VS Solution](https://github.com/mehah/otclient/blob/68e4e1b94c2041bd235441244156e6477058250c/vc17/settings.props#L9) / [CMAKE](https://github.com/mehah/otclient/blob/68e4e1b94c2041bd235441244156e6477058250c/src/CMakeLists.txt#L13)
- Shader with Framebuffer | ([@SkullzOTS](https://github.com/SkullzOTS), [@Mryukiimaru](https://github.com/Mryukiimaru), [@JeanTheOne](https://github.com/JeanTheOne), [@KizaruHere](https://github.com/KizaruHere))
- Shader with Framebuffer ([@SkullzOTS](https://github.com/SkullzOTS), [@Mryukiimaru](https://github.com/Mryukiimaru), [@JeanTheOne](https://github.com/JeanTheOne), [@KizaruHere](https://github.com/KizaruHere))
| <img src="https://github.com/kokekanon/OTredemption-Picture-NODELETE/blob/main/Picture/Shader/Framebuffer/001_creature.gif?raw=true" width="200" alt="Haskanoid Video" style="max-width:200px;"> | <img src="https://github.com/kokekanon/OTredemption-Picture-NODELETE/blob/main/Picture/Shader/Framebuffer/002_items.gif?raw=true" width="200" alt="Peoplemon by Alex Stuart" style="max-width: 200px;"> | <img src="https://github.com/kokekanon/OTredemption-Picture-NODELETE/blob/main/Picture/Shader/Framebuffer/003_UICreature.gif?raw=true" width="110" alt="Space Invaders" style="max-width: 110px;"> |
|-------------------------------------------|---------------|-------------------------|
| Creature. | Items | UICreature |
| <center>Creature.</center> |<center> Items</center> |<center> UICreature </center> |
- Full Cyclopedia ([@luanluciano93](https://github.com/luanluciano93), [@kokekanon](https://github.com/kokekanon), [@MUN1Z](https://github.com/MUN1Z) ,[@qatari](https://github.com/qatari) )
##### [OTClient V8](https://github.com/OTCv8) (Features)
- Lighting System
- Floor Fading
- Path Finding
- game shop module
- game outfit module
- Module Shop
- Module Oufit
- Placeholder
## <a name="themobileproject"><img height="32" src="https://raw.githubusercontent.com/github/explore/80688e429a7d4ef2fca1e82350fe8e3517d3494d/topics/android/android.png" alt="Android"> The Mobile Project </a>
The Mobile Project
Expand Down Expand Up @@ -505,37 +523,37 @@ Have found a bug? Please create an issue in our [bug tracker](https://github.com

> \[!TIP]
>
> if using Nostalrius 7.2, Nekiro TFS-1.5-Downgrades-7.72 OR any protocol below 860 that the walking system is **stuttering**. set this to true.
https://github.com/mehah/otclient/blob/main/data/setup.otml#L21
> if using Nostalrius 7.2, Nekiro TFS-1.5-Downgrades-7.72 OR any protocol below 860 that the walking system is **stuttering**. set
[force-new-walking-formula: true](https://github.com/mehah/otclient/blob/cf7badda978de88cb3724615688e3d9da2ff4207/data/setup.otml#L21) in setup.otml
>
> In Old Protocol , if you consider that the speed of the item is too fast, modify [item-ticks-per-frame: 75](https://github.com/mehah/otclient/blob/cf7badda978de88cb3724615688e3d9da2ff4207/data/setup.otml#L32) in setup.otml
## <a name="roadmap">❤️ Roadmap</a>

| TO-DO list | Status | PR |
|----------------------- |----------------------------------- |------ |
| Android compatibility | ![](https://geps.dev/progress/50) | [Branch](https://github.com/mehah/otclient/tree/mobile-working) |
| Familiar outfit | ![](https://geps.dev/progress/30) | [#39](https://github.com/Nottinghster/otclient/pull/39) |
| wheel_of_destiny | ![](https://geps.dev/progress/1) | None |
| wheel of destiny | ![](https://geps.dev/progress/1) | None |
| Forge | ![](https://geps.dev/progress/1) | None |
| Analyzer | ![](https://geps.dev/progress/10) | [#802](https://github.com/mehah/otclient/pull/802) |
| fix Extended view new-layout | ![](https://geps.dev/progress/0) | None |
| fix: Extended view new-layout | ![](https://geps.dev/progress/0) | None |
| Sound tibia 13 | ![](https://geps.dev/progress/0) | None |

## <a name="supportprotocol">💯 Support Protocol</a>





| Protocol / version | Description | Required Feature | Compatibility |
|--------------------- |----------------------------- |----------------------------------------------------- |--------------- |
| TFS <br> (7.72) | Downgrade nekiro /<br> Nostalrius | ||
| TFS 0.4 <br> (8.6) | Fir3element | ||
| TFS 1.5 <br> (8.0 / 8.60) | Downgrade nekiro / <br>MillhioreBT | [force-new-walking-formula: true](https://github.com/kokekanon/otclient.readme/blob/readme3/data/setup.otml#L21) ||
| TFS <br> (7.72) | Downgrade nekiro /<br> Nostalrius | [force-new-walking-formula: true](https://github.com/mehah/otclient/blob/cf7badda978de88cb3724615688e3d9da2ff4207/data/setup.otml#L21) <br> [item-ticks-per-frame: 75](https://github.com/mehah/otclient/blob/cf7badda978de88cb3724615688e3d9da2ff4207/data/setup.otml#L32) ||
| TFS 0.4 <br> (8.6) | Fir3element | [item-ticks-per-frame: 75](https://github.com/mehah/otclient/blob/cf7badda978de88cb3724615688e3d9da2ff4207/data/setup.otml#L32) ||
| TFS 1.5 <br> (8.0 / 8.60) | Downgrade nekiro / <br>MillhioreBT | [force-new-walking-formula: true](https://github.com/mehah/otclient/blob/cf7badda978de88cb3724615688e3d9da2ff4207/data/setup.otml#L21) <br> [item-ticks-per-frame: 75](https://github.com/mehah/otclient/blob/cf7badda978de88cb3724615688e3d9da2ff4207/data/setup.otml#L32) ||
| TFS 1.4.2 <br> (10.98) | Release Otland | ||
| TFS 1.6 <br>(13.10) | Main repo <br> otland (2024) | [See wiki](https://github.com/mehah/otclient/wiki/Tutorial-to-Use-OTC-in-TFS-main) ||
| Canary 13.21 | OpenTibiaBr | [Assets , Enable HTTP login and port 80](https://docs.opentibiabr.com/opentibiabr/projects/otclient-redemption#how-to-connect-on-canary-with-otclient-redemption) ||
| Canary 13.32 | OpenTibiaBr | [Assets , Enable HTTP login and port 80](https://docs.opentibiabr.com/opentibiabr/projects/otclient-redemption#how-to-connect-on-canary-with-otclient-redemption) ||
| Canary 13.40 | OpenTibiaBr | ||
| Canary 13.40 | OpenTibiaBr | [Assets , Enable HTTP login and port 80](https://docs.opentibiabr.com/opentibiabr/projects/otclient-redemption#how-to-connect-on-canary-with-otclient-redemption) ||




Expand Down
Binary file modified data/images/topbuttons/viplist.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added data/images/ui/miniborder.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
52 changes: 52 additions & 0 deletions modules/game_viplist/addgroup.otui
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
MainWindow
size: 360 121
text: Add VIP group (User-Created groups left: %s)
text-offset: 0 1
@onEnter: modules.game_viplist.addGroup()
@onEscape: |
self:getParent():destroy()
modules.game_viplist.addGroupWindow = nil

Label
id: header
!text: tr('Please enter a group name:')
anchors.top: parent.top
anchors.left: parent.left
anchors.right: parent.right
text-auto-resize: true
margin-top: -7
margin-left: -1

TextEdit
id: name
size: 328 16
anchors.top: prev.bottom
anchors.left: parent.left
anchors.right: parent.right
margin-top: 5
padding-top: 0
max-length: 40

HorizontalSeparator
anchors.left: parent.left
anchors.right: parent.right
anchors.bottom: next.top
margin-bottom: 11

Button
id: okButton
!text: tr('Ok')
anchors.right: next.left
anchors.bottom: parent.bottom
margin-right: 11
margin-bottom: 6
@onClick: modules.game_viplist.addGroup()

Button
!text: tr('Cancel')
anchors.right: parent.right
anchors.bottom: parent.bottom
margin-bottom: 6
@onClick: |
self:getParent():destroy()
modules.game_viplist.addGroupWindow = nil
126 changes: 120 additions & 6 deletions modules/game_viplist/editvip.otui
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
VipGroupBox < CheckBox
!text: tr('Empty')
color: #f4ecec
text-offset: 15 -1
$hover !disabled:
color: #9a9999

IconButton < CheckBox
size: 20 20
image-source: /images/game/viplist/vipcheckbox
Expand Down Expand Up @@ -27,7 +34,7 @@ IconButton < CheckBox

MainWindow
size: 272 170
!text: tr('Edit VIP list entry')
!text: tr('Edit VIP')

Label
id: nameLabel
Expand All @@ -36,35 +43,56 @@ MainWindow
anchors.left: parent.left
color: green
width: 180

HorizontalSeparator
anchors.left: parent.left
anchors.right: parent.right
anchors.bottom: prev.bottom
margin-bottom: -5
Label
!text: tr('Description') .. ':'
anchors.top: prev.bottom
anchors.left: parent.left
text-offset: 0 3
height: 20
margin-top: 5

@onSetup: |
if g_game.getFeature(GameVipGroups) then
self:hide()
self:setHeight(0)
end
TextEdit
id: descriptionText
anchors.top: prev.top
anchors.left: prev.right
anchors.right: parent.right
margin: 0 5

@onSetup: |
if g_game.getFeature(GameVipGroups) then
self:hide()
self:setHeight(0)
end
Label
!text: tr('Notify-Login') .. ':'
anchors.top: prev.bottom
anchors.left: parent.left
text-offset: 0 3
height: 20
margin-top: 5

@onSetup: |
if g_game.getFeature(GameVipGroups) then
self:hide()
self:setHeight(0)
end
CheckBox
id: checkBoxNotify
anchors.top: prev.top
anchors.left: prev.right
margin: 2 6
@onSetup: |
if g_game.getFeature(GameVipGroups) then
self:hide()
self:setHeight(0)
end

UIWidget
layout: horizontalBox
Expand Down Expand Up @@ -115,12 +143,98 @@ MainWindow
IconButton
id: icon10
icon-clip: 120 0 12 12

Label
text: Enter a short description:
anchors.top: prev.bottom
anchors.left: parent.left
margin-left: -1
margin-top: 10
text-auto-resize: true
@onSetup: |
if not g_game.getFeature(GameVipGroups) then
self:hide()
end

TextEdit
id: descriptionText
anchors.top: prev.bottom
anchors.left: prev.left
anchors.right: parent.right
height: 50
margin-top: 5
margin-left: 1
multiline: true
text-wrap: true
@onSetup: |
if not g_game.getFeature(GameVipGroups) then
self:hide()
end
SmallReversedQtPanel
size: 244 22
anchors.top: prev.bottom
anchors.left: prev.left
anchors.right: parent.right
margin-top: 11
@onSetup: |
if not g_game.getFeature(GameVipGroups) then
self:hide()
end
OptionCheckBox
id: checkBoxNotify
!text: tr('Notify on login')
anchors.left: parent.left
anchors.right: parent.right
anchors.verticalCenter: parent.verticalCenter
text-auto-resize: true


HorizontalSeparator
anchors.left: parent.left
anchors.right: parent.right
anchors.top: prev.bottom
margin-top: 11
@onSetup: |
if not g_game.getFeature(GameVipGroups) then
self:hide()
end
Label
!text: tr('Member of the following groups:')
anchors.left: parent.left
anchors.right: parent.right
anchors.top: prev.bottom
margin-top: 10
margin-left: -1
text-auto-resize: true
@onSetup: |
if not g_game.getFeature(GameVipGroups) then
self:hide()
end
Panel
id: groups
width: 253

anchors.left: parent.left
anchors.right: parent.right
anchors.top: prev.bottom
anchors.bottom: next.top
margin-top: 6
margin-bottom: 11
@onSetup: |
if not g_game.getFeature(GameVipGroups) then
self:hide()
end
layout:
type: grid
cell-spacing: 3
cell-size: 241 12
num-columns: 1

HorizontalSeparator
anchors.left: parent.left
anchors.right: parent.right
anchors.bottom: next.top
margin-bottom: 10
margin-bottom: 5

Button
id: buttonOK
Expand Down
Loading

0 comments on commit 205e80b

Please sign in to comment.