Coder Social home page Coder Social logo

opencnr / gamemode Goto Github PK

View Code? Open in Web Editor NEW
14.0 5.0 0.0 164 KB

SA-MP Cops and Robbers gamemode

Home Page: http://opencnr.com/

License: GNU General Public License v3.0

Pawn 98.46% TSQL 1.23% Dockerfile 0.31%
pawn-package sampctl sa-mp gamemode

gamemode's Introduction

OpenCnR

OpenCnR is a SA-MP Cops and Robbers gamemode!

Contributing

If you'd like to contribute to the project, please check the contribution guidelines.

Setting up your own instance

NOTE : OpenCnR is currently still in it's alpha phase and not ready for production.

You can set up your own instance of OpenCnR within 5 minutes using Docker.

git clone https://github.com/opencnr/gamemode && cd gamemode
docker-compose up

gamemode's People

Contributors

thecodeah avatar woutprovost avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

gamemode's Issues

Random airdrop

Airdrop

  • Message everyone about the drop
  • Map icon indicates the drop location
  • Flare object for the exact drop spot
  • Slowly falls down
  • Message everyone about the collection

Can contain

  • Health
  • Armour
  • Weapons
  • Money

Use the deathlist for connect/disconnect

Since you are not planning on using the death list system for kills, you could use it for showing players who disconnect and connect to the server.

So as to not pollute the chat, and not need to mess with textdraws.

Optimize Docker build

  • Disable sampctl metrics
  • Download compiler beforehand
    There is no command to just download the compiler. The only solution I can think of is quite hacky and might actually take longer than just waiting 1 or 2 seconds for the compiler to download.
  • Download plugins during build
    Instead I have created a volume so the plugins only have to be downloaded once.

Documentation generator

A program that interprets the OpenCnR code and generates either a JSON file containing all of the documentation or an entire static website.

We'd also have to change the way documentation is written. My thoughts :

/// FunctionName basic description.
/// @returns 1 on success, 0 on failure.
stock FunctionName(arg1, arg2, arg3)
{
    SomeOtherFunction();
}

Which (If we're generating a static website) would generate something like this :

FunctionName

Basic description.

stock FunctionName(arg1, arg2, arg3)

Returns 1 on success, 0 on failure.

A way to heal yourself

Heal yourself by purchasing something from a vending machine.

Cost : $1,000
Usage interval : Once every 5 minutes
Health gain : 100%

Other option :
Cost : $100
Usage interval : The time it takes to perform the drinking/eating animation
Health gain : 10%

Player Menu

Player menu (Dialog) that opens when pressing Y.

A menu that can redirect you to : Statistics #17, Gangs #14, Inventory #10, Perks #6

Bank robbery

  • One bank in each city
  • Each bank can be robbed once every half hour
  • A bank robbery takes 5 minutes
  • Requires specific items to be collected/purchased beforehand
  • Robbers each get 6 wanted stars

Perks

Everyone has the same amount of perks points. They can choose how they use them through the perk menu which you can open via /perks or /perk.

A perk example :

  • Infinite Nitro on all vehicles you drive
  • Always spawn with 50% armor

Player stats

Store player stats :

  • Kills
  • Deaths
  • Amount of robberies

Can be viewed using /stats

Chat module

A chat module that will periodically broadcast info messages, handle the chat (Fix SendClientMessage over 144 char bug) and perhaps even display random user achievements (Also periodically)

An oversight in airdrop.inc

The following code from function UpdateAirdropTimer in airdrop.inc looks suspicious:

MoveObject(airdropObjectID, airdropX + movetoX, airdropY + movetoY, airdropZ + AIRDROP_OFFSET, 1.0, 0.0, 0.0, 0.0);

Global variables movetoX and movetoY are used on this line, but they weren't assigned any value throughout the whole file (so they contain 0 by default).

You'll probably want to either assign some values to these variables (if that's what you initially intended), or just remove them completely.

Stingers

Police should be able to throw stinger (Spike strips) which will stay active for 1 minute. Police should only be able to throw one stinger at a time. If they try to throw a stinger while another stinger is active they'll have to wait until the other stinger gets destroyed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.