From eda9244b757c7ba9417b3cfa6edc08fff8d8a1ef Mon Sep 17 00:00:00 2001 From: Ramp Date: Mon, 19 Jul 2021 20:45:18 +0100 Subject: [PATCH 1/3] . --- resources/[esx]/esx_skin/.editorconfig | 9 - resources/[esx]/esx_skin/LICENSE | 674 ----------------------- resources/[esx]/esx_skin/README.md | 41 -- resources/[esx]/esx_skin/client/main.lua | 307 ----------- resources/[esx]/esx_skin/config.lua | 7 - resources/[esx]/esx_skin/esx_skin.sql | 3 - resources/[esx]/esx_skin/fxmanifest.lua | 45 -- resources/[esx]/esx_skin/locales/br.lua | 6 - resources/[esx]/esx_skin/locales/de.lua | 6 - resources/[esx]/esx_skin/locales/en.lua | 6 - resources/[esx]/esx_skin/locales/es.lua | 6 - resources/[esx]/esx_skin/locales/fi.lua | 6 - resources/[esx]/esx_skin/locales/fr.lua | 6 - resources/[esx]/esx_skin/locales/pl.lua | 6 - resources/[esx]/esx_skin/locales/sv.lua | 6 - resources/[esx]/esx_skin/locales/tr.lua | 6 - resources/[esx]/esx_skin/server/main.lua | 61 -- 17 files changed, 1201 deletions(-) delete mode 100644 resources/[esx]/esx_skin/.editorconfig delete mode 100644 resources/[esx]/esx_skin/LICENSE delete mode 100644 resources/[esx]/esx_skin/README.md delete mode 100644 resources/[esx]/esx_skin/client/main.lua delete mode 100644 resources/[esx]/esx_skin/config.lua delete mode 100644 resources/[esx]/esx_skin/esx_skin.sql delete mode 100644 resources/[esx]/esx_skin/fxmanifest.lua delete mode 100644 resources/[esx]/esx_skin/locales/br.lua delete mode 100644 resources/[esx]/esx_skin/locales/de.lua delete mode 100644 resources/[esx]/esx_skin/locales/en.lua delete mode 100644 resources/[esx]/esx_skin/locales/es.lua delete mode 100644 resources/[esx]/esx_skin/locales/fi.lua delete mode 100644 resources/[esx]/esx_skin/locales/fr.lua delete mode 100644 resources/[esx]/esx_skin/locales/pl.lua delete mode 100644 resources/[esx]/esx_skin/locales/sv.lua delete mode 100644 resources/[esx]/esx_skin/locales/tr.lua delete mode 100644 resources/[esx]/esx_skin/server/main.lua diff --git a/resources/[esx]/esx_skin/.editorconfig b/resources/[esx]/esx_skin/.editorconfig deleted file mode 100644 index 9b42525..0000000 --- a/resources/[esx]/esx_skin/.editorconfig +++ /dev/null @@ -1,9 +0,0 @@ -root = true - -[*] -indent_size = 4 -indent_style = tab -end_of_line = crlf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true \ No newline at end of file diff --git a/resources/[esx]/esx_skin/LICENSE b/resources/[esx]/esx_skin/LICENSE deleted file mode 100644 index ff50603..0000000 --- a/resources/[esx]/esx_skin/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - fxserver-esx_skin - Copyright (C) 2015 Jérémie N'gadi - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - fxserver-esx_skin Copyright (C) 2015 Jérémie N'gadi - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. \ No newline at end of file diff --git a/resources/[esx]/esx_skin/README.md b/resources/[esx]/esx_skin/README.md deleted file mode 100644 index 64e2b8f..0000000 --- a/resources/[esx]/esx_skin/README.md +++ /dev/null @@ -1,41 +0,0 @@ -# esx_skin - -## Requirements -- [skinchanger](https://github.com/ESX-Org/skinchanger) - -## Download & Installation - -### Using [fvm](https://github.com/qlaffont/fvm-installer) -``` -fvm install --save --folder=esx esx-org/esx_skin -``` - -### Using Git -``` -cd resources -git clone https://github.com/ESX-Org/esx_skin [esx]/esx_skin -``` - -### Manually -- Download https://github.com/ESX-Org/esx_skin/archive/master.zip -- Put it in the `[esx]` directory - -## Installation -- Import `esx_skin.sql` to your database -- Add this in your `server.cfg`: - -``` -start esx_skin -``` - -# Legal -### License -esx_skin - skin selector for ESX - -Copyright (C) 2015-2020 Jérémie N'gadi - -This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. - -This program Is distributed In the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty Of MERCHANTABILITY Or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License For more details. - -You should have received a copy Of the GNU General Public License along with this program. If Not, see http://www.gnu.org/licenses/. diff --git a/resources/[esx]/esx_skin/client/main.lua b/resources/[esx]/esx_skin/client/main.lua deleted file mode 100644 index 1736bec..0000000 --- a/resources/[esx]/esx_skin/client/main.lua +++ /dev/null @@ -1,307 +0,0 @@ -local lastSkin, cam, isCameraActive -local firstSpawn, zoomOffset, camOffset, heading, skinLoaded = true, 0.0, 0.0, 90.0, false - -function OpenMenu(submitCb, cancelCb, restrict) - local playerPed = PlayerPedId() - - TriggerEvent('skinchanger:getSkin', function(skin) lastSkin = skin end) - TriggerEvent('skinchanger:getData', function(components, maxVals) - local elements = {} - local _components = {} - - -- Restrict menu - if restrict == nil then - for i=1, #components, 1 do - _components[i] = components[i] - end - else - for i=1, #components, 1 do - local found = false - - for j=1, #restrict, 1 do - if components[i].name == restrict[j] then - found = true - end - end - - if found then - table.insert(_components, components[i]) - end - end - end - -- Insert elements - for i=1, #_components, 1 do - local value = _components[i].value - local componentId = _components[i].componentId - - if componentId == 0 then - value = GetPedPropIndex(playerPed, _components[i].componentId) - end - - local data = { - label = _components[i].label, - name = _components[i].name, - value = value, - min = _components[i].min, - textureof = _components[i].textureof, - zoomOffset= _components[i].zoomOffset, - camOffset = _components[i].camOffset, - type = 'slider' - } - - for k,v in pairs(maxVals) do - if k == _components[i].name then - data.max = v - break - end - end - - table.insert(elements, data) - end - - CreateSkinCam() - zoomOffset = _components[1].zoomOffset - camOffset = _components[1].camOffset - - ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'skin', { - title = _U('skin_menu'), - align = 'top-left', - elements = elements - }, function(data, menu) - TriggerEvent('skinchanger:getSkin', function(skin) lastSkin = skin end) - - submitCb(data, menu) - DeleteSkinCam() - end, function(data, menu) - menu.close() - DeleteSkinCam() - TriggerEvent('skinchanger:loadSkin', lastSkin) - - if cancelCb ~= nil then - cancelCb(data, menu) - end - end, function(data, menu) - local skin, components, maxVals - - TriggerEvent('skinchanger:getSkin', function(getSkin) skin = getSkin end) - - zoomOffset = data.current.zoomOffset - camOffset = data.current.camOffset - - if skin[data.current.name] ~= data.current.value then - -- Change skin element - TriggerEvent('skinchanger:change', data.current.name, data.current.value) - - -- Update max values - TriggerEvent('skinchanger:getData', function(comp, max) - components, maxVals = comp, max - end) - - local newData = {} - - for i=1, #elements, 1 do - newData = {} - newData.max = maxVals[elements[i].name] - - if elements[i].textureof ~= nil and data.current.name == elements[i].textureof then - newData.value = 0 - end - - menu.update({name = elements[i].name}, newData) - end - - menu.refresh() - end - end, function(data, menu) - DeleteSkinCam() - end) - end) -end - -function CreateSkinCam() - if not DoesCamExist(cam) then - cam = CreateCam('DEFAULT_SCRIPTED_CAMERA', true) - end - - local playerPed = PlayerPedId() - - SetCamActive(cam, true) - RenderScriptCams(true, true, 500, true, true) - - isCameraActive = true - SetCamCoord(cam, GetEntityCoords(playerPed)) - SetCamRot(cam, 0.0, 0.0, 270.0, true) - SetEntityHeading(playerPed, 0.0) -end - -function DeleteSkinCam() - isCameraActive = false - SetCamActive(cam, false) - RenderScriptCams(false, true, 500, true, true) - cam = nil -end - -Citizen.CreateThread(function() - while true do - Citizen.Wait(0) - - if isCameraActive then - DisableControlAction(2, 30, true) - DisableControlAction(2, 31, true) - DisableControlAction(2, 32, true) - DisableControlAction(2, 33, true) - DisableControlAction(2, 34, true) - DisableControlAction(2, 35, true) - DisableControlAction(0, 25, true) -- Input Aim - DisableControlAction(0, 24, true) -- Input Attack - - local playerPed = PlayerPedId() - local coords = GetEntityCoords(playerPed) - - local angle = heading * math.pi / 180.0 - local theta = { - x = math.cos(angle), - y = math.sin(angle) - } - - local pos = { - x = coords.x + (zoomOffset * theta.x), - y = coords.y + (zoomOffset * theta.y) - } - - local angleToLook = heading - 140.0 - if angleToLook > 360 then - angleToLook = angleToLook - 360 - elseif angleToLook < 0 then - angleToLook = angleToLook + 360 - end - - angleToLook = angleToLook * math.pi / 180.0 - local thetaToLook = { - x = math.cos(angleToLook), - y = math.sin(angleToLook) - } - - local posToLook = { - x = coords.x + (zoomOffset * thetaToLook.x), - y = coords.y + (zoomOffset * thetaToLook.y) - } - - SetCamCoord(cam, pos.x, pos.y, coords.z + camOffset) - PointCamAtCoord(cam, posToLook.x, posToLook.y, coords.z + camOffset) - - ESX.ShowHelpNotification(_U('use_rotate_view')) - else - Citizen.Wait(500) - end - end -end) - -Citizen.CreateThread(function() - local angle = 90 - - while true do - Citizen.Wait(0) - - if isCameraActive then - if IsControlPressed(0, 108) then - angle = angle - 1 - elseif IsControlPressed(0, 109) then - angle = angle + 1 - end - - if angle > 360 then - angle = angle - 360 - elseif angle < 0 then - angle = angle + 360 - end - - heading = angle + 0.0 - else - Citizen.Wait(500) - end - end -end) - -function OpenSaveableMenu(submitCb, cancelCb, restrict) - TriggerEvent('skinchanger:getSkin', function(skin) lastSkin = skin end) - - OpenMenu(function(data, menu) - menu.close() - DeleteSkinCam() - - TriggerEvent('skinchanger:getSkin', function(skin) - TriggerServerEvent('esx_skin:save', skin) - - if submitCb ~= nil then - submitCb(data, menu) - end - end) - - end, cancelCb, restrict) -end - --- AddEventHandler('esx_skin:resetFirstSpawn', function() --- firstSpawn = true --- skinLoaded = false --- ESX.PlayerLoaded = false --- end) - --- AddEventHandler('esx_skin:playerRegistered', function() --- Citizen.CreateThread(function() --- while not ESX.PlayerLoaded do --- Citizen.Wait(100) --- end - --- if firstSpawn then --- ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin, jobSkin) --- if skin == nil then --- TriggerEvent('skinchanger:loadSkin', {sex = 0}, OpenSaveableMenu) --- Citizen.Wait(100) --- skinLoaded = true --- else --- TriggerEvent('skinchanger:loadSkin', skin) --- Citizen.Wait(100) --- skinLoaded = true --- end --- end) - --- firstSpawn = false --- end --- end) --- end) - -RegisterNetEvent('esx:playerLoaded') -AddEventHandler('esx:playerLoaded', function(xPlayer) - ESX.PlayerLoaded = true -end) - -AddEventHandler('esx_skin:getLastSkin', function(cb) cb(lastSkin) end) -AddEventHandler('esx_skin:setLastSkin', function(skin) lastSkin = skin end) - -RegisterNetEvent('esx_skin:openMenu') -AddEventHandler('esx_skin:openMenu', function(submitCb, cancelCb) - OpenMenu(submitCb, cancelCb, nil) -end) - -RegisterNetEvent('esx_skin:openRestrictedMenu') -AddEventHandler('esx_skin:openRestrictedMenu', function(submitCb, cancelCb, restrict) - OpenMenu(submitCb, cancelCb, restrict) -end) - -RegisterNetEvent('esx_skin:openSaveableMenu') -AddEventHandler('esx_skin:openSaveableMenu', function(submitCb, cancelCb) - OpenSaveableMenu(submitCb, cancelCb, nil) -end) - -RegisterNetEvent('esx_skin:openSaveableRestrictedMenu') -AddEventHandler('esx_skin:openSaveableRestrictedMenu', function(submitCb, cancelCb, restrict) - OpenSaveableMenu(submitCb, cancelCb, restrict) -end) - -RegisterNetEvent('esx_skin:requestSaveSkin') -AddEventHandler('esx_skin:requestSaveSkin', function() - TriggerEvent('skinchanger:getSkin', function(skin) - TriggerServerEvent('esx_skin:responseSaveSkin', skin) - end) -end) diff --git a/resources/[esx]/esx_skin/config.lua b/resources/[esx]/esx_skin/config.lua deleted file mode 100644 index b75d40e..0000000 --- a/resources/[esx]/esx_skin/config.lua +++ /dev/null @@ -1,7 +0,0 @@ -Config = {} - -Config.Locale = 'en' - -Config.BackpackWeight = { - [40] = 16, [41] = 20, [44] = 25, [45] = 23 -} diff --git a/resources/[esx]/esx_skin/esx_skin.sql b/resources/[esx]/esx_skin/esx_skin.sql deleted file mode 100644 index 193a02c..0000000 --- a/resources/[esx]/esx_skin/esx_skin.sql +++ /dev/null @@ -1,3 +0,0 @@ -USE `es_extended`; - -ALTER TABLE `users` ADD COLUMN `skin` LONGTEXT NULL DEFAULT NULL; diff --git a/resources/[esx]/esx_skin/fxmanifest.lua b/resources/[esx]/esx_skin/fxmanifest.lua deleted file mode 100644 index 34ecaff..0000000 --- a/resources/[esx]/esx_skin/fxmanifest.lua +++ /dev/null @@ -1,45 +0,0 @@ -fx_version 'adamant' - -game 'gta5' - -description 'ESX Skin' - -version 'legacy' - -shared_script '@es_extended/imports.lua' - -server_scripts { - '@mysql-async/lib/MySQL.lua', - '@es_extended/locale.lua', - 'locales/de.lua', - 'locales/br.lua', - 'locales/en.lua', - 'locales/fi.lua', - 'locales/fr.lua', - 'locales/sv.lua', - 'locales/pl.lua', - 'locales/es.lua', - 'locales/tr.lua', - 'config.lua', - 'server/main.lua' -} - -client_scripts { - '@es_extended/locale.lua', - 'locales/de.lua', - 'locales/br.lua', - 'locales/en.lua', - 'locales/fi.lua', - 'locales/fr.lua', - 'locales/sv.lua', - 'locales/pl.lua', - 'locales/es.lua', - 'locales/tr.lua', - 'config.lua', - 'client/main.lua' -} - -dependencies { - 'es_extended', - 'skinchanger' -} diff --git a/resources/[esx]/esx_skin/locales/br.lua b/resources/[esx]/esx_skin/locales/br.lua deleted file mode 100644 index 2a9d09d..0000000 --- a/resources/[esx]/esx_skin/locales/br.lua +++ /dev/null @@ -1,6 +0,0 @@ -Locales['br'] = { - ['skin_menu'] = 'Skin Menu', - ['use_rotate_view'] = 'Use ~INPUT_VEH_FLY_ROLL_LEFT_ONLY~ e ~INPUT_VEH_FLY_ROLL_RIGHT_ONLY~ para girar a visão.', - ['skin'] = 'Trocar', - ['saveskin'] = 'Salvar', -} diff --git a/resources/[esx]/esx_skin/locales/de.lua b/resources/[esx]/esx_skin/locales/de.lua deleted file mode 100644 index f143935..0000000 --- a/resources/[esx]/esx_skin/locales/de.lua +++ /dev/null @@ -1,6 +0,0 @@ -Locales['de'] = { - ['skin_menu'] = 'Skin Menü', - ['use_rotate_view'] = 'benutze ~INPUT_VEH_FLY_ROLL_LEFT_ONLY~ und ~INPUT_VEH_FLY_ROLL_RIGHT_ONLY~ um die Sicht zu drehen.', - ['skin'] = 'Skin ändern', - ['saveskin'] = 'Skin speichern', -} diff --git a/resources/[esx]/esx_skin/locales/en.lua b/resources/[esx]/esx_skin/locales/en.lua deleted file mode 100644 index f1ee073..0000000 --- a/resources/[esx]/esx_skin/locales/en.lua +++ /dev/null @@ -1,6 +0,0 @@ -Locales['en'] = { - ['skin_menu'] = 'Skin Menu', - ['use_rotate_view'] = 'use ~INPUT_VEH_FLY_ROLL_LEFT_ONLY~ and ~INPUT_VEH_FLY_ROLL_RIGHT_ONLY~ to rotate the view.', - ['skin'] = 'change skin', - ['saveskin'] = 'save skin to a file', -} diff --git a/resources/[esx]/esx_skin/locales/es.lua b/resources/[esx]/esx_skin/locales/es.lua deleted file mode 100644 index 243a49f..0000000 --- a/resources/[esx]/esx_skin/locales/es.lua +++ /dev/null @@ -1,6 +0,0 @@ -Locales['es'] = { - ['skin_menu'] = 'Menú Aspecto', - ['use_rotate_view'] = 'Utiliza ~INPUT_VEH_FLY_ROLL_LEFT_ONLY~ y ~INPUT_VEH_FLY_ROLL_RIGHT_ONLY~ para rotar la vista.', - ['skin'] = 'cambiar aspecto', - ['saveskin'] = 'guardar aspecto en un archivo', -} diff --git a/resources/[esx]/esx_skin/locales/fi.lua b/resources/[esx]/esx_skin/locales/fi.lua deleted file mode 100644 index 39e6d75..0000000 --- a/resources/[esx]/esx_skin/locales/fi.lua +++ /dev/null @@ -1,6 +0,0 @@ -Locales['fi'] = { - ['skin_menu'] = 'ulkonäkö', - ['use_rotate_view'] = 'paina ~INPUT_VEH_FLY_ROLL_LEFT_ONLY~ tai ~INPUT_VEH_FLY_ROLL_RIGHT_ONLY~ liikutaaksesi kameraa.', - ['skin'] = 'vaihda ulkonäköä', - ['saveskin'] = 'talleta ulkonäkö tiedostoon', -} diff --git a/resources/[esx]/esx_skin/locales/fr.lua b/resources/[esx]/esx_skin/locales/fr.lua deleted file mode 100644 index 1379d27..0000000 --- a/resources/[esx]/esx_skin/locales/fr.lua +++ /dev/null @@ -1,6 +0,0 @@ -Locales['fr'] = { - ['skin_menu'] = 'menu de Skin', - ['use_rotate_view'] = 'utilisez ~INPUT_VEH_FLY_ROLL_LEFT_ONLY~ et ~INPUT_VEH_FLY_ROLL_RIGHT_ONLY~ pour tourner la vue.', - ['skin'] = 'changer de skin', - ['saveskin'] = 'sauvegarder skin dans un fichier', -} diff --git a/resources/[esx]/esx_skin/locales/pl.lua b/resources/[esx]/esx_skin/locales/pl.lua deleted file mode 100644 index 9458a7a..0000000 --- a/resources/[esx]/esx_skin/locales/pl.lua +++ /dev/null @@ -1,6 +0,0 @@ -Locales['pl'] = { - ['skin_menu'] = 'menu wyglądu', - ['use_rotate_view'] = 'użyj ~INPUT_VEH_FLY_ROLL_LEFT_ONLY~ i ~INPUT_VEH_FLY_ROLL_RIGHT_ONLY~ aby obrócić ekran.', - ['skin'] = 'zmień wygląd', - ['saveskin'] = 'zapisz wygląd do pliku', -} diff --git a/resources/[esx]/esx_skin/locales/sv.lua b/resources/[esx]/esx_skin/locales/sv.lua deleted file mode 100644 index 02ddd5f..0000000 --- a/resources/[esx]/esx_skin/locales/sv.lua +++ /dev/null @@ -1,6 +0,0 @@ -Locales['sv'] = { - ['skin_menu'] = 'skin meny', - ['use_rotate_view'] = 'använd ~INPUT_VEH_FLY_ROLL_LEFT_ONLY~ och ~INPUT_VEH_FLY_ROLL_RIGHT_ONLY~ för att rotera.', - ['skin'] = 'ändra skin', - ['saveskin'] = 'spara skin till fil', -} diff --git a/resources/[esx]/esx_skin/locales/tr.lua b/resources/[esx]/esx_skin/locales/tr.lua deleted file mode 100644 index a219c3e..0000000 --- a/resources/[esx]/esx_skin/locales/tr.lua +++ /dev/null @@ -1,6 +0,0 @@ -Locales['tr'] = { - ['skin_menu'] = 'Karakter Menüsü', - ['use_rotate_view'] = '~INPUT_VEH_FLY_ROLL_LEFT_ONLY~ ve ~INPUT_VEH_FLY_ROLL_RIGHT_ONLY~ ile kamera açısını değiştirebilirsiniz.', - ['skin'] = 'Karakter Değiştir', - ['saveskin'] = 'Karakteri bir dosyaya kaydet', -} \ No newline at end of file diff --git a/resources/[esx]/esx_skin/server/main.lua b/resources/[esx]/esx_skin/server/main.lua deleted file mode 100644 index 01dbba3..0000000 --- a/resources/[esx]/esx_skin/server/main.lua +++ /dev/null @@ -1,61 +0,0 @@ -RegisterServerEvent('esx_skin:save') -AddEventHandler('esx_skin:save', function(skin) - local xPlayer = ESX.GetPlayerFromId(source) - local defaultMaxWeight = ESX.GetConfig().MaxWeight - local backpackModifier = Config.BackpackWeight[skin.bags_1] - - if backpackModifier then - xPlayer.setMaxWeight(defaultMaxWeight + backpackModifier) - else - xPlayer.setMaxWeight(defaultMaxWeight) - end - - MySQL.Async.execute('UPDATE users SET skin = @skin WHERE identifier = @identifier', { - ['@skin'] = json.encode(skin), - ['@identifier'] = xPlayer.identifier - }) -end) - -RegisterServerEvent('esx_skin:responseSaveSkin') -AddEventHandler('esx_skin:responseSaveSkin', function(skin) - local xPlayer = ESX.GetPlayerFromId(source) - - if xPlayer.getGroup() == 'admin' then - local file = io.open('resources/[esx]/esx_skin/skins.txt', "a") - - file:write(json.encode(skin) .. "\n\n") - file:flush() - file:close() - else - print(('esx_skin: %s attempted saving skin to file'):format(xPlayer.getIdentifier())) - end -end) - -ESX.RegisterServerCallback('esx_skin:getPlayerSkin', function(source, cb) - local xPlayer = ESX.GetPlayerFromId(source) - - MySQL.Async.fetchAll('SELECT skin FROM users WHERE identifier = @identifier', { - ['@identifier'] = xPlayer.identifier - }, function(users) - local user, skin = users[1] - - local jobSkin = { - skin_male = xPlayer.job.skin_male, - skin_female = xPlayer.job.skin_female - } - - if user.skin then - skin = json.decode(user.skin) - end - - cb(skin, jobSkin) - end) -end) - -ESX.RegisterCommand('skin', 'admin', function(xPlayer, args, showError) - xPlayer.triggerEvent('esx_skin:openSaveableMenu') -end, false, {help = _U('skin')}) - -ESX.RegisterCommand('skinsave', 'admin', function(xPlayer, args, showError) - xPlayer.triggerEvent('esx_skin:requestSaveSkin') -end, false, {help = _U('saveskin')}) From c113f276d894d4bb0325b9390d41e4c2ed8b7118 Mon Sep 17 00:00:00 2001 From: Ramp Date: Mon, 19 Jul 2021 20:45:27 +0100 Subject: [PATCH 2/3] Delete resources/[esx]/skinchanger directory --- resources/[esx]/skinchanger/.editorconfig | 9 - resources/[esx]/skinchanger/LICENSE | 674 -------------------- resources/[esx]/skinchanger/README.md | 103 --- resources/[esx]/skinchanger/client/main.lua | 602 ----------------- resources/[esx]/skinchanger/config.lua | 3 - resources/[esx]/skinchanger/fxmanifest.lua | 22 - resources/[esx]/skinchanger/locale.lua | 21 - resources/[esx]/skinchanger/locales/br.lua | 76 --- resources/[esx]/skinchanger/locales/de.lua | 76 --- resources/[esx]/skinchanger/locales/en.lua | 100 --- resources/[esx]/skinchanger/locales/es.lua | 76 --- resources/[esx]/skinchanger/locales/fi.lua | 76 --- resources/[esx]/skinchanger/locales/fr.lua | 76 --- resources/[esx]/skinchanger/locales/pl.lua | 76 --- resources/[esx]/skinchanger/locales/sv.lua | 76 --- resources/[esx]/skinchanger/locales/tr.lua | 76 --- 16 files changed, 2142 deletions(-) delete mode 100644 resources/[esx]/skinchanger/.editorconfig delete mode 100644 resources/[esx]/skinchanger/LICENSE delete mode 100644 resources/[esx]/skinchanger/README.md delete mode 100644 resources/[esx]/skinchanger/client/main.lua delete mode 100644 resources/[esx]/skinchanger/config.lua delete mode 100644 resources/[esx]/skinchanger/fxmanifest.lua delete mode 100644 resources/[esx]/skinchanger/locale.lua delete mode 100644 resources/[esx]/skinchanger/locales/br.lua delete mode 100644 resources/[esx]/skinchanger/locales/de.lua delete mode 100644 resources/[esx]/skinchanger/locales/en.lua delete mode 100644 resources/[esx]/skinchanger/locales/es.lua delete mode 100644 resources/[esx]/skinchanger/locales/fi.lua delete mode 100644 resources/[esx]/skinchanger/locales/fr.lua delete mode 100644 resources/[esx]/skinchanger/locales/pl.lua delete mode 100644 resources/[esx]/skinchanger/locales/sv.lua delete mode 100644 resources/[esx]/skinchanger/locales/tr.lua diff --git a/resources/[esx]/skinchanger/.editorconfig b/resources/[esx]/skinchanger/.editorconfig deleted file mode 100644 index 9b42525..0000000 --- a/resources/[esx]/skinchanger/.editorconfig +++ /dev/null @@ -1,9 +0,0 @@ -root = true - -[*] -indent_size = 4 -indent_style = tab -end_of_line = crlf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true \ No newline at end of file diff --git a/resources/[esx]/skinchanger/LICENSE b/resources/[esx]/skinchanger/LICENSE deleted file mode 100644 index 60fccac..0000000 --- a/resources/[esx]/skinchanger/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - fxserver-skinchanger - Copyright (C) 2015 Jérémie N'gadi - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - fxserver-skinchanger Copyright (C) 2015 Jérémie N'gadi - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. \ No newline at end of file diff --git a/resources/[esx]/skinchanger/README.md b/resources/[esx]/skinchanger/README.md deleted file mode 100644 index 9358390..0000000 --- a/resources/[esx]/skinchanger/README.md +++ /dev/null @@ -1,103 +0,0 @@ -# skinchanger - -skinchanger is a resource that makes it easy to set and get player ped clothing. It supports the freemode peds `mp_m_freemode_01` and `mp_f_freemode_01`. - -## Download & Installation - -### Using [fvm](https://github.com/qlaffont/fvm-installer) -``` -fvm install --save esx-org/skinchanger -``` - -### Using Git -``` -cd resources -git clone https://github.com/ESX-Org/skinchanger skinchanger -``` - -### Manually -- Download https://github.com/ESX-Org/skinchanger/archive/master.zip - -## Installation -- Add this to your `server.cfg`: - -``` -start skinchanger -``` - -### Usage - -```lua -local isMale = true - -local skin = { - sex = 1, - face = 0, - skin = 0, - beard_1 = 0, - beard_2 = 0, - beard_3 = 0, - beard_4 = 0, - hair_1 = 0, - hair_2 = 0, - hair_color_1 = 0, - hair_color_2 = 0, - tshirt_1 = 0, - tshirt_2 = 0, - torso_1 = 0, - torso_2 = 0, - decals_1 = 0, - decals_2 = 0, - arms = 0, - pants_1 = 0, - pants_2 = 0, - shoes_1 = 0, - shoes_2 = 0, - mask_1 = 0, - mask_2 = 0, - bproof_1 = 0, - bproof_2 = 0, - chain_1 = 0, - chain_2 = 0, - helmet_1 = 0, - helmet_2 = 0, - glasses_1 = 0, - glasses_2 = 0, -} - --- Load freemode model -TriggerEvent('skinchanger:loadDefaultModel', isMale) - --- Load skin -TriggerEvent('skinchanger:loadSkin', skin) - --- you can also load only some components : -TriggerEvent('skinchanger:loadSkin', { - sex = 0, - beard_1 = 0, - beard_2 = 0, -}) - --- Get list of components and maxVals -TriggerEvent('skinchanger:getData', function(components, maxVals) - print('Components => ' .. json.encode(components)) - print('MaxVals => ' .. json.encode(maxVals)) -end) - --- Get current skin -TriggerEvent('skinchanger:getSkin', function(skin) - print(json.encode(skin)) -end) -``` - -# Legal -### License -skinchanger - make your own skin! - -Copyright (C) 2015-2020 Jérémie N'gadi - -This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. - -This program Is distributed In the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty Of MERCHANTABILITY Or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License For more details. - -You should have received a copy Of the GNU General Public License along with this program. If Not, see http://www.gnu.org/licenses/. diff --git a/resources/[esx]/skinchanger/client/main.lua b/resources/[esx]/skinchanger/client/main.lua deleted file mode 100644 index b99ec9b..0000000 --- a/resources/[esx]/skinchanger/client/main.lua +++ /dev/null @@ -1,602 +0,0 @@ -local Components = { - {label = _U('sex'), name = 'sex', value = 0, min = 0, zoomOffset = 0.6, camOffset = 0.65}, - {label = _U('mom'), name = 'mom', value = 21, min = 21, zoomOffset = 0.6, camOffset = 0.65}, - {label = _U('dad'), name = 'dad', value = 0, min = 0, zoomOffset = 0.6, camOffset = 0.65}, - {label = _U('resemblance'), name = 'face_md_weight', value = 50, min = 0, zoomOffset = 0.6, camOffset = 0.65}, - {label = _U('skin_tone'), name = 'skin_md_weight', value = 50, min = 0, zoomOffset = 0.6, camOffset = 0.65}, - {label = _U('nose_1'), name = 'nose_1', value = 0, min = -10, zoomOffset = 0.6, camOffset = 0.65}, - {label = _U('nose_2'), name = 'nose_2', value = 0, min = -10, zoomOffset = 0.6, camOffset = 0.65}, - {label = _U('nose_3'), name = 'nose_3', value = 0, min = -10, zoomOffset = 0.6, camOffset = 0.65}, - {label = _U('nose_4'), name = 'nose_4', value = 0, min = -10, zoomOffset = 0.6, camOffset = 0.65}, - {label = _U('nose_5'), name = 'nose_5', value = 0, min = -10, zoomOffset = 0.6, camOffset = 0.65}, - {label = _U('nose_6'), name = 'nose_6', value = 0, min = -10, zoomOffset = 0.6, camOffset = 0.65}, - {label = _U('cheeks_1'), name = 'cheeks_1', value = 0, min = -10, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('cheeks_2'), name = 'cheeks_2', value = 0, min = -10, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('cheeks_3'), name = 'cheeks_3', value = 0, min = -10, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('lip_fullness'), name = 'lip_thickness', value = 0, min = -10, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('jaw_bone_width'), name = 'jaw_1', value = 0, min = -10, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('jaw_bone_length'), name = 'jaw_2', value = 0, min = -10, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('chin_height'), name = 'chin_1', value = 0, min = -10, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('chin_length'), name = 'chin_2', value = 0, min = -10, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('chin_width'), name = 'chin_3', value = 0, min = -10, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('chin_hole'), name = 'chin_4', value = 0, min = -10, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('neck_thickness'), name = 'neck_thickness', value = 0, min = -10, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('hair_1'), name = 'hair_1', value = 0, min = 0, zoomOffset = 0.6, camOffset = 0.65}, - {label = _U('hair_2'), name = 'hair_2', value = 0, min = 0, zoomOffset = 0.6, camOffset = 0.65}, - {label = _U('hair_color_1'), name = 'hair_color_1', value = 0, min = 0, zoomOffset = 0.6, camOffset = 0.65}, - {label = _U('hair_color_2'), name = 'hair_color_2', value = 0, min = 0, zoomOffset = 0.6, camOffset = 0.65}, - {label = _U('tshirt_1'), name = 'tshirt_1', value = 0, min = 0, zoomOffset = 0.75, camOffset = 0.15, componentId = 8}, - {label = _U('tshirt_2'), name = 'tshirt_2', value = 0, min = 0, zoomOffset = 0.75, camOffset = 0.15, textureof = 'tshirt_1'}, - {label = _U('torso_1'), name = 'torso_1', value = 0, min = 0, zoomOffset = 0.75, camOffset = 0.15, componentId = 11}, - {label = _U('torso_2'), name = 'torso_2', value = 0, min = 0, zoomOffset = 0.75, camOffset = 0.15, textureof = 'torso_1'}, - {label = _U('decals_1'), name = 'decals_1', value = 0, min = 0, zoomOffset = 0.75, camOffset = 0.15, componentId = 10}, - {label = _U('decals_2'), name = 'decals_2', value = 0, min = 0, zoomOffset = 0.75, camOffset = 0.15, textureof = 'decals_1'}, - {label = _U('arms'), name = 'arms', value = 0, min = 0, zoomOffset = 0.75, camOffset = 0.15}, - {label = _U('arms_2'), name = 'arms_2', value = 0, min = 0, zoomOffset = 0.75, camOffset = 0.15}, - {label = _U('pants_1'), name = 'pants_1', value = 0, min = 0, zoomOffset = 0.8, camOffset = -0.5, componentId = 4}, - {label = _U('pants_2'), name = 'pants_2', value = 0, min = 0, zoomOffset = 0.8, camOffset = -0.5, textureof = 'pants_1'}, - {label = _U('shoes_1'), name = 'shoes_1', value = 0, min = 0, zoomOffset = 0.8, camOffset = -0.8, componentId = 6}, - {label = _U('shoes_2'), name = 'shoes_2', value = 0, min = 0, zoomOffset = 0.8, camOffset = -0.8, textureof = 'shoes_1'}, - {label = _U('mask_1'), name = 'mask_1', value = 0, min = 0, zoomOffset = 0.6, camOffset = 0.65, componentId = 1}, - {label = _U('mask_2'), name = 'mask_2', value = 0, min = 0, zoomOffset = 0.6, camOffset = 0.65, textureof = 'mask_1'}, - {label = _U('bproof_1'), name = 'bproof_1', value = 0, min = 0, zoomOffset = 0.75, camOffset = 0.15, componentId = 9}, - {label = _U('bproof_2'), name = 'bproof_2', value = 0, min = 0, zoomOffset = 0.75, camOffset = 0.15, textureof = 'bproof_1'}, - {label = _U('chain_1'), name = 'chain_1', value = 0, min = 0, zoomOffset = 0.6, camOffset = 0.65, componentId = 7}, - {label = _U('chain_2'), name = 'chain_2', value = 0, min = 0, zoomOffset = 0.6, camOffset = 0.65, textureof = 'chain_1'}, - {label = _U('helmet_1'), name = 'helmet_1', value = -1, min = -1, zoomOffset = 0.6, camOffset = 0.65, componentId = 0 }, - {label = _U('helmet_2'), name = 'helmet_2', value = 0, min = 0, zoomOffset = 0.6, camOffset = 0.65, textureof = 'helmet_1'}, - {label = _U('glasses_1'), name = 'glasses_1', value = 0, min = 0, zoomOffset = 0.6, camOffset = 0.65, componentId = 1}, - {label = _U('glasses_2'), name = 'glasses_2', value = 0, min = 0, zoomOffset = 0.6, camOffset = 0.65, textureof = 'glasses_1'}, - {label = _U('watches_1'), name = 'watches_1', value = -1, min = -1, zoomOffset = 0.75, camOffset = 0.15, componentId = 6}, - {label = _U('watches_2'), name = 'watches_2', value = 0, min = 0, zoomOffset = 0.75, camOffset = 0.15, textureof = 'watches_1'}, - {label = _U('bracelets_1'), name = 'bracelets_1', value = -1, min = -1, zoomOffset = 0.75, camOffset = 0.15, componentId = 7}, - {label = _U('bracelets_2'), name = 'bracelets_2', value = 0, min = 0, zoomOffset = 0.75, camOffset = 0.15, textureof = 'bracelets_1'}, - {label = _U('bag'), name = 'bags_1', value = 0, min = 0, zoomOffset = 0.75, camOffset = 0.15, componentId = 5}, - {label = _U('bag_color'), name = 'bags_2', value = 0, min = 0, zoomOffset = 0.75, camOffset = 0.15, textureof = 'bags_1'}, - {label = _U('eye_color'), name = 'eye_color', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('eye_squint'), name = 'eye_squint', value = 0, min = -10, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('eyebrow_size'), name = 'eyebrows_2', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('eyebrow_type'), name = 'eyebrows_1', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('eyebrow_color_1'), name = 'eyebrows_3', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('eyebrow_color_2'), name = 'eyebrows_4', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('eyebrow_height'), name = 'eyebrows_5', value = 0, min = -10, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('eyebrow_depth'), name = 'eyebrows_6', value = 0, min = -10, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('makeup_type'), name = 'makeup_1', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('makeup_thickness'), name = 'makeup_2', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('makeup_color_1'), name = 'makeup_3', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('makeup_color_2'), name = 'makeup_4', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('lipstick_type'), name = 'lipstick_1', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('lipstick_thickness'), name = 'lipstick_2', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('lipstick_color_1'), name = 'lipstick_3', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('lipstick_color_2'), name = 'lipstick_4', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('ear_accessories'), name = 'ears_1', value = -1, min = -1, zoomOffset = 0.4, camOffset = 0.65, componentId = 2}, - {label = _U('ear_accessories_color'), name = 'ears_2', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65, textureof = 'ears_1'}, - {label = _U('chest_hair'), name = 'chest_1', value = 0, min = 0, zoomOffset = 0.75, camOffset = 0.15}, - {label = _U('chest_hair_1'), name = 'chest_2', value = 0, min = 0, zoomOffset = 0.75, camOffset = 0.15}, - {label = _U('chest_color'), name = 'chest_3', value = 0, min = 0, zoomOffset = 0.75, camOffset = 0.15}, - {label = _U('bodyb'), name = 'bodyb_1', value = -1, min = -1, zoomOffset = 0.75, camOffset = 0.15}, - {label = _U('bodyb_size'), name = 'bodyb_2', value = 0, min = 0, zoomOffset = 0.75, camOffset = 0.15}, - {label = _U('bodyb_extra'), name = 'bodyb_3', value = -1, min = -1, zoomOffset = 0.4, camOffset = 0.15}, - {label = _U('bodyb_extra_thickness'), name = 'bodyb_4', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.15}, - {label = _U('wrinkles'), name = 'age_1', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('wrinkle_thickness'), name = 'age_2', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('blemishes'), name = 'blemishes_1', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('blemishes_size'), name = 'blemishes_2', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('blush'), name = 'blush_1', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('blush_1'), name = 'blush_2', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('blush_color'), name = 'blush_3', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('complexion'), name = 'complexion_1', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('complexion_1'), name = 'complexion_2', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('sun'), name = 'sun_1', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('sun_1'), name = 'sun_2', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('freckles'), name = 'moles_1', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('freckles_1'), name = 'moles_2', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('beard_type'), name = 'beard_1', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('beard_size'), name = 'beard_2', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('beard_color_1'), name = 'beard_3', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65}, - {label = _U('beard_color_2'), name = 'beard_4', value = 0, min = 0, zoomOffset = 0.4, camOffset = 0.65} -} - -local LastSex = -1 -local LoadSkin = nil -local LoadClothes = nil -local Character = {} - -for i=1, #Components, 1 do - Character[Components[i].name] = Components[i].value -end - -function LoadDefaultModel(malePed, cb) - local playerPed = PlayerPedId() - local characterModel - - if malePed then - characterModel = GetHashKey('mp_m_freemode_01') - else - characterModel = GetHashKey('mp_f_freemode_01') - end - - RequestModel(characterModel) - - Citizen.CreateThread(function() - while not HasModelLoaded(characterModel) do - RequestModel(characterModel) - Citizen.Wait(0) - end - - if IsModelInCdimage(characterModel) and IsModelValid(characterModel) then - SetPlayerModel(PlayerId(), characterModel) - SetPedDefaultComponentVariation(playerPed) - end - - SetModelAsNoLongerNeeded(characterModel) - - if cb ~= nil then - cb() - end - - TriggerEvent('skinchanger:modelLoaded') - end) -end - -function GetMaxVals() - local playerPed = PlayerPedId() - - local data = { - sex = 1, - mom = 45, -- numbers 21-41 and 45 are female (22 total) - dad = 44, -- numbers 0-20 and 42-44 are male (24 total) - face_md_weight = 100, - skin_md_weight = 100, - nose_1 = 10, - nose_2 = 10, - nose_3 = 10, - nose_4 = 10, - nose_5 = 10, - nose_6 = 10, - cheeks_1 = 10, - cheeks_2 = 10, - cheeks_3 = 10, - lip_thickness = 10, - jaw_1 = 10, - jaw_2 = 10, - chin_1 = 10, - chin_2 = 10, - chin_3 = 10, - chin_4 = 10, - neck_thickness = 10, - age_1 = GetNumHeadOverlayValues(3)-1, - age_2 = 10, - beard_1 = GetNumHeadOverlayValues(1)-1, - beard_2 = 10, - beard_3 = GetNumHairColors()-1, - beard_4 = GetNumHairColors()-1, - hair_1 = GetNumberOfPedDrawableVariations (playerPed, 2) - 1, - hair_2 = GetNumberOfPedTextureVariations (playerPed, 2, Character['hair_1']) - 1, - hair_color_1 = GetNumHairColors()-1, - hair_color_2 = GetNumHairColors()-1, - eye_color = 31, - eye_squint = 10, - eyebrows_1 = GetNumHeadOverlayValues(2)-1, - eyebrows_2 = 10, - eyebrows_3 = GetNumHairColors()-1, - eyebrows_4 = GetNumHairColors()-1, - eyebrows_5 = 10, - eyebrows_6 = 10, - makeup_1 = GetNumHeadOverlayValues(4)-1, - makeup_2 = 10, - makeup_3 = GetNumHairColors()-1, - makeup_4 = GetNumHairColors()-1, - lipstick_1 = GetNumHeadOverlayValues(8)-1, - lipstick_2 = 10, - lipstick_3 = GetNumHairColors()-1, - lipstick_4 = GetNumHairColors()-1, - blemishes_1 = GetNumHeadOverlayValues(0)-1, - blemishes_2 = 10, - blush_1 = GetNumHeadOverlayValues(5)-1, - blush_2 = 10, - blush_3 = GetNumHairColors()-1, - complexion_1 = GetNumHeadOverlayValues(6)-1, - complexion_2 = 10, - sun_1 = GetNumHeadOverlayValues(7)-1, - sun_2 = 10, - moles_1 = GetNumHeadOverlayValues(9)-1, - moles_2 = 10, - chest_1 = GetNumHeadOverlayValues(10)-1, - chest_2 = 10, - chest_3 = GetNumHairColors()-1, - bodyb_1 = GetNumHeadOverlayValues(11)-1, - bodyb_2 = 10, - bodyb_3 = GetNumHeadOverlayValues(12)-1, - bodyb_4 = 10, - ears_1 = GetNumberOfPedPropDrawableVariations (playerPed, 2) - 1, - ears_2 = GetNumberOfPedPropTextureVariations (playerPed, 2, Character['ears_1'] - 1), - tshirt_1 = GetNumberOfPedDrawableVariations (playerPed, 8) - 1, - tshirt_2 = GetNumberOfPedTextureVariations (playerPed, 8, Character['tshirt_1']) - 1, - torso_1 = GetNumberOfPedDrawableVariations (playerPed, 11) - 1, - torso_2 = GetNumberOfPedTextureVariations (playerPed, 11, Character['torso_1']) - 1, - decals_1 = GetNumberOfPedDrawableVariations (playerPed, 10) - 1, - decals_2 = GetNumberOfPedTextureVariations (playerPed, 10, Character['decals_1']) - 1, - arms = GetNumberOfPedDrawableVariations (playerPed, 3) - 1, - arms_2 = 10, - pants_1 = GetNumberOfPedDrawableVariations (playerPed, 4) - 1, - pants_2 = GetNumberOfPedTextureVariations (playerPed, 4, Character['pants_1']) - 1, - shoes_1 = GetNumberOfPedDrawableVariations (playerPed, 6) - 1, - shoes_2 = GetNumberOfPedTextureVariations (playerPed, 6, Character['shoes_1']) - 1, - mask_1 = GetNumberOfPedDrawableVariations (playerPed, 1) - 1, - mask_2 = GetNumberOfPedTextureVariations (playerPed, 1, Character['mask_1']) - 1, - bproof_1 = GetNumberOfPedDrawableVariations (playerPed, 9) - 1, - bproof_2 = GetNumberOfPedTextureVariations (playerPed, 9, Character['bproof_1']) - 1, - chain_1 = GetNumberOfPedDrawableVariations (playerPed, 7) - 1, - chain_2 = GetNumberOfPedTextureVariations (playerPed, 7, Character['chain_1']) - 1, - bags_1 = GetNumberOfPedDrawableVariations (playerPed, 5) - 1, - bags_2 = GetNumberOfPedTextureVariations (playerPed, 5, Character['bags_1']) - 1, - helmet_1 = GetNumberOfPedPropDrawableVariations (playerPed, 0) - 1, - helmet_2 = GetNumberOfPedPropTextureVariations (playerPed, 0, Character['helmet_1']) - 1, - glasses_1 = GetNumberOfPedPropDrawableVariations (playerPed, 1) - 1, - glasses_2 = GetNumberOfPedPropTextureVariations (playerPed, 1, Character['glasses_1'] - 1), - watches_1 = GetNumberOfPedPropDrawableVariations (playerPed, 6) - 1, - watches_2 = GetNumberOfPedPropTextureVariations (playerPed, 6, Character['watches_1']) - 1, - bracelets_1 = GetNumberOfPedPropDrawableVariations (playerPed, 7) - 1, - bracelets_2 = GetNumberOfPedPropTextureVariations (playerPed, 7, Character['bracelets_1'] - 1) - } - - return data -end - -function ApplySkin(skin, clothes) - local playerPed = PlayerPedId() - - for k,v in pairs(skin) do - Character[k] = v - end - - if clothes ~= nil then - for k,v in pairs(clothes) do - if - k ~= 'sex' and - k ~= 'mom' and - k ~= 'dad' and - k ~= 'face_md_weight' and - k ~= 'skin_md_weight' and - k ~= 'nose_1' and - k ~= 'nose_2' and - k ~= 'nose_3' and - k ~= 'nose_4' and - k ~= 'nose_5' and - k ~= 'nose_6' and - k ~= 'cheeks_1' and - k ~= 'cheeks_2' and - k ~= 'cheeks_3' and - k ~= 'lip_thickness' and - k ~= 'jaw_1' and - k ~= 'jaw_2' and - k ~= 'chin_1' and - k ~= 'chin_2' and - k ~= 'chin_3' and - k ~= 'chin_4' and - k ~= 'neck_thickness' and - k ~= 'age_1' and - k ~= 'age_2' and - k ~= 'eye_color' and - k ~= 'eye_squint' and - k ~= 'beard_1' and - k ~= 'beard_2' and - k ~= 'beard_3' and - k ~= 'beard_4' and - k ~= 'hair_1' and - k ~= 'hair_2' and - k ~= 'hair_color_1' and - k ~= 'hair_color_2' and - k ~= 'eyebrows_1' and - k ~= 'eyebrows_2' and - k ~= 'eyebrows_3' and - k ~= 'eyebrows_4' and - k ~= 'eyebrows_5' and - k ~= 'eyebrows_6' and - k ~= 'makeup_1' and - k ~= 'makeup_2' and - k ~= 'makeup_3' and - k ~= 'makeup_4' and - k ~= 'lipstick_1' and - k ~= 'lipstick_2' and - k ~= 'lipstick_3' and - k ~= 'lipstick_4' and - k ~= 'blemishes_1' and - k ~= 'blemishes_2' and - k ~= 'blemishes_3' and - k ~= 'blush_1' and - k ~= 'blush_2' and - k ~= 'blush_3' and - k ~= 'complexion_1' and - k ~= 'complexion_2' and - k ~= 'sun_1' and - k ~= 'sun_2' and - k ~= 'moles_1' and - k ~= 'moles_2' and - k ~= 'chest_1' and - k ~= 'chest_2' and - k ~= 'chest_3' and - k ~= 'bodyb_1' and - k ~= 'bodyb_2' and - k ~= 'bodyb_3' and - k ~= 'bodyb_4' - then - Character[k] = v - end - end - end - - local face_weight = (Character['face_md_weight'] / 100) + 0.0 - local skin_weight = (Character['skin_md_weight'] / 100) + 0.0 - SetPedHeadBlendData (playerPed, Character['mom'], Character['dad'], 0, Character['mom'], Character['dad'], 0, face_weight, skin_weight, 0.0, false) - - SetPedFaceFeature (playerPed, 0, (Character['nose_1'] / 10) + 0.0) -- Nose Width - SetPedFaceFeature (playerPed, 1, (Character['nose_2'] / 10) + 0.0) -- Nose Peak Height - SetPedFaceFeature (playerPed, 2, (Character['nose_3'] / 10) + 0.0) -- Nose Peak Length - SetPedFaceFeature (playerPed, 3, (Character['nose_4'] / 10) + 0.0) -- Nose Bone Height - SetPedFaceFeature (playerPed, 4, (Character['nose_5'] / 10) + 0.0) -- Nose Peak Lowering - SetPedFaceFeature (playerPed, 5, (Character['nose_6'] / 10) + 0.0) -- Nose Bone Twist - SetPedFaceFeature (playerPed, 6, (Character['eyebrows_5'] / 10) + 0.0) -- Eyebrow height - SetPedFaceFeature (playerPed, 7, (Character['eyebrows_6'] / 10) + 0.0) -- Eyebrow depth - SetPedFaceFeature (playerPed, 8, (Character['cheeks_1'] / 10) + 0.0) -- Cheekbones Height - SetPedFaceFeature (playerPed, 9, (Character['cheeks_2'] / 10) + 0.0) -- Cheekbones Width - SetPedFaceFeature (playerPed, 10, (Character['cheeks_3'] / 10) + 0.0) -- Cheeks Width - SetPedFaceFeature (playerPed, 11, (Character['eye_squint'] / 10) + 0.0) -- Eyes squint - SetPedFaceFeature (playerPed, 12, (Character['lip_thickness'] / 10) + 0.0) -- Lip Fullness - SetPedFaceFeature (playerPed, 13, (Character['jaw_1'] / 10) + 0.0) -- Jaw Bone Width - SetPedFaceFeature (playerPed, 14, (Character['jaw_2'] / 10) + 0.0) -- Jaw Bone Length - SetPedFaceFeature (playerPed, 15, (Character['chin_1'] / 10) + 0.0) -- Chin Height - SetPedFaceFeature (playerPed, 16, (Character['chin_2'] / 10) + 0.0) -- Chin Length - SetPedFaceFeature (playerPed, 17, (Character['chin_3'] / 10) + 0.0) -- Chin Width - SetPedFaceFeature (playerPed, 18, (Character['chin_4'] / 10) + 0.0) -- Chin Hole Size - SetPedFaceFeature (playerPed, 19, (Character['neck_thickness'] / 10) + 0.0) -- Neck Thickness - - SetPedHairColor (playerPed, Character['hair_color_1'], Character['hair_color_2']) -- Hair Color - SetPedHeadOverlay (playerPed, 3, Character['age_1'], (Character['age_2'] / 10) + 0.0) -- Age + opacity - SetPedHeadOverlay (playerPed, 0, Character['blemishes_1'], (Character['blemishes_2'] / 10) + 0.0) -- Blemishes + opacity - SetPedHeadOverlay (playerPed, 1, Character['beard_1'], (Character['beard_2'] / 10) + 0.0) -- Beard + opacity - SetPedEyeColor (playerPed, Character['eye_color'], 0, 1) -- Eyes color - SetPedHeadOverlay (playerPed, 2, Character['eyebrows_1'], (Character['eyebrows_2'] / 10) + 0.0) -- Eyebrows + opacity - SetPedHeadOverlay (playerPed, 4, Character['makeup_1'], (Character['makeup_2'] / 10) + 0.0) -- Makeup + opacity - SetPedHeadOverlay (playerPed, 8, Character['lipstick_1'], (Character['lipstick_2'] / 10) + 0.0) -- Lipstick + opacity - SetPedComponentVariation (playerPed, 2, Character['hair_1'], Character['hair_2'], 2) -- Hair - SetPedHeadOverlayColor (playerPed, 1, 1, Character['beard_3'], Character['beard_4']) -- Beard Color - SetPedHeadOverlayColor (playerPed, 2, 1, Character['eyebrows_3'], Character['eyebrows_4']) -- Eyebrows Color - SetPedHeadOverlayColor (playerPed, 4, 2, Character['makeup_3'], Character['makeup_4']) -- Makeup Color - SetPedHeadOverlayColor (playerPed, 8, 1, Character['lipstick_3'], Character['lipstick_4']) -- Lipstick Color - SetPedHeadOverlay (playerPed, 5, Character['blush_1'], (Character['blush_2'] / 10) + 0.0) -- Blush + opacity - SetPedHeadOverlayColor (playerPed, 5, 2, Character['blush_3']) -- Blush Color - SetPedHeadOverlay (playerPed, 6, Character['complexion_1'], (Character['complexion_2'] / 10) + 0.0) -- Complexion + opacity - SetPedHeadOverlay (playerPed, 7, Character['sun_1'], (Character['sun_2'] / 10) + 0.0) -- Sun Damage + opacity - SetPedHeadOverlay (playerPed, 9, Character['moles_1'], (Character['moles_2'] / 10) + 0.0) -- Moles/Freckles + opacity - SetPedHeadOverlay (playerPed, 10, Character['chest_1'], (Character['chest_2'] / 10) + 0.0) -- Chest Hair + opacity - SetPedHeadOverlayColor (playerPed, 10, 1, Character['chest_3']) -- Torso Color - - if Character['bodyb_1'] == -1 then - SetPedHeadOverlay (playerPed, 11, 255, (Character['bodyb_2'] / 10) + 0.0) -- Body Blemishes + opacity - else - SetPedHeadOverlay (playerPed, 11, Character['bodyb_1'], (Character['bodyb_2'] / 10) + 0.0) - end - - if Character['bodyb_3'] == -1 then - SetPedHeadOverlay (playerPed, 12, 255, (Character['bodyb_4'] / 10) + 0.0) - else - SetPedHeadOverlay (playerPed, 12, Character['bodyb_3'], (Character['bodyb_4'] / 10) + 0.0) -- Blemishes 'added body effect' + opacity - end - - if Character['ears_1'] == -1 then - ClearPedProp(playerPed, 2) - else - SetPedPropIndex (playerPed, 2, Character['ears_1'], Character['ears_2'], 2) -- Ears Accessories - end - - SetPedComponentVariation (playerPed, 8, Character['tshirt_1'], Character['tshirt_2'], 2) -- Tshirt - SetPedComponentVariation (playerPed, 11, Character['torso_1'], Character['torso_2'], 2) -- torso parts - SetPedComponentVariation (playerPed, 3, Character['arms'], Character['arms_2'], 2) -- Amrs - SetPedComponentVariation (playerPed, 10, Character['decals_1'], Character['decals_2'], 2) -- decals - SetPedComponentVariation (playerPed, 4, Character['pants_1'], Character['pants_2'], 2) -- pants - SetPedComponentVariation (playerPed, 6, Character['shoes_1'], Character['shoes_2'], 2) -- shoes - SetPedComponentVariation (playerPed, 1, Character['mask_1'], Character['mask_2'], 2) -- mask - SetPedComponentVariation (playerPed, 9, Character['bproof_1'], Character['bproof_2'], 2) -- bulletproof - SetPedComponentVariation (playerPed, 7, Character['chain_1'], Character['chain_2'], 2) -- chain - SetPedComponentVariation (playerPed, 5, Character['bags_1'], Character['bags_2'], 2) -- Bag - - if Character['helmet_1'] == -1 then - ClearPedProp(playerPed, 0) - else - SetPedPropIndex (playerPed, 0, Character['helmet_1'], Character['helmet_2'], 2) -- Helmet - end - - if Character['glasses_1'] == -1 then - ClearPedProp(playerPed, 1) - else - SetPedPropIndex (playerPed, 1, Character['glasses_1'], Character['glasses_2'], 2) -- Glasses - end - - if Character['watches_1'] == -1 then - ClearPedProp(playerPed, 6) - else - SetPedPropIndex (playerPed, 6, Character['watches_1'], Character['watches_2'], 2) -- Watches - end - - if Character['bracelets_1'] == -1 then - ClearPedProp(playerPed, 7) - else - SetPedPropIndex (playerPed, 7, Character['bracelets_1'], Character['bracelets_2'], 2) -- Bracelets - end -end - -AddEventHandler('skinchanger:loadDefaultModel', function(loadMale, cb) - LoadDefaultModel(loadMale, cb) -end) - -AddEventHandler('skinchanger:getData', function(cb) - local components = json.decode(json.encode(Components)) - - for k,v in pairs(Character) do - for i=1, #components, 1 do - if k == components[i].name then - components[i].value = v - --components[i].zoomOffset = Components[i].zoomOffset - --components[i].camOffset = Components[i].camOffset - end - end - end - - cb(components, GetMaxVals()) -end) - -AddEventHandler('skinchanger:change', function(key, val) - Character[key] = val - - if key == 'sex' then - TriggerEvent('skinchanger:loadSkin', Character) - else - ApplySkin(Character) - end -end) - -AddEventHandler('skinchanger:getSkin', function(cb) - cb(Character) -end) - -AddEventHandler('skinchanger:modelLoaded', function() - ClearPedProp(PlayerPedId(), 0) - - if LoadSkin ~= nil then - ApplySkin(LoadSkin) - LoadSkin = nil - end - - if LoadClothes ~= nil then - ApplySkin(LoadClothes.playerSkin, LoadClothes.clothesSkin) - LoadClothes = nil - end -end) - -RegisterNetEvent('skinchanger:loadSkin') -AddEventHandler('skinchanger:loadSkin', function(skin, cb) - if skin['sex'] ~= LastSex then - LoadSkin = skin - - if skin['sex'] == 0 then - TriggerEvent('skinchanger:loadDefaultModel', true, cb) - else - TriggerEvent('skinchanger:loadDefaultModel', false, cb) - end - else - ApplySkin(skin) - - if cb ~= nil then - cb() - end - end - - LastSex = skin['sex'] -end) - -RegisterNetEvent('skinchanger:loadClothes') -AddEventHandler('skinchanger:loadClothes', function(playerSkin, clothesSkin) - if playerSkin['sex'] ~= LastSex then - LoadClothes = { - playerSkin = playerSkin, - clothesSkin = clothesSkin - } - - if playerSkin['sex'] == 0 then - TriggerEvent('skinchanger:loadDefaultModel', true) - else - TriggerEvent('skinchanger:loadDefaultModel', false) - end - else - ApplySkin(playerSkin, clothesSkin) - end - - LastSex = playerSkin['sex'] -end) - - - - - -exports('GetPedList', function() - return pedList -end) - -RegisterNetEvent('skinchanger:loadSkin2') -AddEventHandler('skinchanger:loadSkin2', function(multipedID, skin) - local MultiPed = {} - for i=1, #Components, 1 do - MultiPed[Components[i].name] = Components[i].value - end - for k,v in pairs(skin) do - MultiPed[k] = v - end - - SetPedHeadBlendData (multipedID, MultiPed['face'], MultiPed['face'], MultiPed['face'], MultiPed['skin'], MultiPed['skin'], MultiPed['skin'], 1.0, 1.0, 1.0, true) - - SetPedHairColor (multipedID, MultiPed['hair_color_1'], MultiPed['hair_color_2']) -- Hair Color - SetPedHeadOverlay (multipedID, 3, MultiPed['age_1'], (MultiPed['age_2'] / 10) + 0.0) -- Age + opacity - SetPedHeadOverlay (multipedID, 0, MultiPed['blemishes_1'], (MultiPed['blemishes_2'] / 10) + 0.0) -- Blemishes + opacity - SetPedHeadOverlay (multipedID, 1, MultiPed['beard_1'], (MultiPed['beard_2'] / 10) + 0.0) -- Beard + opacity - SetPedEyeColor (multipedID, MultiPed['eye_color'], 0, 1) -- Eyes color - SetPedHeadOverlay (multipedID, 2, MultiPed['eyebrows_1'], (MultiPed['eyebrows_2'] / 10) + 0.0) -- Eyebrows + opacity - SetPedHeadOverlay (multipedID, 4, MultiPed['makeup_1'], (MultiPed['makeup_2'] / 10) + 0.0) -- Makeup + opacity - SetPedHeadOverlay (multipedID, 8, MultiPed['lipstick_1'], (MultiPed['lipstick_2'] / 10) + 0.0) -- Lipstick + opacity - SetPedComponentVariation (multipedID, 2, MultiPed['hair_1'], MultiPed['hair_2'], 2) -- Hair - SetPedHeadOverlayColor (multipedID, 1, 1, MultiPed['beard_3'], MultiPed['beard_4']) -- Beard Color - SetPedHeadOverlayColor (multipedID, 2, 1, MultiPed['eyebrows_3'], MultiPed['eyebrows_4']) -- Eyebrows Color - SetPedHeadOverlayColor (multipedID, 4, 1, MultiPed['makeup_3'], MultiPed['makeup_4']) -- Makeup Color - SetPedHeadOverlayColor (multipedID, 8, 1, MultiPed['lipstick_3'], MultiPed['lipstick_4']) -- Lipstick Color - SetPedHeadOverlay (multipedID, 5, MultiPed['blush_1'], (MultiPed['blush_2'] / 10) + 0.0) -- Blush + opacity - SetPedHeadOverlayColor (multipedID, 5, 2, MultiPed['blush_3']) -- Blush Color - SetPedHeadOverlay (multipedID, 6, MultiPed['complexion_1'], (MultiPed['complexion_2'] / 10) + 0.0) -- Complexion + opacity - SetPedHeadOverlay (multipedID, 7, MultiPed['sun_1'], (MultiPed['sun_2'] / 10) + 0.0) -- Sun Damage + opacity - SetPedHeadOverlay (multipedID, 9, MultiPed['moles_1'], (MultiPed['moles_2'] / 10) + 0.0) -- Moles/Freckles + opacity - SetPedHeadOverlay (multipedID, 10, MultiPed['chest_1'], (MultiPed['chest_2'] / 10) + 0.0) -- Chest Hair + opacity - SetPedHeadOverlayColor (multipedID, 10, 1, MultiPed['chest_3']) -- Torso Color - SetPedHeadOverlay (multipedID, 11, MultiPed['bodyb_1'], (MultiPed['bodyb_2'] / 10) + 0.0) -- Body Blemishes + opacity - - if MultiPed['ears_1'] == -1 then - ClearPedProp(multipedID, 2) - else - SetPedPropIndex (multipedID, 2, MultiPed['ears_1'], MultiPed['ears_2'], 2) -- Ears Accessories - end - - SetPedComponentVariation (multipedID, 8, MultiPed['tshirt_1'], MultiPed['tshirt_2'], 2) -- Tshirt - SetPedComponentVariation (multipedID, 11, MultiPed['torso_1'], MultiPed['torso_2'], 2) -- torso parts - SetPedComponentVariation (multipedID, 3, MultiPed['arms'], MultiPed['arms_2'], 2) -- Amrs - SetPedComponentVariation (multipedID, 10, MultiPed['decals_1'], MultiPed['decals_2'], 2) -- decals - SetPedComponentVariation (multipedID, 4, MultiPed['pants_1'], MultiPed['pants_2'], 2) -- pants - SetPedComponentVariation (multipedID, 6, MultiPed['shoes_1'], MultiPed['shoes_2'], 2) -- shoes - SetPedComponentVariation (multipedID, 1, MultiPed['mask_1'], MultiPed['mask_2'], 2) -- mask - SetPedComponentVariation (multipedID, 9, MultiPed['bproof_1'], MultiPed['bproof_2'], 2) -- bulletproof - SetPedComponentVariation (multipedID, 7, MultiPed['chain_1'], MultiPed['chain_2'], 2) -- chain - SetPedComponentVariation (multipedID, 5, MultiPed['bags_1'], MultiPed['bags_2'], 2) -- Bag - - if MultiPed['helmet_1'] == -1 then - ClearPedProp(multipedID, 0) - else - SetPedPropIndex (multipedID, 0, MultiPed['helmet_1'], MultiPed['helmet_2'], 2) -- Helmet - end - - if MultiPed['glasses_1'] == -1 then - ClearPedProp(multipedID, 1) - else - SetPedPropIndex (multipedID, 1, MultiPed['glasses_1'], MultiPed['glasses_2'], 2) -- Glasses - end - - if MultiPed['watches_1'] == -1 then - ClearPedProp(multipedID, 6) - else - SetPedPropIndex (multipedID, 6, MultiPed['watches_1'], MultiPed['watches_2'], 2) -- Watches - end - - if MultiPed['bracelets_1'] == -1 then - ClearPedProp(multipedID, 7) - else - SetPedPropIndex (multipedID, 7, MultiPed['bracelets_1'], MultiPed['bracelets_2'], 2) -- Bracelets - end - MultiPed = nil -end) \ No newline at end of file diff --git a/resources/[esx]/skinchanger/config.lua b/resources/[esx]/skinchanger/config.lua deleted file mode 100644 index a3d6aa8..0000000 --- a/resources/[esx]/skinchanger/config.lua +++ /dev/null @@ -1,3 +0,0 @@ -Config = {} - -Config.Locale = 'en' diff --git a/resources/[esx]/skinchanger/fxmanifest.lua b/resources/[esx]/skinchanger/fxmanifest.lua deleted file mode 100644 index c1fb2f4..0000000 --- a/resources/[esx]/skinchanger/fxmanifest.lua +++ /dev/null @@ -1,22 +0,0 @@ -fx_version 'adamant' - -game 'gta5' - -description 'Skin Changer' - -version '1.0.3' - -client_scripts { - 'locale.lua', - 'locales/br.lua', - 'locales/de.lua', - 'locales/en.lua', - 'locales/es.lua', - 'locales/fi.lua', - 'locales/fr.lua', - 'locales/pl.lua', - 'locales/sv.lua', - 'locales/tr.lua', - 'config.lua', - 'client/main.lua' -} diff --git a/resources/[esx]/skinchanger/locale.lua b/resources/[esx]/skinchanger/locale.lua deleted file mode 100644 index 0cd7174..0000000 --- a/resources/[esx]/skinchanger/locale.lua +++ /dev/null @@ -1,21 +0,0 @@ -Locales = {} - -function _(str, ...) -- Translate string - - if Locales[Config.Locale] ~= nil then - - if Locales[Config.Locale][str] ~= nil then - return string.format(Locales[Config.Locale][str], ...) - else - return 'Translation [' .. Config.Locale .. '][' .. str .. '] does not exist' - end - - else - return 'Locale [' .. Config.Locale .. '] does not exist' - end - -end - -function _U(str, ...) -- Translate string first char uppercase - return tostring(_(str, ...):gsub("^%l", string.upper)) -end diff --git a/resources/[esx]/skinchanger/locales/br.lua b/resources/[esx]/skinchanger/locales/br.lua deleted file mode 100644 index 355e966..0000000 --- a/resources/[esx]/skinchanger/locales/br.lua +++ /dev/null @@ -1,76 +0,0 @@ -Locales['br'] = { - ['sex'] = 'sexo', - ['face'] = 'rosto', - ['skin'] = 'pele', - ['wrinkles'] = 'rugas', - ['wrinkle_thickness'] = 'espessura das rugas', - ['beard_type'] = 'tipo de barba', - ['beard_size'] = 'tamanho da barba', - ['beard_color_1'] = 'cor da barba 1', - ['beard_color_2'] = 'cor da barba 2', - ['hair_1'] = 'cabelo 1', - ['hair_2'] = 'cabelo 2', - ['hair_color_1'] = 'cor do cabelo 1', - ['hair_color_2'] = 'cor do cabelo 2', - ['eyebrow_type'] = 'tipo de sobrancelha', - ['eye_color'] = 'cor dos olhos', - ['eyebrow_size'] = 'tamanho da sobrancelha', - ['eyebrow_color_1'] = 'cor da sobrancelha 1', - ['eyebrow_color_2'] = 'cor da sobrancelha 2', - ['makeup_type'] = 'tipo de maquiagem', - ['makeup_thickness'] = 'espessura da maquiagem', - ['makeup_color_1'] = 'cor da maquiagem 1', - ['makeup_color_2'] = 'cor da maquiagem 2', - ['lipstick_type'] = 'tipo de batom', - ['lipstick_thickness'] = 'espessura do batom', - ['lipstick_color_1'] = 'cor do batom 1', - ['lipstick_color_2'] = 'cor do batom 2', - ['ear_accessories'] = 'acessorios para orelha', - ['ear_accessories_color'] = 'cor dos acessorios', - ['tshirt_1'] = 'camiseta 1', - ['tshirt_2'] = 'camiseta 2', - ['torso_1'] = 'tronco 1', - ['torso_2'] = 'tronco 2', - ['decals_1'] = 'adesivos 1', - ['decals_2'] = 'adesivos 2', - ['arms'] = 'braços', - ['arms_2'] = 'braços 2', - ['pants_1'] = 'calça 1', - ['pants_2'] = 'calça 2', - ['shoes_1'] = 'calçados 1', - ['shoes_2'] = 'calçados 2', - ['mask_1'] = 'máscara 1', - ['mask_2'] = 'máscara 2', - ['bproof_1'] = 'colete 1', - ['bproof_2'] = 'colete 2', - ['chain_1'] = 'acessórios pescoço 1', - ['chain_2'] = 'acessórios pescoço 2', - ['helmet_1'] = 'capacete 1', - ['helmet_2'] = 'capacete 2', - ['watches_1'] = 'relógios 1', - ['watches_2'] = 'relógios 2', - ['bracelets_1'] = 'bracelets 1', - ['bracelets_2'] = 'bracelets 2', - ['glasses_1'] = 'óculos 1', - ['glasses_2'] = 'óculos 2', - ['bag'] = 'mochilas', - ['bag_color'] = 'cor das mochilas', - ['blemishes'] = 'manchas', - ['blemishes_size']= 'espessura das manchas', - ['ageing'] = 'envelhecimento', - ['ageing_1'] = 'espessura do envelhecimento', - ['blush'] = 'blush', - ['blush_1'] = 'espessura do blush', - ['blush_color'] = 'cor do blush', - ['complexion'] = 'pele', - ['complexion_1'] = 'pele espessura', - ['sun'] = 'bronzeado', - ['sun_1'] = 'quantidade do bronzeamento', - ['freckles'] = 'sardas', - ['freckles_1'] = 'sardas quantidade', - ['chest_hair'] = 'cabelo no peito', - ['chest_hair_1'] = 'quantidade de cabelo no peito', - ['chest_color'] = 'cor do cabelo no peito', - ['bodyb'] = 'manchas no corpo', - ['bodyb_size'] = 'espessura de manchas do corpo', -} diff --git a/resources/[esx]/skinchanger/locales/de.lua b/resources/[esx]/skinchanger/locales/de.lua deleted file mode 100644 index ccd8801..0000000 --- a/resources/[esx]/skinchanger/locales/de.lua +++ /dev/null @@ -1,76 +0,0 @@ -Locales['de'] = { - ['sex'] = 'geschlecht', - ['face'] = 'gesicht', - ['skin'] = 'skin', - ['wrinkles'] = 'falten', - ['wrinkle_thickness'] = 'faltendicke', - ['beard_type'] = 'bart Typ', - ['beard_size'] = 'bartdichte', - ['beard_color_1'] = 'bartfarbe 1', - ['beard_color_2'] = 'bartfarbe 2', - ['hair_1'] = 'haare 1', - ['hair_2'] = 'haare 2', - ['hair_color_1'] = 'haarfarbe 1', - ['hair_color_2'] = 'haarfarbe 2', - ['eye_color'] = 'eye color', - ['eyebrow_type'] = 'augenbrauen Typ', - ['eyebrow_size'] = 'augenbrauen Größe', - ['eyebrow_color_1'] = 'augenbrauenfarbe 1', - ['eyebrow_color_2'] = 'augenbrauenfarbe 2', - ['makeup_type'] = 'makeup Typ', - ['makeup_thickness'] = 'makeup dicke', - ['makeup_color_1'] = 'makeupfarbe 1', - ['makeup_color_2'] = 'makeupfarbe 2', - ['lipstick_type'] = 'lippenstift Typ', - ['lipstick_thickness'] = 'lippenstift dicke', - ['lipstick_color_1'] = 'lippenstiffarbe 1', - ['lipstick_color_2'] = 'lippenstiftfarbe 2', - ['ear_accessories'] = 'ohr Accessories', - ['ear_accessories_color'] = 'ohr Accessories Farbe', - ['tshirt_1'] = 't-Shirt 1', - ['tshirt_2'] = 't-Shirt 2', - ['torso_1'] = 'torso 1', - ['torso_2'] = 'torso 2', - ['decals_1'] = 'tattoos 1', - ['decals_2'] = 'tattoos 2', - ['arms'] = 'arme', - ['arms_2'] = 'arme 2', - ['pants_1'] = 'hosen 1', - ['pants_2'] = 'hosen 2', - ['shoes_1'] = 'schuhe 1', - ['shoes_2'] = 'schuhe 2', - ['mask_1'] = 'maske 1', - ['mask_2'] = 'maske 2', - ['bproof_1'] = 'schusssichere Weste 1', - ['bproof_2'] = 'schusssichere Weste 2', - ['chain_1'] = 'kette 1', - ['chain_2'] = 'kette 2', - ['helmet_1'] = 'helm 1', - ['helmet_2'] = 'helm 2', - ['watches_1'] = 'watches 1', - ['watches_2'] = 'watches 2', - ['bracelets_1'] = 'bracelets 1', - ['bracelets_2'] = 'bracelets 2', - ['glasses_1'] = 'brille 1', - ['glasses_2'] = 'brille 2', - ['bag'] = 'rucksack', - ['bag_color'] = 'rucksackfarbe', - ['blemishes'] = 'blemishes', - ['blemishes_size']= 'blemishes thickness', - ['ageing'] = 'ageing', - ['ageing_1'] = 'ageing thickness', - ['blush'] = 'blush', - ['blush_1'] = 'blush thickness', - ['blush_color'] = 'blush color', - ['complexion'] = 'complexion', - ['complexion_1'] = 'complexion thickness', - ['sun'] = 'sun', - ['sun_1'] = 'sun thickness', - ['freckles'] = 'freckles', - ['freckles_1'] = 'freckles thickness', - ['chest_hair'] = 'chest hair', - ['chest_hair_1'] = 'chest hair thickness', - ['chest_color'] = 'chest hair color', - ['bodyb'] = 'body blemishes', - ['bodyb_size'] = 'body blemishes thickness', -} diff --git a/resources/[esx]/skinchanger/locales/en.lua b/resources/[esx]/skinchanger/locales/en.lua deleted file mode 100644 index be297c9..0000000 --- a/resources/[esx]/skinchanger/locales/en.lua +++ /dev/null @@ -1,100 +0,0 @@ -Locales['en'] = { - ['sex'] = 'sex', - ['mom'] = 'mom\'s face', - ['dad'] = 'dad\'s face', - ['resemblance'] = 'resemblance', - ['skin_tone'] = 'skin tone', - ['nose_1'] = 'nose width', - ['nose_2'] = 'nose peak height', - ['nose_3'] = 'nose peak length', - ['nose_4'] = 'nose bone height', - ['nose_5'] = 'nose peak lowering', - ['nose_6'] = 'nose bone twist', - ['cheeks_1'] = 'cheekbones height', - ['cheeks_2'] = 'cheekbones width', - ['cheeks_3'] = 'cheeks width', - ['lip_fullness'] = 'lip fullness', - ['jaw_bone_width'] = 'jaw bone width', - ['jaw_bone_length'] = 'jaw bone length', - ['chin_height'] = 'chin height', - ['chin_length'] = 'chin length', - ['chin_width'] = 'chin width', - ['chin_hole'] = 'chin hole size', - ['neck_thickness'] = 'neck thickness', - ['wrinkles'] = 'wrinkles', - ['wrinkle_thickness'] = 'wrinkle thickness', - ['beard_type'] = 'beard type', - ['beard_size'] = 'beard size', - ['beard_color_1'] = 'beard color 1', - ['beard_color_2'] = 'beard color 2', - ['hair_1'] = 'hair 1', - ['hair_2'] = 'hair 2', - ['hair_color_1'] = 'hair color 1', - ['hair_color_2'] = 'hair color 2', - ['eye_color'] = 'eye color', - ['eye_squint'] = 'eye squint', - ['eyebrow_type'] = 'eyebrow type', - ['eyebrow_size'] = 'eyebrow size', - ['eyebrow_color_1'] = 'eyebrow color 1', - ['eyebrow_color_2'] = 'eyebrow color 2', - ['eyebrow_depth'] = 'eyebrow depth', - ['eyebrow_height'] = 'eyebrow height', - ['makeup_type'] = 'makeup type', - ['makeup_thickness'] = 'makeup thickness', - ['makeup_color_1'] = 'makeup color 1', - ['makeup_color_2'] = 'makeup color 2', - ['lipstick_type'] = 'lipstick type', - ['lipstick_thickness'] = 'lipstick thickness', - ['lipstick_color_1'] = 'lipstick color 1', - ['lipstick_color_2'] = 'lipstick color 2', - ['ear_accessories'] = 'ear accessories', - ['ear_accessories_color'] = 'ear accessories color', - ['tshirt_1'] = 't-Shirt 1', - ['tshirt_2'] = 't-Shirt 2', - ['torso_1'] = 'torso 1', - ['torso_2'] = 'torso 2', - ['decals_1'] = 'decals 1', - ['decals_2'] = 'decals 2', - ['arms'] = 'arms', - ['arms_2'] = 'arms 2', - ['pants_1'] = 'pants 1', - ['pants_2'] = 'pants 2', - ['shoes_1'] = 'shoes 1', - ['shoes_2'] = 'shoes 2', - ['mask_1'] = 'mask 1', - ['mask_2'] = 'mask 2', - ['bproof_1'] = 'bulletproof vest 1', - ['bproof_2'] = 'bulletproof vest 2', - ['chain_1'] = 'chain 1', - ['chain_2'] = 'chain 2', - ['helmet_1'] = 'helmet 1', - ['helmet_2'] = 'helmet 2', - ['watches_1'] = 'watches 1', - ['watches_2'] = 'watches 2', - ['bracelets_1'] = 'bracelets 1', - ['bracelets_2'] = 'bracelets 2', - ['glasses_1'] = 'glasses 1', - ['glasses_2'] = 'glasses 2', - ['bag'] = 'bag', - ['bag_color'] = 'bag color', - ['blemishes'] = 'blemishes', - ['blemishes_size'] = 'blemishes thickness', - ['ageing'] = 'ageing', - ['ageing_1'] = 'ageing thickness', - ['blush'] = 'blush', - ['blush_1'] = 'blush thickness', - ['blush_color'] = 'blush color', - ['complexion'] = 'complexion', - ['complexion_1'] = 'complexion thickness', - ['sun'] = 'sun', - ['sun_1'] = 'sun thickness', - ['freckles'] = 'freckles', - ['freckles_1'] = 'freckles thickness', - ['chest_hair'] = 'chest hair', - ['chest_hair_1'] = 'chest hair thickness', - ['chest_color'] = 'chest hair color', - ['bodyb'] = 'body blemishes', - ['bodyb_size'] = 'body blemishes thickness', - ['bodyb_extra'] = 'blemishes body effect', - ['bodyb_extra_thickness'] = 'blemishes body effect thickness', -} diff --git a/resources/[esx]/skinchanger/locales/es.lua b/resources/[esx]/skinchanger/locales/es.lua deleted file mode 100644 index 983e731..0000000 --- a/resources/[esx]/skinchanger/locales/es.lua +++ /dev/null @@ -1,76 +0,0 @@ -Locales['es'] = { - ['sex'] = 'sexo', - ['face'] = 'cara', - ['skin'] = 'piel', - ['wrinkles'] = 'arrugas', - ['wrinkle_thickness'] = 'grosor arrugas', - ['beard_type'] = 'tipo de barba', - ['beard_size'] = 'tamaño barba', - ['beard_color_1'] = 'color de barba 1', - ['beard_color_2'] = 'color de barba 2', - ['hair_1'] = 'cabello 1', - ['hair_2'] = 'cabello 2', - ['hair_color_1'] = 'color de cabello 1', - ['hair_color_2'] = 'color de cabello 2', - ['eye_color'] = 'color de ojos', - ['eyebrow_type'] = 'tipo de ceja', - ['eyebrow_size'] = 'tamaño ceja', - ['eyebrow_color_1'] = 'color de ceja 1', - ['eyebrow_color_2'] = 'color de ceja 2', - ['makeup_type'] = 'tipo de maquillaje', - ['makeup_thickness'] = 'espesor maquillaje', - ['makeup_color_1'] = 'color maquillaje 1', - ['makeup_color_2'] = 'color maquillaje 2', - ['lipstick_type'] = 'tipo de barra de labios', - ['lipstick_thickness'] = 'grosor barra de labios', - ['lipstick_color_1'] = 'color barra de labios 1', - ['lipstick_color_2'] = 'color barra de labios 2', - ['ear_accessories'] = 'accesorios oreja', - ['ear_accessories_color'] = 'color accesorios oreja', - ['tshirt_1'] = 'camiseta 1', - ['tshirt_2'] = 'camiseta 2', - ['torso_1'] = 'torso 1', - ['torso_2'] = 'torso 2', - ['decals_1'] = 'tatuajes 1', - ['decals_2'] = 'tatuajes 2', - ['arms'] = 'brazos', - ['arms_2'] = 'brazos 2', - ['pants_1'] = 'pantalones 1', - ['pants_2'] = 'pantalones 2', - ['shoes_1'] = 'zapatos 1', - ['shoes_2'] = 'zapatos 2', - ['mask_1'] = 'máscara 1', - ['mask_2'] = 'máscara 2', - ['bproof_1'] = 'chaleco antibalas 1', - ['bproof_2'] = 'chaleco antibalas 2', - ['chain_1'] = 'cadena 1', - ['chain_2'] = 'cadena 2', - ['helmet_1'] = 'casco 1', - ['helmet_2'] = 'casco 2', - ['watches_1'] = 'relojes 1', - ['watches_2'] = 'relojes 2', - ['bracelets_1'] = 'pulseras 1', - ['bracelets_2'] = 'pulseras 2', - ['glasses_1'] = 'gafas 1', - ['glasses_2'] = 'gafas 2', - ['bag'] = 'bolsa', - ['bag_color'] = 'color de la bolsa', - ['blemishes'] = 'manchas', - ['blemishes_size']= 'opacidad de las manchas', - ['ageing'] = 'envejecimiento', - ['ageing_1'] = 'nivel de envejecimiento', - ['blush'] = 'rubor', - ['blush_1'] = 'opacidad del rubor', - ['blush_color'] = 'color del rubor', - ['complexion'] = 'complexión', - ['complexion_1'] = 'nivel de complexión', - ['sun'] = 'bronceado', - ['sun_1'] = 'nivel de bronceado', - ['freckles'] = 'pecas', - ['freckles_1'] = 'opacidad de las pecas', - ['chest_hair'] = 'pecholobo', - ['chest_hair_1'] = 'espesor del pecholobo', - ['chest_color'] = 'color del pecholobo', - ['bodyb'] = 'manchas corporales', - ['bodyb_size'] = 'opacidad manchas corporales', -} diff --git a/resources/[esx]/skinchanger/locales/fi.lua b/resources/[esx]/skinchanger/locales/fi.lua deleted file mode 100644 index 9f676c7..0000000 --- a/resources/[esx]/skinchanger/locales/fi.lua +++ /dev/null @@ -1,76 +0,0 @@ -Locales['fi'] = { - ['sex'] = 'sukupuoli', - ['face'] = 'kasvot', - ['skin'] = 'iho', - ['wrinkles'] = 'rypyt', - ['wrinkle_thickness'] = 'ryppyjen paksuus', - ['beard_type'] = 'parta tyyli', - ['beard_size'] = 'parran koko', - ['beard_color_1'] = 'parran väri 1', - ['beard_color_2'] = 'parran väri 2', - ['hair_1'] = 'hiukset 1', - ['hair_2'] = 'hiukset 2', - ['hair_color_1'] = 'hiuksien väri 1', - ['hair_color_2'] = 'hiuksien väri 2', - ['eye_color'] = 'Silmien väri', - ['eyebrow_type'] = 'kulmakarva tyyli', - ['eyebrow_size'] = 'kulmakarvojen tiheys', - ['eyebrow_color_1'] = 'kulmakarvojen väri 1', - ['eyebrow_color_2'] = 'kulmakarvojen väri 2', - ['makeup_type'] = 'meikki tyyli', - ['makeup_thickness'] = 'meikin paksuus', - ['makeup_color_1'] = 'meikin väri 1', - ['makeup_color_2'] = 'meikin väri 2', - ['lipstick_type'] = 'huulipuna tyyli', - ['lipstick_thickness'] = 'huulipunan paksuus', - ['lipstick_color_1'] = 'huulipunan väri 1', - ['lipstick_color_2'] = 'huulipunan väri 2', - ['ear_accessories'] = 'korvakorut', - ['ear_accessories_color'] = 'korvakorujen väri', - ['tshirt_1'] = 't-Paita 1', - ['tshirt_2'] = 't-Paita 2', - ['torso_1'] = 'paita 1', - ['torso_2'] = 'paita 2', - ['decals_1'] = 'kerros 1', - ['decals_2'] = 'kerros 2', - ['arms'] = 'kädet', - ['arms_2'] = 'kädet 2', - ['pants_1'] = 'housut 1', - ['pants_2'] = 'housut 2', - ['shoes_1'] = 'kengät 1', - ['shoes_2'] = 'kengät 2', - ['mask_1'] = 'maski 1', - ['mask_2'] = 'maski 2', - ['bproof_1'] = 'luotiliivi 1', - ['bproof_2'] = 'luotiliivi 2', - ['chain_1'] = 'korut 1', - ['chain_2'] = 'korut 2', - ['helmet_1'] = 'kypärät 1', - ['helmet_2'] = 'kypärät 2', - ['watches_1'] = 'kellot 1', - ['watches_2'] = 'kellot 2', - ['bracelets_1'] = 'rannekkeet 1', - ['bracelets_2'] = 'rannekkeet 2', - ['glasses_1'] = 'lasit 1', - ['glasses_2'] = 'lasit 2', - ['bag'] = 'reput', - ['bag_color'] = 'repun väri', - ['blemishes'] = 'pisamat', - ['blemishes_size']= 'pisamien paksuus', - ['ageing'] = 'ikääntyminen', - ['ageing_1'] = 'ikääntyminen paksuus', - ['blush'] = 'punastuminen', - ['blush_1'] = 'punastumisen paksuus', - ['blush_color'] = 'punastumisen väri', - ['complexion'] = 'pigmentti', - ['complexion_1'] = 'pigmentin paksuus', - ['sun'] = 'rusketus', - ['sun_1'] = 'rusketus paksuus', - ['freckles'] = 'pilkut', - ['freckles_1'] = 'pilkkujen paksuus', - ['chest_hair'] = 'rintakarvat', - ['chest_hair_1'] = 'rintakarvojen tiheys', - ['chest_color'] = 'rintakarvojen väri', - ['bodyb'] = 'pisamat kehossa', - ['bodyb_size'] = 'kehopisamien paksuus', -} diff --git a/resources/[esx]/skinchanger/locales/fr.lua b/resources/[esx]/skinchanger/locales/fr.lua deleted file mode 100644 index 91238c3..0000000 --- a/resources/[esx]/skinchanger/locales/fr.lua +++ /dev/null @@ -1,76 +0,0 @@ -Locales['fr'] = { - ['sex'] = 'sexe', - ['face'] = 'visage', - ['skin'] = 'peau', - ['wrinkles'] = 'rides', - ['wrinkle_thickness'] = 'épaisseur rides', - ['beard_type'] = 'type barbe', - ['beard_size'] = 'taille barbe', - ['beard_color_1'] = 'couleur barbe 1', - ['beard_color_2'] = 'couleur barbe 2', - ['hair_1'] = 'cheveux 1', - ['hair_2'] = 'cheveux 2', - ['hair_color_1'] = 'couleur cheveux 1', - ['hair_color_2'] = 'couleur cheveux 2', - ['eye_color'] = 'lentilles colorées', - ['eyebrow_type'] = 'type sourcils', - ['eyebrow_size'] = 'taille sourcils', - ['eyebrow_color_1'] = 'couleur sourcils 1', - ['eyebrow_color_2'] = 'couleur sourcils 2', - ['makeup_type'] = 'type maquillage', - ['makeup_thickness'] = 'épaisseur maquillage', - ['makeup_color_1'] = 'couleur maquillage 1', - ['makeup_color_2'] = 'couleur maquillage 2', - ['lipstick_type'] = 'type lipstick', - ['lipstick_thickness'] = 'épaisseur lipstick', - ['lipstick_color_1'] = 'couleur lipstick 1', - ['lipstick_color_2'] = 'couleur lipstick 2', - ['ear_accessories'] = 'accessoire oreilles', - ['ear_accessories_color'] = 'couleur accessoire', - ['tshirt_1'] = 't-Shirt 1', - ['tshirt_2'] = 't-Shirt 2', - ['torso_1'] = 'torse 1', - ['torso_2'] = 'torse 2', - ['decals_1'] = 'calques 1', - ['decals_2'] = 'calques 2', - ['arms'] = 'bras', - ['arms_2'] = 'bras 2', - ['pants_1'] = 'jambes 1', - ['pants_2'] = 'jambes 2', - ['shoes_1'] = 'chaussures 1', - ['shoes_2'] = 'chaussures 2', - ['mask_1'] = 'masque 1', - ['mask_2'] = 'masque 2', - ['bproof_1'] = 'gilet pare-balle 1', - ['bproof_2'] = 'gilet pare-balle 2', - ['chain_1'] = 'chaine 1', - ['chain_2'] = 'chaine 2', - ['helmet_1'] = 'casque 1', - ['helmet_2'] = 'casque 2', - ['watches_1'] = 'montre 1', - ['watches_2'] = 'montre 2', - ['bracelets_1'] = 'bracelet 1', - ['bracelets_2'] = 'bracelet 2', - ['glasses_1'] = 'lunettes 1', - ['glasses_2'] = 'lunettes 2', - ['bag'] = 'sac', - ['bag_color'] = 'couleur sac', - ['blemishes'] = 'Boutons', - ['blemishes_size']= 'opacité des boutons', - ['ageing'] = 'vieillissement', - ['ageing_1'] = 'opacité du vieillissement', - ['blush'] = 'rougeur', - ['blush_1'] = 'opacité rougeur', - ['blush_color'] = 'couleur rougeur', - ['complexion'] = 'teint', - ['complexion_1'] = 'opacité teint', - ['sun'] = 'dommages UV', - ['sun_1'] = 'opacité dommages UV', - ['freckles'] = 'taches de rousseur', - ['freckles_1'] = 'opacité rousseur', - ['chest_hair'] = 'pillositée torse', - ['chest_hair_1'] = 'opacité pillositée', - ['chest_color'] = 'couleur pillositée', - ['bodyb'] = 'imperfections du corps', - ['bodyb_size'] = 'opacité imperfections', -} diff --git a/resources/[esx]/skinchanger/locales/pl.lua b/resources/[esx]/skinchanger/locales/pl.lua deleted file mode 100644 index bb6a808..0000000 --- a/resources/[esx]/skinchanger/locales/pl.lua +++ /dev/null @@ -1,76 +0,0 @@ -Locales['pl'] = { - ['sex'] = 'płec', - ['face'] = 'twarz', - ['skin'] = 'skóra', - ['wrinkles'] = 'zmarszczki', - ['wrinkle_thickness'] = 'wielkość zmarszczek', - ['beard_type'] = 'styl brody', - ['beard_size'] = 'wielkość brody', - ['beard_color_1'] = 'kolor brody 1', - ['beard_color_2'] = 'kolor brody 2', - ['hair_1'] = 'włosy 1', - ['hair_2'] = 'włosy 2', - ['hair_color_1'] = 'wolor włosów 1', - ['hair_color_2'] = 'wolor włosów 2', - ['eye_color'] = 'eye color', - ['eyebrow_type'] = 'styl brwi', - ['eyebrow_size'] = 'wielkość brwi', - ['eyebrow_color_1'] = 'wolor brwi 1', - ['eyebrow_color_2'] = 'wolor brwi 2', - ['makeup_type'] = 'styl makijażu', - ['makeup_thickness'] = 'grubość makijażu', - ['makeup_color_1'] = 'kolor makijażu 1', - ['makeup_color_2'] = 'kolor makijażu 2', - ['lipstick_type'] = 'styl szminki', - ['lipstick_thickness'] = 'grubość szminki', - ['lipstick_color_1'] = 'kolor szminki 1', - ['lipstick_color_2'] = 'kolor szminki 2', - ['ear_accessories'] = 'akcesoria do usz', - ['ear_accessories_color'] = 'kolor akcesorii do usz', - ['tshirt_1'] = 'koszulka 1', - ['tshirt_2'] = 'koszulka 2', - ['torso_1'] = 'tułów 1', - ['torso_2'] = 'tułów 2', - ['decals_1'] = 'detale 1', - ['decals_2'] = 'detale 2', - ['arms'] = 'ramiona', - ['arms_2'] = 'ramiona 2', - ['pants_1'] = 'spodnie 1', - ['pants_2'] = 'spodnie 2', - ['shoes_1'] = 'buty 1', - ['shoes_2'] = 'buty 2', - ['mask_1'] = 'maska 1', - ['mask_2'] = 'maska 2', - ['bproof_1'] = 'kamizelka kuloodporna 1', - ['bproof_2'] = 'kamizelka kuloodporna 2', - ['chain_1'] = 'łańcuch 1', - ['chain_2'] = 'łańcuch 2', - ['helmet_1'] = 'hełm 1', - ['helmet_2'] = 'hełm 2', - ['watches_1'] = 'watches 1', - ['watches_2'] = 'watches 2', - ['bracelets_1'] = 'bracelets 1', - ['bracelets_2'] = 'bracelets 2', - ['glasses_1'] = 'okulary 1', - ['glasses_2'] = 'okulary 2', - ['bag'] = 'torba', - ['bag_color'] = 'kolor torby', - ['blemishes'] = 'blemishes', - ['blemishes_size']= 'blemishes thickness', - ['ageing'] = 'ageing', - ['ageing_1'] = 'ageing thickness', - ['blush'] = 'blush', - ['blush_1'] = 'blush thickness', - ['blush_color'] = 'blush color', - ['complexion'] = 'complexion', - ['complexion_1'] = 'complexion thickness', - ['sun'] = 'sun', - ['sun_1'] = 'sun thickness', - ['freckles'] = 'freckles', - ['freckles_1'] = 'freckles thickness', - ['chest_hair'] = 'chest hair', - ['chest_hair_1'] = 'chest hair thickness', - ['chest_color'] = 'chest hair color', - ['bodyb'] = 'body blemishes', - ['bodyb_size'] = 'body blemishes thickness', -} diff --git a/resources/[esx]/skinchanger/locales/sv.lua b/resources/[esx]/skinchanger/locales/sv.lua deleted file mode 100644 index 9ca5aab..0000000 --- a/resources/[esx]/skinchanger/locales/sv.lua +++ /dev/null @@ -1,76 +0,0 @@ -Locales['sv'] = { - ['sex'] = 'kön', - ['face'] = 'ansikte', - ['skin'] = 'hud', - ['wrinkles'] = 'rynkor', - ['wrinkle_thickness'] = 'rynk tjocklek', - ['beard_type'] = 'skäggtyp', - ['beard_size'] = 'skäggstorlek', - ['beard_color_1'] = 'skägg färg 1', - ['beard_color_2'] = 'skägg färg 2', - ['hair_1'] = 'hår 1', - ['hair_2'] = 'hår 2', - ['hair_color_1'] = 'hårfärg 1', - ['hair_color_2'] = 'hårfärg 2', - ['eye_color'] = 'eye color', - ['eyebrow_type'] = 'ögonbryn typ', - ['eyebrow_size'] = 'ögonbryn storlek', - ['eyebrow_color_1'] = 'ögonbryn färg 1', - ['eyebrow_color_2'] = 'ögonbryn färg 2', - ['makeup_type'] = 'smink typ', - ['makeup_thickness'] = 'smink tjocklek', - ['makeup_color_1'] = 'smink färg 1', - ['makeup_color_2'] = 'smink färg 2', - ['lipstick_type'] = 'läppstiftstyp', - ['lipstick_thickness'] = 'läppstjocklek', - ['lipstick_color_1'] = 'läppstift färg 1', - ['lipstick_color_2'] = 'läppstift färg 2', - ['ear_accessories'] = 'öron tillbehör', - ['ear_accessories_color'] = 'öron tillbehörs färg', - ['tshirt_1'] = 't-shirt 1', - ['tshirt_2'] = 't-shirt 2', - ['torso_1'] = 'kropp 1', - ['torso_2'] = 'kropp 2', - ['decals_1'] = 'dekaler 1', - ['decals_2'] = 'dekaler 2', - ['arms'] = 'armar', - ['arms_2'] = 'armar 2', - ['pants_1'] = 'byxor 1', - ['pants_2'] = 'byxor 2', - ['shoes_1'] = 'skor 1', - ['shoes_2'] = 'skor 2', - ['mask_1'] = 'mask 1', - ['mask_2'] = 'mask 2', - ['bproof_1'] = 'skottsäker väst 1', - ['bproof_2'] = 'skottsäker väst 2', - ['chain_1'] = 'kedja 1', - ['chain_2'] = 'kedja 2', - ['helmet_1'] = 'hjälm 1', - ['helmet_2'] = 'hjälm 2', - ['watches_1'] = 'watches 1', - ['watches_2'] = 'watches 2', - ['bracelets_1'] = 'bracelets 1', - ['bracelets_2'] = 'bracelets 2', - ['glasses_1'] = 'glasögon 1', - ['glasses_2'] = 'glasögon 2', - ['bag'] = 'väska', - ['bag_color'] = 'väska färg', - ['blemishes'] = 'blemishes', - ['blemishes_size']= 'blemishes thickness', - ['ageing'] = 'ageing', - ['ageing_1'] = 'ageing thickness', - ['blush'] = 'blush', - ['blush_1'] = 'blush thickness', - ['blush_color'] = 'blush color', - ['complexion'] = 'complexion', - ['complexion_1'] = 'complexion thickness', - ['sun'] = 'sun', - ['sun_1'] = 'sun thickness', - ['freckles'] = 'freckles', - ['freckles_1'] = 'freckles thickness', - ['chest_hair'] = 'chest hair', - ['chest_hair_1'] = 'chest hair thickness', - ['chest_color'] = 'chest hair color', - ['bodyb'] = 'body blemishes', - ['bodyb_size'] = 'body blemishes thickness', -} diff --git a/resources/[esx]/skinchanger/locales/tr.lua b/resources/[esx]/skinchanger/locales/tr.lua deleted file mode 100644 index cec054f..0000000 --- a/resources/[esx]/skinchanger/locales/tr.lua +++ /dev/null @@ -1,76 +0,0 @@ -Locales['tr'] = { - ['sex'] = 'cinsiyet', - ['face'] = 'yüz', - ['skin'] = 'deri', - ['wrinkles'] = 'kırışıklıklar', - ['wrinkle_thickness'] = 'kırışıklık yoğunluğu', - ['beard_type'] = 'sakal tipi', - ['beard_size'] = 'sakal boyutu', - ['beard_color_1'] = 'sakal rengi 1', - ['beard_color_2'] = 'sakal rengi 2', - ['hair_1'] = 'saç 1', - ['hair_2'] = 'saç 2', - ['hair_color_1'] = 'saç rengi 1', - ['hair_color_2'] = 'saç rengi 2', - ['eye_color'] = 'göz rengi', - ['eyebrow_type'] = 'kaş tipi', - ['eyebrow_size'] = 'kaş boyutu', - ['eyebrow_color_1'] = 'kaş rengi 1', - ['eyebrow_color_2'] = 'Kaş Rengi 2', - ['makeup_type'] = 'makyaj tipi', - ['makeup_thickness'] = 'makyaj kalınlığı', - ['makeup_color_1'] = 'makyaj rengi 1', - ['makeup_color_2'] = 'makyaj rengi 2', - ['lipstick_type'] = 'ruj tipi', - ['lipstick_thickness'] = 'ruj kalınlığı', - ['lipstick_color_1'] = 'ruj rengi 1', - ['lipstick_color_2'] = 'ruj rengi 2', - ['ear_accessories'] = 'kulak aksessuarları', - ['ear_accessories_color'] = 'kulak aksessuar rengi', - ['tshirt_1'] = 'tişört 1', - ['tshirt_2'] = 'tişört 2', - ['torso_1'] = 'gövde 1', - ['torso_2'] = 'gövde 2', - ['decals_1'] = 'çıkartma 1', - ['decals_2'] = 'çıkartma 2', - ['arms'] = 'kollar', - ['arms_2'] = 'kollar 2', - ['pants_1'] = 'pantolonlar 1', - ['pants_2'] = 'pantolonlar 2', - ['shoes_1'] = 'ayakkabılar 1', - ['shoes_2'] = 'ayakkabılar 2', - ['mask_1'] = 'maske 1', - ['mask_2'] = 'maske 2', - ['bproof_1'] = 'zırh 1', - ['bproof_2'] = 'zırh 2', - ['chain_1'] = 'zincir 1', - ['chain_2'] = 'zincir 2', - ['helmet_1'] = 'kask 1', - ['helmet_2'] = 'kask 2', - ['watches_1'] = 'saat 1', - ['watches_2'] = 'saat 2', - ['bracelets_1'] = 'takı 1', - ['bracelets_2'] = 'takı 2', - ['glasses_1'] = 'gözlük 1', - ['glasses_2'] = 'gözlük 2', - ['bag'] = 'çanta', - ['bag_color'] = 'çanta rengi', - ['blemishes'] = 'leke', - ['blemishes_size']= 'leke kalınlığı', - ['ageing'] = 'yaşlanma', - ['ageing_1'] = 'yaşlanma kalınlığı', - ['blush'] = 'kızarıklık', - ['blush_1'] = 'kızarıklık kalınlığı', - ['blush_color'] = 'kızarıklık rengi', - ['complexion'] = 'ten', - ['complexion_1'] = 'ten Kalınlığı', - ['sun'] = 'yanık', - ['sun_1'] = 'yanık kalınlığı', - ['freckles'] = 'çiller', - ['freckles_1'] = 'çil kalınlığı', - ['chest_hair'] = 'gövde kılı', - ['chest_hair_1'] = 'gövde kılı kalınlığı', - ['chest_color'] = 'gövde kılı rengi', - ['bodyb'] = 'gövde lekesi', - ['bodyb_size'] = 'gövde lekesi kalınlığı', -} From aea09541d6a861695960be5e41dc86bf9260d180 Mon Sep 17 00:00:00 2001 From: Ramp Date: Fri, 30 Jul 2021 01:55:59 +0100 Subject: [PATCH 3/3] Update config.lua --- resources/[esx]/cui_character/shared/config.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/[esx]/cui_character/shared/config.lua b/resources/[esx]/cui_character/shared/config.lua index 495590c..05b27f4 100644 --- a/resources/[esx]/cui_character/shared/config.lua +++ b/resources/[esx]/cui_character/shared/config.lua @@ -4,7 +4,7 @@ Config = {} This enables/disables the post-loading animation where camera starts in the clouds, above the city like when switching characters in GTA V Story Mode. --]] -Config.EnterCityAnimation = true +Config.EnterCityAnimation = false -- Setting these to false will enable all colors available in the game. Config.UseNaturalHairColors = true @@ -156,4 +156,4 @@ if Config.StandAlone then Config.ExtendedMode = false Config.EnableESXIdentityIntegration = false Config.EnableNewIdentityProviders = false -end \ No newline at end of file +end