├── .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 |
11 |
16 |
18 |
19 |
20 |
28 |
29 |
30 |

31 |
35 |
36 |
37 |

38 |
42 |
43 |
44 |

45 |
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 |
--------------------------------------------------------------------------------