Skip to content

Latest commit

 

History

History
115 lines (86 loc) · 7.4 KB

CONTRIBUTING.md

File metadata and controls

115 lines (86 loc) · 7.4 KB

I'm glad you want to contribute to the Central West Java repo. This is a SAMP Script based on Beckzy Freeroam/Roleplay script, which aims to provide a fun and immersive experience for players who enjoy both freeroaming and roleplaying in San Andreas Multiplayer. Here are some guidelines on how you can get involved in this project.

How to contribute

There are many ways you can contribute to this project, such as:

  • Reporting bugs or suggesting enhancements
  • Submitting pull requests for new features or bug fixes
  • Improving the documentation or the code quality
  • Testing the script or giving feedback

Before you start, please make sure you read and follow the code of conduct of this project. We expect all contributors to respect each other and behave in a civil manner.

Reporting bugs or suggesting enhancements

If you encounter any bugs or have any ideas for new features or improvements, please open an issue on GitHub. Before you do that, please check if there is already an existing issue for your problem or suggestion. If not, create a new one and provide as much information as possible, such as:

  • A clear and descriptive title
  • A detailed description of the bug or enhancement
  • Steps to reproduce the bug or how the enhancement would work
  • Expected and actual behavior
  • Screenshots or videos if applicable
  • Any relevant logs or error messages
  • Your environment (OS, SAMP version, etc.)

Please use the appropriate labels for your issue, such as bug, enhancement, question, etc.

Submitting pull requests

If you want to contribute code to this project, you need to fork the repo and create a pull request. Please follow these steps:

  • Fork the repo and clone it to your local machine
  • Create a new branch from the master branch with a descriptive name
  • Make your changes in the new branch, following the code style guidelines
  • Commit your changes with a clear and concise message, referencing any related issues
  • Push your branch to your forked repo
  • Create a pull request from your branch to the master branch of the original repo
  • Provide a brief summary of your changes and why they are needed
  • Wait for a review from the maintainers or other contributors
  • Address any comments or requests for changes
  • Once your pull request is approved and merged, delete your branch

Please do not submit pull requests that are incomplete, untested, or contain unrelated changes. Also, please do not merge your own pull requests without approval from the maintainers.

Improving the documentation or the code quality

If you want to help improve the documentation or the code quality of this project, you can do so by:

  • Fixing typos, grammar errors, or formatting issues in the README.md, CONTRIBUTING.md, or other files
  • Adding comments, docstrings, or annotations to the code to make it more readable and understandable
  • Refactoring the code to make it more efficient, modular, or consistent
  • Adding tests, benchmarks, or examples to the code to ensure its correctness and performance
  • Updating the dependencies or tools used by the project to keep them up-to-date and secure

Please follow the same steps as for submitting pull requests for code changes.

Testing the script or giving feedback

If you want to help test the script or give feedback on its features or gameplay, you can do so by:

  • Downloading and installing the latest version of the script from the releases page or the master branch
  • Running the script on your local server or joining an online server that uses it
  • Trying out different commands, scenarios, vehicles, weapons, etc.
  • Reporting any bugs or glitches you encounter using the issue tracker
  • Sharing your opinions, suggestions, praises, or criticisms on the discussion board or other platforms (such as Discord, forums, etc.)

Please be respectful and constructive when giving feedback. Do not spam, troll, flame, or insult other players or contributors.

Code style

The code style for this project is based on Beckzy's Code Style Guide, which is a set of conventions and best practices for writing SAMP scripts. Please read it carefully and follow it as closely as possible when contributing code to this project. Some of the main points are:

  • Use tabs for indentation and spaces for alignment
  • Use camelCase for variables and functions, UPPER_CASE for constants and enums, and PascalCase for classes and structs
  • Use descriptive and meaningful names for variables, functions, constants, enums, classes, structs, etc.
  • Use comments to explain what your code does and why it does it
  • Use proper indentation and spacing to make your code readable and consistent
  • Use brackets for if/else statements, loops, switches, etc., even if they are single-line
  • Use spaces around operators, commas, semicolons, etc.
  • Use parentheses to group expressions and avoid ambiguity
  • Use constants, enums, macros, or functions instead of magic numbers or strings
  • Use #include directives to organize your code into separate files
  • Use #pragma directives to enable or disable compiler features or warnings
  • Use #define directives to create macros or aliases for common or complex expressions
  • Use forward declarations to declare functions before using them
  • Use stock, static, or public modifiers for functions as appropriate
  • Use native, new, or const modifiers for variables as appropriate
  • Use enum structs to create custom data types with named fields
  • Use switch statements instead of if/else chains for multiple choices
  • Use arrays, lists, maps, or sets to store collections of data
  • Use iterators, foreach loops, or index ranges to iterate over collections of data
  • Use format specifiers, tags, or escape sequences to format strings
  • Use string manipulation functions to manipulate strings
  • Use math functions to perform mathematical operations
  • Use dialog functions to create interactive menus or dialogs
  • Use file functions to read or write data from or to files
  • Use MySQL functions to connect to and query a MySQL database
  • Use YSI libraries to enhance your script with advanced features

Join the project team

If you are a regular and active contributor to this project, you may be invited to join the project team as a collaborator. This means you will have more privileges and responsibilities, such as:

  • Access to the original repo and its settings
  • Ability to merge pull requests and push commits directly to the master branch
  • Ability to review, approve, or request changes on pull requests from other contributors
  • Ability to create, edit, or delete labels, milestones, projects, etc.
  • Ability to moderate issues, discussions, comments, etc.
  • Ability to invite or remove other collaborators

If you accept the invitation, you will be expected to follow the code of conduct and the code style of this project. You will also be expected to help maintain the project by reviewing pull requests, resolving issues, updating documentation, etc. You will also be able to suggest new ideas or features for the project and discuss them with other collaborators.

Thank you

Thank you for your interest and contribution to this project. I appreciate your time and effort. I hope you enjoy playing and developing this script as much as I do. If you have any questions or concerns, please feel free to contact me at wahitfitriyanto@gmail.com. Happy coding!