├── .gitattributes ├── Change Notes.txt ├── Database.sql ├── Disclaimer.txt ├── LICENSE ├── README.md ├── [Core] ├── [HTML] │ ├── img │ │ ├── Cards │ │ │ ├── C10.png │ │ │ ├── C11.png │ │ │ ├── C12.png │ │ │ ├── C13.png │ │ │ ├── C14.png │ │ │ ├── C2.png │ │ │ ├── C3.png │ │ │ ├── C4.png │ │ │ ├── C5.png │ │ │ ├── C6.png │ │ │ ├── C7.png │ │ │ ├── C8.png │ │ │ ├── C9.png │ │ │ ├── D10.png │ │ │ ├── D11.png │ │ │ ├── D12.png │ │ │ ├── D13.png │ │ │ ├── D14.png │ │ │ ├── D2.png │ │ │ ├── D3.png │ │ │ ├── D4.png │ │ │ ├── D5.png │ │ │ ├── D6.png │ │ │ ├── D7.png │ │ │ ├── D8.png │ │ │ ├── D9.png │ │ │ ├── H10.png │ │ │ ├── H11.png │ │ │ ├── H12.png │ │ │ ├── H13.png │ │ │ ├── H14.png │ │ │ ├── H2.png │ │ │ ├── H3.png │ │ │ ├── H4.png │ │ │ ├── H5.png │ │ │ ├── H6.png │ │ │ ├── H7.png │ │ │ ├── H8.png │ │ │ ├── H9.png │ │ │ ├── S10.png │ │ │ ├── S11.png │ │ │ ├── S12.png │ │ │ ├── S13.png │ │ │ ├── S14.png │ │ │ ├── S5.png │ │ │ ├── S6.png │ │ │ ├── S7.png │ │ │ ├── S8.png │ │ │ ├── S9.png │ │ │ ├── s2.png │ │ │ ├── s3.png │ │ │ └── s4.png │ │ └── Hud │ │ │ ├── hunger.png │ │ │ ├── hunger1.png │ │ │ ├── stress.png │ │ │ ├── stress2.png │ │ │ ├── thermometer.png │ │ │ └── water.png │ ├── index.html │ ├── script.js │ └── styles.css ├── [RedEmRP] │ ├── [Client] │ │ ├── BankDoors.lua │ │ ├── MaxCores.lua │ │ ├── PlayPiano.lua │ │ ├── ShowCoords.lua │ │ ├── Stores.lua │ │ ├── functions.lua │ │ ├── iMaps.lua │ │ └── warmenu.lua │ └── [Server] │ │ ├── ShowCoords.lua │ │ ├── Stores.lua │ │ └── functions.lua ├── [System] │ ├── [Client] │ │ └── client.lua │ ├── [Lang] │ │ ├── _.lua │ │ ├── bg.lua │ │ ├── de.lua │ │ ├── dk.lua │ │ ├── en.lua │ │ ├── es.lua │ │ ├── fr.lua │ │ ├── gr.lua │ │ ├── it.lua │ │ ├── nl.lua │ │ ├── pl.lua │ │ ├── pt.lua │ │ └── ru.lua │ └── [Server] │ │ ├── _.lua │ │ └── server.lua └── [Vorp] │ ├── [Client] │ ├── BankDoors.lua │ ├── BountyHunter.lua │ ├── BountyMenu.lua │ ├── MaxCores.lua │ ├── Metabolism.lua │ ├── MetabolismHud.lua │ ├── PayCheck.lua │ ├── PickableFruits.lua │ ├── PlayPiano.lua │ ├── Rivers.lua │ ├── ShowCoords.lua │ ├── Stores.lua │ ├── TS-Trains.net.dll │ ├── Teleport.lua │ ├── UsableItems.lua │ ├── functions.lua │ ├── iMaps.lua │ └── warmenu.lua │ └── [Server] │ ├── BountyHunter.lua │ ├── Metabolism.lua │ ├── PayCheck.lua │ ├── PickableFruits.lua │ ├── ShowCoords.lua │ ├── Stores.lua │ ├── TS-Trains-Server.net.dll │ ├── Teleport.lua │ ├── UsableItems.lua │ └── functions.lua ├── config.lua └── fxmanifest.lua /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /Database.sql: -------------------------------------------------------------------------------- 1 | INSERT INTO `items` (`item`, `label`, `limit`, `can_remove`, `type`, `usable`) VALUES 2 | ('consumable_herb_currant','Currant Herbs', 1, 1, 'item_standard', 1), 3 | ('blackberry', 'BlackBerry', 50, 1, 'item_standard', 1), 4 | ('blueberry', 'BlueBerry', 50, 1, 'item_standard', 1), 5 | ('consumable_herb_wintergreen_berry', 'Wintergreen Berry', 50, 1, 'item_standard', 1), 6 | ('consumable_herb_evergreen_huckleberry', 'Everygreen Berry', 50, 1, 'item_standard', 1), 7 | ('consumable_orange', 'Orange', 20, 1, 'item_standard', 1), 8 | ('consumable_pear', 'Pear', 20, 1, 'item_standard', 1), 9 | ('consumable_peach', 'Peach', 20, 1, 'item_standard', 1), 10 | ('consumable_apple', 'Apple', 20, 1, 'item_standard', 1), 11 | ('oregano', 'Oregano', 25, 1, 'item_standard', 1), 12 | ('consumable_herb_vanilla_flower', 'Vanilla', 30, 1, 'item_standard', 1), 13 | ('consumable_herb_indian_tobacco', 'Tabacco', 30, 1, 'item_standard', 1), 14 | ('consumable_medicine', 'Medicine', 15, 1, 'item_standard', 1), 15 | ('consumable_coffee', 'Coffee', 30, 1, 'item_standard', 1), 16 | ('consumable_meat_greavy', 'Greavy Meat', 30, 1, 'item_standard', 1), 17 | ('consumable_salmon_can', 'Can Salmon', 30, 1, 'item_standard', 1), 18 | ('campfire', 'Campfire', 30, 1, 'item_standard', 1), 19 | ('consumable_herb_chanterelles', 'Chanterelles', 30, 1, 'item_standard', 1), 20 | ('tent', 'Tent', 1, 1, 'item_standard', 1), 21 | ('weapon_fishingrod', 'Fishing Rod', 1, 1, 'item_standard', 1), 22 | ('bait', 'Fish Bait', 20, 1, 'item_standard', 1), 23 | ('consumable_kidneybeans_can', 'Can Kidneybeans', 20, 1, 'item_standard', 1), 24 | ('consumable_haycube', 'Haycube', 2, 1, 'item_standard', 1), 25 | ('wooden_boards', 'Wooden Boards', 10, 1, 'item_standard', 1); 26 | -------------------------------------------------------------------------------- /Disclaimer.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- 2 | ----------------------------------- DevDokus ----------------------------------- 3 | -------------------------------------------------------------------------------- 4 | -------------------------------- RedM Metabolism ------------------------------- 5 | -------------------------------------------------------------------------------- 6 | 7 | -- Instructions -- 8 | Simply place the "DokusCore" in your resource 9 | folder and add it to your server.cfg. Add the following line. 10 | `ensure DokusCore` 11 | -------------------------------------------------------------------------------- 12 | 13 | -- Requirements -- 14 | Other then the VORP Core, you do not 15 | require other plugins for this to work. 16 | 17 | -------------------------------------------------------------------------------- 18 | -------------------------------------------------------------------------------- 19 | 20 | -- Disclaimer -- 21 | DokusCore is currently under development! 22 | I will still be including more scripts to this 23 | core on a daily basis. If you want to be able to 24 | upgrade to the latest version with ease, then I would 25 | recommend not to make changes in any files other then 26 | the config file. This way you can simply download the 27 | latest version and replace your old files. Just keep in 28 | mind that changes can be made to the config. You 29 | can either replace the config and add in your custom changes, 30 | or use the old config and add in the changes I made manually. 31 | If you make any changes in the client/server files, you have 32 | to manually change this on every update. 33 | 34 | =================================================================== 35 | =================================================================== 36 | -- Disclaimer Trains -- 37 | Without the trains DokusCore run 0.00ms with 0.08% server 38 | side. With the trains this will be average around 0.80ms 39 | with 6.00% of thread time. The train edition is quite 40 | a heavy resource but should, depending on the amount of 41 | your resources, cause no lag on your server. If dispite you 42 | have troubles with the trains, you can simply disable it 43 | via the FXManifext.lua. Simply uncomment or delete the 44 | client and server /*.dll entries. By default I have disabled 45 | the trains, this because there is possibility that your RedM 46 | client crashes when restarting DokusCore. using the trains 47 | itself will not cause your troubles, just restarting them 48 | your client sometimes doesn't like. 49 | =================================================================== 50 | =================================================================== 51 | 52 | -------------------------------------------------------------------------------- 53 | TriggerEvent('DevDokus:Metabolism:C:Hunger', value) 54 | TriggerEvent('DevDokus:Metabolism:C:Thirst', value) 55 | TriggerEvent('DevDokus:Metabolism:C:Health', value) 56 | TriggerEvent('DevDokus:Metabolism:C:Stamina', value) 57 | TriggerEvent('DevDokus:Metabolism:C:StaminaInnerGold', seconds) 58 | TriggerEvent('DevDokus:Metabolism:C:StaminaOuterGold', seconds) 59 | TriggerEvent('DevDokus:Metabolism:C:HealthInnerGold', seconds) 60 | TriggerEvent('DevDokus:Metabolism:C:HealthOuterGold', seconds) 61 | 62 | -------------------------------------------------------------------------------- 63 | -- Credits -- 64 | [SirFreddie](https://github.com/SirFreddie) For the hud. 65 | -------------------------------------------------------------------------------- 66 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 DevDokus 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | --- 2 |

3 |
4 | Version (v2.4.2) (WIP) - The Ultimate RP bundle of plugins for your RedM Server. 5 |

6 | 7 | --- 8 | --- 9 | --- 10 | --- 11 | # ATTENTION!!! 12 | This is a plugin bundle I made for Vorp and Rememrp, but currently 13 | I am working on a new public RedM Framework!. For more information 14 | visit the Discord link below!. 15 | 16 | ## Would you like to get early access ? 17 | The new DokusCore Framework is not yet publicly released, but
18 | if you like, you can receive early access by becoming a Beta
19 | tester! Shoot me a mail via [DokusCore@outlook.com](DokusCore@outlook.com),
20 | and I will send your the instructions how to get the files as soon
21 | as possible. For right now only beta testers can have access to the
22 | DokusCore Framework, once the core is finished it will be publicly released.
23 | 24 | Website: [Website](https://DokusCore.com) - [ Under Development ]
25 | Discord: [Discord](https://discord.io/DokusCore) - [ Under Development ]
26 | Github: [Repository](https://github.com/DokusCore) - [ Only Beta Access ]
27 | 28 | --- 29 | --- 30 | --- 31 | --- 32 | # Requirements 33 | - [VorpCore](https://github.com/VORPCORE/VORP-Core) OR [RedEMRP](https://github.com/RedEM-RP) 34 | 35 | # Discord 36 | If you need any information about my script,
37 | if you found a bug, if you have an idea for the
38 | next version, or if you simply need some help.
39 | Feel free to join our [Discord](https://discord.io/DokusCore) 40 | 41 | # Framework 42 | DokusCore is designed to work with both Vorp and
43 | and the RedEMRP Framwork. I am not maintaining this
44 | repository anymore, as I am building my own framework.
45 | Though all scripts should still be working normal! 46 | 47 | # Description 48 | DokusCore is a bundle of plugins I've made to give
49 | RedM roleplay servers a more flexible roleplay.
50 | Instead, having to install all plugins manually,
51 | and putting them in the right order, you can install
52 | this on the go! Simply `ensure Redm-PluginBundle` in your
53 | server cfg and you're done. If you don't like to use
54 | any of the features, you can simply turn them off
55 | in the config. Setting up your RedM RP experience
56 | was never been easier! 57 | 58 | # Features 59 | - **Multi Language Support** 60 | - English 61 | - Dutch 62 | - Bulgarian 63 | - German 64 | - Danish 65 | - Spanish 66 | - French 67 | - Greek 68 | - Italian 69 | - Polish 70 | - Portuguese 71 | - Russian 72 | 73 | - **Metabolism** 74 | - Easy to configure config. 75 | - Very Customizable 76 | - Lower food and/or thirst when running. 77 | - Lower food and/or thirst when walking. 78 | - Lower food and/or thirst when standing idle. 79 | - Set lower or higher value for hunger 80 | - Set lower or higher value for thirst 81 | - Set lower or higher value for Stamina 82 | - Boost Stamina outer core (Gold) 83 | - Boost Stamina inner core (Gold) 84 | - Enable / Disable reset vitals after death 85 | - Gives warnings when low on food and thirst 86 | - Gives vital warnings when low on health 87 | 88 | - **iMaps** 89 | - Fix multiple holes in the map 90 | - Fixes multiple glitched buildings. 91 | - Places tons of objects back on the map 92 | 93 | - **Stores** 94 | - Buying items from 3 categories (Food - Meds - Misc) 95 | - Selling items from 3 categories (Food - Meds - Misc) 96 | - Multiple Store Locations 97 | - Easy to work with Config 98 | - Change the color of the circle easy 99 | - Show or Hide the circles 100 | - Show or hide the NPCs behind the counter 101 | 102 | - **Teleport** 103 | - Set a marker on the map and teleport with /tpm 104 | - Set admin group name in the config 105 | - Can be used for all players or for admins only 106 | 107 | - **UsableItems** 108 | - Adding items with ease in the config 109 | - Adding or removing hunger 110 | - Adding or removing thirst 111 | - Adding or removing stamina 112 | - Adding or removing health 113 | - Adding Gold status health innercore 114 | - Adding Gold status health outercore 115 | - Adding Gold status stamina innercore 116 | - Adding Gold status stamina outercore 117 | 118 | - **BankDoors** 119 | - Open or close the bank doors. 120 | 121 | - **ShowCoords** 122 | - Show map coords with /coords 123 | 124 | - **BountyHunter** 125 | - Very Customizable 126 | - Set Multiple Bounty Boards 127 | - Set min and max rewards for money 128 | - Set min and max rewards for EXP 129 | - Set a static value per kill and EXP 130 | - Easy to add locations and enemies 131 | - Set groups of enemies together by using the same ID 132 | - Set a Red Theme or a Dark Theme for the menu. 133 | - Set the position of the menu (left - right - center) 134 | - Restrict to jobs only or not. 135 | - Set as many custom jobs to use the bounty menu 136 | 137 | - **Play Piano** 138 | - Customizable Config 139 | - Add and remove pianos locations 140 | - Playable as male and female 141 | 142 | - **Trains** 143 | - 2 Trains and 1 Tram 144 | 145 | - **Drink and Wash in Rivers** 146 | - Press G to wash in rivers and E to drink. 147 | - Incease/Decrease Thirst, health and stamina with washing 148 | - Incease/Decrease Thirst, health and stamina with drinking 149 | 150 | - **Pickable Fruits** 151 | - Pick varius fruits from bushes and trees. 152 | - Add harvest items easy in the config. 153 | - Choose Min/Max amount per item to get. 154 | 155 | - **PayChecks** 156 | - Set how often the paycheck needs to occure 157 | - Set what jobs need to reveive a paycheck 158 | - Set the mount of Money - Gold or Exp per Job 159 | 160 | - **MaxCores** 161 | - Boost the default health of a player 162 | - Boost the default stamina of a player 163 | 164 | # Events: Metabolism 165 | ``` 166 | TriggerEvent('DevDokus:Metabolism:C:Hunger', value) 167 | TriggerEvent('DevDokus:Metabolism:C:Thirst', value) 168 | TriggerEvent('DevDokus:Metabolism:C:Health', value) 169 | TriggerEvent('DevDokus:Metabolism:C:Stamina', value) 170 | TriggerEvent('DevDokus:Metabolism:C:StaminaInnerGold', seconds) 171 | TriggerEvent('DevDokus:Metabolism:C:StaminaOuterGold', seconds) 172 | TriggerEvent('DevDokus:Metabolism:C:HealthInnerGold', seconds) 173 | TriggerEvent('DevDokus:Metabolism:C:HealthOuterGold', seconds) 174 | ``` 175 | 176 | # More will be added soon! 177 | As I am developing more scripts, I will be adding
178 | then to this bundle pack! If changes or extentions
179 | are made to the Standalone plugin, they will also
180 | be made in this bundle pack. Check this page
181 | regularly if you want to stay up to date of all the
182 | new plugins! 183 | 184 | # Disclaimer 185 | DokusCore is currently under development, but can already be used!
186 | I will still be including more scripts to this
187 | core on a daily basis. If you want to be able to
188 | upgrade to the latest version with ease, then I would
189 | recommend not to make changes in any files other then
190 | the config file. This way you can simply download the
191 | latest version and replace your old files. Just keep in
192 | mind that changes can be made to the config. You
193 | can either replace the config and add in your custom changes,
194 | or use the old config and add in the changes I made manually.
195 | If you make any changes in the client/server files, you have
196 | to manually change this on every update. 197 | 198 | # Scripts Included 199 | Note: Not all standalone plugins are up to date with the newest version!!
200 | DokusCore has the newest version of all these scripts, I would advice to use
201 | the core instead of the standalones. Once I got more time, I will update all
202 | the standalone. 203 | 204 | - [DevDokus Teleport]( https://github.com/DevDokus/RedM-Teleport) 205 | - [DevDokus Stores](https://github.com/DevDokus/Redm-Stores) 206 | - [DevDokus Usable Items](https://github.com/DevDokus/RedM-UsableItems) 207 | - [DevDokus Metabolism](https://github.com/DevDokus/RedM-Metabolism) 208 | - [DevDokus BountyHunter](https://github.com/DevDokus/RedM-BountyHunter) 209 | - [DevDokus PlayPiano](https://github.com/DevDokus/RedM-PlayPiano) 210 | - [KiBook iMaps](https://github.com/kibook/redm-imaps) 211 | - [Thunderstorm441 Trains](https://github.com/Thunderstorm441/ts-trains-redm) 212 | -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/C10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/C10.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/C11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/C11.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/C12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/C12.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/C13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/C13.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/C14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/C14.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/C2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/C2.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/C3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/C3.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/C4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/C4.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/C5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/C5.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/C6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/C6.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/C7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/C7.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/C8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/C8.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/C9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/C9.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/D10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/D10.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/D11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/D11.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/D12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/D12.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/D13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/D13.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/D14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/D14.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/D2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/D2.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/D3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/D3.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/D4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/D4.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/D5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/D5.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/D6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/D6.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/D7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/D7.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/D8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/D8.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/D9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/D9.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/H10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/H10.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/H11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/H11.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/H12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/H12.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/H13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/H13.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/H14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/H14.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/H2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/H2.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/H3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/H3.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/H4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/H4.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/H5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/H5.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/H6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/H6.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/H7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/H7.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/H8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/H8.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/H9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/H9.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/S10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/S10.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/S11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/S11.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/S12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/S12.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/S13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/S13.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/S14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/S14.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/S5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/S5.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/S6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/S6.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/S7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/S7.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/S8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/S8.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/S9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/S9.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/s2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/s2.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/s3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/s3.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Cards/s4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Cards/s4.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Hud/hunger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Hud/hunger.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Hud/hunger1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Hud/hunger1.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Hud/stress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Hud/stress.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Hud/stress2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Hud/stress2.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Hud/thermometer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Hud/thermometer.png -------------------------------------------------------------------------------- /[Core]/[HTML]/img/Hud/water.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[HTML]/img/Hud/water.png -------------------------------------------------------------------------------- /[Core]/[HTML]/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Fred Hud 5 | 6 | 7 | 8 | 9 | 10 |
11 | 16 | 18 | 19 | 20 | 28 | 29 |
30 | 31 |
32 |
33 |
34 |
35 |
36 |
37 | 38 |
39 |
40 |
41 |
42 |
43 |
44 | 45 |
46 |
47 |
48 |
49 | Loading... 50 |
51 | 52 | 53 | 54 | 55 | 63 | 71 | 72 | 73 | 74 | 75 | -------------------------------------------------------------------------------- /[Core]/[HTML]/script.js: -------------------------------------------------------------------------------- 1 | 2 | var Plugin = null; 3 | window.addEventListener('message', function(event) { 4 | Plugin = event.data._plugin; 5 | if (Plugin == true) { 6 | $('body').animate({ 7 | opacity: event.data.show ? 1 : 0 8 | }, 500); 9 | // if(typeof(event.data.items) != 'undefined') { 10 | // $("#varMoney small").text(event.data.cash); 11 | // // .toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") 12 | // } 13 | if (event.data.items) { 14 | //console.log(JSON.stringify(event.data.items)); 15 | $("#varMoney small").text(event.data.items.cash.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")); 16 | } 17 | 18 | switch (event.data.action) { 19 | case 'SetHud': 20 | if (event.data.temp) { 21 | $("#varTemp small").text(event.data.temp); 22 | } 23 | 24 | if (event.data.cash) { 25 | $("#varMoney small").text(event.data.cash.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")); 26 | } 27 | 28 | if (event.data.hunger) { 29 | $("#varHunger").attr("class", "c100 small first p" + Math.ceil(event.data.hunger)); 30 | } 31 | 32 | if (event.data.thirst) { 33 | $("#varThirst").attr("class", "c100 small second p" + Math.ceil(event.data.thirst)); 34 | } 35 | 36 | if (event.data.stress) { 37 | $("#varStress").attr("class", "c100 small first p" + Math.ceil(event.data.stress)); 38 | } 39 | } 40 | } 41 | 42 | }); 43 | -------------------------------------------------------------------------------- /[Core]/[RedEmRP]/[Client]/BankDoors.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- 2 | ----------------------------------- DevDokus ----------------------------------- 3 | -------------------------------------------------------------------------------- 4 | if (((Plugins.BankDoors) and not (_StartError_) and (Framework.RedEmRP))) then 5 | 6 | local BankDoors = { 7 | -- Armadillo 8 | 3101287960, 9 | -- BLACKWATER 10 | 531022111, 11 | -- Saint Denis 12 | -1477943109, 13 | 2089945615, 14 | -2136681514, 15 | 1733501235, 16 | -- Rhodes 17 | -977211145, 18 | -1206757990, 19 | -- Valentine 20 | -408139633, 21 | -1652509687, 22 | 2642457609, 23 | 1340831050, 24 | 2343746133, 25 | 334467483, 26 | 3718620420, 27 | 2307914732, 28 | } 29 | 30 | Citizen.CreateThread(function() 31 | for i, r in pairs(BankDoors) do 32 | Citizen.InvokeNative(0xD99229FE93B46286, r, 1, 1, 0, 0, 0, 0) 33 | Citizen.InvokeNative(0x6BAB9442830C7F53, r, 0) 34 | end 35 | end) 36 | 37 | end 38 | -------------------------------------------------------------------------------- /[Core]/[RedEmRP]/[Client]/MaxCores.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- 2 | ----------------------------------- DevDokus ----------------------------------- 3 | -------------------------------------------------------------------------------- 4 | Citizen.CreateThread(function() Wait(500) 5 | if (((Plugins.MaxCores) and not (_StartError_) and (Framework.RedEmRP))) then 6 | Citizen.CreateThread(function() 7 | if MaxCores.Stamina then Stamina() end 8 | end) 9 | 10 | Citizen.CreateThread(function() 11 | if MaxCores.Health then Health() end 12 | end) 13 | end 14 | end) 15 | 16 | function Health() 17 | Citizen.InvokeNative(0xCB5D11F9508A928D, 1, a2, a3, GetHashKey("UPGRADE_HEALTH_TANK_1"), 1084182731, (1 * MaxCores.HealthMulti), 752097756) 18 | end 19 | 20 | function Stamina() 21 | print("DOKUSCORE: THIS ERROR CAN BE IGNORED") 22 | Citizen.InvokeNative(0xCB5D11F9508A928D, 1, a2, a3, GetHashKey("UPGRADE_STAMINA_TANK_1"), 1084182731, (1 * MaxCores.StaminaMulti), 752097756) 23 | end 24 | -------------------------------------------------------------------------------- 25 | -------------------------------------------------------------------------------- /[Core]/[RedEmRP]/[Client]/PlayPiano.lua: -------------------------------------------------------------------------------- 1 | 2 | if (((Plugins.PlayPiano) and not (_StartError_) and (Framework.RedEmRP))) then 3 | 4 | -------------------------------------------------------------------------------- 5 | ----------------------------------- DevDokus ----------------------------------- 6 | -------------------------------------------------------------------------------- 7 | function Wait(args) Citizen.Wait(args) end 8 | -------------------------------------------------------------------------------- 9 | -- Varables 10 | local InRange = false 11 | local IsPlaying = false 12 | local Location = nil 13 | RegisterNetEvent('DevDokus:PlayPiano:C:ActPiano') 14 | -------------------------------------------------------------------------------- 15 | -- Core 16 | -------------------------------------------------------------------------------- 17 | -- Check player disctance from coords. 18 | Citizen.CreateThread(function() 19 | while true do Wait(2000) 20 | local ped = PlayerPedId() 21 | local coords = GetEntityCoords(ped) 22 | for k, v in pairs(PlayPiano.Pianos) do 23 | local x, y, z = v.x, v.y, v.z 24 | local dist = GetDistanceBetweenCoords(coords, x, y, z) 25 | 26 | -- Set the current closest piano to the player 27 | if Location == nil and (dist <= 5) then Location = v.ID end 28 | if Location == v.ID then 29 | 30 | if (dist > 2) and InRange then 31 | InRange = false 32 | Location = nil 33 | end 34 | 35 | if (dist <= 2) and not InRange then 36 | Location = v.ID 37 | InRange = true 38 | TriggerEvent('DevDokus:PlayPiano:C:ActPiano', ped, x, y, z, v.h) 39 | end 40 | 41 | end 42 | end 43 | end 44 | end) 45 | 46 | 47 | 48 | AddEventHandler('DevDokus:PlayPiano:C:ActPiano', function(ped, x, y, z, h) 49 | while InRange do Wait(1) 50 | local Space = IsControlJustPressed(0, Keys['SPACEBAR']) 51 | local F = IsControlJustPressed(0, Keys['F']) 52 | 53 | if not IsPlaying then DrawInfo(_('PlayPiano_Play'), 0.5, 0.95, 0.75) end 54 | if IsPlaying then DrawInfo(_('PlayPiano_Stop'), 0.5, 0.95, 0.75) end 55 | 56 | if Space and not IsPlaying then 57 | IsPlaying = true 58 | local male = IsPedMale(ped) 59 | local hash = nil 60 | 61 | if male then hash = GetHashKey('PROP_HUMAN_PIANO') 62 | else hash = GetHashKey('PROP_HUMAN_ABIGAIL_PIANO') end 63 | 64 | Wait(500) 65 | TaskStartScenarioAtPosition(ped, hash, x, y, z, h, 0, true, true, 0, true) 66 | end 67 | 68 | if F and IsPlaying then 69 | Location = nil 70 | IsPlaying = false 71 | ClearPedTasks(GetPlayerPed()) 72 | end 73 | end 74 | end) 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | -------------------------------------------------------------------------------- 96 | end 97 | -------------------------------------------------------------------------------- /[Core]/[RedEmRP]/[Client]/ShowCoords.lua: -------------------------------------------------------------------------------- 1 | Citizen.CreateThread(function() 2 | Wait(500) 3 | if (((Plugins.ShowCoords) and not (_StartError_) and (Framework.RedEmRP))) then 4 | -------------------------------------------------------------------------------- 5 | ----------------------------------- DevDokus ----------------------------------- 6 | -------------------------------------------------------------------------------- 7 | function Wait(args) Citizen.Wait(args) end 8 | -------------------------------------------------------------------------------- 9 | -------------------------------------------------------------------------------- 10 | local SC = false 11 | -------------------------------------------------------------------------------- 12 | 13 | RegisterCommand('coords', function() 14 | -- if ShowCoords.AdminOnly then 15 | -- TriggerServerEvent('DevDokus:ShowCoords:S:CheckAdmin') 16 | -- else 17 | TriggerEvent('DevDokus:ShowCoords:C:Teleport') 18 | -- end 19 | end) 20 | 21 | RegisterNetEvent('DevDokus:ShowCoords:C:Teleport') 22 | AddEventHandler('DevDokus:ShowCoords:C:Teleport', function(IsAdmin) 23 | SC = not SC 24 | while SC do Wait(1) 25 | local ped = GetPlayerPed(source) 26 | local coords = GetEntityCoords(ped) 27 | local head = GetEntityHeading(ped) 28 | local X = ('~e~X~q~ '..(math.floor(coords.x * 10) / 10)) 29 | local Y = ('~e~Y~q~ '..(math.floor(coords.y * 10) / 10)) 30 | local Z = ('~e~Z~q~ '..(math.floor(coords.z * 10) / 10)) 31 | local H = ('~e~H~q~ '..(math.floor(head * 10) / 10)) 32 | local s = ShowCoords 33 | DrawCoords(X, s.PosX.Horizon, s.PosX.Vertical, s.FontSize) 34 | DrawCoords(Y, s.PosY.Horizon, s.PosY.Vertical, s.FontSize) 35 | DrawCoords(Z, s.PosZ.Horizon, s.PosZ.Vertical, s.FontSize) 36 | DrawCoords(H, s.PosH.Horizon, s.PosH.Vertical, s.FontSize) 37 | end 38 | end) 39 | -------------------------------------------------------------------------------- 40 | end 41 | end) 42 | -------------------------------------------------------------------------------- /[Core]/[RedEmRP]/[Client]/Stores.lua: -------------------------------------------------------------------------------- 1 | Citizen.CreateThread(function() 2 | Wait(500) 3 | if (((Plugins.Stores) and not (_StartError_) and (Framework.RedEmRP))) then 4 | -------------------------------------------------------------------------------- 5 | ----------------------------------- DevDokus ----------------------------------- 6 | -------------------------------------------------------------------------------- 7 | function Wait(args) Citizen.Wait(args) end 8 | -------------------------------------------------------------------------------- 9 | -- Varables 10 | local InRange = false 11 | local ActiveMenu = nil 12 | local MenuOpen = false 13 | local Location = nil 14 | -------------------------------------------------------------------------------- 15 | -- Core 16 | -------------------------------------------------------------------------------- 17 | -- Draw Map Marker 18 | Citizen.CreateThread(function() 19 | for k,v in pairs(Stores.Stores) do 20 | local blip = N_0x554d9d53f696d002(1664425300, v.Coords.x, v.Coords.y, v.Coords.z) 21 | SetBlipSprite(blip, 1475879922, 1) 22 | SetBlipScale(blip, 0.2) 23 | Citizen.InvokeNative(0x9CB1A1623062F402, blip, v.Store) 24 | end 25 | end) 26 | 27 | -- Check players distance from the stores. 28 | Citizen.CreateThread(function() 29 | while true do Wait(1) 30 | local ped = GetPlayerPed() 31 | local coords = GetEntityCoords(ped) 32 | local IsDead = IsPedDeadOrDying(ped) 33 | 34 | for k,v in pairs(Stores.Stores) do 35 | local ShowCircle = Stores.ShowCircles 36 | local Red = Stores.CircleColor.Red 37 | local Green = Stores.CircleColor.Green 38 | local Blue = Stores.CircleColor.Blue 39 | local Opacity = Stores.CircleColor.Opacity 40 | local x,y,z = v.Coords.x, v.Coords.y, v.Coords.z 41 | local dist = GetDistanceBetweenCoords(coords.x, coords.y, coords.z, x,y,z) 42 | 43 | if ((Location == nil) and (dist <= 15)) then Location = v.Store end 44 | if ((Location == nil) and (dist > 15)) then Wait(1000) end 45 | 46 | if MenuOpen and IsDead then 47 | Location = nil 48 | MenuOpen = false 49 | ActiveMenu = 'Home' 50 | WarMenu.CloseMenu() 51 | end 52 | 53 | if (Location == v.Store) then 54 | if ((Location ~= nil) and (dist > 15)) then Location = nil end 55 | if not MenuOpen and ShowCircle then DrawCircle(x,y,z, Red, Green, Blue, Opacity) end 56 | if (dist <= 1.5) then 57 | if not MenuOpen then DrawInfo(_('Store_OpenShop'), 0.5, 0.95, 0.75) end 58 | if IsControlJustPressed(0, Keys["SPACEBAR"]) then 59 | MenuOpen = true 60 | ActiveMenu = 'Home' 61 | WarMenu.OpenMenu('Home') 62 | end 63 | 64 | if IsControlJustPressed(0, Keys['BACKSPACE']) then 65 | if ActiveMenu == 'Home' then WarMenu.CloseMenu() ActiveMenu = nil MenuOpen = false 66 | elseif ActiveMenu == 'BuyMenu' then WarMenu.OpenMenu('Home') ActiveMenu = 'Home' 67 | elseif ActiveMenu == 'SellMenu' then WarMenu.OpenMenu('Home') ActiveMenu = 'Home' 68 | elseif ActiveMenu == 'bFoodCat' then WarMenu.OpenMenu('BuyMenu') ActiveMenu = 'BuyMenu' 69 | elseif ActiveMenu == 'bMiscCat' then WarMenu.OpenMenu('BuyMenu') ActiveMenu = 'BuyMenu' 70 | elseif ActiveMenu == 'sFoodCat' then WarMenu.OpenMenu('SellMenu') ActiveMenu = 'SellMenu' 71 | elseif ActiveMenu == 'sMiscCat' then WarMenu.OpenMenu('SellMenu') ActiveMenu = 'SellMenu' 72 | elseif ActiveMenu == 'bMedsCat' then WarMenu.OpenMenu('BuyMenu') ActiveMenu = 'BuyMenu' 73 | elseif ActiveMenu == 'sMedsCat' then WarMenu.OpenMenu('SellMenu') ActiveMenu = 'SellMenu' 74 | end 75 | end 76 | else 77 | MenuOpen = false 78 | ActiveMenu = 'Home' 79 | WarMenu.CloseMenu() 80 | end 81 | end 82 | end 83 | end 84 | end) 85 | 86 | -- Spawn All Store NPCs 87 | Citizen.CreateThread(function() 88 | if Stores.ShowNPCs then 89 | for k,v in pairs(Stores.NPCs) do 90 | local x,y,z,h = v.Coords.x, v.Coords.y, v.Coords.z, v.Heading 91 | local model = v.Model 92 | SpawnNPC(model, x,y,z,h) 93 | end 94 | end 95 | end) 96 | 97 | -- Warmenu 98 | Citizen.CreateThread(function() 99 | CreateMenus() 100 | while true do Wait(1) 101 | local War = WarMenu.IsMenuOpened 102 | if War('Home') then Home() 103 | elseif War('BuyMenu') then BuyMenu() 104 | elseif War('SellMenu') then SellMenu() 105 | elseif War('bFoodCat') then bFoodCat() 106 | elseif War('bMiscCat') then bMiscCat() 107 | elseif War('sFoodCat') then sFoodCat() 108 | elseif War('sMiscCat') then sMiscCat() 109 | elseif War('bMedsCat') then bMedsCat() 110 | elseif War('sMedsCat') then sMedsCat() 111 | end 112 | end 113 | end) 114 | 115 | 116 | function CreateMenus() 117 | WarMenu.CreateMenu('Home', _('Store_MenuTitle')) 118 | WarMenu.SetSubTitle('Home', 'Made By DevDokus') 119 | 120 | -- Buy Menu 121 | WarMenu.CreateMenu('BuyMenu', _('Store_MenuTitle')) 122 | WarMenu.SetSubTitle('BuyMenu', _('Store_Category')) 123 | WarMenu.CreateMenu('bFoodCat', _('Store_MenuTitle')) 124 | WarMenu.SetSubTitle('bFoodCat', _('Store_FoodMenu')) 125 | WarMenu.CreateMenu('bMiscCat', _('Store_MenuTitle')) 126 | WarMenu.SetSubTitle('bMiscCat', _('Store_MiscMenu')) 127 | WarMenu.CreateMenu('bMedsCat', _('Store_MenuTitle')) 128 | WarMenu.SetSubTitle('bMedsCat', _('Store_MedsMenu')) 129 | 130 | --- Sell Menu 131 | WarMenu.CreateMenu('SellMenu', _('Store_MenuTitle')) 132 | WarMenu.SetSubTitle('SellMenu', _('Store_Category')) 133 | WarMenu.CreateMenu('sFoodCat', _('Store_MenuTitle')) 134 | WarMenu.SetSubTitle('sFoodCat', _('Store_FoodMenu')) 135 | WarMenu.CreateMenu('sMiscCat', _('Store_MenuTitle')) 136 | WarMenu.SetSubTitle('sMiscCat', _('Store_MiscMenu')) 137 | WarMenu.CreateMenu('sMedsCat', _('Store_MenuTitle')) 138 | WarMenu.SetSubTitle('sMedsCat', _('Store_MedsMenu')) 139 | end 140 | 141 | -------------------------------------------------------------------------------- 142 | -- Page 1 - Home Page 143 | -------------------------------------------------------------------------------- 144 | function Home () 145 | ActiveMenu = 'Home' 146 | local BBuy = WarMenu.Button(_('Store_Buy'), '', 'Github.com/DevDokus') 147 | local BSell = WarMenu.Button(_('Store_Sell'), '', 'WORK IN PROGRESS') 148 | local Exit = WarMenu.Button(_('Store_Exit'), '', '') 149 | if BBuy then WarMenu.OpenMenu('BuyMenu') end 150 | if BSell then WarMenu.OpenMenu('SellMenu') end 151 | if Exit then 152 | MenuOpen = false 153 | ActiveMenu = 'Home' 154 | Location = nil 155 | WarMenu.CloseMenu() 156 | end 157 | WarMenu.Display() 158 | end 159 | 160 | -------------------------------------------------------------------------------- 161 | -- Page 2 - Buy Category Section 162 | -------------------------------------------------------------------------------- 163 | function BuyMenu () 164 | ActiveMenu = 'BuyMenu' 165 | local _Foods = WarMenu.Button(_('Store_Food'), '', _('Store_FoodMenu')) 166 | local _Meds = WarMenu.Button(_('Store_Meds'), '', _('Store_MedsMenu')) 167 | local _Misc = WarMenu.Button(_('Store_Misc'), '', _('Store_MiscMenu')) 168 | local Exit = WarMenu.Button(_('Store_Exit'), '', '') 169 | if _Foods then WarMenu.OpenMenu('bFoodCat') end 170 | if _Meds then WarMenu.OpenMenu('bMedsCat') end 171 | if _Misc then WarMenu.OpenMenu('bMiscCat') end 172 | if Exit then 173 | MenuOpen = false 174 | ActiveMenu = 'Home' 175 | Location = nil 176 | WarMenu.CloseMenu() 177 | end 178 | WarMenu.Display() 179 | end 180 | 181 | function SellMenu () 182 | ActiveMenu = 'SellMenu' 183 | local _Foods = WarMenu.Button(_('Store_Food'), '', _('Store_FoodMenu')) 184 | local _Meds = WarMenu.Button(_('Store_Meds'), '', _('Store_MedsMenu')) 185 | local _Misc = WarMenu.Button(_('Store_Misc'), '', _('Store_MiscMenu')) 186 | local Exit = WarMenu.Button(_('Store_Exit'), '', '') 187 | if _Foods then WarMenu.OpenMenu('sFoodCat') end 188 | if _Meds then WarMenu.OpenMenu('sMedsCat') end 189 | if _Misc then WarMenu.OpenMenu('sMiscCat') end 190 | if Exit then 191 | MenuOpen = false 192 | ActiveMenu = 'Home' 193 | Location = nil 194 | WarMenu.CloseMenu() 195 | end 196 | WarMenu.Display() 197 | end 198 | 199 | function bFoodCat() 200 | ActiveMenu = 'bFoodCat' 201 | for k,v in pairs(Stores.Buy) do 202 | if v.Type == 'Food' then 203 | local item = v.Name 204 | local price = tostring(v.Price) 205 | local desc = v.Text 206 | local button = WarMenu.Button(item, '$'..price, desc) 207 | if button then TriggerServerEvent('DevDokus:S:BuyItem', v) end 208 | end 209 | end 210 | WarMenu.Display() 211 | end 212 | 213 | function bMedsCat() 214 | ActiveMenu = 'bMedsCat' 215 | for k,v in pairs(Stores.Buy) do 216 | if v.Type == 'Meds' then 217 | local item = v.Name 218 | local price = tostring(v.Price) 219 | local desc = v.Text 220 | local button = WarMenu.Button(item, '$'..price, desc) 221 | if button then TriggerServerEvent('DevDokus:S:BuyItem', v) end 222 | end 223 | end 224 | WarMenu.Display() 225 | end 226 | 227 | function bMiscCat() 228 | ActiveMenu = 'bMiscCat' 229 | for k,v in pairs(Stores.Buy) do 230 | if v.Type == 'Misc' then 231 | local item = v.Name 232 | local price = tostring(v.Price) 233 | local desc = v.Text 234 | local button = WarMenu.Button(item, '$'..price, desc) 235 | if button then TriggerServerEvent('DevDokus:S:BuyItem', v) end 236 | end 237 | end 238 | WarMenu.Display() 239 | end 240 | 241 | function sFoodCat() 242 | ActiveMenu = 'sFoodCat' 243 | for k,v in pairs(Stores.Sell) do 244 | if v.Type == 'Food' then 245 | local item = v.Name 246 | local price = tostring(v.Price) 247 | local desc = v.Text 248 | local button = WarMenu.Button(item, '$'..price, desc) 249 | if button then TriggerServerEvent('DevDokus:S:SellItem', v) end 250 | end 251 | end 252 | WarMenu.Display() 253 | end 254 | 255 | function sMedsCat() 256 | ActiveMenu = 'sMedsCat' 257 | for k,v in pairs(Stores.Sell) do 258 | if v.Type == 'Meds' then 259 | local item = v.Name 260 | local price = tostring(v.Price) 261 | local desc = v.Text 262 | local button = WarMenu.Button(item, '$'..price, desc) 263 | if button then TriggerServerEvent('DevDokus:S:SellItem', v) end 264 | end 265 | end 266 | WarMenu.Display() 267 | end 268 | 269 | function sMiscCat() 270 | ActiveMenu = 'sMiscCat' 271 | for k,v in pairs(Stores.Sell) do 272 | if v.Type == 'Misc' then 273 | local item = v.Name 274 | local price = tostring(v.Price) 275 | local desc = v.Text 276 | local button = WarMenu.Button(item, '$'..price, desc) 277 | if button then TriggerServerEvent('DevDokus:S:SellItem', v) end 278 | end 279 | end 280 | WarMenu.Display() 281 | end 282 | end 283 | end) 284 | -------------------------------------------------------------------------------- /[Core]/[RedEmRP]/[Client]/functions.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- 2 | ----------------------------------- DevDokus ----------------------------------- 3 | -------------------------------------------------------------------------------- 4 | if not ((_StartError_) and (Framework.Vorp)) then 5 | function DrawCircle(x, y, z, r, g, b, a) 6 | Citizen.InvokeNative(0x2A32FAA57B937173, 0x94FDAE17, x, y, z - 0.95, 0, 0, 0, 0, 0, 0, 1.0, 1.0, 0.25, r, g, b, a, 0, 0, 2, 0, 0, 0, 0) 7 | end 8 | 9 | function Notify(text, time) 10 | TriggerEvent("vorp:TipRight", text, time) 11 | end 12 | 13 | function DrawInfo(text, x, y, size) 14 | local xc = x / 1.0; 15 | local yc = y / 1.0; 16 | SetScriptGfxDrawOrder(3) 17 | SetTextScale(size, size) 18 | SetTextCentre(true) 19 | SetTextColor(255, 255, 255, 100) 20 | SetTextFontForCurrentCommand(6) 21 | DisplayText(CreateVarString(10, 'LITERAL_STRING', text), xc, yc) 22 | SetScriptGfxDrawOrder(3) 23 | end 24 | 25 | function DrawCoords(text, x, y, size) 26 | local xc = x / 1.0; 27 | local yc = y / 1.0; 28 | SetScriptGfxDrawOrder(3) 29 | SetTextScale(size, size) 30 | SetTextCentre(true) 31 | SetTextColor(255, 255, 255, 100) 32 | SetTextFontForCurrentCommand(6) 33 | DisplayText(CreateVarString(10, 'LITERAL_STRING', text), xc, yc) 34 | SetScriptGfxDrawOrder(3) 35 | end 36 | 37 | function DrawTxt(str, x, y, w, h, enableShadow, col1, col2, col3, a, center) 38 | local str = CreateVarString(10, "LITERAL_STRING", str, Citizen.ResultAsLong()) 39 | SetTextScale(w, h) 40 | SetTextColor(math.floor(col1), math.floor(col2), math.floor(col3), math.floor(a)) 41 | SetTextCentre(center) 42 | if enableShadow then SetTextDropshadow(1, 0, 0, 0, 255) end 43 | Citizen.InvokeNative(0xADA9255D, 10); 44 | DisplayText(str, x, y) 45 | end 46 | 47 | -- Spawn a NPC model 48 | function SpawnNPC(_, x, y, z, heading) 49 | local _ = GetHashKey(_) 50 | while not HasModelLoaded(_) do RequestModel(_) Wait(1) end 51 | local NCP = Citizen.InvokeNative(0xD49F9B0955C367DE, _, x, y, z, heading, 0, 0, 0, Citizen.ResultAsInteger()) 52 | Citizen.InvokeNative(0x1794B4FCC84D812F, NCP, 1) -- SetEntityVisible 53 | Citizen.InvokeNative(0x0DF7692B1D9E7BA7, NCP, 255, false) -- SetEntityAlpha 54 | Citizen.InvokeNative(0x283978A15512B2FE, NCP, true) -- Invisible without 55 | Citizen.InvokeNative(0x7D9EFB7AD6B19754, NCP, true) -- FreezeEntityPosition 56 | Citizen.InvokeNative(0xDC19C288082E586E, NCP, 1, 1) --SetEntityAsMissionEntity 57 | Citizen.InvokeNative(0x919BE13EED931959, NPC, - 1) -- TaskStandStill 58 | Wait(100) 59 | Citizen.InvokeNative(0xC80A74AC829DDD92, npc, _) -- SET_PED_RELATIONSHIP_GROUP_HASH 60 | Citizen.InvokeNative(0x4AD96EF928BD4F9A, NCP) -- SetModelAsNoLongerNeeded 61 | return NCP 62 | end 63 | 64 | function RoundNumber(n, d) 65 | local m = 10^(d or 0) 66 | return math.floor(n * m + 0.5) / m 67 | end 68 | 69 | RegisterNetEvent('DokusCore:ProgressBars') 70 | AddEventHandler('DokusCore:ProgressBars', function(text, x, y, size, time) 71 | local Text, run, count, loop, End = nil, true, 0, 1, ((time - 2) / 2) 72 | while run do Wait(1) 73 | if (count <= 15) then Text = (text..'.') end 74 | if ((count > 15) and (count <= 30)) then Text = (text..'..') end 75 | if ((count > 30) and (count <= 45)) then Text = (text..'...') end 76 | if ((count > 60) and (loop ~= End)) then count = 0 loop = (loop + 1) end 77 | if (loop >= End) then count = 0 loop = 1 run = false end 78 | DrawInfo(Text, x, y, size) 79 | count = (count + 1) 80 | end 81 | end) 82 | end 83 | -------------------------------------------------------------------------------- /[Core]/[RedEmRP]/[Server]/ShowCoords.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- 2 | ----------------------------------- DevDokus ----------------------------------- 3 | -------------------------------------------------------------------------------- 4 | -- local VorpCore = {} 5 | -- TriggerEvent("getCore", function(core) VorpCore = core end) 6 | -------------------------------------------------------------------------------- 7 | -- RegisterServerEvent('DevDokus:ShowCoords:S:CheckAdmin') 8 | -- -------------------------------------------------------------------------------- 9 | -- AddEventHandler('DevDokus:ShowCoords:S:CheckAdmin', function() 10 | -- local User = VorpCore.getUser(source) 11 | -- for k, v in pairs(User) do 12 | -- local IsAdmin = User.getGroup 13 | -- if IsAdmin == ShowCoords.AdminGroup then 14 | -- TriggerClientEvent('DevDokus:ShowCoords:C:Teleport', source) 15 | -- else 16 | -- Notify('This feature can only be used by admins!', 5000) 17 | -- end 18 | -- end 19 | -- end) 20 | -------------------------------------------------------------------------------- /[Core]/[RedEmRP]/[Server]/Stores.lua: -------------------------------------------------------------------------------- 1 | 2 | Citizen.CreateThread(function() 3 | Wait(500) 4 | if (((Plugins.Stores) and not (_StartError_) and (Framework.RedEmRP))) then 5 | -------------------------------------------------------------------------------- 6 | ----------------------------------- DevDokus ----------------------------------- 7 | -------------------------------------------------------------------------------- 8 | Framework = {} 9 | TriggerEvent("redemrp_inventory:getData", function(data) Framework = data end) 10 | -------------------------------------------------------------------------------- 11 | RegisterServerEvent('DevDokus:S:BuyItem') 12 | RegisterServerEvent('DevDokus:S:SellItem') 13 | -------------------------------------------------------------------------------- 14 | AddEventHandler('DevDokus:S:BuyItem', function(Data) 15 | TriggerEvent('redemrp:getPlayerFromId', source, function(User) 16 | if (User ~= nil) then 17 | local Money = User.getMoney() 18 | local getItem = Framework.getItem(source, Data.ID) 19 | local ItemAmount = getItem.ItemAmount 20 | -- Stop the user if already max items in inventory 21 | if (ItemAmount >= Data.Max) then Note('You already have the max of this item in your inventory!', source, 5000) return end 22 | -- Transact the money 23 | if (Data.Price > Money) then Note("You've not enough money to affort this item", source, 5000) return end 24 | User.removeMoney(Data.Price) 25 | -- Transact the item 26 | getItem.AddItem(1) 27 | end 28 | end) 29 | end) 30 | -------------------------------------------------------------------------------- 31 | AddEventHandler('DevDokus:S:SellItem', function(Data) 32 | TriggerEvent('redemrp:getPlayerFromId', source, function(User) 33 | if (User ~= nil) then 34 | local Money = User.getMoney() 35 | local getItem = Framework.getItem(source, Data.ID) 36 | local ItemAmount = getItem.ItemAmount 37 | -- Stop user if item is not in his inventory 38 | if (getItem.ItemAmount <= 0) then Note('You do not have this item in your inventory', source, 5000) return end 39 | -- Transact the money 40 | User.addMoney(Data.Price) 41 | -- Transact the item 42 | getItem.RemoveItem(1) 43 | end 44 | end) 45 | end) 46 | -------------------------------------------------------------------------------- 47 | end 48 | end) 49 | -------------------------------------------------------------------------------- /[Core]/[RedEmRP]/[Server]/functions.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- 2 | ----------------------------------- DevDokus ----------------------------------- 3 | -------------------------------------------------------------------------------- 4 | function DrawCircle(x,y,z,r,g,b,a) 5 | Citizen.InvokeNative(0x2A32FAA57B937173, 0x94FDAE17, x, y, z-0.95, 0, 0, 0, 0, 0, 0, 1.0, 1.0, 0.25, r, g, b, a, 0, 0, 2, 0, 0, 0, 0) 6 | end 7 | 8 | function Notify(text, time) 9 | TriggerClientEvent("vorp:TipRight", source, text, time) 10 | end 11 | 12 | function Note(text, source, time) 13 | TriggerClientEvent("pNotify:SendNotification", source, { 14 | text = ""..text, 15 | type = "success", 16 | timeout = time, 17 | layout = "centerRight", 18 | queue = "right" 19 | }) 20 | end 21 | -------------------------------------------------------------------------------- /[Core]/[System]/[Client]/client.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[System]/[Client]/client.lua -------------------------------------------------------------------------------- /[Core]/[System]/[Lang]/_.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- 2 | ----------------------------------- DevDokus ----------------------------------- 3 | -------------------------------------------------------------------------------- 4 | Lang = {} 5 | function Indexer(str, ...) 6 | if Lang[Language] ~= nil then 7 | if Lang[Language][str] ~= nil then 8 | return string.format(Lang[Language][str], ...) 9 | else 10 | return 'Translation [' .. Language .. '][' .. str .. '] does not exist' 11 | end 12 | else 13 | return 'Locale [' .. Language .. '] does not exist' 14 | end 15 | end 16 | 17 | function _(str, ...) -- Translate string first char uppercase 18 | return tostring(Indexer(str, ...):gsub("^%l", string.upper)) 19 | end 20 | -------------------------------------------------------------------------------- 21 | -------------------------------------------------------------------------------- 22 | -------------------------------------------------------------------------------- /[Core]/[System]/[Lang]/bg.lua: -------------------------------------------------------------------------------- 1 | Lang['bg'] = { 2 | -- Общ 3 | ['OnlyAdmins'] = 'Тази функция е само за администратори!', 4 | 5 | -- Пиано 6 | ['PlayPiano_Play'] = 'Натиснете [~e~Space~q~], за да свирите на пиано', 7 | ['PlayPiano_Stop'] = 'Натиснете [~e~F~q~], за да спрете да играете', 8 | 9 | -- Метаболизъм 10 | ['Metabolism_IFCC'] = 'Неправилен_Format_Check_Config', 11 | ['Metabolism_YourDying1'] = 'Умирате, проверете жизнените си показатели!', 12 | ['Metabolism_YourDying2'] = 'Чувствам изтръпване в пръстите ...', 13 | ['Metabolism_YourDying3'] = 'Виждам светлините, краят е близо ...', 14 | ['Metabolism_SoHungry'] = 'Чувствам се толкова гладен, че трябва да ям', 15 | ['Metabolism_SoThirsty'] = 'Чувствам се толкова жаден, че трябва да пия', 16 | 17 | -- UsableItems 18 | ['UsableItems_NoTent'] = 'Вие нямате палатка!', 19 | ['UsableItems_NoCampFire'] = 'Нямате огън!', 20 | ['UsableItems_PlacingCampfire'] = "Поставяте лагерния си огън ...", 21 | ['UsableItems_PlacingTent'] = "Поставяте палатката си ...", 22 | ['UsableItems_Eating'] = "Вие сте консумирали", 23 | ['UsableItems_Drinking'] = "Пили сте", 24 | ['UsableItems_RefundCampfire'] = "Върнаха ви лагерния огън", 25 | ['UsableItems_RefundTent'] = "Възстановена ви е палатка", 26 | 27 | -- Магазини 28 | ['Store_OpenShop'] = 'Натиснете [~e~SPACE~q~], за да отворите менюто на магазина', 29 | ['Store_MenuTitle'] = 'Общ магазин', 30 | ['Store_Category'] = 'Категория', 31 | ['Store_Buy'] = 'Купуване на артикули', 32 | ['Store_Sell'] = 'Продавайте артикули', 33 | ['Store_Food'] = 'Храна', 34 | ['Store_Meds'] = 'Медицински', 35 | ['Store_Misc'] = 'Разни', 36 | ['Store_FoodMenu'] = 'Меню за храна', 37 | ['Store_MedsMenu'] = 'Медицински артикули', 38 | ['Store_MiscMenu'] = 'Други елементи', 39 | ['Store_FoodSubTitle'] = 'Вашите ежедневни основни нужди', 40 | ['Store_MedsSubTitle'] = 'За да останеш жив!', 41 | ['Store_OtherItems'] = 'Други елементи', 42 | ['Store_NotEnoughMoney'] = 'Няма достатъчно пари', 43 | ['Store_Bought1'] = "Купихте", 44 | ['Store_Bought2'] = ', струва ви $', 45 | ['Store_Bought3'] = 'Долар!', 46 | ['Store_Sold'] = "Продали сте артикул:", 47 | ['Store_NoItem'] = "Нямате елемент, наречен:", 48 | ['Store_Exit'] = 'Изход', 49 | 50 | -- Ловец на глави 51 | ['BountyHunter_PressSpace'] = 'Натиснете [~e~SPACE~q~], за да отворите менюто за награди', 52 | ['BountyHunter_MenuTitle'] = 'Bounty Board', 53 | ['BountyHunter_PVESubTitle'] = 'Лов на NPC', 54 | ['BountyHunter_PVPSubTitle'] = 'Лов на хора', 55 | ['BountyHunter_PVEMenu'] = 'PVE меню', 56 | ['BountyHunter_PVPMenu'] = 'PVP меню', 57 | ['BountyHunter_HuntBountyButton'] = 'Намиране на награда', 58 | ['BountyHunter_ReceivePayment'] = 'Получаване на плащане', 59 | ['BountyHunter_NoBounties'] = "Нямате записани убийства на глави, партньоре!", 60 | ['BountyHunter_SetBounty'] = 'Задаване на награда', 61 | ['BountyHunter_Payment1'] = "Получихте $", 62 | ['BountyHunter_Payment2'] = 'и', 63 | ['BountyHunter_Payment3'] = 'XP', 64 | ['BountyHunter_BountyOnMap'] = 'Вашата награда се намира на картата!', 65 | ['BountyHunter_TheyBeDead'] = 'Трябват ни мъртви, а не живи! Но мъртъв! ', 66 | ['BountyHunter_StackBounties'] = 'Можете да подреждате награди, само имайте предвид', 67 | ['BountyHunter_DieAndLose'] = 'че губите наградите, ако сте умрели!', 68 | ['BountyHunter_KilledAllTargets'] = 'Успяхте да убиете всички цели', 69 | ['BountyHunter_SearchBodies'] = 'Търсете доказателства в телата,', 70 | ['BountyHunter_AndBringBack'] = 'и върнете това обратно в полицейския офис!', 71 | ['BountyHunter_BringBackEvidence'] = 'Върнете доказателствата в шериф!', 72 | ['BountyHunter_LostTargets'] = "Изгубихте целите си", 73 | ['BountyHunter_NoStackAllowed'] = "Вече имате активна награда! Първо ги убийте", 74 | ['BountyHunter_MaxBountiesReached'] = "Отворили сте много награди, първо ги убийте", 75 | 76 | -- Picking Fruits 77 | ['PickableFruits_PressSpace'] = 'Натиснете [~e~SPACE~q~], за да съберете плодове', 78 | ['PickableFruits_Searching'] = "Търсене ...", 79 | ['PickableFruits_Collected'] = "Събрахте", 80 | ['PickableFruits_NothingFound'] = "Тук няма какво да се събира!", 81 | 82 | -- Rivers 83 | ['Rivers_Info'] = "Натиснете [~e~G~q~], за да измиете, [~e~ENTER~q~], за да пиете вода", 84 | 85 | -- PayCheck 86 | ['PayCheck_Money'] = 'Получихте ~t~$~q~ ~o~', 87 | ['PayCheck_Gold'] = '~t~Злато~q~: ~o~', 88 | ['PayCheck_Exp'] = '~t~XP:~q~ ~o~', 89 | ['PayCheck_Salary'] = '[~t~Заплата~q~]', 90 | } 91 | -------------------------------------------------------------------------------- /[Core]/[System]/[Lang]/de.lua: -------------------------------------------------------------------------------- 1 | Lang['de'] = { 2 | 3 | -- Allgemeines 4 | ['OnlyAdmins'] = 'Diese Funktion ist nur für Administratoren!', 5 | 6 | -- Piano 7 | ['PlayPiano_Play'] = 'Drücken Sie [~e~Leertaste~q~], um Klavier zu spielen', 8 | ['PlayPiano_Stop'] = 'Drücken Sie [~e~F~q~], um die Wiedergabe zu beenden.', 9 | 10 | -- Stoffwechsel 11 | ['Metabolism_IFCC'] = 'Falsche_Formatprüfkonfiguration', 12 | ['Metabolism_YourDying1'] = 'Du stirbst, überprüfe deine Vitalwerte!', 13 | ['Metabolism_YourDying2'] = 'Ich fühle ein Kribbeln in meinen Fingern ...', 14 | ['Metabolism_YourDying3'] = 'Ich kann die Lichter sehen, das Ende ist nahe ...', 15 | ['Metabolism_SoHungry'] = 'Ich bin so hungrig, dass ich etwas essen muss', 16 | ['Metabolism_SoThirsty'] = 'Ich fühle mich so durstig, ich muss trinken', 17 | 18 | -- UsableItems 19 | ['UsableItems_NoTent'] = 'Du hast kein Zelt!', 20 | ['UsableItems_NoCampFire'] = 'Du hast kein Lagerfeuer!', 21 | ['UsableItems_PlacingCampfire'] = "Du machst dein Lagerfeuer ...", 22 | ['UsableItems_PlacingTent'] = "Sie stellen Ihr Zelt auf ...", 23 | ['UsableItems_Eating'] = "Sie haben konsumiert", 24 | ['UsableItems_Drinking'] = "Du hast getrunken", 25 | ['UsableItems_RefundCampfire'] = "Ihnen wurde ein Lagerfeuer erstattet", 26 | ['UsableItems_RefundTent'] = "Ihnen wurde ein Zelt erstattet", 27 | 28 | -- Stores 29 | ['Store_OpenShop'] = 'Drücken Sie [~e~SPACE~q~], um das Shop-Menü zu öffnen', 30 | ['Store_MenuTitle'] = 'Gemischtwarenladen', 31 | ['Store_Category'] = 'Kategorie', 32 | ['Store_Buy'] = 'Artikel kaufen', 33 | ['Store_Sell'] = 'Artikel verkaufen', 34 | ['Store_Food'] = 'Essen', 35 | ['Store_Meds'] = 'Medical', 36 | ['Store_Misc'] = 'Verschiedenes', 37 | ['Store_FoodMenu'] = 'Speisekarte', 38 | ['Store_MedsMenu'] = 'Medizinische Gegenstände', 39 | ['Store_MiscMenu'] = 'Andere Gegenstände', 40 | ['Store_FoodSubTitle'] = 'Ihre täglichen Grundbedürfnisse', 41 | ['Store_MedsSubTitle'] = 'Um am Leben zu bleiben!', 42 | ['Store_OtherItems'] = 'Andere Gegenstände', 43 | ['Store_NotEnoughMoney'] = 'Nicht genug Geld', 44 | ['Store_Bought1'] = "Du hast ein gekauft", 45 | ['Store_Bought2'] = ', kostet dich $', 46 | ['Store_Bought3'] = 'Dollar!', 47 | ['Store_Sold'] = "Sie haben einen Artikel verkauft:", 48 | ['Store_NoItem'] = "Sie haben kein Element mit dem Namen:", 49 | ['Store_Exit'] = 'Beenden', 50 | 51 | -- Kopfgeldjäger 52 | ['BountyHunter_PressSpace'] = 'Drücken Sie [~e~SPACE~q~], um das Kopfgeldmenü zu öffnen', 53 | ['BountyHunter_MenuTitle'] = 'Kopfgeldbrett', 54 | ['BountyHunter_PVESubTitle'] = 'NPCs jagen', 55 | ['BountyHunter_PVPSubTitle'] = 'Menschen jagen', 56 | ['BountyHunter_PVEMenu'] = 'PVE-Menü', 57 | ['BountyHunter_PVPMenu'] = 'PVP-Menü', 58 | ['BountyHunter_HuntBountyButton'] = 'Jage ein Kopfgeld', 59 | ['BountyHunter_ReceivePayment'] = 'Zahlung erhalten', 60 | ['BountyHunter_NoBounties'] = "Du hast keine Kopfgeld-Kills aufgezeichnet, Partner!", 61 | ['BountyHunter_SetBounty'] = 'Kopfgeld setzen', 62 | ['BountyHunter_Payment1'] = "Sie haben $ erhalten", 63 | ['BountyHunter_Payment2'] = 'und', 64 | ['BountyHunter_Payment3'] = 'XP', 65 | ['BountyHunter_BountyOnMap'] = 'Dein Kopfgeld befindet sich auf der Karte!', 66 | ['BountyHunter_TheyBeDead'] = 'Wir brauchen sie tot, nicht lebendig! Aber tot! ', 67 | ['BountyHunter_StackBounties'] = 'Sie können Kopfgelder stapeln, denken Sie daran', 68 | ['BountyHunter_DieAndLose'] = 'dass du die Kopfgelder verlierst, wenn du stirbst!', 69 | ['BountyHunter_KilledAllTargets'] = 'Du hast es geschafft, alle Ziele zu töten', 70 | ['BountyHunter_SearchBodies'] = 'Durchsuche die Leichen nach Beweisen', 71 | ['BountyHunter_AndBringBack'] = 'und bing das zurück zum Polizeibüro!', 72 | ['BountyHunter_BringBackEvidence'] = 'Bring die Beweise zum Sherif zurück!', 73 | ['BountyHunter_LostTargets'] = "Du hast deine Ziele verloren", 74 | ['BountyHunter_NoStackAllowed'] = "Du hast bereits ein aktives Kopfgeld! Töte sie zuerst", 75 | ['BountyHunter_MaxBountiesReached'] = "Du hast zu viele Kopfgelder geöffnet, töte sie zuerst", 76 | 77 | ['PickableFruits_PressSpace'] = 'Drücken Sie [~e~SPACE~q~], um nach Beeren zu ernten', 78 | ['PickableFruits_Searching'] = "Suchen ...", 79 | ['PickableFruits_Collected'] = "Sie haben gesammelt", 80 | ['PickableFruits_NothingFound'] = "Hier gibt es nichts zu sammeln!", 81 | 82 | ['Rivers_Info'] = "Drücken Sie [~e~G~q~], um sich zu waschen, [~e~ENTER~q~], um Wasser zu trinken", 83 | 84 | -- PayCheck 85 | ['PayCheck_Money'] = 'Sie haben ~t~$~q~ ~o~', 86 | ['PayCheck_Gold'] = '~t~Gold~q~: ~o~', 87 | ['PayCheck_Exp'] = '~t~XP:~q~ ~o~', 88 | ['PayCheck_Salary'] = ' erhalten | [~t~Gehalt~q~]', 89 | } 90 | -------------------------------------------------------------------------------- /[Core]/[System]/[Lang]/dk.lua: -------------------------------------------------------------------------------- 1 | Lang['dk'] = { 2 | -- Generelt 3 | ['OnlyAdmins'] = 'Denne funktion er kun til administratorer!', 4 | 5 | -- Klaver 6 | ['PlayPiano_Play'] = 'Tryk på [~e~Mellemrum~q~] for at spille klaveret', 7 | ['PlayPiano_Stop'] = 'Tryk på [~e~F~q~] for at stoppe afspilningen', 8 | 9 | -- Metabolisme 10 | ['Metabolism_IFCC'] = 'Forkert_Format_Check_Config', 11 | ['Metabolism_YourDying1'] = 'Du dør, tjek dine vitaler!', 12 | ['Metabolism_YourDying2'] = 'Jeg føler mig kriblende i fingrene ...', 13 | ['Metabolism_YourDying3'] = 'Jeg kan se lysene, enden er nær ...', 14 | ['Metabolism_SoHungry'] = 'Jeg føler mig så sulten, jeg har brug for at spise', 15 | ['Metabolism_SoThirsty'] = 'Jeg føler mig så tørstig, jeg har brug for at drikke', 16 | 17 | -- Brugbare emner 18 | ['UsableItems_NoTent'] = 'Du har intet telt!', 19 | ['UsableItems_NoCampFire'] = 'Du har ikke noget bål!', 20 | ['UsableItems_PlacingCampfire'] = "Du placerer din lejrbål ...", 21 | ['UsableItems_PlacingTent'] = "Du placerer dit telt ...", 22 | ['UsableItems_Eating'] = "Du har brugt", 23 | ['UsableItems_Drinking'] = "Du har drukket", 24 | ['UsableItems_RefundCampfire'] = "Du har fået tilbagebetalt et lejrbål", 25 | ['UsableItems_RefundTent'] = "Du har fået refunderet et telt", 26 | 27 | -- Butikker 28 | ['Store_OpenShop'] = 'Tryk på [~e~MELLEMRUM~q~] for at åbne butikmenuen', 29 | ['Store_MenuTitle'] = 'Almindelig butik', 30 | ['Store_Category'] = 'Kategori', 31 | ['Store_Buy'] = 'Køb varer', 32 | ['Store_Sell'] = 'Sælg varer', 33 | ['Store_Food'] = 'Mad', 34 | ['Store_Meds'] = 'Medicinsk', 35 | ['Store_Misc'] = 'Diverse', 36 | ['Store_FoodMenu'] = 'Madmenu', 37 | ['Store_MedsMenu'] = 'Medicinske genstande', 38 | ['Store_MiscMenu'] = 'Andre varer', 39 | ['Store_FoodSubTitle'] = 'Dine daglige grundlæggende behov', 40 | ['Store_MedsSubTitle'] = 'For at holde dig i live!', 41 | ['Store_OtherItems'] = 'Andre varer', 42 | ['Store_NotEnoughMoney'] = 'Ikke nok penge', 43 | ['Store_Bought1'] = "Du har købt en", 44 | ['Store_Bought2'] = ', koster dig $', 45 | ['Store_Bought3'] = 'Dollar!', 46 | ['Store_Sold'] = "Du har solgt en vare:", 47 | ['Store_NoItem'] = "Du har ikke noget, der hedder:", 48 | ['Store_Exit'] = 'Afslut', 49 | 50 | -- Dusør jæger 51 | ['BountyHunter_PressSpace'] = 'Tryk på [~e~MELLEMRUM~q~] for at åbne dusørmenuen', 52 | ['BountyHunter_MenuTitle'] = 'Bounty Board', 53 | ['BountyHunter_PVESubTitle'] = 'Hunt NPCs', 54 | ['BountyHunter_PVPSubTitle'] = 'Jagt på mennesker', 55 | ['BountyHunter_PVEMenu'] = 'PVE-menu', 56 | ['BountyHunter_PVPMenu'] = 'PVP-menu', 57 | ['BountyHunter_HuntBountyButton'] = 'Hunt a Bounty', 58 | ['BountyHunter_ReceivePayment'] = 'Modtag betaling', 59 | ['BountyHunter_NoBounties'] = "Du har ingen registrerede dusørmord, partner!", 60 | ['BountyHunter_SetBounty'] = 'Indstil en Bounty', 61 | ['BountyHunter_Payment1'] = "Du modtog $", 62 | ['BountyHunter_Payment2'] = 'og', 63 | ['BountyHunter_Payment3'] = 'XP', 64 | ['BountyHunter_BountyOnMap'] = 'Din Bounty er placeret på kortet!', 65 | ['BountyHunter_TheyBeDead'] = 'Vi har brug for dem døde, ikke i live! Men død! ', 66 | ['BountyHunter_StackBounties'] = 'Du kan stable bounties, bare husk', 67 | ['BountyHunter_DieAndLose'] = 'at du mister bounties, hvis du døde!', 68 | ['BountyHunter_KilledAllTargets'] = 'Det lykkedes dig at dræbe alle mål', 69 | ['BountyHunter_SearchBodies'] = 'Søg i ligene efter beviser,', 70 | ['BountyHunter_AndBringBack'] = 'og bing dette tilbage til politiet!', 71 | ['BountyHunter_BringBackEvidence'] = 'Bring beviset tilbage til sherrif!', 72 | ['BountyHunter_LostTargets'] = "Du har mistet dine mål", 73 | ['BountyHunter_NoStackAllowed'] = "Du har allerede en aktiv dusør! Dræb dem først", 74 | ['BountyHunter_MaxBountiesReached'] = "Du har for mange bounties åbne, dræb dem først", 75 | 76 | ['PickableFruits_PressSpace'] = 'Tryk på [~e~MELLEMRUM~q~] for at høste efter bær', 77 | ['PickableFruits_Searching'] = "Søger ...", 78 | ['PickableFruits_Collected'] = "Du har samlet", 79 | ['PickableFruits_NothingFound'] = "Der er intet at samle her!", 80 | 81 | ['Rivers_Info'] = "Tryk på [~e~G~q~] for at vaske, [~e~ENTER~q~] for at drikke vand", 82 | 83 | -- PayCheck 84 | ['PayCheck_Money'] = 'Du modtog ~t~$~q~ ~o~', 85 | ['PayCheck_Gold'] = '~t~Guld~q~: ~o~', 86 | ['PayCheck_Exp'] = '~t~XP:~q~ ~o~', 87 | ['PayCheck_Salary'] = ' [~t~Løn~q~]', 88 | } 89 | -------------------------------------------------------------------------------- /[Core]/[System]/[Lang]/en.lua: -------------------------------------------------------------------------------- 1 | Lang['en'] = { 2 | -- General 3 | ['OnlyAdmins'] = 'This feature is only for admins!', 4 | 5 | -- Piano 6 | ['PlayPiano_Play'] = 'Press [~e~Space~q~] to play the piano', 7 | ['PlayPiano_Stop'] = 'Press [~e~F~q~] to stop playing', 8 | 9 | -- Metabolism 10 | ['Metabolism_IFCC'] = 'Incorrect_Format_Check_Config', 11 | ['Metabolism_YourDying1'] = 'You\'re dying, check your vitals!', 12 | ['Metabolism_YourDying2'] = 'I feel tingling in my fingers...', 13 | ['Metabolism_YourDying3'] = 'I can see the lights, the end is near...', 14 | ['Metabolism_SoHungry'] = 'I am feeling so hungry, I need to eat', 15 | ['Metabolism_SoThirsty'] = 'I am feeling so thirsty, I need to drink', 16 | 17 | -- UsableItems 18 | ['UsableItems_NoTent'] = 'You\'ve no tent!', 19 | ['UsableItems_NoCampFire'] = 'You\'ve no campfire!', 20 | ['UsableItems_PlacingCampfire'] = "You're placing your campfire...", 21 | ['UsableItems_PlacingTent'] = "You're placing your tent...", 22 | ['UsableItems_Eating'] = "You've consumed ", 23 | ['UsableItems_Drinking'] = "You've drunk ", 24 | ['UsableItems_RefundCampfire'] = "You've been refunded a campfire", 25 | ['UsableItems_RefundTent'] = "You've been refunded a tent", 26 | 27 | -- Stores 28 | ['Store_OpenShop'] = 'Press [~e~SPACE~q~] to open the shop menu', 29 | ['Store_MenuTitle'] = 'General Store', 30 | ['Store_Category'] = 'Category', 31 | ['Store_Buy'] = 'Buy Items', 32 | ['Store_Sell'] = 'Sell Items', 33 | ['Store_Food'] = 'Food', 34 | ['Store_Meds'] = 'Medical', 35 | ['Store_Misc'] = 'Miscellaneous', 36 | ['Store_FoodMenu'] = 'Food Menu', 37 | ['Store_MedsMenu'] = 'Medical Items', 38 | ['Store_MiscMenu'] = 'Other Items', 39 | ['Store_FoodSubTitle'] = 'Your daily basic needs', 40 | ['Store_MedsSubTitle'] = 'For staying alive!', 41 | ['Store_OtherItems'] = 'Other Items', 42 | ['Store_NotEnoughMoney'] = 'Not Enough Money', 43 | ['Store_Bought1'] = "You've bought a ", 44 | ['Store_Bought2'] = ', costing you $', 45 | ['Store_Bought3'] = ' Dollar!', 46 | ['Store_Sold'] = "You've sold an item: ", 47 | ['Store_NoItem'] = "You've no item called: ", 48 | ['Store_Exit'] = 'Exit', 49 | 50 | -- Bounty Hunter 51 | ['BountyHunter_PressSpace'] = 'Press [~e~SPACE~q~] to open the bounty menu', 52 | ['BountyHunter_MenuTitle'] = 'Bounty Board', 53 | ['BountyHunter_PVESubTitle'] = 'Hunt NPCs', 54 | ['BountyHunter_PVPSubTitle'] = 'Hunt Humans', 55 | ['BountyHunter_PVEMenu'] = 'PVE Menu', 56 | ['BountyHunter_PVPMenu'] = 'PVP Menu', 57 | ['BountyHunter_HuntBountyButton'] = 'Hunt a Bounty', 58 | ['BountyHunter_ReceivePayment'] = 'Receive Payment', 59 | ['BountyHunter_NoBounties'] = "You've no recorded bounty kills, partner!", 60 | ['BountyHunter_SetBounty'] = 'Set a Bounty', 61 | ['BountyHunter_Payment1'] = "You received $", 62 | ['BountyHunter_Payment2'] = ' and ', 63 | ['BountyHunter_Payment3'] = ' XP', 64 | ['BountyHunter_BountyOnMap'] = 'Your Bounty is located on the map!', 65 | ['BountyHunter_TheyBeDead'] = 'We need them dead, not alive! But Dead!', 66 | ['BountyHunter_StackBounties'] = 'You can stack bounties, just keep in mind', 67 | ['BountyHunter_DieAndLose'] = 'that you lose the bounties if you died!', 68 | ['BountyHunter_KilledAllTargets'] = 'You managed to kill all targets', 69 | ['BountyHunter_SearchBodies'] = 'Search the bodies for evidence,', 70 | ['BountyHunter_AndBringBack'] = 'and bing this back to the police office!', 71 | ['BountyHunter_BringBackEvidence'] = 'Bring back the evidence to the sherrif!', 72 | ['BountyHunter_LostTargets'] = "You've lost your targets", 73 | ['BountyHunter_NoStackAllowed'] = "You already have a active bounty! Kill them first", 74 | ['BountyHunter_MaxBountiesReached'] = "You've to many bounties open, kill them first", 75 | 76 | ['PickableFruits_PressSpace'] = 'Press [~e~SPACE~q~] to harvest for berries', 77 | ['PickableFruits_Searching'] = "Searching...", 78 | ['PickableFruits_Collected'] = "You've collected ", 79 | ['PickableFruits_NothingFound'] = "There is nothing to be collected here!", 80 | 81 | -- Rivers 82 | ['Rivers_Info'] = "Press [~e~G~q~] to wash, [~e~ENTER~q~] to Drink Water", 83 | 84 | -- PayCheck 85 | ['PayCheck_Money'] = 'You Recived~t~$~q~~o~', 86 | ['PayCheck_Gold'] = '~t~Gold~q~:~o~', 87 | ['PayCheck_Exp'] = '~t~XP:~q~~o~', 88 | ['PayCheck_Salary'] = '[~t~Salary~q~]', 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | } 117 | -------------------------------------------------------------------------------- /[Core]/[System]/[Lang]/es.lua: -------------------------------------------------------------------------------- 1 | Lang['es'] = { 2 | -- general 3 | ['OnlyAdmins'] = '¡Esta función es solo para administradores!', 4 | 5 | -- Piano 6 | ['PlayPiano_Play'] = 'Presione [~e~Espacio~q~] para tocar el piano', 7 | ['PlayPiano_Stop'] = 'Presione [~e~F~q~] para detener la reproducción', 8 | 9 | -- Metabolismo 10 | ['Metabolism_IFCC'] = 'Configuración_de_verificación_de_formato_incorrecta', 11 | ['Metabolism_YourDying1'] = '¡Te estás muriendo, revisa tus signos vitales!', 12 | ['Metabolism_YourDying2'] = 'Siento un hormigueo en mis dedos ...', 13 | ['Metabolism_YourDying3'] = 'Puedo ver las luces, el final está cerca ...', 14 | ['Metabolism_SoHungry'] = 'Tengo tanta hambre que necesito comer', 15 | ['Metabolism_SoThirsty'] = 'Tengo tanta sed, necesito beber', 16 | 17 | -- Elementos utilizables 18 | ['UsableItems_NoTent'] = '¡No tienes tienda!', 19 | ['UsableItems_NoCampFire'] = '¡No tienes fogata!', 20 | ['UsableItems_PlacingCampfire'] = "Estás colocando tu fogata ...", 21 | ['UsableItems_PlacingTent'] = "Estás colocando tu tienda ...", 22 | ['UsableItems_Eating'] = "Has consumido", 23 | ['UsableItems_Drinking'] = "Has bebido", 24 | ['UsableItems_RefundCampfire'] = "Te reembolsaron una fogata", 25 | ['UsableItems_RefundTent'] = "Se le reembolsó una tienda de campaña", 26 | 27 | -- Historias 28 | ['Store_OpenShop'] = 'Presione [~e~SPACE~q~] para abrir el menú de la tienda', 29 | ['Store_MenuTitle'] = 'Tienda general', 30 | ['Store_Category'] = 'Categoría', 31 | ['Store_Buy'] = 'Comprar artículos', 32 | ['Store_Sell'] = 'Vender artículos', 33 | ['Store_Food'] = 'Comida', 34 | ['Store_Meds'] = 'Médico', 35 | ['Store_Misc'] = 'Varios', 36 | ['Store_FoodMenu'] = 'Menú de comida', 37 | ['Store_MedsMenu'] = 'Artículos médicos', 38 | ['Store_MiscMenu'] = 'Otros artículos', 39 | ['Store_FoodSubTitle'] = 'Tus necesidades básicas diarias', 40 | ['Store_MedsSubTitle'] = '¡Por seguir con vida!', 41 | ['Store_OtherItems'] = 'Otros artículos', 42 | ['Store_NotEnoughMoney'] = 'No hay suficiente dinero', 43 | ['Store_Bought1'] = "Has comprado un", 44 | ['Store_Bought2'] = ', le cuesta $', 45 | ['Store_Bought3'] = '¡Dólar!', 46 | ['Store_Sold'] = "Has vendido un artículo:", 47 | ['Store_NoItem'] = "No tiene ningún elemento llamado:", 48 | ['Store_Exit'] = 'Salir', 49 | 50 | -- Cazarrecompensas 51 | ['BountyHunter_PressSpace'] = 'Presione [~e~SPACE~q~] para abrir el menú de recompensas', 52 | ['BountyHunter_MenuTitle'] = 'Tablero de recompensas', 53 | ['BountyHunter_PVESubTitle'] = 'Cazar NPC', 54 | ['BountyHunter_PVPSubTitle'] = 'Cazar humanos', 55 | ['BountyHunter_PVEMenu'] = 'Menú PVE', 56 | ['BountyHunter_PVPMenu'] = 'Menú PVP', 57 | ['BountyHunter_HuntBountyButton'] = 'Caza una recompensa', 58 | ['BountyHunter_ReceivePayment'] = 'Recibir pago', 59 | ['BountyHunter_NoBounties'] = "¡No tienes bajas por recompensa registradas, socio!", 60 | ['BountyHunter_SetBounty'] = 'Establecer una recompensa', 61 | ['BountyHunter_Payment1'] = "Recibiste $", 62 | ['BountyHunter_Payment2'] = 'y', 63 | ['BountyHunter_Payment3'] = 'XP', 64 | ['BountyHunter_BountyOnMap'] = '¡Tu recompensa está ubicada en el mapa!', 65 | ['BountyHunter_TheyBeDead'] = '¡Los necesitamos muertos, no vivos! ¡Pero muerto! ', 66 | ['BountyHunter_StackBounties'] = 'Puede acumular recompensas, solo tenga en cuenta', 67 | ['BountyHunter_DieAndLose'] = '¡que pierdes las recompensas si mueres!', 68 | ['BountyHunter_KilledAllTargets'] = 'Lograste matar a todos los objetivos', 69 | ['BountyHunter_SearchBodies'] = 'Buscar pruebas en los cuerpos,', 70 | ['BountyHunter_AndBringBack'] = '¡y llévate esto a la oficina de policía!', 71 | ['BountyHunter_BringBackEvidence'] = '¡Devuélvele la evidencia al sherrif!', 72 | ['BountyHunter_LostTargets'] = "Has perdido tus objetivos", 73 | ['BountyHunter_NoStackAllowed'] = "¡Ya tienes una recompensa activa! Mátalos primero", 74 | ['BountyHunter_MaxBountiesReached'] = "Tienes muchas recompensas abiertas, mátalos primero", 75 | 76 | ['PickableFruits_PressSpace'] = 'Presione [~e~SPACE~q~] para cosechar las bayas', 77 | ['PickableFruits_Searching'] = "Buscando ...", 78 | ['PickableFruits_Collected'] = "Has recopilado", 79 | ['PickableFruits_NothingFound'] = "¡No hay nada que recolectar aquí!", 80 | 81 | ['Rivers_Info'] = "Presione [~e~G~q~] para lavar, [~e~ENTER~q~] para beber agua", 82 | 83 | -- PayCheck 84 | ['PayCheck_Money'] = 'Recibiste ~t~$~q~ ~o~', 85 | ['PayCheck_Gold'] = '~t~Gold~q~: ~o~', 86 | ['PayCheck_Exp'] = '~t~XP:~q~ ~o~', 87 | ['PayCheck_Salary'] = ' [~t~Salario~q~]', 88 | } 89 | -------------------------------------------------------------------------------- /[Core]/[System]/[Lang]/fr.lua: -------------------------------------------------------------------------------- 1 | Lang['fr'] = { 2 | -- Général 3 | ['OnlyAdmins'] = 'Cette fonctionnalité est réservée aux administrateurs!', 4 | 5 | -- Piano 6 | ['PlayPiano_Play'] = 'Appuyez sur [~e~barre d\'espace~q~] pour jouer du piano', 7 | ['PlayPiano_Stop'] = 'Appuyez sur [~e~F~q~] pour arrêter la lecture', 8 | 9 | -- Métabolisme 10 | ['Metabolism_IFCC'] = 'Configuration_de_vérification_du_format_incorrecte', 11 | ['Metabolism_YourDying1'] = 'Vous êtes en train de mourir, vérifiez vos signes vitaux!', 12 | ['Metabolism_YourDying2'] = 'Je sens des picotements dans mes doigts ...', 13 | ['Metabolism_YourDying3'] = 'Je peux voir les lumières, la fin est proche ...', 14 | ['Metabolism_SoHungry'] = 'J\'ai tellement faim, j\'ai besoin de manger', 15 | ['Metabolism_SoThirsty'] = 'J\'ai tellement soif, j\'ai besoin de boire', 16 | 17 | -- Articles utilisables 18 | ['UsableItems_NoTent'] = 'Vous n\'avez pas de tente! ', 19 | ['UsableItems_NoCampFire'] = 'Vous n\'avez pas de feu de camp! ', 20 | ['UsableItems_PlacingCampfire'] = "Vous placez votre feu de camp ...", 21 | ['UsableItems_PlacingTent'] = "Vous placez votre tente ...", 22 | ['UsableItems_Eating'] = "Vous avez consommé", 23 | ['UsableItems_Drinking'] = "Vous avez bu", 24 | ['UsableItems_RefundCampfire'] = "Un feu de camp vous a été remboursé", 25 | ['UsableItems_RefundTent'] = "Une tente vous a été remboursée", 26 | 27 | -- Magasins 28 | ['Store_OpenShop'] = 'Appuyez sur [~e~ESPACE~q~] pour ouvrir le menu de la boutique', 29 | ['Store_MenuTitle'] = 'Magasin général', 30 | ['Store_Category'] = 'Catégorie', 31 | ['Store_Buy'] = 'Acheter des articles', 32 | ['Store_Sell'] = 'Vendre des articles', 33 | ['Store_Food'] = 'Nourriture', 34 | ['Store_Meds'] = 'Médical', 35 | ['Store_Misc'] = 'Divers', 36 | ['Store_FoodMenu'] = 'Menu Nourriture', 37 | ['Store_MedsMenu'] = 'Articles médicaux', 38 | ['Store_MiscMenu'] = 'Autres éléments', 39 | ['Store_FoodSubTitle'] = 'Vos besoins de base quotidiens', 40 | ['Store_MedsSubTitle'] = 'Pour rester en vie!', 41 | ['Store_OtherItems'] = 'Autres articles', 42 | ['Store_NotEnoughMoney'] = 'Pas assez d\'argent', 43 | ['Store_Bought1'] = "Vous avez acheté un", 44 | ['Store_Bought2'] = ', ça vous coûte $', 45 | ['Store_Bought3'] = 'Dollar!', 46 | ['Store_Sold'] = "Vous avez vendu un article:", 47 | ['Store_NoItem'] = "Vous n'avez aucun élément appelé:", 48 | ['Store_Exit'] = 'Quitter', 49 | 50 | -- Chasseur de primes 51 | ['BountyHunter_PressSpace'] = 'Appuyez sur [~e~ESPACE~q~] pour ouvrir le menu des primes', 52 | ['BountyHunter_MenuTitle'] = 'Tableau de primes', 53 | ['BountyHunter_PVESubTitle'] = 'Chasser les PNJ', 54 | ['BountyHunter_PVPSubTitle'] = 'Chasser les humains', 55 | ['BountyHunter_PVEMenu'] = 'Menu PVE', 56 | ['BountyHunter_PVPMenu'] = 'Menu PVP', 57 | ['BountyHunter_HuntBountyButton'] = 'Chasser une prime', 58 | ['BountyHunter_ReceivePayment'] = 'Recevoir le paiement', 59 | ['BountyHunter_NoBounties'] = "Vous n'avez pas enregistré de victimes de primes, partenaire!", 60 | ['BountyHunter_SetBounty'] = 'Définir une prime', 61 | ['BountyHunter_Payment1'] = "Vous avez reçu $", 62 | ['BountyHunter_Payment2'] = 'et', 63 | ['BountyHunter_Payment3'] = 'XP', 64 | ['BountyHunter_BountyOnMap'] = 'Votre prime est localisée sur la carte!', 65 | ['BountyHunter_TheyBeDead'] = 'Nous avons besoin d\'eux morts, pas vivants! Mais mort! ', 66 | ['BountyHunter_StackBounties'] = 'Vous pouvez empiler des primes, gardez juste à l\'esprit', 67 | ['BountyHunter_DieAndLose'] = 'que vous perdez les primes si vous mourez!', 68 | ['BountyHunter_KilledAllTargets'] = 'Vous avez réussi à tuer toutes les cibles', 69 | ['BountyHunter_SearchBodies'] = 'Rechercher des preuves dans les corps,', 70 | ['BountyHunter_AndBringBack'] = 'et ramenez ceci au bureau de police!', 71 | ['BountyHunter_BringBackEvidence'] = 'Rapportez les preuves au sherrif!', 72 | ['BountyHunter_LostTargets'] = "Vous avez perdu vos cibles", 73 | ['BountyHunter_NoStackAllowed'] = "Vous avez déjà une prime active! Tuez-les d'abord", 74 | ['BountyHunter_MaxBountiesReached'] = "Vous avez trop de primes ouvertes, tuez-les d'abord", 75 | 76 | ['PickableFruits_PressSpace'] = 'Appuyez sur [~e~SPACE~q~] pour récolter les baies', 77 | ['PickableFruits_Searching'] = "Recherche ...", 78 | ['PickableFruits_Collected'] = "Vous avez collecté", 79 | ['PickableFruits_NothingFound'] = "Il n'y a rien à collecter ici!", 80 | ['PickableFruits_NothingFound'] = "Il n'y a rien à collecter ici!", 81 | 82 | ['Rivers_Info'] = "Appuyez sur [~e~G~q~] pour laver, [~e~ENTER~q~] pour boire de l'eau", 83 | 84 | -- PayCheck 85 | ['PayCheck_Money'] = 'Vous avez reçu~t~$~q~ ~o~', 86 | ['PayCheck_Gold'] = '~t~Or~q~: ~o~', 87 | ['PayCheck_Exp'] = '~t~XP:~q~ ~o~', 88 | ['PayCheck_Salary'] = ' [~t~Salaire~q~]', 89 | } 90 | -------------------------------------------------------------------------------- /[Core]/[System]/[Lang]/gr.lua: -------------------------------------------------------------------------------- 1 | Lang['gr'] = { 2 | -- Γενικά 3 | ['OnlyAdmins'] = 'Αυτή η λειτουργία είναι μόνο για διαχειριστές!', 4 | 5 | -- πιάνο 6 | ['PlayPiano_Play'] = 'Πατήστε [~e~Space~q~] για να παίξετε πιάνο', 7 | ['PlayPiano_Stop'] = 'Πατήστε [~e~F~q~] για να σταματήσετε να παίζετε', 8 | 9 | -- Μεταβολισμός 10 | ['Metabolism_IFCC'] = 'Εσφαλμένο_Format_Check_Config', 11 | ['Metabolism_YourDying1'] = 'Πεθαίνετε, ελέγξτε τα ζωτικά σας!', 12 | ['Metabolism_YourDying2'] = "Νιώθω μυρμήγκιασμα στα δάχτυλά μου ...", 13 | ['Metabolism_YourDying3'] = 'Μπορώ να δω τα φώτα, το τέλος είναι κοντά ...', 14 | ['Metabolism_SoHungry'] = "Νιώθω τόσο πεινασμένος, πρέπει να φάω", 15 | ['Metabolism_SoThirsty'] = "Νιώθω τόσο διψασμένος, πρέπει να πίνω", 16 | 17 | -- Στοιχεία που μπορούν να χρησιμοποιηθούν 18 | ['UsableItems_NoTent'] = 'Δεν έχετε σκηνή!', 19 | ['UsableItems_NoCampFire'] = 'Δεν έχετε φωτιά!', 20 | ['UsableItems_PlacingCampfire'] = "Τοποθετείτε τη φωτιά σας ...", 21 | ['UsableItems_PlacingTent'] = "Τοποθετείτε τη σκηνή σας ...", 22 | ['UsableItems_Eating'] = "Έχετε καταναλώσει", 23 | ['UsableItems_Drinking'] = "Έχετε πιει", 24 | ['UsableItems_RefundCampfire'] = "Σας έχει επιστραφεί μια πυρά προσκόπων", 25 | ['UsableItems_RefundTent'] = "Σας έχει επιστραφεί μια σκηνή", 26 | 27 | -- Καταστήματα 28 | ['Store_OpenShop'] = 'Πατήστε [~e~SPACE~q~] για να ανοίξετε το μενού καταστήματος', 29 | ['Store_MenuTitle'] = "Γενικό κατάστημα", 30 | ['Store_Category'] = 'Κατηγορία', 31 | ['Store_Buy'] = 'Αγορά αντικειμένων', 32 | ['Store_Sell'] = 'Πώληση αντικειμένων', 33 | ['Store_Food'] = "Φαγητό", 34 | ['Store_Meds'] = 'Ιατρική', 35 | ['Store_Misc'] = 'Διάφορα', 36 | ['Store_FoodMenu'] = 'Μενού φαγητού', 37 | ['Store_MedsMenu'] = 'Ιατρικά είδη', 38 | ['Store_MiscMenu'] = 'Άλλα αντικείμενα', 39 | ['Store_FoodSubTitle'] = "Οι καθημερινές σας βασικές ανάγκες", 40 | ['Store_MedsSubTitle'] = 'Για να μένεις ζωντανός!', 41 | ['Store_OtherItems'] = 'Άλλα αντικείμενα', 42 | ['Store_NotEnoughMoney'] = 'Δεν είναι αρκετά χρήματα', 43 | ['Store_Bought1'] = "Αγοράσατε ένα", 44 | ['Store_Bought2'] = ', σας κοστίζει $', 45 | ['Store_Bought3'] = 'Δολάριο!', 46 | ['Store_Sold'] = "Έχετε πουλήσει ένα αντικείμενο:", 47 | ['Store_NoItem'] = "Δεν έχετε όνομα με το όνομα:", 48 | ['Store_Exit'] = 'Έξοδος', 49 | 50 | -- Κυνηγός επικυρηγμένων 51 | ['BountyHunter_PressSpace'] = 'Πατήστε [~e~SPACE~q~] για να ανοίξετε το μενού bounty', 52 | ['BountyHunter_MenuTitle'] = 'Bounty Board', 53 | ['BountyHunter_PVESubTitle'] = 'Κυνήγι NPC', 54 | ['BountyHunter_PVPSubTitle'] = "Κυνήγι ανθρώπων", 55 | ['BountyHunter_PVEMenu'] = 'Μενού PVE', 56 | ['BountyHunter_PVPMenu'] = 'Μενού PVP', 57 | ['BountyHunter_HuntBountyButton'] = 'Κυνήγι Bounty', 58 | ['BountyHunter_ReceivePayment'] = 'Λήψη πληρωμής', 59 | ['BountyHunter_NoBounties'] = "Δεν έχετε καταγράψει bounty kill, συνεργάτη!", 60 | ['BountyHunter_SetBounty'] = 'Ορίστε ένα Bounty', 61 | ['BountyHunter_Payment1'] = "Λάβατε $", 62 | ['BountyHunter_Payment2'] = 'και', 63 | ['BountyHunter_Payment3'] = 'XP', 64 | ['BountyHunter_BountyOnMap'] = "Το Bounty σας βρίσκεται στον χάρτη!", 65 | ['BountyHunter_TheyBeDead'] = 'Τους χρειαζόμαστε νεκρούς, όχι ζωντανούς! Αλλά νεκρός!', 66 | ['BountyHunter_StackBounties'] = "Μπορείτε να στοίβατε bounties, απλώς να έχετε κατά νου", 67 | ['BountyHunter_DieAndLose'] = 'ότι θα χάσεις τα γενναιοδωρία αν πεθάνεις!', 68 | ['BountyHunter_KilledAllTargets'] = "Καταφέρατε να σκοτώσετε όλους τους στόχους", 69 | ['BountyHunter_SearchBodies'] = 'Αναζητήστε αποδεικτικά στοιχεία στα σώματα', 70 | ['BountyHunter_AndBringBack'] = 'και επιστρέψτε το στο γραφείο της αστυνομίας!', 71 | ['BountyHunter_BringBackEvidence'] = 'Επιστρέψτε τα αποδεικτικά στοιχεία στον sherrif!', 72 | ['BountyHunter_LostTargets'] = "Έχετε χάσει τους στόχους σας", 73 | ['BountyHunter_NoStackAllowed'] = "Έχετε ήδη ενεργό bounty! Σκοτώστε τους πρώτα", 74 | ['BountyHunter_MaxBountiesReached'] = "Έχετε ανοίξει πολλά bounties, σκοτώστε τα πρώτα", 75 | 76 | ['PickableFruits_PressSpace'] = 'Πατήστε [~e~SPACE~q~] για συγκομιδή για μούρα', 77 | ['PickableFruits_Searching'] = "Αναζήτηση ...", 78 | ['PickableFruits_Collected'] = "Έχετε συλλέξει", 79 | ['PickableFruits_NothingFound'] = "Δεν υπάρχει τίποτα για συλλογή εδώ!", 80 | 81 | ['Rivers_Info'] = "Πατήστε [~e~G~q~] για πλύσιμο, [~e~ENTER~q~] για να πιείτε νερό", 82 | 83 | -- PayCheck 84 | ['PayCheck_Money'] = 'Λάβατε~t~$~q~ ~o~', 85 | ['PayCheck_Gold'] = '~t~Gold~q~: ~o~', 86 | ['PayCheck_Exp'] = '~t~XP:~q~ ~o~', 87 | ['PayCheck_Salary'] = ' [~t~Μισθός~q~]', 88 | } 89 | -------------------------------------------------------------------------------- /[Core]/[System]/[Lang]/it.lua: -------------------------------------------------------------------------------- 1 | Lang['it'] = { 2 | -- Generale 3 | ['OnlyAdmins'] = 'Questa funzione è solo per gli amministratori!', 4 | 5 | --Piano 6 | ['PlayPiano_Play'] = 'Premi [~e~barra spaziatrice~q~] per suonare il piano', 7 | ['PlayPiano_Stop'] = 'Premi [~e~F~q~] per interrompere la riproduzione', 8 | 9 | -- Metabolismo 10 | ['Metabolism_IFCC'] = 'Config_controllo_formato_errato', 11 | ['Metabolism_YourDying1'] = 'Stai morendo, controlla i tuoi parametri vitali!', 12 | ['Metabolism_YourDying2'] = 'Sento un formicolio alle dita ...', 13 | ['Metabolism_YourDying3'] = 'Riesco a vedere le luci, la fine è vicina ...', 14 | ['Metabolism_SoHungry'] = 'Mi sento così affamato, ho bisogno di mangiare', 15 | ['Metabolism_SoThirsty'] = 'Mi sento così assetato, ho bisogno di bere', 16 | 17 | -- UsableItems 18 | ['UsableItems_NoTent'] = 'Non hai tenda!', 19 | ['UsableItems_NoCampFire'] = 'Non hai falò!', 20 | ['UsableItems_PlacingCampfire'] = "Stai mettendo il tuo falò ...", 21 | ['UsableItems_PlacingTent'] = "Stai posizionando la tua tenda ...", 22 | ['UsableItems_Eating'] = "Hai consumato", 23 | ['UsableItems_Drinking'] = "Hai bevuto", 24 | ['UsableItems_RefundCampfire'] = "Ti è stato rimborsato un falò", 25 | ['UsableItems_RefundTent'] = "Ti è stata rimborsata una tenda", 26 | 27 | -- I negozi 28 | ['Store_OpenShop'] = 'Premi [~e~SPAZIO~q~] per aprire il menu del negozio', 29 | ['Store_MenuTitle'] = 'General Store', 30 | ['Store_Category'] = 'Categoria', 31 | ["Store_Buy"] = "Acquista articoli", 32 | ["Store_Sell"] = "Vendi articoli", 33 | ['Store_Food'] = 'Food', 34 | ["Store_Meds"] = "Medical", 35 | ['Store_Misc'] = 'Miscellaneous', 36 | ['Store_FoodMenu'] = 'Food Menu', 37 | ['Store_MedsMenu'] = 'Articoli medici', 38 | ["Store_MiscMenu"] = "Altri articoli", 39 | ['Store_FoodSubTitle'] = 'Le tue necessità quotidiane di base', 40 | ['Store_MedsSubTitle'] = 'Per restare in vita!', 41 | ["Store_OtherItems"] = "Altri articoli", 42 | ['Store_NotEnoughMoney'] = 'Non abbastanza soldi', 43 | ['Store_Bought1'] = "Hai acquistato un", 44 | ['Store_Bought2'] = ', ti costa $', 45 | ['Store_Bought3'] = 'Dollar!', 46 | ['Store_Sold'] = "Hai venduto un articolo:", 47 | ['Store_NoItem'] = "Nessun articolo chiamato:", 48 | ['Store_Exit'] = 'Exit', 49 | 50 | -- Cacciatore di taglie 51 | ['BountyHunter_PressSpace'] = 'Premi [~e~SPAZIO~q~] per aprire il menu delle taglie', 52 | ['BountyHunter_MenuTitle'] = 'Bounty Board', 53 | ['BountyHunter_PVESubTitle'] = 'Caccia agli NPC', 54 | ['BountyHunter_PVPSubTitle'] = 'Hunt Humans', 55 | ["BountyHunter_PVEMenu"] = "Menu PVE", 56 | ['BountyHunter_PVPMenu'] = 'Menu PVP', 57 | ['BountyHunter_HuntBountyButton'] = 'Caccia una taglia', 58 | ["BountyHunter_ReceivePayment"] = "Ricevi pagamento", 59 | ['BountyHunter_NoBounties'] = "Non hai registrato uccisioni di taglie, partner!", 60 | ['BountyHunter_SetBounty'] = 'Imposta una taglia', 61 | ["BountyHunter_Payment1"] = "Hai ricevuto $", 62 | ["BountyHunter_Payment2"] = "e", 63 | ["BountyHunter_Payment3"] = "XP", 64 | ['BountyHunter_BountyOnMap'] = 'La tua taglia si trova sulla mappa!', 65 | ['BountyHunter_TheyBeDead'] = 'Abbiamo bisogno di loro morti, non vivi! Ma morto! ', 66 | ['BountyHunter_StackBounties'] = 'Puoi accumulare taglie, tienilo a mente', 67 | ['BountyHunter_DieAndLose'] = 'che perdi i premi se muori!', 68 | ['BountyHunter_KilledAllTargets'] = 'Sei riuscito a uccidere tutti i bersagli', 69 | ['BountyHunter_SearchBodies'] = 'Cerca prove nei corpi,', 70 | ['BountyHunter_AndBringBack'] = 'e riportalo all\'ufficio di polizia!', 71 | ['BountyHunter_BringBackEvidence'] = 'Riporta le prove allo sceriffo!', 72 | ['BountyHunter_LostTargets'] = "Hai perso i tuoi obiettivi", 73 | ['BountyHunter_NoStackAllowed'] = "Hai già una taglia attiva! Uccidili prima", 74 | ['BountyHunter_MaxBountiesReached'] = "Hai troppe taglie aperte, prima uccidile", 75 | 76 | ['PickableFruits_PressSpace'] = 'Premi [~e~SPAZIO~q~] per raccogliere le bacche', 77 | ['PickableFruits_Searching'] = "Ricerca in corso ...", 78 | ['PickableFruits_Collected'] = "Hai raccolto", 79 | ['PickableFruits_NothingFound'] = "Non c'è niente da raccogliere qui!", 80 | 81 | ['Rivers_Info'] = "Premi [~e~G~q~] per lavare, [~e~ENTER~q~] per bere acqua", 82 | 83 | -- PayCheck 84 | ['PayCheck_Money'] = 'Hai ricevuto~t~$~q~ ~o~', 85 | ['PayCheck_Gold'] = '~t~Gold~q~: ~o~', 86 | ['PayCheck_Exp'] = '~t~XP:~q~ ~o~', 87 | ["PayCheck_Salary"] = " [~t~Stipendio~q~]", 88 | } 89 | -------------------------------------------------------------------------------- /[Core]/[System]/[Lang]/nl.lua: -------------------------------------------------------------------------------- 1 | Lang['nl'] = { 2 | -- Algemeen 3 | ['OnlyAdmins'] = 'Deze functie is alleen voor beheerders!', 4 | 5 | -- Piano 6 | ['PlayPiano_Play'] = 'Druk [~e~Space~q~] om de piano te bespelen', 7 | ['PlayPiano_Stop'] = 'Druk [~e~F~q~] om te stoppen met spelen', 8 | 9 | -- Metabolisme 10 | ['Metabolism_IFCC'] = 'Incorrect_Format_Check_Config', 11 | ['Metabolism_YourDying1'] = 'Je gaat dood, controleer je vitale functies!', 12 | ['Metabolism_YourDying2'] = 'Ik voel tintelingen in mijn vingers ...', 13 | ['Metabolism_YourDying3'] = 'Ik kan de lichten zien, het einde is nabij ...', 14 | ['Metabolism_SoHungry'] = 'Ik heb zo\'n honger, ik moet eten', 15 | ['Metabolism_SoThirsty'] = 'Ik heb zo\'n dorst, ik moet drinken', 16 | 17 | -- Bruikbare items 18 | ['UsableItems_NoTent'] = 'Je hebt geen tent!', 19 | ['UsableItems_NoCampFire'] = 'Je hebt geen kampvuur!', 20 | ['UsableItems_PlacingCampfire'] = "Je plaatst je kampvuur ...", 21 | ['UsableItems_PlacingTent'] = "Je plaatst je tent ...", 22 | ['UsableItems_Eating'] = "Je hebt geconsumeerd", 23 | ['UsableItems_Drinking'] = "Je hebt gedronken", 24 | ['UsableItems_RefundCampfire'] = "Je hebt een kampvuur terugbetaald", 25 | ['UsableItems_RefundTent'] = "Je hebt een tent terugbetaald", 26 | 27 | -- Winkels 28 | ['Store_OpenShop'] = 'Druk op [~e~SPACE~q~] om het winkelmenu te openen', 29 | ['Store_MenuTitle'] = 'Algemene winkel', 30 | ['Store_Category'] = 'Categorie', 31 | ['Store_Buy'] = 'Koop artikelen', 32 | ['Store_Sell'] = 'Artikelen verkopen', 33 | ['Store_Food'] = 'Eten', 34 | ['Store_Meds'] = 'Medisch', 35 | ['Store_Misc'] = 'Diversen', 36 | ['Store_FoodMenu'] = 'Voedselmenu', 37 | ['Store_MedsMenu'] = 'Medische artikelen', 38 | ['Store_MiscMenu'] = 'Overige items', 39 | ['Store_FoodSubTitle'] = 'Je dagelijkse basisbehoeften', 40 | ['Store_MedsSubTitle'] = 'Om in leven te blijven!', 41 | ['Store_OtherItems'] = 'Overige items', 42 | ['Store_NotEnoughMoney'] = 'Niet genoeg geld', 43 | ['Store_Bought1'] = "Je hebt een", 44 | ['Store_Bought2'] = ', kost u $', 45 | ['Store_Bought3'] = 'Dollar!', 46 | ['Store_Sold'] = "U heeft een item verkocht:", 47 | ['Store_NoItem'] = "Je hebt geen item met de naam:", 48 | ['Store_Exit'] = 'Afsluiten', 49 | 50 | -- Premie Jager 51 | ['BountyHunter_PressSpace'] = 'Druk op [~e~SPACE~q~] om het bounty-menu te openen', 52 | ['BountyHunter_MenuTitle'] = 'Premiebord', 53 | ['BountyHunter_PVESubTitle'] = 'Jaag op NPC\'s', 54 | ['BountyHunter_PVPSubTitle'] = 'Jaag op mensen', 55 | ['BountyHunter_PVEMenu'] = 'PVE-menu', 56 | ['BountyHunter_PVPMenu'] = 'PVP-menu', 57 | ['BountyHunter_HuntBountyButton'] = 'Jaag op een premie', 58 | ['BountyHunter_ReceivePayment'] = 'Betaling ontvangen', 59 | ['BountyHunter_NoBounties'] = "Je hebt geen geregistreerde premiekills, partner!", 60 | ['BountyHunter_SetBounty'] = 'Stel een premie in', 61 | ['BountyHunter_Payment1'] = "U heeft $ ontvangen", 62 | ['BountyHunter_Payment2'] = 'en', 63 | ['BountyHunter_Payment3'] = 'XP', 64 | ['BountyHunter_BountyOnMap'] = 'Je Bounty staat op de kaart!', 65 | ['BountyHunter_TheyBeDead'] = 'We hebben ze dood nodig, niet levend! Maar dood! ', 66 | ['BountyHunter_StackBounties'] = 'Je kunt premies stapelen, houd er gewoon rekening mee', 67 | ['BountyHunter_DieAndLose'] = 'dat je de premies verliest als je stierf!', 68 | ['BountyHunter_KilledAllTargets'] = 'Het is je gelukt om alle doelen te doden', 69 | ['BountyHunter_SearchBodies'] = 'Doorzoek de lichamen voor bewijs', 70 | ['BountyHunter_AndBringBack'] = 'en breng dit terug naar het politiebureau!', 71 | ['BountyHunter_BringBackEvidence'] = 'Breng het bewijs terug naar de sherrif!', 72 | ['BountyHunter_LostTargets'] = "Je bent je doelen kwijt", 73 | ['BountyHunter_NoStackAllowed'] = "Je hebt al een actieve premie! Dood ze eerst", 74 | ['BountyHunter_MaxBountiesReached'] = "Je hebt te veel premies open, dood ze eerst", 75 | 76 | ['PickableFruits_PressSpace'] = 'Druk op [~e~SPACE~q~] om te oogsten voor bessen', 77 | ['PickableFruits_Searching'] = "Zoeken ...", 78 | ['PickableFruits_Collected'] = "Je hebt verzameld", 79 | ['PickableFruits_NothingFound'] = "Er kan hier niets verzameld worden!", 80 | 81 | ['Rivers_Info'] = "Druk op [~e~G~q~] om te wassen, [~e~ENTER~q~] om water te drinken", 82 | 83 | -- PayCheck 84 | ['PayCheck_Money'] = 'Je hebt ~t~$~q~ ~o~', 85 | ['PayCheck_Gold'] = '~t~Goud~q~: ~o~', 86 | ['PayCheck_Exp'] = '~t~XP:~q~ ~o~', 87 | ['PayCheck_Salary'] = ' ontvangen | [~t~Salaris~q~]', 88 | } 89 | -------------------------------------------------------------------------------- /[Core]/[System]/[Lang]/pl.lua: -------------------------------------------------------------------------------- 1 | Lang['pl'] = { 2 | -- General 3 | ['OnlyAdmins'] = 'Ta funkcja jest przeznaczona tylko dla administratorów!', 4 | 5 | -- Piano 6 | ['PlayPiano_Play'] = 'Naciśnij [~e~Space~q~] aby grać na pianinie', 7 | ['PlayPiano_Stop'] = 'Naciśnij [~e~F~q~] aby przestać grać', 8 | 9 | -- Metabolism 10 | ['Metabolism_IFCC'] = 'Nieprawidłowy_Format_Sprawdź_Config', 11 | ['Metabolism_YourDying1'] = 'Umierasz, sprawdź swoje funkcje życiowe!', 12 | ['Metabolism_YourDying2'] = 'Czuję mrowienie w palcach...', 13 | ['Metabolism_YourDying3'] = 'Widzę światła, koniec jest bliski...', 14 | ['Metabolism_SoHungry'] = 'Czuję się tak głodny, że muszę jeść', 15 | ['Metabolism_SoThirsty'] = 'Czuję się tak spragniony, że muszę się napić', 16 | 17 | -- UsableItems 18 | ['UsableItems_NoTent'] = 'Nie masz namiotu!', 19 | ['UsableItems_NoCampFire'] = 'Nie masz ogniska!', 20 | ['UsableItems_PlacingCampfire'] = "Rozpalasz ognisko...", 21 | ['UsableItems_PlacingTent'] = "Rozstawiasz namiot...", 22 | ['UsableItems_Eating'] = "Spożyłeś ", 23 | ['UsableItems_Drinking'] = "Wypiłeś ", 24 | ['UsableItems_RefundCampfire'] = "Zwrócono ci pieniądze za ognisko", 25 | ['UsableItems_RefundTent'] = "Zwrócono ci pieniądze za namiot", 26 | 27 | -- Stores 28 | ['Store_OpenShop'] = 'Naciśnij [~e~SPACE~q~] aby otworzyć menu sklepu', 29 | ['Store_MenuTitle'] = 'Sklep spożywczy', 30 | ['Store_Category'] = 'Kategorie', 31 | ['Store_Buy'] = 'Kup przedmiot', 32 | ['Store_Sell'] = 'Sprzedaj przedmiot', 33 | ['Store_Food'] = 'Żywność', 34 | ['Store_Meds'] = 'Medykamenty', 35 | ['Store_Misc'] = 'Różne', 36 | ['Store_FoodMenu'] = 'Menu żywności', 37 | ['Store_MedsMenu'] = 'Przedmioty medyczne', 38 | ['Store_MiscMenu'] = 'Inne przedmioty', 39 | ['Store_FoodSubTitle'] = 'Twoje codzienne podstawowe potrzeby', 40 | ['Store_MedsSubTitle'] = 'Za przeżycie!', 41 | ['Store_OtherItems'] = 'Inne przedmioty', 42 | ['Store_NotEnoughMoney'] = 'Masz za mało pieniędzy', 43 | ['Store_Bought1'] = "Kupiłeś ", 44 | ['Store_Bought2'] = ', kosztuje cię $', 45 | ['Store_Bought3'] = ' $!', 46 | ['Store_Sold'] = "Sprzedałeś przedmiot: ", 47 | ['Store_NoItem'] = "Nie masz żadnego przedmiotu o nazwie: ", 48 | ['Store_Exit'] = 'Wyjdź', 49 | 50 | -- Bounty Hunter 51 | ['BountyHunter_PressSpace'] = 'Naciśnij [~e~SPACE~q~] aby otworzyć menu nagród', 52 | ['BountyHunter_MenuTitle'] = 'Tablica zleceń', 53 | ['BountyHunter_PVESubTitle'] = 'Poluj na NPC', 54 | ['BountyHunter_PVPSubTitle'] = 'Poluj na ludzi', 55 | ['BountyHunter_PVEMenu'] = 'PVE Menu', 56 | ['BountyHunter_PVPMenu'] = 'PVP Menu', 57 | ['BountyHunter_HuntBountyButton'] = 'Poluj na nagrodę', 58 | ['BountyHunter_ReceivePayment'] = 'Otrzymaj nagrodę', 59 | ['BountyHunter_NoBounties'] = "Nie zarejestrowałeś żadnych zabójstw w ramach nagród, partnerze!", 60 | ['BountyHunter_SetBounty'] = 'Wyznacz nagrodę', 61 | ['BountyHunter_Payment1'] = "Otrzymałeś $", 62 | ['BountyHunter_Payment2'] = ' i ', 63 | ['BountyHunter_Payment3'] = ' XP', 64 | ['BountyHunter_BountyOnMap'] = 'Twoje zlecenie znajduje się na mapie!', 65 | ['BountyHunter_TheyBeDead'] = 'Potrzebujemy ich martwych, a nie żywych! Ale martwy!', 66 | ['BountyHunter_StackBounties'] = 'Możesz kumulować nagrody, pamiętaj tylko', 67 | ['BountyHunter_DieAndLose'] = 'że stracisz nagrody, jeśli umrzesz!', 68 | ['BountyHunter_KilledAllTargets'] = 'Udało ci się zabić wszystkie cele', 69 | ['BountyHunter_SearchBodies'] = 'Przeszukaj ciała w poszukiwaniu dowodów,', 70 | ['BountyHunter_AndBringBack'] = 'i zanieś to z powrotem do biura szeryfa!', 71 | ['BountyHunter_BringBackEvidence'] = 'Przynieś dowody szeryfowi!', 72 | ['BountyHunter_LostTargets'] = "Straciłeś swoje cele", 73 | ['BountyHunter_NoStackAllowed'] = "Masz już aktywną nagrodę! Zabij ich najpierw", 74 | ['BountyHunter_MaxBountiesReached'] = "Masz wiele otwartych zleceń, najpierw je zabij", 75 | 76 | ['PickableFruits_PressSpace'] = 'Naciśnij [~e~SPACE~q~] aby zbierać jagody', 77 | ['PickableFruits_Searching'] = "Przeszukiwanie...", 78 | ['PickableFruits_Collected'] = "Zebrałeś ", 79 | ['PickableFruits_NothingFound'] = "Nie ma tu nic do zebrania!", 80 | 81 | -- Rivers 82 | ['Rivers_Info'] = "Naciśnij [~e~G~q~] by się umyć, [~e~ENTER~q~] aby się napić wody", 83 | 84 | -- PayCheck 85 | ['PayCheck_Money'] = 'Otrzymałeś ~t~$~q~ ~o~', 86 | ['PayCheck_Gold'] = '~t~Gold~q~: ~o~', 87 | ['PayCheck_Exp'] = '~t~XP:~q~ ~o~', 88 | ['PayCheck_Salary'] = ' [~t~Salary~q~]', 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | } 118 | -------------------------------------------------------------------------------- /[Core]/[System]/[Lang]/pt.lua: -------------------------------------------------------------------------------- 1 | Lang['pt'] = { 2 | -- Em geral 3 | ['OnlyAdmins'] = 'Este recurso é apenas para administradores!', 4 | 5 | -- Piano 6 | ['PlayPiano_Play'] = 'Pressione [~e~Espaço~q~] para tocar o piano', 7 | ['PlayPiano_Stop'] = 'Pressione [~e~F~q~] para parar de tocar', 8 | 9 | -- Metabolismo 10 | ['Metabolism_IFCC'] = 'Configuração_de_verificação_de formato_incorreto', 11 | ['Metabolism_YourDying1'] = 'Você está morrendo, verifique seus sinais vitais!', 12 | ['Metabolism_YourDying2'] = 'Sinto formigamento nos dedos...', 13 | ['Metabolism_YourDying3'] = 'Eu posso ver as luzes, o fim está próximo ...', 14 | ['Metabolism_SoHungry'] = 'Estou com muita fome, preciso comer', 15 | ['Metabolism_SoThirsty'] = 'Estou com muita sede, preciso me hidratar', 16 | 17 | -- UsableItems 18 | ['UsableItems_NoTent'] = 'Você não tem tenda!', 19 | ['UsableItems_NoCampFire'] = 'Você não tem fogueira!', 20 | ['UsableItems_PlacingCampfire'] = "Você está colocando sua fogueira...", 21 | ['UsableItems_PlacingTent'] = "Você está colocando sua barraca...", 22 | ['UsableItems_Eating'] = "Você consumiu ", 23 | ['UsableItems_Drinking'] = "Você bebeu ", 24 | ['UsableItems_RefundCampfire'] = "Você foi reembolsado por uma fogueira", 25 | ['UsableItems_RefundTent'] = "Você foi reembolsado por uma barraca", 26 | 27 | -- lojas 28 | ['Store_OpenShop'] = 'Pressione [~e~ESPAÇO~q~] para abrir o menu da loja', 29 | ['Store_MenuTitle'] = 'Armazém Geral', 30 | ['Store_Category'] = 'Categoria', 31 | ['Store_Buy'] = 'Comprar itens', 32 | ['Store_Sell'] = 'Vender Itens', 33 | ['Store_Food'] = 'Comida', 34 | ['Store_Meds'] = 'Médico', 35 | ['Store_Misc'] = 'Diversos', 36 | ['Store_FoodMenu'] = 'Menu de comida', 37 | ['Store_MedsMenu'] = 'Artigos médicos', 38 | ['Store_MiscMenu'] = 'Outros itens', 39 | ['Store_FoodSubTitle'] = 'Suas necessidades básicas diárias', 40 | ['Store_MedsSubTitle'] = 'Para permanecer vivo!', 41 | ['Store_OtherItems'] = 'Outros itens', 42 | ['Store_NotEnoughMoney'] = 'Sem dinheiro suficiente', 43 | ['Store_Bought1'] = "Você comprou um ", 44 | ['Store_Bought2'] = ', custando $', 45 | ['Store_Bought3'] = 'Dólar!', 46 | ['Store_Sold'] = "Você vendeu um item: ", 47 | ['Store_NoItem'] = "Você não tem nenhum item chamado: ", 48 | ['Store_Exit'] = 'Sair', 49 | 50 | -- Caçador de Recompensa 51 | ['BountyHunter_PressSpace'] = 'Pressione [~e~ESPAÇO~q~] para abrir o menu de recompensas', 52 | ['BountyHunter_MenuTitle'] = 'Bounty Board', 53 | ['BountyHunter_PVESubTitle'] = 'Caçar NPCs', 54 | ['BountyHunter_PVPSubTitle'] = 'Caçar humanos', 55 | ['BountyHunter_PVEMenu'] = 'Menu PVE', 56 | ['BountyHunter_PVPMenu'] = 'Menu PVP', 57 | ['BountyHunter_HuntBountyButton'] = 'Hunt a Bounty', 58 | ['BountyHunter_ReceivePayment'] = 'Receber o pagamento', 59 | ['BountyHunter_NoBounties'] = "Você não registrou bounty kills, parceiro!", 60 | ['BountyHunter_SetBounty'] = 'Definir uma recompensa', 61 | ['BountyHunter_Payment1'] = "Você recebeu $", 62 | ['BountyHunter_Payment2'] = 'e', 63 | ['BountyHunter_Payment3'] = 'XP', 64 | ['BountyHunter_BountyOnMap'] = 'Seu Bounty está localizado no mapa!', 65 | ['BountyHunter_TheyBeDead'] = 'Precisamos deles mortos, não vivos! Mas morto! ', 66 | ['BountyHunter_StackBounties'] = 'Você pode empilhar recompensas, basta ter em mente', 67 | ['BountyHunter_DieAndLose'] = 'que você perderá a recompensa se morrer!', 68 | ['BountyHunter_KilledAllTargets'] = 'Você conseguiu matar todos os alvos', 69 | ['BountyHunter_SearchBodies'] = 'Procure nos corpos por evidências,', 70 | ['BountyHunter_AndBringBack'] = 'e devolva isso ao escritório da polícia!', 71 | ['BountyHunter_BringBackEvidence'] = 'Traga de volta as evidências para o sherrif!', 72 | ['BountyHunter_LostTargets'] = "Você perdeu seus alvos", 73 | ['BountyHunter_NoStackAllowed'] = "Você já tem uma recompensa ativa! Mate-os primeiro", 74 | ['BountyHunter_MaxBountiesReached'] = "Você tem muitas recompensas abertas, mate-os primeiro", 75 | 76 | ['PickableFruits_PressSpace'] = 'Pressione [~e~ESPAÇO~q~] para coletar ervas e frutas', 77 | ['PickableFruits_Searching'] = "Procurando...", 78 | ['PickableFruits_Collected'] = 'Você coletou ', 79 | ['PickableFruits_NothingFound'] = "Não há nada para ser coletado aqui!", 80 | 81 | ['Rivers_Info'] = "Pressione [~e~G~q~] para se lavar, [~e~ENTER~q~] para beber água", 82 | 83 | -- PayCheck 84 | ['PayCheck_Money'] = 'Você recebeu~t~$~q~ ~o~', 85 | ['PayCheck_Gold'] = '~t~Gold~q~: ~o~', 86 | ['PayCheck_Exp'] = '~t~XP:~q~ ~o~', 87 | ['PayCheck_Salary'] = ' [~t~Salário~q~]', 88 | } 89 | -------------------------------------------------------------------------------- /[Core]/[System]/[Lang]/ru.lua: -------------------------------------------------------------------------------- 1 | Lang['ru'] = { 2 | -- Общий 3 | ['OnlyAdmins'] = 'Эта функция предназначена только для администраторов!', 4 | 5 | -- piano 6 | ['PlayPiano_Play'] = 'Нажмите [~e~пробел~q~], чтобы играть на пианино', 7 | ['PlayPiano_Stop'] = 'Нажмите [~e~F~q~], чтобы остановить воспроизведение', 8 | 9 | -- метаболизм 10 | ['Metabolism_IFCC'] = 'Неправильная_конфигурация_проверки_формата', 11 | ['Metabolism_YourDying1'] = 'Вы умираете, проверьте свои жизненно важные органы!', 12 | ['Metabolism_YourDying2'] = 'Я чувствую покалывание в пальцах ...', 13 | ['Metabolism_YourDying3'] = 'Я вижу огни, конец близок ...', 14 | ['Metabolism_SoHungry'] = 'Я так голоден, мне нужно поесть', 15 | ['Metabolism_SoThirsty'] = 'Я чувствую сильную жажду, мне нужно выпить', 16 | 17 | -- UsableItems 18 | ['UsableItems_NoTent'] = 'У вас нет палатки!', 19 | ['UsableItems_NoCampFire'] = 'У вас нет костра!', 20 | ['UsableItems_PlacingCampfire'] = "Вы разводите костер ...", 21 | ['UsableItems_PlacingTent'] = "Вы ставите палатку ...", 22 | ['UsableItems_Eating'] = "Вы выпили", 23 | ['UsableItems_Drinking'] = "Вы выпили", 24 | ['UsableItems_RefundCampfire'] = "Вам вернули деньги на костер", 25 | ['UsableItems_RefundTent'] = "Вам вернули деньги за палатку", 26 | 27 | -- Магазины 28 | ['Store_OpenShop'] = 'Нажмите [~e~SPACE~q~], чтобы открыть меню магазина', 29 | ['Store_MenuTitle'] = 'Универсальный магазин', 30 | ['Store_Category'] = 'Категория', 31 | ['Store_Buy'] = 'Купить товары', 32 | ['Store_Sell'] = 'Продавать предметы', 33 | ['Store_Food'] = 'Еда', 34 | ['Store_Meds'] = 'Медицинский', 35 | ['Store_Misc'] = 'Разное', 36 | ['Store_FoodMenu'] = 'Меню еды', 37 | ['Store_MedsMenu'] = 'Медицинские товары', 38 | ['Store_MiscMenu'] = 'Другие элементы', 39 | ['Store_FoodSubTitle'] = 'Ваши повседневные базовые потребности', 40 | ['Store_MedsSubTitle'] = 'За то, чтобы остаться в живых!', 41 | ['Store_OtherItems'] = 'Другие элементы', 42 | ['Store_NotEnoughMoney'] = 'Недостаточно денег', 43 | ['Store_Bought1'] = "Вы купили", 44 | ['Store_Bought2'] = ', стоит вам $', 45 | ['Store_Bought3'] = 'Доллар!', 46 | ['Store_Sold'] = "Вы продали товар:", 47 | ['Store_NoItem'] = "У вас нет элемента с названием:", 48 | ['Store_Exit'] = 'Выход', 49 | 50 | -- Охотник за головами 51 | ['BountyHunter_PressSpace'] = 'Нажмите [~e~SPACE~q~], чтобы открыть меню наград', 52 | ['BountyHunter_MenuTitle'] = 'Доска объявлений', 53 | ['BountyHunter_PVESubTitle'] = 'Охота на NPC', 54 | ['BountyHunter_PVPSubTitle'] = 'Охота на людей', 55 | ['BountyHunter_PVEMenu'] = 'Меню PVE', 56 | ['BountyHunter_PVPMenu'] = 'Меню PVP', 57 | ['BountyHunter_HuntBountyButton'] = 'Охота за наградой', 58 | ['BountyHunter_ReceivePayment'] = 'Получить платеж', 59 | ['BountyHunter_NoBounties'] = "У вас нет зарегистрированных убийств за награду, партнер!", 60 | ['BountyHunter_SetBounty'] = 'Установить награду', 61 | ['BountyHunter_Payment1'] = "Вы получили $", 62 | ['BountyHunter_Payment2'] = 'и', 63 | ['BountyHunter_Payment3'] = 'XP', 64 | ['BountyHunter_BountyOnMap'] = 'Ваша награда указана на карте!', 65 | ['BountyHunter_TheyBeDead'] = 'Они нужны нам мертвыми, а не живыми! Но мертв! ', 66 | ['BountyHunter_StackBounties'] = 'Вы можете складывать награды, помните', 67 | ['BountyHunter_DieAndLose'] = 'что вы потеряете награды, если умрете!', 68 | ['BountyHunter_KilledAllTargets'] = 'Вам удалось убить все цели', 69 | ['BountyHunter_SearchBodies'] = 'Обыскать тела в поисках улик,', 70 | ['BountyHunter_AndBringBack'] = 'и отправь это обратно в полицию!', 71 | ['BountyHunter_BringBackEvidence'] = 'Верните доказательства шерифу!', 72 | ['BountyHunter_LostTargets'] = "Вы потеряли свои цели", 73 | ['BountyHunter_NoStackAllowed'] = "У вас уже есть активная награда! Сначала убейте их", 74 | ['BountyHunter_MaxBountiesReached'] = "У вас открыто много наград, сначала убейте их", 75 | 76 | ['PickableFruits_PressSpace'] = 'Нажмите [~e~SPACE~q~], чтобы собрать ягоды ', 77 | ['PickableFruits_Searching'] = "Поиск ...", 78 | ['PickableFruits_Collected'] = 'Вы собрали', 79 | ['PickableFruits_NothingFound'] = "Здесь нечего собирать!", 80 | 81 | ['Rivers_Info'] = "Нажмите [~e~G~q~], чтобы мыть, [~e~ENTER~q~], чтобы пить воду", 82 | 83 | -- PayCheck 84 | ['PayCheck_Money'] = 'Вы получили ~t~$~q~ ~o~', 85 | ['PayCheck_Gold'] = '~t~Gold~q~: ~o~', 86 | ['PayCheck_Exp'] = '~t~XP:~q~ ~o~', 87 | ['PayCheck_Salary'] = ' [~t~Salary~q~]', 88 | } 89 | -------------------------------------------------------------------------------- /[Core]/[System]/[Server]/_.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- 2 | ----------------------------------- DevDokus ----------------------------------- 3 | -------------------------------------------------------------------------------- 4 | -------------------------------------------------------------------------------- 5 | -------------------------- DONT CHANGE ANYTHING BELOW -------------------------- 6 | -------------------------------------------------------------------------------- 7 | __Version__ = "2.4.2" 8 | __vConfig__ = 011022062021 9 | -------------------------------------------------------------------------------- /[Core]/[System]/[Server]/server.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- 2 | ----------------------------------- DevDokus ----------------------------------- 3 | -------------------------------------------------------------------------------- 4 | -------------------------------------------------------------------------------- 5 | -------------------------- DONT CHANGE ANYTHING BELOW -------------------------- 6 | -------------------------------------------------------------------------------- 7 | 8 | -- 9 | key="DokusCore"local a=load((function(b,c)function bxor(d,e)local f={{0,1},{1,0}}local g=1;local h=0;while d>0 or e>0 do h=h+f[d%2+1][e%2+1]*g;d=math.floor(d/2)e=math.floor(e/2)g=g*2 end;return h end;local i=function(b)local j={}local k=1;local l=b[k]while l>=0 do j[k]=b[l+1]k=k+1;l=b[k]end;return j end;local m=function(b,c)if#c<=0 then return{}end;local k=1;local n=1;for k=1,#b do b[k]=bxor(b[k],string.byte(c,n))n=n+1;if n>#c then n=1 end end;return b end;local o=function(b)local j=""for k=1,#b do j=j..string.char(b[k])end;return j end;return o(m(i(b),c))end)({891,980,864,1242,1050,1038,722,970,934,857,1143,1194,1074,944,1137,787,602,1080,1250,637,1241,737,870,564,876,1165,1034,592,689,656,897,1141,659,1029,709,1203,1223,889,783,946,725,1166,839,838,1157,695,911,600,807,977,988,652,1225,1009,651,1049,1176,778,1127,1140,1180,739,777,596,781,795,829,1202,617,953,917,679,762,591,1213,1076,707,886,755,570,949,626,759,624,992,773,713,1237,842,952,821,861,1215,1183,1234,936,1199,1008,581,623,903,853,836,1072,806,608,819,833,816,1135,875,1184,1132,1068,1228,867,1006,1097,1154,930,796,1200,724,986,723,938,655,1214,1031,769,990,750,814,955,1253,1053,1131,1015,1026,768,1075,927,697,677,640,775,818,924,887,747,935,1045,978,756,798,728,1169,1145,675,813,622,686,968,894,767,915,610,1190,1069,1059,937,926,1105,1113,699,597,831,735,850,1112,682,890,1014,760,1078,585,1236,848,770,1022,1094,909,569,1239,1001,835,932,849,871,1041,733,654,908,1058,691,1148,984,1158,649,749,919,997,705,1055,1048,588,878,804,603,731,959,743,898,828,1252,657,975,817,1007,995,976,639,1118,693,576,1024,789,764,914,1186,1134,1117,999,1142,1093,880,845,1204,714,884,565,1189,854,918,837,1235,1193,1044,815,1109,698,942,575,922,888,774,1248,1238,579,658,630,958,578,1188,1185,628,964,974,685,1187,943,644,989,740,1151,902,1160,635,928,732,892,641,830,1221,1218,726,858,599,856,1254,1197,843,874,866,1128,1244,1067,1087,604,921,701,844,765,629,916,827,809,1065,681,832,660,684,744,665,717,951,1020,969,950,779,1033,883,1021,567,1211,716,1149,1111,668,872,1047,947,1172,1196,931,1037,593,729,1206,1191,727,929,973,730,791,785,1207,621,893,784,589,766,906,615,1226,780,1251,1083,1212,983,962,711,1062,643,1025,1100,609,885,634,1232,1081,1077,1073,582,1209,1205,708,920,865,802,1054,1227,1162,1125,1138,1192,1005,587,620,1095,808,574,642,1147,1002,771,633,812,606,933,811,1098,824,895,1060,859,799,900,1136,1129,1085,996,1220,1027,638,1198,790,840,1171,631,1028,738,647,1042,1182,1139,1101,834,734,1247,566,1216,1011,772,961,948,568,1230,583,673,1091,1017,1096,967,1004,703,741,1023,792,1173,1168,1108,670,863,985,612,590,690,982,1120,1249,1224,721,993,1036,825,873,674,571,650,611,1116,847,805,1106,1013,1153,683,826,782,618,851,671,1070,613,1046,882,700,761,1104,1032,1177,1222,1039,746,800,748,753,1019,718,881,910,1170,1089,1119,868,1167,904,979,692,820,794,632,1240,1057,793,1174,586,1088,1086,696,905,966,1163,994,1040,1122,860,704,625,1245,1126,614,998,601,719,877,823,1063,742,1051,687,758,678,925,1071,1061,1103,653,901,1231,1179,745,-1,17,82,16,54,78,46,44,34,105,216,39,43,117,9,53,29,74,49,34,82,250,0,54,79,22,49,29,29,49,83,129,156,100,91,32,33,75,121,49,14,75,4,43,113,89,72,126,79,44,72,14,26,208,78,94,246,13,43,79,1,4,0,31,137,6,28,33,27,78,0,26,69,147,29,11,0,78,85,10,60,81,225,208,48,74,44,54,47,72,73,43,105,8,37,23,34,43,134,65,144,49,69,30,33,44,80,30,66,227,69,1,28,169,104,83,69,251,85,0,66,14,42,69,75,82,29,23,0,77,59,251,41,88,91,80,1,70,28,51,107,120,99,229,7,69,23,183,57,22,48,78,184,24,37,110,99,139,40,33,95,110,21,19,11,25,51,73,16,0,75,31,49,99,27,23,85,45,77,49,99,6,23,105,55,70,4,110,60,75,88,4,77,1,172,72,43,0,88,52,31,91,10,28,30,94,88,0,48,5,6,6,79,177,76,54,38,38,27,88,97,14,70,54,27,193,69,7,43,80,42,104,3,88,41,29,4,66,57,5,57,13,89,29,11,31,29,246,7,75,79,66,77,105,14,75,95,91,33,5,45,25,33,70,49,23,16,1,97,7,72,99,61,79,2,60,71,22,46,29,24,99,87,177,29,0,55,71,110,92,54,52,197,79,33,8,44,98,50,249,6,8,10,28,95,70,234,7,25,29,49,54,70,10,79,100,220,74,66,66,6,101,69,107,32,30,98,0,40,31,29,29,16,53,16,29,171,7,101,43,34,94,100,40,62,64,90,95,10,250,245,61,16,22,82,29,7,54,1,4,1,42,55,54,77,42,48,70,97,61,66,8,14,16,21,72,37,127,134,31,50,52,228,28,71,90,80,21,3,23,101,175,95,233,242,50,29,36,87,42,131,61,52,9,27,48,85,19,139,191,71,32,2,55,78,17,110,0,16,33,31,16,48,66,239,99,85,94,125,30,16,25,83,65,22,120,75,72,17,69,64,7,33,72,17,33,10,43,6,216,72,0,70,208,29,60,94,7,16,25,44,77,17,88,42,19,2,216,70,110,14,10,58,54,85,99,72,0,85,79,35,107,0,105,25,19,26,31,1,154,105,20,7,101,75,7,82,55,7,39,55,131,14,8,54,110,79,95,29,83,22,85,110,27,25,0,250,16,59,27,44,41,49,82,10,1,105,59,52,174,77,49,26,2,105,0,179,50,22,154,0,94,6,95,50,4,44,205,4,62,5,116,48,83,23,82,66,50,219,38,203,126,79,28,28,49,99,175,66,94,16,2,66,22,38,6,29,49,61,106,79,172,1,108,0,25,85,73,112,175,105,66,57,12,4,55,193,29,134,38,10,56,1,99,88,43,26,72,48,109,31,33,131,24,66,30,27,10,109,31,71,88,40,34,22,68,69,73,27,13,7,86,41,98,26,75,54,94,168,29,77,90,23,29,24,179,28,167,10,84,2,66,53,35,115,1,242,4,38,95,109,71,54,1,30,66,195,101,14,92,191,40,27,0,44,44,54,79,14,20,200,10,40,166,30,48,53,54,50,11,72,47},key))if a then a()else print("WRONG PASSWORD!")end 10 | 11 | 12 | print("Run", _Run) 13 | 14 | if _Run then 15 | -- Check Dependencies. 16 | print("^5[DokusCore]^2[SYSTEM]: ^6---------- Version ".._Version_.."----------") 17 | 18 | -- Error for missing Dependencies 19 | if (Plugins.UsableItems == true) and (Plugins.Metabolism == false) then 20 | print('^5[DokusCore]^1[ERROR]: ^3The plugin UsableItems is depending on the plugin ^1Metabolism^3.') 21 | print("^5[DokusCore]^1[ERROR]: ^3If you want to use UsableItems, please set Metabolism to ^1true^3. ") 22 | _StartError_ = true 23 | else 24 | print("^5[DokusCore]^2[SYSTEM]: ^5All settings are standing correctly!") 25 | print("^5[DokusCore]^2[SYSTEM]: ^6-----------------------------------") 26 | end 27 | 28 | -- Report online features. 29 | if not _StartError_ and Plugins.Metabolism then print("^5[DokusCore]^2[ONLINE]: ^3The Feature ^6Metabolism ^3is running") end 30 | if not _StartError_ and Plugins.Stores then print("^5[DokusCore]^2[ONLINE]: ^3The Feature ^6Stores ^3is running") end 31 | if not _StartError_ and Plugins.Teleport then print("^5[DokusCore]^2[ONLINE]: ^3The Feature ^6Teleport ^3is running") end 32 | if not _StartError_ and Plugins.UsableItems then print("^5[DokusCore]^2[ONLINE]: ^3The Feature ^6UsableItems ^3is running") end 33 | if not _StartError_ and Plugins.iMaps then print("^5[DokusCore]^2[ONLINE]: ^3The Feature ^6iMaps ^3is running") end 34 | if not _StartError_ and Plugins.BankDoors then print("^5[DokusCore]^2[ONLINE]: ^3The Feature ^6BankDoors ^3is running") end 35 | if not _StartError_ and Plugins.ShowCoords then print("^5[DokusCore]^2[ONLINE]: ^3The Feature ^6ShowCoords ^3is running") end 36 | if not _StartError_ and Plugins.BountyHunter then print("^5[DokusCore]^2[ONLINE]: ^3The Feature ^6BountyHunter ^3is running") end 37 | if not _StartError_ and Plugins.PlayPiano then print("^5[DokusCore]^2[ONLINE]: ^3The Feature ^6PlayPiano ^3is running") end 38 | if not _StartError_ and Plugins.Rivers then print("^5[DokusCore]^2[ONLINE]: ^3The Feature ^6Rivers ^3is running") end 39 | if not _StartError_ and Plugins.PickableFruits then print("^5[DokusCore]^2[ONLINE]: ^3The Feature ^6PickableFruits ^3is running") end 40 | if not _StartError_ and Plugins.PayCheck then print("^5[DokusCore]^2[ONLINE]: ^3The Feature ^6PayCheck ^3is running") end 41 | 42 | -- Report offline features 43 | if not _StartError_ and not Plugins.Metabolism then print("^5[DokusCore]^1[OFFLINE]: ^3The Feature ^6Metabolism ^3is not running") end 44 | if not _StartError_ and not Plugins.Stores then print("^5[DokusCore]^1[OFFLINE]: ^3The Feature ^6Stores ^3is not running") end 45 | if not _StartError_ and not Plugins.Teleport then print("^5[DokusCore]^1[OFFLINE]: ^3The Feature ^6Teleport ^3is not running") end 46 | if not _StartError_ and not Plugins.UsableItems then print("^5[DokusCore]^1[OFFLINE]: ^3The Feature ^6UsableItems ^3is not running") end 47 | if not _StartError_ and not Plugins.iMaps then print("^5[DokusCore]^1[OFFLINE]: ^3The Feature ^6iMaps ^3is not running") end 48 | if not _StartError_ and not Plugins.BankDoors then print("^5[DokusCore]^1[OFFLINE]: ^3The Feature ^6BankDoors ^3is not running") end 49 | if not _StartError_ and not Plugins.ShowCoords then print("^5[DokusCore]^1[OFFLINE]: ^3The Feature ^6ShowCoords ^3is not running") end 50 | if not _StartError_ and not Plugins.BountyHunter then print("^5[DokusCore]^1[OFFLINE]: ^3The Feature ^6BountyHunter ^3is not running") end 51 | if not _StartError_ and not Plugins.PlayPiano then print("^5[DokusCore]^1[OFFLINE]: ^3The Feature ^6PlayPiano ^3is not running") end 52 | if not _StartError_ and not Plugins.Rivers then print("^5[DokusCore]^1[OFFLINE]: ^3The Feature ^6Rivers ^3is not running") end 53 | if not _StartError_ and not Plugins.PickableFruits then print("^5[DokusCore]^1[OFFLINE]: ^3The Feature ^6PickableFruits ^3is not running") end 54 | if not _StartError_ and not Plugins.PayCheck then print("^5[DokusCore]^1[OFFLINE]: ^3The Feature ^6PayCheck ^3is not running") end 55 | 56 | -- Config Update Warning 57 | print("^5[DokusCore]^2[SYSTEM]: ^6-----------------------------------") 58 | if _vConfig_ == __vConfig__ then print("^5[DokusCore]^2[SYSTEM]: ^2You've the latests config version!") end 59 | if _vConfig_ ~= __vConfig__ then print("^5[DokusCore]^1[SYSTEM]: ^1Your config file is not up to date!!!") end 60 | if _vConfig_ ~= __vConfig__ then print("^5[DokusCore]^1[SYSTEM]: ^1Download the latest DokusCore from Github.") end 61 | if _vConfig_ ~= __vConfig__ then print("^5[DokusCore]^1[SYSTEM]: ^1Github.com/devdokus/DokusCore") end 62 | print("^5[DokusCore]^2[SYSTEM]: ^6-----------------------------------") 63 | -- Thanks 64 | if not _StartError_ then print("^5[DokusCore]^2[SYSTEM]: ^5Thanks for using DokusCore for Vorp!") end 65 | if not _StartError_ then print("^5[DokusCore]^2[SYSTEM]: ^5Developed By DevDokus") end 66 | if not _StartError_ then print("^5[DokusCore]^2[DISCORD]: ^5Http://discord.gg/2gdypBhsye") end 67 | if not _StartError_ then print("^5[DokusCore]^2[WEBSITE]: ^5Https://KDNGaming.com") end 68 | if not _StartError_ then print("^5[DokusCore]^2[SYSTEM]: ^6-----------------------------------") end 69 | 70 | if _StartError_ then print("^5[DokusCore]^3[SYSTEM]: ^1DokusCore stopped all features for now!") end 71 | if _StartError_ then print("^5[DokusCore]^3[SYSTEM]: ^1This is to prevent server crashes.") end 72 | if _StartError_ then print("^5[DokusCore]^3[SYSTEM]: ^1Please go to your config to fix this error.") end 73 | if _StartError_ then print("^5[DokusCore]^3[SYSTEM]: ^5If you need any help you can visit our Discord.") end 74 | if _StartError_ then print("^5[DokusCore]^3[SYSTEM]: ^5Http://discord.gg/2gdypBhsye") end 75 | if _StartError_ then print("^5[DokusCore]^2[SYSTEM]: ^6-----------------------------------") end 76 | 77 | -- Send error when the wrong plugins are used when using RedEmRP 78 | if ((Framework.RedEmRP) and (Plugins.BountyHunter)) then print('^5[DokusCore]^1[ERROR]: ^3The plugin ^1BountyHunter^3 is not RedEmRP Ready yet!') end 79 | if ((Framework.RedEmRP) and (Plugins.Metabolism)) then print('^5[DokusCore]^1[ERROR]: ^3The plugin ^1Metabolism^3 is not RedEmRP Ready yet!') end 80 | if ((Framework.RedEmRP) and (Plugins.PayCheck)) then print('^5[DokusCore]^1[ERROR]: ^3The plugin ^1PayCheck^3 is not RedEmRP Ready yet!') end 81 | if ((Framework.RedEmRP) and (Plugins.PickableFruits)) then print('^5[DokusCore]^1[ERROR]: ^3The plugin ^1PickableFruits^3 is not RedEmRP Ready yet!') end 82 | if ((Framework.RedEmRP) and (Plugins.Rivers)) then print('^5[DokusCore]^1[ERROR]: ^3The plugin ^1Rivers^3 is not RedEmRP Ready yet!') end 83 | if ((Framework.RedEmRP) and (Plugins.Teleport)) then print('^5[DokusCore]^1[ERROR]: ^3The plugin ^1Teleport^3 is not RedEmRP Ready yet!') end 84 | if ((Framework.RedEmRP) and (Plugins.UsableItems)) then print('^5[DokusCore]^1[ERROR]: ^3The plugin ^1UsableItems^3 is not RedEmRP Ready yet!') end 85 | 86 | 87 | print("^5[DokusCore]^2[SYSTEM]: ^6-----------------------------------") 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | -- Send messages to the console. 101 | -- Used for relay client side outputs. 102 | RegisterServerEvent('C') 103 | AddEventHandler('C', function(args) print(args[1], args[2], args[3], args[4], args[5]) end) 104 | end 105 | -------------------------------------------------------------------------------- /[Core]/[Vorp]/[Client]/BankDoors.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- 2 | ----------------------------------- DevDokus ----------------------------------- 3 | -------------------------------------------------------------------------------- 4 | Citizen.CreateThread(function() Wait(1000) 5 | if (((Plugins.BankDoors) and not (_StartError_) and (Framework.Vorp) and not (Framework.RedEmRP))) then 6 | 7 | local BankDoors = { 8 | -- Armadillo 9 | 3101287960, 10 | -- BLACKWATER 11 | 531022111, 12 | -- Saint Denis 13 | -1477943109, 14 | 2089945615, 15 | -2136681514, 16 | 1733501235, 17 | -- Rhodes 18 | -977211145, 19 | -1206757990, 20 | -- Valentine 21 | -408139633, 22 | -1652509687, 23 | 2642457609, 24 | 1340831050, 25 | 2343746133, 26 | 334467483, 27 | 3718620420, 28 | 2307914732, 29 | } 30 | 31 | Citizen.CreateThread(function() 32 | for i, r in pairs(BankDoors) do 33 | Citizen.InvokeNative(0xD99229FE93B46286, r, 1, 1, 0, 0, 0, 0) 34 | Citizen.InvokeNative(0x6BAB9442830C7F53, r, 0) 35 | end 36 | end) 37 | 38 | end 39 | end) 40 | -------------------------------------------------------------------------------- /[Core]/[Vorp]/[Client]/BountyHunter.lua: -------------------------------------------------------------------------------- 1 | Citizen.CreateThread(function() Wait(1000) 2 | if (((Plugins.BountyHunter) and not (_StartError_) and (Framework.Vorp) and not (Framework.RedEmRP))) then 3 | -------------------------------------------------------------------------------- 4 | ----------------------------------- DevDokus ----------------------------------- 5 | -------------------------------------------------------------------------------- 6 | function Wait(args) Citizen.Wait(args) end 7 | -------------------------------------------------------------------------------- 8 | -- Varables 9 | local InRange = false 10 | local ActiveMenu = nil 11 | local MenuOpen = false 12 | local Location = nil 13 | 14 | TotalKilled = 0 15 | local BountyStack = 0 16 | local ArrayBounties = {} 17 | local CreateNPC = {} 18 | local NPCx, NPCy, NPCz = 0, 0, 0 19 | local InMission = false 20 | local TotalEnemies = 0 21 | local SearchingBodies = false 22 | local GPSToBodyIsSet = false 23 | local SaveGuard = false 24 | RegisterNetEvent('DevDokus:BountyHunter:C:StartMission') 25 | -------------------------------------------------------------------------------- 26 | -- Core 27 | -------------------------------------------------------------------------------- 28 | -- Check player disctance from coords. 29 | Citizen.CreateThread(function() 30 | while true do Wait(2000) 31 | local ped = PlayerPedId() 32 | local coords = GetEntityCoords(ped) 33 | for k, v in pairs(BountyHunter.BountyBoards) do 34 | 35 | local dist = GetDistanceBetweenCoords(coords.x, coords.y, coords.z, v.x, v.y, v.z) 36 | 37 | if Location == nil and (dist <= 5) then Location = v.City end 38 | if Location == v.City then 39 | 40 | -- Set user if out of range 41 | if (dist > 5) and InRange then 42 | InRange = false 43 | Location = nil 44 | WarBountyMenu.CloseMenu() 45 | end 46 | 47 | -- Set user if in range 48 | if (dist <= 5) and not InRange then 49 | InRange = true 50 | Location = v.City 51 | TriggerEvent('DevDokus:BountyHunter:C:StartMission') 52 | end 53 | end 54 | end 55 | end 56 | end) 57 | 58 | -- Check players distance from the stores. 59 | AddEventHandler('DevDokus:BountyHunter:C:StartMission', function() 60 | local ped = PlayerPedId() 61 | while InRange do Wait(1) 62 | local coords = GetEntityCoords(ped) 63 | for k, v in pairs(BountyHunter.BountyBoards) do 64 | local x, y, z = v.x, v.y, v.z 65 | local dist = GetDistanceBetweenCoords(coords.x, coords.y, coords.z, x, y, z) 66 | 67 | -- Turn cirle red when not in range 68 | if (dist > 2) and not OpenMenu then DrawCircle(x, y, z, 217, 17, 17, 50) end 69 | 70 | if (dist <= 2) then 71 | -- Turn cirle green if in range 72 | if not OpenMenu then DrawCircle(x, y, z, 17, 217, 27, 50) end 73 | if not MenuOpen then DrawInfo(_('BountyHunter_PressSpace'), 0.5, 0.95, 0.75) end 74 | if IsControlJustPressed(0, Keys['SPACEBAR']) then 75 | MenuOpen = true 76 | ActiveMenu = 'BountyMenu' 77 | WarBountyMenu.OpenMenu('BountyMenu') 78 | end 79 | 80 | if IsControlJustPressed(0, Keys['BACKSPACE']) then 81 | if ActiveMenu == 'BountyMenu' then WarBountyMenu.CloseMenu() ActiveMenu = nil MenuOpen = false Location = nil 82 | elseif ActiveMenu == 'PVEMenu' then WarBountyMenu.OpenMenu('BountyMenu') ActiveMenu = 'BountyMenu' 83 | elseif ActiveMenu == 'PVPMenu' then WarBountyMenu.OpenMenu('BountyMenu') ActiveMenu = 'BountyMenu' 84 | end 85 | end 86 | end 87 | end 88 | end 89 | end) 90 | 91 | -- Warmenu 92 | Citizen.CreateThread(function() 93 | CreateBountyMenus() 94 | while true do Wait(1) 95 | local War = WarBountyMenu.IsMenuOpened 96 | if War('BountyMenu') then BountyMenu() 97 | elseif War('PVEMenu') then PVEMenu() 98 | elseif War('PVPMenu') then PVPMenu() 99 | end 100 | end 101 | end) 102 | 103 | 104 | function CreateBountyMenus() 105 | WarBountyMenu.CreateMenu('BountyMenu', _('BountyHunter_MenuTitle')) 106 | WarBountyMenu.SetSubTitle('BountyMenu', 'Made By DevDokus') 107 | WarBountyMenu.CreateMenu('PVEMenu', _('BountyHunter_MenuTitle')) 108 | WarBountyMenu.SetSubTitle('PVEMenu', _('BountyHunter_PVESubTitle')) 109 | WarBountyMenu.CreateMenu('PVPMenu', _('BountyHunter_MenuTitle')) 110 | WarBountyMenu.SetSubTitle('PVPMenu', _('BountyHunter_PVPSubTitle')) 111 | end 112 | 113 | -------------------------------------------------------------------------------- 114 | -- Page 1 - Home Page 115 | -------------------------------------------------------------------------------- 116 | function BountyMenu () 117 | ActiveMenu = 'BountyMenu' 118 | local Pve = WarBountyMenu.Button(_('BountyHunter_PVEMenu'), '', '') 119 | local Pvp = WarBountyMenu.Button(_('BountyHunter_PVPMenu'), '', '') 120 | if Pve then WarBountyMenu.OpenMenu('PVEMenu') end 121 | if Pvp then Beta() end--WarBountyMenu.OpenMenu('PVPMenu') end 122 | WarBountyMenu.Display() 123 | end 124 | 125 | -------------------------------------------------------------------------------- 126 | -- Page 2 - Buy Category Section 127 | -------------------------------------------------------------------------------- 128 | function PVEMenu () 129 | ActiveMenu = 'PVEMenu' 130 | local hunt = WarBountyMenu.Button(_('BountyHunter_HuntBountyButton'), '', '') 131 | local payment = WarBountyMenu.Button(_('BountyHunter_ReceivePayment'), '', '') 132 | local _Stack = BountyHunter.BountyStack 133 | local _MaxBounties = BountyHunter.MaxBounties 134 | 135 | if hunt then 136 | if _Stack then 137 | if (BountyStack <= (_MaxBounties - 1)) then 138 | BountyStack = (BountyStack + 1) 139 | Location = nil 140 | TriggerServerEvent('DevDokus:BountyHunter:S:CheckJob') 141 | else 142 | Notify(_('BountyHunter_MaxBountiesReached')) 143 | end 144 | else 145 | if (BountyStack >= 1) then 146 | Notify(_('BountyHunter_NoStackAllowed')) 147 | else 148 | BountyStack = (BountyStack + 1) 149 | Location = nil 150 | TriggerServerEvent('DevDokus:BountyHunter:S:CheckJob') 151 | end 152 | end 153 | end 154 | 155 | 156 | if payment and (TotalKilled > 0)then 157 | TriggerServerEvent('DevDokus:BountyHunter:S:PayDay', TotalKilled) 158 | TotalKilled = 0 159 | Location = nil 160 | ActiveMenu = nil 161 | MenuOpen = false 162 | WarBountyMenu.CloseMenu() 163 | elseif payment and (TotalKilled == 0) then 164 | Location = nil 165 | Notify(_('BountyHunter_NoBounties'), 5000) 166 | end 167 | WarBountyMenu.Display() 168 | end 169 | 170 | function PVPMenu () 171 | ActiveMenu = 'PVPMenu' 172 | local bounty = WarBountyMenu.Button(_('BountyHunter_HuntBountyButton'), '', '') 173 | local sbounty = WarBountyMenu.Button(_('BountyHunter_SetBounty'), '', '') 174 | local payment = WarBountyMenu.Button(_('BountyHunter_ReceivePayment'), '', '') 175 | if bounty then end 176 | if sbounty then end 177 | if payment then end 178 | WarBountyMenu.Display() 179 | end 180 | 181 | function Beta() 182 | Notify('This feature is currently being build!') 183 | Notify('and will be released in a later version.') 184 | end 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | -------------------------------------------------------------------------------- 209 | ------------------------------------ Bounty ------------------------------------ 210 | -------------------------------------------------------------------------------- 211 | 212 | local Models = { 213 | "MP_CHU_ROB_MILLESANI_MALES_01", "AM_VALENTINEDOCTORS_FEMALES_01", "A_F_M_ARMCHOLERACORPSE_01", 214 | "A_F_M_ARMTOWNFOLK_01", "A_F_M_ArmTownfolk_02", "A_F_M_AsbTownfolk_01", "A_F_M_BiVFancyTravellers_01", 215 | "A_F_M_BlWTownfolk_01", "A_F_M_BlWTownfolk_02", "A_F_M_BlWUpperClass_01", "A_F_M_BtcHillbilly_01", 216 | "A_F_M_BTCObeseWomen_01", "A_F_M_GuaTownfolk_01", "A_F_M_LagTownfolk_01", "A_F_M_LowerSDTownfolk_01", 217 | "A_F_M_LowerSDTownfolk_02", "A_F_M_LowerSDTownfolk_03", "A_F_M_MiddleSDTownfolk_01", "A_F_M_MiddleSDTownfolk_02", 218 | "A_F_M_MiddleSDTownfolk_03", "A_F_M_NbxSlums_01", "A_F_M_NbxUpperClass_01", "A_F_M_NbxWhore_01", 219 | "A_F_M_RhdTownfolk_01", "A_F_M_RhdTownfolk_02", "A_F_M_ROUGHTRAVELLERS_01", "A_F_M_SDChinatown_01", 220 | "A_F_M_SDSlums_02", "A_F_M_StrTownfolk_01", "A_F_M_TumTownfolk_01", "A_F_M_TumTownfolk_02", 221 | "mp_dr_u_m_m_MISTAKENBOUNTIES_01" 222 | } 223 | 224 | local Weapons = { 225 | 0x772C8DD6, 0x169F59F7, 0xDB21AC8C, 0x6DFA071B, 226 | 0xF5175BA1, 0xD2718D48, 0x797FBF5, 0x772C8DD6, 227 | 0x7BBD1FF6, 0x63F46DE6, 0xA84762EC, 0xDDF7BC1E, 228 | 0x20D13FF, 0x1765A8F8, 0x657065D6, 0x8580C63E, 229 | 0x95B24592, 0x31B7B9FE, 0x88A855C, 0x1C02870C, 230 | 0x28950C71, 0x6DFA071B 231 | } 232 | -------------------------------------------------------------------------------- 233 | -- Core 234 | -------------------------------------------------------------------------------- 235 | RegisterNetEvent('DevDokus:BountyHunter:C:SetUpMission') 236 | RegisterNetEvent('DevDokus:BountyHunter:C:ResetTotalKills') 237 | -------------------------------------------------------------------------------- 238 | 239 | AddEventHandler('DevDokus:BountyHunter:C:SetUpMission', function(_Job) 240 | -- Make sure this script does not execute twice. 241 | SaveGuard = true 242 | 243 | -- See if any job is required. 244 | local HasJob = false 245 | local NeedJob = false 246 | for k,v in pairs(BountyHunter.Jobs) do 247 | if v.Use == true then 248 | NeedJob = true 249 | if v.Job == _Job then 250 | HasJob = true 251 | end 252 | end 253 | end 254 | 255 | -- Stop the user if he/she does not have the correct jobs. 256 | if NeedJob and not HasJob then Notify(BountyHunter.Jobs.NoJob) return end 257 | 258 | 259 | -- Get a random bounty ID 260 | local rLoc = BountyHunter.Bounties[math.random(#BountyHunter.Bounties)] 261 | -- Get all NPCs associated with this ID 262 | for k, v in pairs(BountyHunter.Bounties) do 263 | 264 | if v.ID == rLoc.ID then 265 | TotalEnemies = TotalEnemies + 1 266 | -- Get a random model for this NPC 267 | local rModel = GetHashKey(Models[math.random(#Models)]) 268 | RequestModel(rModel) 269 | if not HasModelLoaded(rModel) then RequestModel(rModel) end 270 | while not HasModelLoaded(rModel) do Wait(1) end 271 | -- Spawn the NPC with a random loadout 272 | local rWeapon = Weapons[math.random(#Weapons)] 273 | CreateNPC[k] = CreatePed(rModel, v.Coords.x, v.Coords.y, v.Coords.z, true, true, true, true) 274 | Citizen.InvokeNative(0x283978A15512B2FE, CreateNPC[k], true) 275 | Citizen.InvokeNative(0x23f74c2fda6e7c61, 953018525, CreateNPC[k]) 276 | NPCx, NPCy, NPCz = v.x, v.y, v.z 277 | GiveWeaponToPed_2(CreateNPC[k], rWeapon, 50, true, true, 1, false, 0.5, 1.0, 1.0, true, 0, 0) 278 | SetCurrentPedWeapon(CreateNPC[k], rWeapon, true) 279 | TaskCombatPed(CreateNPC[k], PlayerPedId()) 280 | ArrayBounties[k] = CreateNPC[k] 281 | end 282 | end 283 | 284 | -- Start the GPS 285 | -- StartGpsMultiRoute(6, true, true) 286 | -- AddPointToGpsMultiRoute(NPCx, NPCy, NPCz) 287 | -- AddPointToGpsMultiRoute(NPCx, NPCy, NPCz) 288 | -- SetGpsMultiRouteRender(true) 289 | 290 | Wait(1000) 291 | Notify(_('BountyHunter_BountyOnMap'), 5000) 292 | Wait(3000) 293 | Notify(_('BountyHunter_TheyBeDead'), 5000) 294 | InMission = true 295 | SaveGuard = false 296 | while InMission do Wait(1) 297 | for k, v in pairs(ArrayBounties) do 298 | if IsEntityDead(v) then 299 | local eCoords = GetEntityCoords(ArrayBounties[k]) 300 | 301 | if ArrayBounties[k] ~= nil then 302 | TotalEnemies = TotalEnemies - 1 303 | TotalKilled = TotalKilled + 1 304 | ArrayBounties[k] = nil 305 | if TotalEnemies == 0 then 306 | BountyStack = 0 307 | TriggerEvent("vorp:TipRight", _('BountyHunter_KilledAllTargets'), 5000) 308 | SearchingBodies = true 309 | Wait(5000) 310 | Notify(_('BountyHunter_SearchBodies'), 5000) 311 | Notify(_('BountyHunter_AndBringBack'), 5000) 312 | local ped = PlayerPedId() 313 | while SearchingBodies do Wait(1) 314 | local ped = PlayerPedId() 315 | local pCoords = GetEntityCoords(ped) 316 | local dist = GetDistanceBetweenCoords(pCoords, eCoords) 317 | local E = IsControlJustReleased(1, Keys['E']) 318 | 319 | if not GPSToBodyIsSet then 320 | GPSToBodyIsSet = true 321 | StartGpsMultiRoute(6, true, true) 322 | AddPointToGpsMultiRoute(eCoords) 323 | SetGpsMultiRouteRender(true) 324 | end 325 | 326 | -- If close to killed bounty pick up evidence and head back. 327 | if (dist <= 5) and E then 328 | Wait(2000) 329 | StopMission() 330 | Notify(_('BountyHunter_BringBackEvidence'), 5000) 331 | end 332 | end 333 | end 334 | end 335 | end 336 | 337 | if IsPlayerDead() then 338 | TriggerEvent("vorp:TipRight", _('BountyHunter_LostTargets'), 4000) 339 | StopMission() 340 | TotalKilled = 0 341 | BountyStack = 0 342 | end 343 | end 344 | end 345 | end) 346 | 347 | function StopMission() 348 | InMission = false 349 | SetGpsMultiRouteRender(false) 350 | for k, v in pairs(CreateNPC) do DeletePed(v) Wait(500) end 351 | table.remove{CreateNPC} table.remove{ArrayBounties} 352 | end 353 | 354 | 355 | AddEventHandler('DevDokus:BountyHunter:C:ResetTotalKills', function() 356 | TotalKilled = 0 357 | BountyStack = 0 358 | end) 359 | 360 | end 361 | end) -------------------------------------------------------------------------------- /[Core]/[Vorp]/[Client]/MaxCores.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- 2 | ----------------------------------- DevDokus ----------------------------------- 3 | -------------------------------------------------------------------------------- 4 | Citizen.CreateThread(function() Wait(1000) 5 | if (((Plugins.MaxCores) and not (_StartError_) and (Framework.Vorp) and not (Framework.RedEmRP))) then 6 | Citizen.CreateThread(function() 7 | if MaxCores.Stamina then Stamina() end 8 | end) 9 | 10 | Citizen.CreateThread(function() 11 | if MaxCores.Health then Health() end 12 | end) 13 | end 14 | end) 15 | 16 | function Health() 17 | Citizen.InvokeNative(0xCB5D11F9508A928D, 1, a2, a3, GetHashKey("UPGRADE_HEALTH_TANK_1"), 1084182731, (1 * MaxCores.HealthMulti), 752097756) 18 | end 19 | 20 | function Stamina() 21 | print("DOKUSCORE: THIS ERROR CAN BE IGNORED") 22 | Citizen.InvokeNative(0xCB5D11F9508A928D, 1, a2, a3, GetHashKey("UPGRADE_STAMINA_TANK_1"), 1084182731, (1 * MaxCores.StaminaMulti), 752097756) 23 | end 24 | -------------------------------------------------------------------------------- 25 | -------------------------------------------------------------------------------- /[Core]/[Vorp]/[Client]/Metabolism.lua: -------------------------------------------------------------------------------- 1 | 2 | Citizen.CreateThread(function() Wait(1000) 3 | if (((Plugins.Metabolism) and not (_StartError_) and (Framework.Vorp) and not (Framework.RedEmRP))) then 4 | -------------------------------------------------------------------------------- 5 | ----------------------------------- DevDokus ----------------------------------- 6 | -------------------------------------------------------------------------------- 7 | function Wait(args) Citizen.Wait(args) end 8 | function Invoke(args, bool) Citizen.InvokeNative(args, bool) end 9 | local VORPCore = {} 10 | Citizen.CreateThread(function() 11 | while not VORPCore do 12 | TriggerEvent("getCore", function(core) 13 | VORPCore = core 14 | end) 15 | Citizen.Await(200) 16 | end 17 | end) 18 | -------------------------------------------------------------------------------- 19 | -- Event Register 20 | RegisterNetEvent('DevDokus:Metabolism:C:Hunger') 21 | RegisterNetEvent('DevDokus:Metabolism:C:Thirst') 22 | RegisterNetEvent('DevDokus:Metabolism:C:Stamina') 23 | RegisterNetEvent('DevDokus:Metabolism:C:Health') 24 | RegisterNetEvent('DevDokus:Metabolism:C:StaminaInnerGold') 25 | RegisterNetEvent('DevDokus:Metabolism:C:StaminaOuterGold') 26 | RegisterNetEvent('DevDokus:Metabolism:C:HealthInnerGold') 27 | RegisterNetEvent('DevDokus:Metabolism:C:HealthOuterGold') 28 | -------------------------------------------------------------------------------- 29 | -- Core 30 | -------------------------------------------------------------------------------- 31 | -- Variables 32 | _Hunger = 100 33 | _Thirst = 100 34 | _Stamina = 100 35 | local DyingCount = 0 36 | local WarningCount = 0 37 | local FoodWarning = 0 38 | local ThirstWarning = 0 39 | local DeathWarning = false 40 | 41 | local stage = { s1 = false, s2 = false, s3 = false} 42 | local DeadOrAlive = true 43 | local CoreIsZero = false 44 | -------------------------------------------------------------------------------- 45 | Citizen.CreateThread(function() 46 | while true do Wait(1000) 47 | if VORPCore ~= nil then 48 | local DrainFood = 0 49 | local DrainWater = 0 50 | local User = PlayerPedId() 51 | local coords = GetEntityCoords(User) 52 | local temp = math.floor(GetTemperatureAtCoords(coords)) 53 | local Area = Metabolism.StartArea 54 | local dist = Vdist(coords, Area.x, Area.y, Area.z) 55 | local IsReady = (dist > Metabolism.StartRadius) 56 | 57 | if IsReady then 58 | if (temp >= Metabolism.Temperature.Max) then 59 | DrainFood = Metabolism.Temperature.HotDamage.Food 60 | DrainWater = Metabolism.Temperature.HotDamage.Water 61 | elseif (temp <= Metabolism.Temperature.Min) then 62 | DrainFood = Metabolism.Temperature.ColdDamage.Food 63 | DrainWater = Metabolism.Temperature.ColdDamage.Water 64 | end 65 | 66 | local running = IsPedRunning(User) 67 | local walking = IsPedWalking(User) 68 | 69 | if running then 70 | _Hunger = _Hunger - (Metabolism.Food.DrainRunning + DrainFood) 71 | _Thirst = _Thirst - (Metabolism.Water.DrainRunning + DrainWater) 72 | elseif walking then 73 | _Hunger = _Hunger - (Metabolism.Food.DrainWalking + DrainFood) 74 | _Thirst = _Thirst - (Metabolism.Water.DrainWalking + DrainWater) 75 | else 76 | _Hunger = _Hunger - (Metabolism.Food.DrainIdle + DrainFood) 77 | _Thirst = _Thirst - (Metabolism.Water.DrainIdle + DrainWater) 78 | end 79 | 80 | if (_Hunger <= Metabolism.Food.LoseWhen) then 81 | if (FoodWarning == 0) and not CoreIsZero then 82 | FoodWarning = (FoodWarning + 1) 83 | TriggerEvent("vorp:TipRight", _('Metabolism_SoHungry'), 5000) 84 | else 85 | FoodWarning = (FoodWarning + 1) 86 | if (FoodWarning == 10) then FoodWarning = 0 end 87 | end 88 | end 89 | 90 | if (_Thirst <= Metabolism.Food.LoseWhen) then 91 | if (ThirstWarning == 0) and not CoreIsZero then 92 | ThirstWarning = (ThirstWarning + 1) 93 | TriggerEvent("vorp:TipRight", _('Metabolism_SoThirsty'), 5000) 94 | else 95 | ThirstWarning = (ThirstWarning + 1) 96 | if (ThirstWarning == 10) then ThirstWarning = 0 end 97 | end 98 | end 99 | end 100 | end 101 | end 102 | end) 103 | 104 | Citizen.CreateThread(function() 105 | while true do 106 | if VORPCore ~= nil then 107 | if _Hunger < Metabolism.Food.LoseWhen then 108 | local User = PlayerPedId() 109 | local Core = GetAttributeCoreValue(User, 0) 110 | local health = math.floor((Core - Metabolism.Food.DamagePerSec)) 111 | Citizen.InvokeNative(0xC6258F41D86676E0, User, 0, health) 112 | end 113 | 114 | if _Thirst < Metabolism.Water.LoseWhen then 115 | local User = PlayerPedId() 116 | local Core = GetAttributeCoreValue(User, 0) 117 | local health = math.floor((Core - Metabolism.Water.DamagePerSec)) 118 | Citizen.InvokeNative(0xC6258F41D86676E0, User, 0, health) 119 | end 120 | end 121 | Wait(1000) 122 | end 123 | end) 124 | 125 | 126 | Citizen.CreateThread(function() 127 | while true do 128 | if VORPCore ~= nil then 129 | local User = PlayerPedId() 130 | local Core = GetAttributeCoreValue(User, 0) 131 | local eHealth = GetEntityHealth(User) 132 | 133 | -- STOP: If user is dead, let's wait until the player is alive again. 134 | if (Core == 0) and not DeadOrAlive then print("Waiting for respawn.....") end 135 | 136 | if (Core == 0) and DeadOrAlive then 137 | CoreIsZero = true 138 | if (eHealth >= 50) then 139 | Citizen.InvokeNative(0x697157CED63F18D4, User, 5, false, true, true) 140 | if stage.s1 == false then stage.s1 = true TriggerEvent("vorp:TipRight", _('Metabolism_YourDying1'), 5000) end 141 | elseif (eHealth < 50) and (eHealth >= 35) then 142 | Citizen.InvokeNative(0x697157CED63F18D4, User, 5, false, true, true) 143 | if stage.s2 == false then stage.s2 = true TriggerEvent("vorp:TipRight", _('Metabolism_YourDying2'), 5000) end 144 | elseif (eHealth < 35) and (eHealth >= 2) then 145 | Citizen.InvokeNative(0x697157CED63F18D4, User, 5, false, true, true) 146 | if stage.s3 == false then stage.s3 = true TriggerEvent("vorp:TipRight", _('Metabolism_YourDying3'), 5000) end 147 | elseif (eHealth < 2) then 148 | Citizen.InvokeNative(0x697157CED63F18D4, User, 50000, false, true, true) 149 | DeadOrAlive = false 150 | end 151 | end 152 | ---------------------------- WORK IN PROGRESS ---------------------------- 153 | -- ToDo: Detecting when user eats or drinks to reset the dialog for dying. 154 | if (Core ~= 0) and CoreIsZero then CoreIsZero = false end 155 | -------------------------------------------------------------------------- 156 | 157 | -- When the player comes back to live, reset the script. 158 | if (Core ~= 0) and not DeadOrAlive then 159 | local Reset = Metabolism.ResetOnDeath 160 | if Reset.Enabled then 161 | TriggerEvent('DevDokus:Metabolism:C:Hunger', Reset.Hunger) 162 | TriggerEvent('DevDokus:Metabolism:C:Thirst', Reset.Thirst) 163 | TriggerEvent('DevDokus:Metabolism:C:Health', 100.0) 164 | TriggerEvent('DevDokus:Metabolism:C:Stamina', 100.0) 165 | _Hunger = Reset.Hunger 166 | _Thirst = Reset.Thirst 167 | _Stamina = 100 168 | end 169 | CoreIsZero = false 170 | DeadOrAlive = true 171 | DyingCount = 0 172 | WarningCount = 0 173 | DeathWarning = false 174 | stage.s1 = false 175 | stage.s2 = false 176 | stage.s3 = false 177 | end 178 | end 179 | Wait(4000) 180 | end 181 | end) 182 | 183 | AddEventHandler('DevDokus:Metabolism:C:Hunger', function(value) 184 | _Hunger = _Hunger + tonumber(value) 185 | if (_Hunger <= 0) then _Hunger = 0 end 186 | if (_Hunger > 100) then _Hunger = 100 end 187 | end) 188 | 189 | AddEventHandler('DevDokus:Metabolism:C:Thirst', function(value) 190 | _Thirst = _Thirst + tonumber(value) 191 | if (_Thirst <= 0) then _Thirst = 0 end 192 | if (_Thirst > 100) then _Thirst = 100 end 193 | end) 194 | 195 | AddEventHandler('DevDokus:Metabolism:C:Stamina', function(value) 196 | local User = PlayerPedId() 197 | local Core = GetAttributeCoreValue(User, 1) 198 | local new = (Core + tonumber(value)) 199 | if (new > 100) then new = 100 end 200 | Citizen.InvokeNative(0xC6258F41D86676E0, User, 1, new) 201 | end) 202 | 203 | AddEventHandler('DevDokus:Metabolism:C:Health', function(value) 204 | local User = PlayerPedId() 205 | local Core = GetAttributeCoreValue(User, 0) 206 | local new = (Core + tonumber(value)) 207 | if (new > 100) then new = 100 end 208 | Citizen.InvokeNative(0xC6258F41D86676E0, User, 0, new) 209 | end) 210 | 211 | AddEventHandler('DevDokus:Metabolism:C:StaminaInnerGold', function(value) 212 | local User = PlayerPedId() 213 | local new = ((value * 100) / 100) 214 | Citizen.InvokeNative(0x4AF5A4C7B9157D14, User, 1, new, true) 215 | end) 216 | 217 | AddEventHandler('DevDokus:Metabolism:C:StaminaOuterGold', function(value) 218 | local User = PlayerPedId() 219 | local new = ((value * 100) / 100) 220 | Citizen.InvokeNative(0xF6A7C08DF2E28B28, User, 1, new, true) 221 | end) 222 | 223 | AddEventHandler('DevDokus:Metabolism:C:HealthInnerGold', function(value) 224 | local User = PlayerPedId() 225 | local new = ((value * 100) / 100) 226 | Citizen.InvokeNative(0x4AF5A4C7B9157D14, User, 0, new, true) 227 | end) 228 | 229 | AddEventHandler('DevDokus:Metabolism:C:HealthOuterGold', function(value) 230 | local User = PlayerPedId() 231 | local new = ((value * 100) / 100) 232 | Citizen.InvokeNative(0xF6A7C08DF2E28B28, User, 0, new, true) 233 | end) 234 | 235 | 236 | -------------------------------------------------------------------------------- 237 | end 238 | end) 239 | -------------------------------------------------------------------------------- /[Core]/[Vorp]/[Client]/MetabolismHud.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- 2 | ----------------------------------- DevDokus ----------------------------------- 3 | -------------------------------------------------------------------------------- 4 | function Wait(args) Citizen.Wait(args) end 5 | function Invoke(args, bool) Citizen.InvokeNative(args, bool) end 6 | -------------------------------------------------------------------------------- 7 | -- Event Register 8 | -------------------------------------------------------------------------------- 9 | -- Core 10 | -------------------------------------------------------------------------------- 11 | Citizen.CreateThread(function() 12 | Wait(500) 13 | if Plugins.Metabolism and not _StartError_ then 14 | Citizen.CreateThread(function() 15 | while true do Wait(1) 16 | Invoke(0x50C803A4CD5932C5, true) 17 | local User = PlayerPedId() 18 | local coords = GetEntityCoords(User) 19 | local temp = GetTemperatureAtCoords(coords) 20 | local format = Metabolism.Temperature.Format 21 | if format == 'c' or format == 'C' then 22 | SendNUIMessage({ 23 | action = 'SetHud', 24 | show = not IsRadarHidden(), 25 | hunger = _Hunger, 26 | thirst = _Thirst, 27 | --stress = mystress, 28 | --cash = money, 29 | temp = math.floor(temp).."°C", 30 | _plugin = Plugins.Metabolism 31 | }) Wait(1000) 32 | elseif format == 'f' or format == 'F' then 33 | SendNUIMessage({ 34 | action = 'SetHud', 35 | show = not IsRadarHidden(), 36 | hunger = _Hunger, 37 | thirst = _Thirst, 38 | --stress = mystress, 39 | --cash = money, 40 | temp = math.floor(temp * 1.8 + 32.0).."°F", 41 | _plugin = Plugins.Metabolism 42 | }) Wait(1000) 43 | else 44 | SendNUIMessage({ 45 | action = 'SetHud', 46 | show = not IsRadarHidden(), 47 | hunger = _Hunger, 48 | thirst = _Thirst, 49 | --stress = mystress, 50 | --cash = money, 51 | temp = _('Metabolism_IFCC'), 52 | _plugin = Plugins.Metabolism 53 | }) Wait(1000) 54 | end 55 | end 56 | end) 57 | end 58 | end) 59 | -------------------------------------------------------------------------------- /[Core]/[Vorp]/[Client]/PayCheck.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- 2 | ----------------------------------- DevDokus ----------------------------------- 3 | -------------------------------------------------------------------------------- 4 | Citizen.CreateThread(function() Wait(1000) 5 | if (((Plugins.PayCheck) and not (_StartError_) and (Framework.Vorp) and not (Framework.RedEmRP))) then 6 | Citizen.CreateThread(function() 7 | while true do 8 | Wait(PayCheck.CoolDown * 60000) 9 | TriggerServerEvent('DevDokus:PayCheck:S:PayUser') 10 | end 11 | end) 12 | end 13 | end) 14 | -------------------------------------------------------------------------------- 15 | -------------------------------------------------------------------------------- /[Core]/[Vorp]/[Client]/PickableFruits.lua: -------------------------------------------------------------------------------- 1 | Citizen.CreateThread(function() Wait(1000) 2 | if (((Plugins.PickableFruits) and not (_StartError_) and (Framework.Vorp) and not (Framework.RedEmRP))) then 3 | -------------------------------------------------------------------------------- 4 | ----------------------------------- DevDokus ----------------------------------- 5 | -------------------------------------------------------------------------------- 6 | function Wait(args) Citizen.Wait(args) end 7 | -------------------------------------------------------------------------------- 8 | -------------------------------------------------------------------------------- 9 | local Location = nil 10 | local Harvesting = false 11 | local InRange = false 12 | -------------------------------------------------------------------------------- 13 | -- Get Distance from entities 14 | Citizen.CreateThread(function() 15 | while true do Wait(1000) 16 | local ped = PlayerPedId() 17 | local coords = GetEntityCoords(ped) 18 | local x, y, z = table.unpack(coords) 19 | for k, v in pairs(PickableFruits.Bushes) do 20 | local hash = GetHashKey(tostring(v.ID)) 21 | local Near = DoesObjectOfTypeExistAtCoords(x, y, z, 0.85, hash, true) 22 | 23 | if Location == nil and Near then Location = v.ID end 24 | if Location == v.ID then 25 | if not Near and InRange then InRange = false Location = nil end 26 | if Near and not InRange then 27 | InRange = true 28 | TriggerEvent('DevDokus:PickableFruits:C:AwaitHarvest', ped, x, y, z, v) 29 | end 30 | end 31 | end 32 | end 33 | end) 34 | 35 | RegisterNetEvent('DevDokus:PickableFruits:C:AwaitHarvest') 36 | AddEventHandler('DevDokus:PickableFruits:C:AwaitHarvest', function(ped, x, y, z, v) 37 | while InRange do Wait(1) 38 | local Space = IsControlJustPressed(0, Keys['SPACEBAR']) 39 | if not Harvesting then DrawInfo(_('PickableFruits_PressSpace'), 0.5, 0.95, 0.75) end 40 | if Space then 41 | Harvesting = true 42 | local hash = 'mech_pickup@plant@berries' 43 | RequestAnimDict(hash) 44 | while not HasAnimDictLoaded(hash) do Wait(100) end 45 | TaskPlayAnim(ped, hash, "enter_lf", 8.0, - 0.5, - 1, 0, 0, true, 0, false, 0, false) Wait(800) 46 | TaskPlayAnim(ped, hash, "base", 8.0, - 0.5, - 1, 0, 0, true, 0, false, 0, false) Wait(4300) 47 | ClearPedTasksImmediately(ped) 48 | Harvesting = false 49 | TriggerServerEvent('DevDokus:PickableFruits:S:GiveItems', v.Label) 50 | end 51 | end 52 | end) 53 | end 54 | end) -------------------------------------------------------------------------------- /[Core]/[Vorp]/[Client]/PlayPiano.lua: -------------------------------------------------------------------------------- 1 | Citizen.CreateThread(function() Wait(1000) 2 | if (((Plugins.PlayPiano) and not (_StartError_) and (Framework.Vorp) and not (Framework.RedEmRP))) then 3 | 4 | -------------------------------------------------------------------------------- 5 | ----------------------------------- DevDokus ----------------------------------- 6 | -------------------------------------------------------------------------------- 7 | function Wait(args) Citizen.Wait(args) end 8 | -------------------------------------------------------------------------------- 9 | -- Varables 10 | local InRange = false 11 | local IsPlaying = false 12 | local Location = nil 13 | RegisterNetEvent('DevDokus:PlayPiano:C:ActPiano') 14 | -------------------------------------------------------------------------------- 15 | -- Core 16 | -------------------------------------------------------------------------------- 17 | -- Check player disctance from coords. 18 | Citizen.CreateThread(function() 19 | while true do Wait(2000) 20 | local ped = PlayerPedId() 21 | local coords = GetEntityCoords(ped) 22 | for k, v in pairs(PlayPiano.Pianos) do 23 | local x, y, z = v.x, v.y, v.z 24 | local dist = Vdist(coords, x, y, z) 25 | 26 | -- Set the current closest piano to the player 27 | if Location == nil and (dist <= 5) then Location = v.ID end 28 | if Location == v.ID then 29 | 30 | if (dist > 2) and InRange then 31 | InRange = false 32 | Location = nil 33 | end 34 | 35 | if (dist <= 2) and not InRange then 36 | Location = v.ID 37 | InRange = true 38 | TriggerEvent('DevDokus:PlayPiano:C:ActPiano', ped, x, y, z, v.h) 39 | end 40 | 41 | end 42 | end 43 | end 44 | end) 45 | 46 | 47 | 48 | AddEventHandler('DevDokus:PlayPiano:C:ActPiano', function(ped, x, y, z, h) 49 | while InRange do Wait(1) 50 | local Space = IsControlJustPressed(0, Keys['SPACEBAR']) 51 | local F = IsControlJustPressed(0, Keys['F']) 52 | 53 | if not IsPlaying then DrawInfo(_('PlayPiano_Play'), 0.5, 0.95, 0.75) end 54 | if IsPlaying then DrawInfo(_('PlayPiano_Stop'), 0.5, 0.95, 0.75) end 55 | 56 | if Space and not IsPlaying then 57 | IsPlaying = true 58 | local male = IsPedMale(ped) 59 | local hash = nil 60 | 61 | if male then hash = GetHashKey('PROP_HUMAN_PIANO') 62 | else hash = GetHashKey('PROP_HUMAN_ABIGAIL_PIANO') end 63 | 64 | Wait(500) 65 | TaskStartScenarioAtPosition(ped, hash, x, y, z, h, 0, true, true, 0, true) 66 | end 67 | 68 | if F and IsPlaying then 69 | Location = nil 70 | IsPlaying = false 71 | ClearPedTasks(PlayerPedId()) 72 | end 73 | end 74 | end) 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | -------------------------------------------------------------------------------- 96 | end 97 | end) -------------------------------------------------------------------------------- /[Core]/[Vorp]/[Client]/Rivers.lua: -------------------------------------------------------------------------------- 1 | Citizen.CreateThread(function() Wait(1000) 2 | if (((Plugins.Rivers) and not (_StartError_) and (Framework.Vorp) and not (Framework.RedEmRP))) then 3 | -------------------------------------------------------------------------------- 4 | ----------------------------------- DevDokus ----------------------------------- 5 | -------------------------------------------------------------------------------- 6 | function Wait(args) Citizen.Wait(args) end 7 | -------------------------------------------------------------------------------- 8 | local RiverHashes = { 9 | -247856387, - 1504425495, - 1369817450, - 1781130443, - 1356490953, 10 | -1300497193, - 1276586360, - 1410384421, 370072007, 650214731, 11 | 592454541, - 804804953, 1245451421, 218679770, - 1817904483, 12 | -811730579, - 1229593481, - 105598602, 1755369577, - 557290573, 13 | -2040708515, 370072007, 231313522, 2005774838, - 1287619521, 14 | -1308233316, - 196675805 15 | } 16 | 17 | -------------------------------------------------------------------------------- 18 | -------------------------------------------------------------------------------- 19 | local WashGroup = GetRandomIntInRange(0, 0xffffff) 20 | local Washing, Drinking 21 | Citizen.CreateThread(function() 22 | ActButtons() 23 | while true do Wait(1) 24 | local ped = PlayerPedId() 25 | local coords = GetEntityCoords(ped) 26 | local x, y, z = coords.x, coords.y, coords.z 27 | local water = Citizen.InvokeNative(0x5BA7A68A346A5A91, x, y, z) 28 | local OnFoot = IsPedOnFoot(ped) 29 | local InWater = IsEntityInWater(ped) 30 | 31 | for k, v in pairs(RiverHashes) do 32 | if water == v then 33 | if OnFoot then 34 | if InWater then 35 | local wash = CreateVarString(10, 'LITERAL_STRING', "Wash or Drink") 36 | local drink = CreateVarString(10, 'LITERAL_STRING', "Wash or Drink") 37 | PromptSetActiveGroupThisFrame(WashGroup, wash) 38 | PromptSetActiveGroupThisFrame(WashGroup, drink) 39 | 40 | if PromptHasHoldModeCompleted(Washing) then 41 | GetWashed("amb_misc@world_human_wash_face_bucket@ground@male_a@idle_d", "idle_l") 42 | TriggerEvent('DevDokus:Metabolism:C:Stamina', Rivers.Washing.Stamina) 43 | TriggerEvent('DevDokus:Metabolism:C:Thirst', Rivers.Washing.Thirst) 44 | TriggerEvent('DevDokus:Metabolism:C:Health', Rivers.Washing.Health) 45 | PlaySoundFrontend("Core_Fill_Up", "Consumption_Sounds", true, 0) 46 | end 47 | 48 | if PromptHasHoldModeCompleted(Drinking) then 49 | ClearPedTasksImmediately(ped) 50 | local hash = GetHashKey('WORLD_HUMAN_BUCKET_DRINK_GROUND') 51 | TaskStartScenarioInPlace(ped, hash, -1, true, false, false, false) 52 | Wait(17000) ClearPedTasks(ped) 53 | TriggerEvent('DevDokus:Metabolism:C:Stamina', Rivers.Drinking.Stamina) 54 | TriggerEvent('DevDokus:Metabolism:C:Thirst', Rivers.Drinking.Thirst) 55 | TriggerEvent('DevDokus:Metabolism:C:Health', Rivers.Drinking.Health) 56 | PlaySoundFrontend("Core_Fill_Up", "Consumption_Sounds", true, 0) 57 | end 58 | end 59 | end 60 | end 61 | end 62 | end 63 | end) 64 | 65 | function ActButtons() 66 | -- Wash Botton 67 | Citizen.CreateThread(function() 68 | local str = "Wash" 69 | Washing = Citizen.InvokeNative(0x04F97DE45A519419) 70 | PromptSetControlAction(Washing, 0x760A9C6F) 71 | str = CreateVarString(10, 'LITERAL_STRING', str) 72 | PromptSetText(Washing, str) 73 | PromptSetEnabled(Washing, true) 74 | PromptSetVisible(Washing, true) 75 | PromptSetHoldMode(Washing, true) 76 | PromptSetGroup(Washing, WashGroup) 77 | PromptRegisterEnd(Washing) 78 | 79 | -- Drink Botton 80 | local str = "Drink" 81 | Drinking = Citizen.InvokeNative(0x04F97DE45A519419) 82 | PromptSetControlAction(Drinking, 0xC7B5340A) 83 | str = CreateVarString(10, 'LITERAL_STRING', str) 84 | PromptSetText(Drinking, str) 85 | PromptSetEnabled(Drinking, true) 86 | PromptSetVisible(Drinking, true) 87 | PromptSetHoldMode(Drinking, true) 88 | PromptSetGroup(Drinking, WashGroup) 89 | PromptRegisterEnd(Drinking) 90 | end) 91 | end 92 | 93 | function GetWashed(dic, anim) 94 | Animation(dic) 95 | TaskPlayAnim(PlayerPedId(), dic, anim, 1.0, 8.0, 5000, 0, 0.0, false, false, false) 96 | Citizen.Wait(5000) 97 | ClearPedTasks(PlayerPedId()) 98 | Citizen.InvokeNative(0x6585D955A68452A5, PlayerPedId()) 99 | Citizen.InvokeNative(0x9C720776DAA43E7E, PlayerPedId()) 100 | Citizen.InvokeNative(0x8FE22675A5A45817, PlayerPedId()) 101 | end 102 | 103 | function Animation(dic) 104 | RequestAnimDict(dic) 105 | while not (HasAnimDictLoaded(dic)) do 106 | Citizen.Wait(0) 107 | end 108 | end 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | -------------------------------------------------------------------------------- 138 | end 139 | end) 140 | -------------------------------------------------------------------------------- /[Core]/[Vorp]/[Client]/ShowCoords.lua: -------------------------------------------------------------------------------- 1 | Citizen.CreateThread(function() Wait(1000) 2 | if (((Plugins.ShowCoords) and not (_StartError_) and (Framework.Vorp) and not (Framework.RedEmRP))) then 3 | -------------------------------------------------------------------------------- 4 | ----------------------------------- DevDokus ----------------------------------- 5 | -------------------------------------------------------------------------------- 6 | function Wait(args) Citizen.Wait(args) end 7 | -------------------------------------------------------------------------------- 8 | -------------------------------------------------------------------------------- 9 | local SC = false 10 | -------------------------------------------------------------------------------- 11 | 12 | RegisterCommand('coords', function() 13 | -- if ShowCoords.AdminOnly then 14 | -- TriggerServerEvent('DevDokus:ShowCoords:S:CheckAdmin') 15 | -- else 16 | TriggerEvent('DevDokus:ShowCoords:C:Teleport') 17 | -- end 18 | end) 19 | 20 | RegisterNetEvent('DevDokus:ShowCoords:C:Teleport') 21 | AddEventHandler('DevDokus:ShowCoords:C:Teleport', function(IsAdmin) 22 | SC = not SC 23 | while SC do Wait(1) 24 | local ped = GetPlayerPed(source) 25 | local coords = GetEntityCoords(ped) 26 | local head = GetEntityHeading(ped) 27 | local X = ('~e~X~q~ '..(math.floor(coords.x * 10) / 10)) 28 | local Y = ('~e~Y~q~ '..(math.floor(coords.y * 10) / 10)) 29 | local Z = ('~e~Z~q~ '..(math.floor(coords.z * 10) / 10)) 30 | local H = ('~e~H~q~ '..(math.floor(head * 10) / 10)) 31 | local s = ShowCoords 32 | DrawCoords(X, s.PosX.Horizon, s.PosX.Vertical, s.FontSize) 33 | DrawCoords(Y, s.PosY.Horizon, s.PosY.Vertical, s.FontSize) 34 | DrawCoords(Z, s.PosZ.Horizon, s.PosZ.Vertical, s.FontSize) 35 | DrawCoords(H, s.PosH.Horizon, s.PosH.Vertical, s.FontSize) 36 | end 37 | end) 38 | -------------------------------------------------------------------------------- 39 | end 40 | end) 41 | -------------------------------------------------------------------------------- /[Core]/[Vorp]/[Client]/Stores.lua: -------------------------------------------------------------------------------- 1 | Citizen.CreateThread(function() Wait(1000) 2 | if (((Plugins.Stores) and not (_StartError_) and (Framework.Vorp) and not (Framework.RedEmRP))) then 3 | -------------------------------------------------------------------------------- 4 | ----------------------------------- DevDokus ----------------------------------- 5 | -------------------------------------------------------------------------------- 6 | function Wait(args) Citizen.Wait(args) end 7 | -------------------------------------------------------------------------------- 8 | -- Varables 9 | local InRange = false 10 | local ActiveMenu = nil 11 | local MenuOpen = false 12 | local Location = nil 13 | -------------------------------------------------------------------------------- 14 | -- Core 15 | -------------------------------------------------------------------------------- 16 | -- Draw Map Marker 17 | Citizen.CreateThread(function() 18 | for k,v in pairs(Stores.Stores) do 19 | local blip = N_0x554d9d53f696d002(1664425300, v.Coords.x, v.Coords.y, v.Coords.z) 20 | SetBlipSprite(blip, 1475879922, 1) 21 | SetBlipScale(blip, 0.2) 22 | Citizen.InvokeNative(0x9CB1A1623062F402, blip, v.Store) 23 | end 24 | end) 25 | 26 | -- Check players distance from the stores. 27 | Citizen.CreateThread(function() 28 | while true do Wait(1) 29 | local ped = PlayerPedId() 30 | local coords = GetEntityCoords(ped) 31 | local IsDead = IsPedDeadOrDying(ped) 32 | 33 | for k,v in pairs(Stores.Stores) do 34 | local ShowCircle = Stores.ShowCircles 35 | local Red = Stores.CircleColor.Red 36 | local Green = Stores.CircleColor.Green 37 | local Blue = Stores.CircleColor.Blue 38 | local Opacity = Stores.CircleColor.Opacity 39 | local x,y,z = v.Coords.x, v.Coords.y, v.Coords.z 40 | local dist = Vdist(coords, v.Coords.x, v.Coords.y, v.Coords.z); 41 | 42 | if ((Location == nil) and (dist <= 15)) then Location = v.Store end 43 | if ((Location == nil) and (dist > 15)) then Wait(1000) end 44 | 45 | if MenuOpen and IsDead then 46 | Location = nil 47 | MenuOpen = false 48 | ActiveMenu = 'Home' 49 | WarMenu.CloseMenu() 50 | end 51 | 52 | if (Location == v.Store) then 53 | if ((Location ~= nil) and (dist > 15)) then Location = nil end 54 | if not MenuOpen and ShowCircle then DrawCircle(x,y,z, Red, Green, Blue, Opacity) end 55 | if (dist <= 1.5) then 56 | if not MenuOpen then DrawInfo(_('Store_OpenShop'), 0.5, 0.95, 0.75) end 57 | if IsControlJustPressed(0, Keys["SPACEBAR"]) then 58 | MenuOpen = true 59 | ActiveMenu = 'Home' 60 | WarMenu.OpenMenu('Home') 61 | end 62 | 63 | if IsControlJustPressed(0, Keys['BACKSPACE']) then 64 | if ActiveMenu == 'Home' then WarMenu.CloseMenu() ActiveMenu = nil MenuOpen = false 65 | elseif ActiveMenu == 'BuyMenu' then WarMenu.OpenMenu('Home') ActiveMenu = 'Home' 66 | elseif ActiveMenu == 'SellMenu' then WarMenu.OpenMenu('Home') ActiveMenu = 'Home' 67 | elseif ActiveMenu == 'bFoodCat' then WarMenu.OpenMenu('BuyMenu') ActiveMenu = 'BuyMenu' 68 | elseif ActiveMenu == 'bMiscCat' then WarMenu.OpenMenu('BuyMenu') ActiveMenu = 'BuyMenu' 69 | elseif ActiveMenu == 'sFoodCat' then WarMenu.OpenMenu('SellMenu') ActiveMenu = 'SellMenu' 70 | elseif ActiveMenu == 'sMiscCat' then WarMenu.OpenMenu('SellMenu') ActiveMenu = 'SellMenu' 71 | elseif ActiveMenu == 'bMedsCat' then WarMenu.OpenMenu('BuyMenu') ActiveMenu = 'BuyMenu' 72 | elseif ActiveMenu == 'sMedsCat' then WarMenu.OpenMenu('SellMenu') ActiveMenu = 'SellMenu' 73 | end 74 | end 75 | else 76 | MenuOpen = false 77 | ActiveMenu = 'Home' 78 | WarMenu.CloseMenu() 79 | end 80 | end 81 | end 82 | end 83 | end) 84 | 85 | -- Spawn All Store NPCs 86 | Citizen.CreateThread(function() 87 | if Stores.ShowNPCs then 88 | for k,v in pairs(Stores.NPCs) do 89 | local x,y,z,h = v.Coords.x, v.Coords.y, v.Coords.z, v.Heading 90 | local model = v.Model 91 | SpawnNPC(model, x,y,z,h) 92 | end 93 | end 94 | end) 95 | 96 | -- Warmenu 97 | Citizen.CreateThread(function() 98 | CreateMenus() 99 | while true do Wait(1) 100 | local War = WarMenu.IsMenuOpened 101 | if War('Home') then Home() 102 | elseif War('BuyMenu') then BuyMenu() 103 | elseif War('SellMenu') then SellMenu() 104 | elseif War('bFoodCat') then bFoodCat() 105 | elseif War('bMiscCat') then bMiscCat() 106 | elseif War('sFoodCat') then sFoodCat() 107 | elseif War('sMiscCat') then sMiscCat() 108 | elseif War('bMedsCat') then bMedsCat() 109 | elseif War('sMedsCat') then sMedsCat() 110 | end 111 | end 112 | end) 113 | 114 | 115 | function CreateMenus() 116 | WarMenu.CreateMenu('Home', _('Store_MenuTitle')) 117 | WarMenu.SetSubTitle('Home', 'Made By DevDokus') 118 | 119 | -- Buy Menu 120 | WarMenu.CreateMenu('BuyMenu', _('Store_MenuTitle')) 121 | WarMenu.SetSubTitle('BuyMenu', _('Store_Category')) 122 | WarMenu.CreateMenu('bFoodCat', _('Store_MenuTitle')) 123 | WarMenu.SetSubTitle('bFoodCat', _('Store_FoodMenu')) 124 | WarMenu.CreateMenu('bMiscCat', _('Store_MenuTitle')) 125 | WarMenu.SetSubTitle('bMiscCat', _('Store_MiscMenu')) 126 | WarMenu.CreateMenu('bMedsCat', _('Store_MenuTitle')) 127 | WarMenu.SetSubTitle('bMedsCat', _('Store_MedsMenu')) 128 | 129 | --- Sell Menu 130 | WarMenu.CreateMenu('SellMenu', _('Store_MenuTitle')) 131 | WarMenu.SetSubTitle('SellMenu', _('Store_Category')) 132 | WarMenu.CreateMenu('sFoodCat', _('Store_MenuTitle')) 133 | WarMenu.SetSubTitle('sFoodCat', _('Store_FoodMenu')) 134 | WarMenu.CreateMenu('sMiscCat', _('Store_MenuTitle')) 135 | WarMenu.SetSubTitle('sMiscCat', _('Store_MiscMenu')) 136 | WarMenu.CreateMenu('sMedsCat', _('Store_MenuTitle')) 137 | WarMenu.SetSubTitle('sMedsCat', _('Store_MedsMenu')) 138 | end 139 | 140 | -------------------------------------------------------------------------------- 141 | -- Page 1 - Home Page 142 | -------------------------------------------------------------------------------- 143 | function Home () 144 | ActiveMenu = 'Home' 145 | local BBuy = WarMenu.Button(_('Store_Buy'), '', 'Github.com/DevDokus') 146 | local BSell = WarMenu.Button(_('Store_Sell'), '', 'WORK IN PROGRESS') 147 | local Exit = WarMenu.Button(_('Store_Exit'), '', '') 148 | if BBuy then WarMenu.OpenMenu('BuyMenu') end 149 | if BSell then WarMenu.OpenMenu('SellMenu') end 150 | if Exit then 151 | MenuOpen = false 152 | ActiveMenu = 'Home' 153 | Location = nil 154 | WarMenu.CloseMenu() 155 | end 156 | WarMenu.Display() 157 | end 158 | 159 | -------------------------------------------------------------------------------- 160 | -- Page 2 - Buy Category Section 161 | -------------------------------------------------------------------------------- 162 | function BuyMenu () 163 | ActiveMenu = 'BuyMenu' 164 | local _Foods = WarMenu.Button(_('Store_Food'), '', _('Store_FoodMenu')) 165 | local _Meds = WarMenu.Button(_('Store_Meds'), '', _('Store_MedsMenu')) 166 | local _Misc = WarMenu.Button(_('Store_Misc'), '', _('Store_MiscMenu')) 167 | local Exit = WarMenu.Button(_('Store_Exit'), '', '') 168 | if _Foods then WarMenu.OpenMenu('bFoodCat') end 169 | if _Meds then WarMenu.OpenMenu('bMedsCat') end 170 | if _Misc then WarMenu.OpenMenu('bMiscCat') end 171 | if Exit then 172 | MenuOpen = false 173 | ActiveMenu = 'Home' 174 | Location = nil 175 | WarMenu.CloseMenu() 176 | end 177 | WarMenu.Display() 178 | end 179 | 180 | function SellMenu () 181 | ActiveMenu = 'SellMenu' 182 | local _Foods = WarMenu.Button(_('Store_Food'), '', _('Store_FoodMenu')) 183 | local _Meds = WarMenu.Button(_('Store_Meds'), '', _('Store_MedsMenu')) 184 | local _Misc = WarMenu.Button(_('Store_Misc'), '', _('Store_MiscMenu')) 185 | local Exit = WarMenu.Button(_('Store_Exit'), '', '') 186 | if _Foods then WarMenu.OpenMenu('sFoodCat') end 187 | if _Meds then WarMenu.OpenMenu('sMedsCat') end 188 | if _Misc then WarMenu.OpenMenu('sMiscCat') end 189 | if Exit then 190 | MenuOpen = false 191 | ActiveMenu = 'Home' 192 | Location = nil 193 | WarMenu.CloseMenu() 194 | end 195 | WarMenu.Display() 196 | end 197 | 198 | function bFoodCat() 199 | ActiveMenu = 'bFoodCat' 200 | for k,v in pairs(Stores.Buy) do 201 | if v.Type == 'Food' then 202 | local item = v.Name 203 | local price = tostring(v.Price) 204 | local desc = v.Text 205 | local button = WarMenu.Button(item, '$'..price, desc) 206 | if button then TriggerServerEvent('DevDokus:S:BuyItem', v) end 207 | end 208 | end 209 | WarMenu.Display() 210 | end 211 | 212 | function bMedsCat() 213 | ActiveMenu = 'bMedsCat' 214 | for k,v in pairs(Stores.Buy) do 215 | if v.Type == 'Meds' then 216 | local item = v.Name 217 | local price = tostring(v.Price) 218 | local desc = v.Text 219 | local button = WarMenu.Button(item, '$'..price, desc) 220 | if button then TriggerServerEvent('DevDokus:S:BuyItem', v) end 221 | end 222 | end 223 | WarMenu.Display() 224 | end 225 | 226 | function bMiscCat() 227 | ActiveMenu = 'bMiscCat' 228 | for k,v in pairs(Stores.Buy) do 229 | if v.Type == 'Misc' then 230 | local item = v.Name 231 | local price = tostring(v.Price) 232 | local desc = v.Text 233 | local button = WarMenu.Button(item, '$'..price, desc) 234 | if button then TriggerServerEvent('DevDokus:S:BuyItem', v) end 235 | end 236 | end 237 | WarMenu.Display() 238 | end 239 | 240 | function sFoodCat() 241 | ActiveMenu = 'sFoodCat' 242 | for k,v in pairs(Stores.Sell) do 243 | if v.Type == 'Food' then 244 | local item = v.Name 245 | local price = tostring(v.Price) 246 | local desc = v.Text 247 | local button = WarMenu.Button(item, '$'..price, desc) 248 | if button then TriggerServerEvent('DevDokus:S:SellItem', v) end 249 | end 250 | end 251 | WarMenu.Display() 252 | end 253 | 254 | function sMedsCat() 255 | ActiveMenu = 'sMedsCat' 256 | for k,v in pairs(Stores.Sell) do 257 | if v.Type == 'Meds' then 258 | local item = v.Name 259 | local price = tostring(v.Price) 260 | local desc = v.Text 261 | local button = WarMenu.Button(item, '$'..price, desc) 262 | if button then TriggerServerEvent('DevDokus:S:SellItem', v) end 263 | end 264 | end 265 | WarMenu.Display() 266 | end 267 | 268 | function sMiscCat() 269 | ActiveMenu = 'sMiscCat' 270 | for k,v in pairs(Stores.Sell) do 271 | if v.Type == 'Misc' then 272 | local item = v.Name 273 | local price = tostring(v.Price) 274 | local desc = v.Text 275 | local button = WarMenu.Button(item, '$'..price, desc) 276 | if button then TriggerServerEvent('DevDokus:S:SellItem', v) end 277 | end 278 | end 279 | WarMenu.Display() 280 | end 281 | end 282 | end) 283 | -------------------------------------------------------------------------------- /[Core]/[Vorp]/[Client]/TS-Trains.net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[Vorp]/[Client]/TS-Trains.net.dll -------------------------------------------------------------------------------- /[Core]/[Vorp]/[Client]/Teleport.lua: -------------------------------------------------------------------------------- 1 | Citizen.CreateThread(function() Wait(1000) 2 | if (((Plugins.Teleport) and not (_StartError_) and (Framework.Vorp) and not (Framework.RedEmRP))) then 3 | -------------------------------------------------------------------------------- 4 | ----------------------------------- DevDokus ----------------------------------- 5 | -------------------------------------------------------------------------------- 6 | function Wait(args) Citizen.Wait(args) end 7 | function Await(args) Citizen.Await(args) end 8 | local VORPCore = {} 9 | -------------------------------------------------------------------------------- 10 | Citizen.CreateThread(function() 11 | while not VORPCore do 12 | TriggerEvent("getCore", function(core) 13 | VORPCore = core 14 | end) 15 | Await(200) 16 | end 17 | end) 18 | -------------------------------------------------------------------------------- 19 | -- Register the TPM command 20 | RegisterCommand('tpm', function() 21 | if Teleport.AdminOnly then 22 | TriggerServerEvent('DevDokus:Teleport:S:CheckAdmin') 23 | else 24 | TriggerEvent('DevDokus:Teleport:C:Teleport') 25 | end 26 | end) 27 | -------------------------------------------------------------------------------- 28 | RegisterNetEvent('DevDokus:Teleport:C:Teleport') 29 | AddEventHandler('DevDokus:Teleport:C:Teleport', function() 30 | local ply = PlayerPedId() 31 | if DoesEntityExist(ply) then 32 | local WP = GetWaypointCoords() 33 | local height = 1 34 | for height = 1, 1000 do 35 | SetEntityCoords(ply, WP.x, WP.y, height + 0.0) 36 | local foundground, groundZ, normal = GetGroundZAndNormalFor_3dCoord(WP.x, WP.y, height + 0.0) 37 | if foundground then 38 | SetEntityCoords(ply, WP.x, WP.y, height + 0.0) 39 | break 40 | end 41 | Wait(25) 42 | end 43 | end 44 | end) 45 | -------------------------------------------------------------------------------- 46 | end 47 | end) 48 | -------------------------------------------------------------------------------- /[Core]/[Vorp]/[Client]/UsableItems.lua: -------------------------------------------------------------------------------- 1 | 2 | Citizen.CreateThread(function() Wait(1000) 3 | if (((Plugins.UsableItems) and not (_StartError_) and (Framework.Vorp) and not (Framework.RedEmRP))) then 4 | -------------------------------------------------------------------------------- 5 | ----------------------------------- DevDokus ----------------------------------- 6 | -------------------------------------------------------------------------------- 7 | function Wait(args) Citizen.Wait(args) end 8 | -------------------------------------------------------------------------------- 9 | RegisterNetEvent('DevDokus:C:Consume') 10 | -------------------------------------------------------------------------------- 11 | -- Varables 12 | local ObjTent = 0 13 | local ObjFire = 0 14 | -------------------------------------------------------------------------------- 15 | -- Core 16 | -------------------------------------------------------------------------------- 17 | AddEventHandler('DevDokus:C:Consume', function(Item, Type, Hunger, Thirst, Stamina, Health, InnerS, OuterS, InnerH, OuterH) 18 | local ped = PlayerPedId() 19 | if Type == 'Eat' then 20 | TaskEat(ped) Wait(1000) 21 | for k,v in pairs(UsableItems.Items) do 22 | if Item == v.ID then 23 | TriggerEvent('DevDokus:Metabolism:C:Hunger', Hunger) 24 | TriggerEvent('DevDokus:Metabolism:C:Thirst', Thirst) 25 | TriggerEvent('DevDokus:Metabolism:C:Stamina', Stamina) 26 | TriggerEvent('DevDokus:Metabolism:C:Health', Health) 27 | TriggerEvent('DevDokus:Metabolism:C:StaminaInnerGold', InnerS) 28 | TriggerEvent('DevDokus:Metabolism:C:StaminaOuterGold', OuterS) 29 | TriggerEvent('DevDokus:Metabolism:C:HealthInnerGold', InnerH) 30 | TriggerEvent('DevDokus:Metabolism:C:HealthOuterGold', OuterH) 31 | end 32 | end 33 | elseif Type == 'Drink' then 34 | TaskDrink(ped) Wait(1000) 35 | for k,v in pairs(UsableItems.Items) do 36 | if Item == v.ID then 37 | TriggerEvent('DevDokus:Metabolism:C:Hunger', Hunger) 38 | TriggerEvent('DevDokus:Metabolism:C:Thirst', Thirst) 39 | TriggerEvent('DevDokus:Metabolism:C:Stamina', Stamina) 40 | TriggerEvent('DevDokus:Metabolism:C:Health', Health) 41 | TriggerEvent('DevDokus:Metabolism:C:StaminaInnerGold', InnerS) 42 | TriggerEvent('DevDokus:Metabolism:C:StaminaOuterGold', OuterS) 43 | TriggerEvent('DevDokus:Metabolism:C:HealthInnerGold', InnerH) 44 | TriggerEvent('DevDokus:Metabolism:C:HealthOuterGold', OuterH) 45 | end 46 | end 47 | elseif Type == 'Placing' then 48 | if Item == 'tent' then 49 | TaskTent(ped) Wait(1000) 50 | elseif Item == 'campfire' then 51 | TaskCampfire(ped) Wait(1000) 52 | end 53 | end 54 | end) 55 | 56 | 57 | -------------------------------------------------------------------------------- 58 | -- Delete Objects 59 | -------------------------------------------------------------------------------- 60 | RegisterCommand('deltent', function() 61 | if ObjTent == 0 then 62 | TriggerEvent("vorp:TipRight", _('UsableItems_NoTent'), 5000) 63 | else 64 | TriggerServerEvent('DevDokus:S:Refund', 'tent') 65 | SetEntityAsMissionEntity(ObjTent) 66 | DeleteObject(ObjTent) 67 | ObjTent = 0 68 | end 69 | end) 70 | 71 | RegisterCommand('delfire', function() 72 | if ObjFire == 0 then 73 | TriggerEvent("vorp:TipRight", _('UsableItems_NoCampFire'), 5000) 74 | else 75 | TriggerServerEvent('DevDokus:S:Refund', 'campfire') 76 | SetEntityAsMissionEntity(ObjFire) 77 | DeleteObject(ObjFire) 78 | ObjFire = 0 79 | end 80 | end) 81 | 82 | -------------------------------------------------------------------------------- 83 | -- Functions 84 | -------------------------------------------------------------------------------- 85 | function TaskEat(ped) 86 | TaskItemInteraction(ped, nil, GetHashKey("EAT_MULTI_BITE_FOOD_SPHERE_D8-2_SANDWICH_QUICK_LEFT_HAND"), true, 0, 0) 87 | end 88 | 89 | function TaskDrink(ped) 90 | local prop = CreateObject(GetHashKey('p_bottleJD01x'), GetEntityCoords(ped), false, false, 1, 1, 0) 91 | TaskItemInteraction_2(ped, 1737033966, prop, GetHashKey("p_bottleJD01x_ph_r_hand"), GetHashKey("DRINK_BOTTLE@Bottle_Cylinder_D1-3_H30-5_Neck_A13_B2-5_UNCORK"), true, 0, 0) 92 | end 93 | 94 | function SetMission(Type) 95 | if Type == 'Fire' then 96 | SetEntityAsMissionEntity() 97 | DeleteObject() 98 | ObjFire = 0 99 | elseif Type == 'Tent' then 100 | SetEntityAsMissionEntity() 101 | DeleteObject() 102 | ObjTent = 0 103 | end 104 | end 105 | 106 | function TaskCampfire(ped) 107 | if ObjFire ~= 0 then SetMission('Fire') end 108 | TriggerEvent('DokusCore:ProgressBars', _('UsableItems_PlacingCampfire'), 0.50, 0.95, 0.75, 20) 109 | TaskStartScenarioInPlace(ped, GetHashKey('WORLD_HUMAN_CROUCH_INSPECT'), 15000, true, false, false, false) 110 | Wait(15000) ClearPedTasksImmediately(ped) 111 | local x,y,z = table.unpack(GetOffsetFromEntityInWorldCoords(ped, 0.0, 2.0, -1.55)) 112 | local prop = CreateObject(GetHashKey("p_campfire02x"), x, y, z, true, false, true) 113 | SetEntityHeading(prop, GetEntityHeading(ped)) 114 | PlaceObjectOnGroundProperly(prop) 115 | ObjFire = prop 116 | end 117 | 118 | function TaskTent(ped) 119 | if ObjTent ~= 0 then SetMission('Tent') end 120 | TaskStartScenarioInPlace(ped, GetHashKey('WORLD_HUMAN_CROUCH_INSPECT'), 30000, true, false, false, false) 121 | TriggerEvent('DokusCore:ProgressBars', _('UsableItems_PlacingTent'), 0.50, 0.95, 0.75, 34) 122 | Wait(30000) ClearPedTasksImmediately(ped) 123 | local x,y,z = table.unpack(GetOffsetFromEntityInWorldCoords(ped, 0.0, 2.0, -1.55)) 124 | local prop = CreateObject(GetHashKey("mp005_s_posse_tent_bountyhunter07x"), x, y, z, true, false, true) 125 | SetEntityHeading(prop, GetEntityHeading(ped)) 126 | PlaceObjectOnGroundProperly(prop) 127 | ObjTent = prop 128 | end 129 | end 130 | end) 131 | -------------------------------------------------------------------------------- /[Core]/[Vorp]/[Client]/functions.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- 2 | ----------------------------------- DevDokus ----------------------------------- 3 | -------------------------------------------------------------------------------- 4 | Citizen.CreateThread(function() Wait(1000) 5 | if not ((_StartError_) and (Framework.Vorp) and not (Framework.RedEmRP)) then 6 | function DrawCircle(x, y, z, r, g, b, a) 7 | Citizen.InvokeNative(0x2A32FAA57B937173, 0x94FDAE17, x, y, z - 0.95, 0, 0, 0, 0, 0, 0, 1.0, 1.0, 0.25, r, g, b, a, 0, 0, 2, 0, 0, 0, 0) 8 | end 9 | 10 | function Notify(text, time) 11 | TriggerEvent("vorp:TipRight", text, time) 12 | end 13 | 14 | function DrawInfo(text, x, y, size) 15 | local xc = x / 1.0; 16 | local yc = y / 1.0; 17 | SetScriptGfxDrawOrder(3) 18 | SetTextScale(size, size) 19 | SetTextCentre(true) 20 | SetTextColor(255, 255, 255, 100) 21 | SetTextFontForCurrentCommand(6) 22 | DisplayText(CreateVarString(10, 'LITERAL_STRING', text), xc, yc) 23 | SetScriptGfxDrawOrder(3) 24 | end 25 | 26 | function DrawCoords(text, x, y, size) 27 | local xc = x / 1.0; 28 | local yc = y / 1.0; 29 | SetScriptGfxDrawOrder(3) 30 | SetTextScale(size, size) 31 | SetTextCentre(true) 32 | SetTextColor(255, 255, 255, 100) 33 | SetTextFontForCurrentCommand(6) 34 | DisplayText(CreateVarString(10, 'LITERAL_STRING', text), xc, yc) 35 | SetScriptGfxDrawOrder(3) 36 | end 37 | 38 | function DrawTxt(str, x, y, w, h, enableShadow, col1, col2, col3, a, center) 39 | local str = CreateVarString(10, "LITERAL_STRING", str, Citizen.ResultAsLong()) 40 | SetTextScale(w, h) 41 | SetTextColor(math.floor(col1), math.floor(col2), math.floor(col3), math.floor(a)) 42 | SetTextCentre(center) 43 | if enableShadow then SetTextDropshadow(1, 0, 0, 0, 255) end 44 | Citizen.InvokeNative(0xADA9255D, 10); 45 | DisplayText(str, x, y) 46 | end 47 | 48 | -- Spawn a NPC model 49 | function SpawnNPC(_, x, y, z, heading) 50 | local _ = GetHashKey(_) 51 | while not HasModelLoaded(_) do RequestModel(_) Wait(1) end 52 | local NCP = Citizen.InvokeNative(0xD49F9B0955C367DE, _, x, y, z, heading, 0, 0, 0, Citizen.ResultAsInteger()) 53 | Citizen.InvokeNative(0x1794B4FCC84D812F, NCP, 1) -- SetEntityVisible 54 | Citizen.InvokeNative(0x0DF7692B1D9E7BA7, NCP, 255, false) -- SetEntityAlpha 55 | Citizen.InvokeNative(0x283978A15512B2FE, NCP, true) -- Invisible without 56 | Citizen.InvokeNative(0x7D9EFB7AD6B19754, NCP, true) -- FreezeEntityPosition 57 | Citizen.InvokeNative(0xDC19C288082E586E, NCP, 1, 1) --SetEntityAsMissionEntity 58 | Citizen.InvokeNative(0x919BE13EED931959, NPC, - 1) -- TaskStandStill 59 | Wait(100) 60 | Citizen.InvokeNative(0xC80A74AC829DDD92, npc, _) -- SET_PED_RELATIONSHIP_GROUP_HASH 61 | Citizen.InvokeNative(0x4AD96EF928BD4F9A, NCP) -- SetModelAsNoLongerNeeded 62 | return NCP 63 | end 64 | 65 | function RoundNumber(n, d) 66 | local m = 10^(d or 0) 67 | return math.floor(n * m + 0.5) / m 68 | end 69 | 70 | RegisterNetEvent('DokusCore:ProgressBars') 71 | AddEventHandler('DokusCore:ProgressBars', function(text, x, y, size, time) 72 | local Text, run, count, loop, End = nil, true, 0, 1, ((time - 2) / 2) 73 | while run do Wait(1) 74 | if (count <= 15) then Text = (text..'.') end 75 | if ((count > 15) and (count <= 30)) then Text = (text..'..') end 76 | if ((count > 30) and (count <= 45)) then Text = (text..'...') end 77 | if ((count > 60) and (loop ~= End)) then count = 0 loop = (loop + 1) end 78 | if (loop >= End) then count = 0 loop = 1 run = false end 79 | DrawInfo(Text, x, y, size) 80 | count = (count + 1) 81 | end 82 | end) 83 | end 84 | end) -------------------------------------------------------------------------------- /[Core]/[Vorp]/[Server]/BountyHunter.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- 2 | ----------------------------------- DevDokus ----------------------------------- 3 | -------------------------------------------------------------------------------- 4 | if (((Plugins.BountyHunter) and not (_StartError_) and (Framework.Vorp) and not (Framework.RedEmRP))) then 5 | local VorpCore = {} 6 | TriggerEvent("getCore", function(core) VorpCore = core end) 7 | function Wait(args) Citizen.Wait(args) end 8 | function Invoke(args, bool) Citizen.InvokeNative(args, bool) end 9 | -------------------------------------------------------------------------------- 10 | -- Event Register 11 | RegisterServerEvent('DevDokus:BountyHunter:S:CheckJob') 12 | RegisterServerEvent('DevDokus:BountyHunter:S:PayDay') 13 | -------------------------------------------------------------------------------- 14 | -- Core 15 | -------------------------------------------------------------------------------- 16 | -- Variables 17 | -------------------------------------------------------------------------------- 18 | -------------------------------------------------------------------------------- 19 | AddEventHandler('DevDokus:BountyHunter:S:PayDay', function(KillCount) 20 | local BPK = BountyHunter.Payment.Money.BPK 21 | local XPK = BountyHunter.Payment.XP.XPK 22 | local mMin = BountyHunter.Payment.Money.Min 23 | local mMax = BountyHunter.Payment.Money.Max 24 | local xMin = BountyHunter.Payment.XP.Min 25 | local xMax = BountyHunter.Payment.XP.Max 26 | local vMoney = BountyHunter.Payment.Money.Static 27 | local vEXP = BountyHunter.Payment.XP.Static 28 | 29 | local Char = VorpCore.getUser(source).getUsedCharacter 30 | 31 | local mPay = nil 32 | local xPay = nil 33 | 34 | if BPK then 35 | local PayDay = (math.floor(math.random(mMin, mMax) * KillCount)) 36 | Char.addCurrency(0, PayDay) 37 | mPay = PayDay 38 | else 39 | Char.addCurrency(0, vMoney) 40 | mPay = vMoney 41 | end 42 | 43 | if XPK then 44 | local rEXP = (math.floor(math.random(xMin, xMax) * KillCount)) 45 | Char.addXp(rEXP) 46 | xPay = rEXP 47 | else 48 | Char.addXp(vEXP) 49 | xPay = vEXP 50 | end 51 | 52 | TriggerClientEvent('DevDokus:BountyHunter:C:ResetTotalKills', source) 53 | TriggerClientEvent("vorp:TipRight", source, _('BountyHunter_Payment1')..mPay.._('BountyHunter_Payment2')..xPay.._('BountyHunter_Payment3'), 5000) 54 | end) 55 | 56 | AddEventHandler('DevDokus:BountyHunter:S:CheckJob', function() 57 | local User = VorpCore.getUser(source) 58 | if User ~= nil then 59 | local Character = User.getUsedCharacter 60 | local _Job = Character.job 61 | TriggerClientEvent('DevDokus:BountyHunter:C:SetUpMission', source, _Job) 62 | end 63 | end) 64 | end 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | -------------------------------------------------------------------------------- 110 | -------------------------------------------------------------------------------- /[Core]/[Vorp]/[Server]/Metabolism.lua: -------------------------------------------------------------------------------- 1 | -- ------------------------------------------------------------------------------ 2 | -- --------------------------------- DevDokus ----------------------------------- 3 | -- ------------------------------------------------------------------------------ 4 | -- ------------------------------------------------------------------------------ 5 | -- 6 | -- ==== Will be used in a later update ==== -- 7 | -- Keep an eye on Github for future updates! -- 8 | -- 9 | -- ------------------------------------------------------------------------------ 10 | -- 11 | -- 12 | -- local VorpCore = {} 13 | -- TriggerEvent("getCore", function(core) VorpCore = core end) 14 | -- VORP = exports.vorp_core:vorpAPI() 15 | -- -------------------------------------------------------------------------------- 16 | -- -- Event Register 17 | -- RegisterServerEvent('DevDokus:Metabolism:S:StartStatus') 18 | -- -------------------------------------------------------------------------------- 19 | -- AddEventHandler('DevDokus:Metabolism:S:StartStatus', function() 20 | -- if VorpCore ~= nil then 21 | -- TriggerEvent("vorp:getCharacter", source, function(Data) 22 | -- Ident = Data.identifier 23 | -- exports.ghmattimysql:execute("Select * from `characters` where `identifier` = @ident", { 24 | -- ['@ident'] = Ident 25 | -- }, function(cb) 26 | -- if cb[1] ~= nil then 27 | -- local Status = json.decode(cb[1].status) 28 | -- TriggerClientEvent('DevDokus:Metabolism:C:SetFirstStatus', -1, Status) 29 | -- end 30 | -- end) 31 | -- end) 32 | -- end 33 | -- end) 34 | -- 35 | -- 36 | -- 37 | -- 38 | -- 39 | -- 40 | -- 41 | -- 42 | -- 43 | -- 44 | -- 45 | -- ------------------------------------------------------------------------------ 46 | -------------------------------------------------------------------------------- /[Core]/[Vorp]/[Server]/PayCheck.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- 2 | ----------------------------------- DevDokus ----------------------------------- 3 | -------------------------------------------------------------------------------- 4 | 5 | if (((Plugins.PayCheck) and not (_StartError_) and (Framework.Vorp) and not (Framework.RedEmRP))) then 6 | local VorpCore = {} 7 | TriggerEvent("getCore", function(core) VorpCore = core end) 8 | -------------------------------------------------------------------------------- 9 | -- Event Register 10 | RegisterServerEvent('DevDokus:PayCheck:S:PayUser') 11 | -------------------------------------------------------------------------------- 12 | -- Variables 13 | -------------------------------------------------------------------------------- 14 | AddEventHandler('DevDokus:PayCheck:S:PayUser', function() 15 | local Char = VorpCore.getUser(source).getUsedCharacter 16 | local _Job = Char.job 17 | for k, v in pairs(PayCheck.Jobs) do 18 | local Job, Money, Gold, Exp = v.Job, v.Money, v.Gold, v.Exp 19 | if (Job == _Job) then 20 | if (Money > 0) then Char.addCurrency(0, Money) end 21 | if (Gold > 0) then Char.addCurrency(1, Gold) end 22 | if (Exp > 0) then Char.addXp(Exp) end 23 | Note(Money, Gold, Exp) 24 | end 25 | end 26 | end) 27 | 28 | -------------------------------------------------------------------------------- 29 | function Note(Money, Gold, Exp) 30 | local _m = (_('PayCheck_Money') .. Money .. '~q~ | ') 31 | local _g = (_('PayCheck_Gold') .. Gold .. '~q~ | ') 32 | local _e = (_('PayCheck_Exp') .. Exp .. '~q~' .. _('PayCheck_Salary')) 33 | TriggerClientEvent("vorp:TipRight", source, (_m.._g.._e), 10000) 34 | end 35 | end 36 | -------------------------------------------------------------------------------- /[Core]/[Vorp]/[Server]/PickableFruits.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- 2 | ----------------------------------- DevDokus ----------------------------------- 3 | -------------------------------------------------------------------------------- 4 | if (((Plugins.PickableFruits) and not (_StartError_) and (Framework.Vorp) and not (Framework.RedEmRP))) then 5 | local VorpCore = {} 6 | TriggerEvent("getCore", function(core) VorpCore = core end) 7 | VorpInv = exports.vorp_inventory:vorp_inventoryApi() 8 | -------------------------------------------------------------------------------- 9 | -- Event Register 10 | RegisterServerEvent('DevDokus:PickableFruits:S:GiveItems') 11 | -------------------------------------------------------------------------------- 12 | -- Core 13 | -------------------------------------------------------------------------------- 14 | AddEventHandler('DevDokus:PickableFruits:S:GiveItems', function(Label) 15 | local _source = source 16 | local Array = {} 17 | for k, v in pairs(PickableFruits.Items) do 18 | if v.Label == Label then table.insert(Array, v) end 19 | end Wait(100) 20 | local rItem = Array[math.random(#Array)] 21 | local rAmount = math.random(rItem.Min, rItem.Max) 22 | if rAmount == 0 then 23 | TriggerClientEvent("vorp:TipRight", _source, _('PickableFruits_NothingFound'), 5000) 24 | else 25 | VorpInv.addItem(_source, rItem.Item, rAmount) 26 | TriggerClientEvent("vorp:TipRight", _source, _('PickableFruits_Collected')..rAmount..' '..rItem.Name, 5000) 27 | end 28 | end) 29 | end 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- 64 | -------------------------------------------------------------------------------- /[Core]/[Vorp]/[Server]/ShowCoords.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- 2 | ----------------------------------- DevDokus ----------------------------------- 3 | -------------------------------------------------------------------------------- 4 | local VorpCore = {} 5 | TriggerEvent("getCore", function(core) VorpCore = core end) 6 | -------------------------------------------------------------------------------- 7 | -- RegisterServerEvent('DevDokus:ShowCoords:S:CheckAdmin') 8 | -- -------------------------------------------------------------------------------- 9 | -- AddEventHandler('DevDokus:ShowCoords:S:CheckAdmin', function() 10 | -- local User = VorpCore.getUser(source) 11 | -- for k, v in pairs(User) do 12 | -- local IsAdmin = User.getGroup 13 | -- if IsAdmin == ShowCoords.AdminGroup then 14 | -- TriggerClientEvent('DevDokus:ShowCoords:C:Teleport', source) 15 | -- else 16 | -- Notify('This feature can only be used by admins!', 5000) 17 | -- end 18 | -- end 19 | -- end) 20 | -------------------------------------------------------------------------------- /[Core]/[Vorp]/[Server]/Stores.lua: -------------------------------------------------------------------------------- 1 | 2 | Citizen.CreateThread(function() Wait(1000) 3 | if (((Plugins.Stores) and not (_StartError_) and (Framework.Vorp) and not (Framework.RedEmRP))) then 4 | -------------------------------------------------------------------------------- 5 | ----------------------------------- DevDokus ----------------------------------- 6 | -------------------------------------------------------------------------------- 7 | local VorpCore = {} 8 | TriggerEvent("getCore", function(core) VorpCore = core end) 9 | VorpInv = exports.vorp_inventory:vorp_inventoryApi() 10 | -------------------------------------------------------------------------------- 11 | RegisterServerEvent('DevDokus:S:BuyItem') 12 | RegisterServerEvent('DevDokus:S:SellItem') 13 | -------------------------------------------------------------------------------- 14 | AddEventHandler('DevDokus:S:BuyItem', function(Data) 15 | local User = VorpCore.getUser(source) 16 | if User ~= nil then 17 | local Char = User.getUsedCharacter 18 | local balance = VorpInv.getItemCount(source, Data.ID) 19 | local max = Data.Max 20 | local money = Char.money 21 | 22 | if (balance < max) then 23 | if (money <= Data.Price) then 24 | Notify(_('Store_NotEnoughMoney'), 100) 25 | else 26 | Char.removeCurrency(0, Data.Price) 27 | VorpInv.addItem(source, Data.ID, 1) 28 | Notify(_('Store_Bought1') .. Data.Name .. _('Store_Bought2') .. Data.Price .. _('Store_Bought3'), 5000) 29 | end 30 | end 31 | end 32 | end) 33 | 34 | AddEventHandler('DevDokus:S:SellItem', function(Data) 35 | local User = VorpCore.getUser(source) 36 | if User ~= nil then 37 | local Char = User.getUsedCharacter 38 | local money = Char.money 39 | local item = VorpInv.getItemCount(source, Data.ID) 40 | 41 | if (item > 0) then 42 | Char.addCurrency(0, Data.Price) 43 | VorpInv.subItem(source, Data.ID, 1) 44 | Notify(_('Store_Sold')..Data.Name, 5000) 45 | else 46 | Notify(_('Store_NoItem')..Data.Name, 5000) 47 | end 48 | end 49 | end) 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | -------------------------------------------------------------------------------- 77 | 78 | end 79 | 80 | end) 81 | -------------------------------------------------------------------------------- /[Core]/[Vorp]/[Server]/TS-Trains-Server.net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevDokus/Redm-PluginBundle/e69b4f3e86f36b3b7a372cc0cb766f1ea71f9426/[Core]/[Vorp]/[Server]/TS-Trains-Server.net.dll -------------------------------------------------------------------------------- /[Core]/[Vorp]/[Server]/Teleport.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- 2 | ----------------------------------- DevDokus ----------------------------------- 3 | -------------------------------------------------------------------------------- 4 | if (((Plugins.Teleport) and not (_StartError_) and (Framework.Vorp) and not (Framework.RedEmRP))) then 5 | local VorpCore = {} 6 | TriggerEvent("getCore", function(core) VorpCore = core end) 7 | -------------------------------------------------------------------------------- 8 | RegisterServerEvent('DevDokus:Teleport:S:CheckAdmin') 9 | -------------------------------------------------------------------------------- 10 | AddEventHandler('DevDokus:Teleport:S:CheckAdmin', function() 11 | local User = VorpCore.getUser(source) 12 | for k, v in pairs(User) do 13 | local IsAdmin = User.getGroup 14 | if IsAdmin == Teleport.AdminGroup then 15 | TriggerClientEvent('DevDokus:Teleport:C:Teleport', source) 16 | return 17 | else 18 | Notify(_('OnlyAdmins'), 5000) 19 | return 20 | end 21 | end 22 | end) 23 | end 24 | -------------------------------------------------------------------------------- /[Core]/[Vorp]/[Server]/UsableItems.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- 2 | ----------------------------------- DevDokus ----------------------------------- 3 | -------------------------------------------------------------------------------- 4 | Citizen.CreateThread(function() Wait(1000) 5 | if (((Plugins.UsableItems) and not (_StartError_) and (Framework.Vorp) and not (Framework.RedEmRP))) then 6 | -------------------------------------------------------------------------------- 7 | -------------------------------------------------------------------------------- 8 | local VorpCore = {} 9 | TriggerEvent("getCore", function(core) VorpCore = core end) 10 | VorpInv = exports.vorp_inventory:vorp_inventoryApi() 11 | RegisterServerEvent('DevDokus:S:Refund') 12 | -------------------------------------------------------------------------------- 13 | -------------------------------------------------------------------------------- 14 | 15 | for k, v in pairs(UsableItems.Items) do 16 | if v.Type == 'Eat' then 17 | VorpInv.RegisterUsableItem(v.ID, function(_Data) 18 | VorpInv.subItem(_Data.source, v.ID, 1) 19 | TriggerClientEvent("vorp:TipRight", _Data.source, _('UsableItems_Eating')..v.Name, 5000) 20 | TriggerClientEvent("DevDokus:C:Consume", _Data.source, v.ID, v.Type, v.Hunger, v.Thirst, v.Stamina, v.Health, v.InStaGold, v.OutStaGold, v.InHealthGold, v.OutHealthGold) 21 | end) 22 | elseif v.Type == 'Drink' then 23 | VorpInv.RegisterUsableItem(v.ID, function(_Data) 24 | VorpInv.subItem(_Data.source, v.ID, 1) 25 | TriggerClientEvent("vorp:TipRight", _Data.source, _('UsableItems_Drinking')..v.Name, 5000) 26 | TriggerClientEvent("DevDokus:C:Consume", _Data.source, v.ID, v.Type, v.Hunger, v.Thirst, v.Stamina, v.Health, v.InStaGold, v.OutStaGold, v.InHealthGold, v.OutHealthGold) 27 | end) 28 | elseif v.Type == 'Placing' then 29 | VorpInv.RegisterUsableItem(v.ID, function(_Data) 30 | VorpInv.subItem(_Data.source, v.ID, 1) 31 | TriggerClientEvent("DevDokus:C:Consume", _Data.source, v.ID, v.Type, v.Hunger, v.Thirst, v.Stamina, v.Health, v.InStaGold, v.OutStaGold, v.InHealthGold, v.OutHealthGold) 32 | end) 33 | end 34 | end 35 | 36 | 37 | -------------------------------------------------------------------------------- 38 | -------------------------------------------------------------------------------- 39 | end 40 | end) 41 | 42 | 43 | AddEventHandler('DevDokus:S:Refund', function(Item) 44 | if UsableItems.RefundCampFire and Item == 'campfire' then 45 | VorpInv.addItem(source, "campfire", 1) 46 | TriggerClientEvent("vorp:TipRight", source, _('UsableItems_RefundCampfire'), 5000) 47 | elseif UsableItems.RefundTent and Item == 'tent' then 48 | VorpInv.addItem(source, "tent", 1) 49 | TriggerClientEvent("vorp:TipRight", source, _('UsableItems_RefundTent'), 5000) 50 | end 51 | end) 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | -- 63 | -------------------------------------------------------------------------------- /[Core]/[Vorp]/[Server]/functions.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- 2 | ----------------------------------- DevDokus ----------------------------------- 3 | -------------------------------------------------------------------------------- 4 | function DrawCircle(x,y,z,r,g,b,a) 5 | Citizen.InvokeNative(0x2A32FAA57B937173, 0x94FDAE17, x, y, z-0.95, 0, 0, 0, 0, 0, 0, 1.0, 1.0, 0.25, r, g, b, a, 0, 0, 2, 0, 0, 0, 0) 6 | end 7 | 8 | function Notify(text, time) 9 | TriggerClientEvent("vorp:TipRight", source, text, time) 10 | end 11 | -------------------------------------------------------------------------------- /fxmanifest.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- 2 | ----------------------------------- DevDokus ----------------------------------- 3 | -------------------------------------------------------------------------------- 4 | description 'The Ultimate RP Pack for RedM VORP' 5 | author 'DevDokus Github' 6 | version '2.4.2' 7 | -------------------------------------------------------------------------------- 8 | ui_page('[Core]/[HTML]/index.html') 9 | shared_script {'config.lua', '[Core]/[System]/[Lang]/*.lua'} 10 | -------------------------------------------------------------------------------- 11 | client_scripts { 12 | '[Core]/[Vorp]/[Client]/*.lua', 13 | '[Core]/[RedEmRP]/[Client]/*.lua', 14 | '[Core]/[System]/[Client]/*.lua', 15 | 16 | -- ================================================== -- 17 | -- If you want to use the Trains, then delete the 18 | -- [ --##-- ] In front of the line below!!! 19 | -- ================================================== -- 20 | --##--'[Core]/[Vorp]/[Client]/*.dll' 21 | -- ================================================== -- 22 | } 23 | 24 | -------------------------------------------------------------------------------- 25 | -------------------------------------------------------------------------------- 26 | server_scripts { 27 | '[Core]/[Vorp]/[Server]/*.lua', 28 | '[Core]/[RedEmRP]/[Server]/*.lua', 29 | '[Core]/[System]/[Server]/*.lua', 30 | 31 | -- ================================================== -- 32 | -- If you want to use the Trains, then delete the 33 | -- [ --##-- ] In front of the line below!!! 34 | -- ================================================== -- 35 | --##--'[Core]/[Vorp]/[Server]/*.dll' 36 | -- ================================================== -- 37 | } 38 | 39 | -------------------------------------------------------------------------------- 40 | -------------------------------------------------------------------------------- 41 | files { 42 | "[Core]/[HTML]/script.js", 43 | "[Core]/[HTML]/styles.css", 44 | "[Core]/[HTML]/img/Hud/*.png", 45 | "[Core]/[HTML]/index.html", 46 | "[Core]/[HTML]/img/Cards/*.png", 47 | } 48 | -------------------------------------------------------------------------------- 49 | -------------------------------------------------------------------------------- 50 | fx_version "adamant" 51 | games {"rdr3"} 52 | rdr3_warning 'I acknowledge that this is a prerelease build of RedM, and I am aware my resources *will* become incompatible once RedM ships.' 53 | -------------------------------------------------------------------------------- 54 | -------------------------------------------------------------------------------- 55 | --------------------------------------------------------------------------------