Git Product home page Git Product logo

v1's Introduction

Unfortunately work on SA:MP has officially dropped in late September of 2020. There won't be any updates for anymore. Also Wiki and Forum have been closed. As I was also rarely working on this gamemode, I'm archiving this repository for now. If you want to take it over and work on it, please let me know: b495472b(@)anon(.)leemail(.)me

Special thanks to all contributors and those who helped with issue tickets!


PPC Trucking V1

This is a modified version of the popular "Trucking Gamemode" by PowerPC603 for Grand Theft Auto San Andreas Multiplayer (SA:MP). You can find the original post on SA:MP forums here: http://forum.sa-mp.com/showthread.php?t=196493.


Included

  • Complete gamemode as editable .pwn file
  • A ready-to-go server.cfg file (You only have to change the rcon_password!)
  • All required files for PAWNO so you can modify the gamemode as you like and re-compile it

Installation

  • First go to the SA:MP website and download the newest version (both: server and client)
  • Follow these instructions to set up your server
  • Then get the latest stable release of this repository (choose .zip or .tar.gz)
  • Unpack this archive into the directory where you have set up your server. Follow the structure of the folders. For example: Place files from the "gamemodes" folder only into the "gamemodes" folder. Do not mix it up!
  • (*) Download the following plugins and place them into the "plugins" folder. If the folder does not exist in the root directory (where you can find your "gamemodes" folder), create it. Only there!
  • (*) Get these files as well and put them into the ~/pawno/include folder.
  • Now open ~/pawno/pawno.exe and load the gamemode to re-compile it
    • If everything worked, you should get a line saying Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
      • In this case, you can continue with the next point
      • If it did not work for you, please use Google first to solve the problem by yourself
        • If you could solve the problem, continue with the next point
        • If you could not find a solution for your problem, post the output in the forum post. Please do not send a private message to someone to ask for his or her help. If you post the problem with your output in forums everyone can benefit from the answers.
  • If everything worked for you, the last thing you have to do is this:
    • As a Windows user, you only have to open the server.cfg file and to set your desired rcon_password
    • If you are running your server on a Linux machine, open the server.cfg file and change plugins sscanf streamer to plugins sscanf.so streamer.so and make sure that you have placed these plugins into the folder. You also have to set your desired rcon_password.

Credits

  • PowerPC603 - awesome work (gamemode)
  • Y_Less - very handy to handle parameters and more (sscanf)
  • maddinat0r - mirror for sscanf
  • Incognito - abbility to use more objects than usually possible (streamer)
  • samp-incognito - mirror for streamer
  • Zeex - very efficient to create commands in seconds (zcmd)
  • Southclaws - mirror for zcmd
  • DracoBlue - makes it easier to save information in files and to load them (dutils)

Thanks for reading!

  • By the way, if you already have experience with Notepad++, take a look at Slice's tutorial how to use Notepad++ with PAWN. Notepad++ makes it more comfortable to maintain your SA:MP gamemodes and filterscripts than the interal default editor.

Licensing

* Due to copyright terms it is not allowed to include those files. You have to download and put them into the right folder by yourself.

If you have any questions or problems with this version of this gamemode, feel free to create a new issue and to ask your question here. If you have general problems with this gamemode you can post in the SA:MP forum.

v1's People

Contributors

cipriann23 avatar codealdente avatar locky0 avatar yousha avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

v1's Issues

Replace commands with more suitable names

Players

  • replace /spike with /createspike, keep /spike as alias
  • replace /rescue with /gobase, keep /rescue as alias

Admins

  • replace /cleanupcar with /cleanupvehicle, keep /cleanupcar as alias
  • replace /cleanupcars with /cleanupallvehicles, keep /cleanupcars as alias
  • replace /muted with /mutes, keep /mutes as alias
  • replace /object with /createobject, keep /object as alias
  • replace /pickup with /createpickup, keep /pickup as alias
  • replace /respawn with /respawnvehicle, keep /respawn as alias
  • replace /wanted with /setwanted, keep /wanted as alias

Additional to this:

Fix command messages

Players

  • /bonus (if player is not trucker)
  • /buybus (check range to a business)
  • /detach (in vehicle that supports trailer? any trailer connected?)
  • /eject (player online?)
  • /engine (tell player whetver engine has been turned on or off)
  • /enter (any house or busines nearby to enter?)
  • /getcar (check for any vehicles before displaying dialog)
  • /gobus (any business owned by player?)
  • /gohome (any house owned by player?)
  • /report (player online?)
  • /gobase (if only one spawn-location, e.g. assistance)
  • /stopwork (work started?)

Admins

  • /ban (player exists/found?)
  • /car, /bike, /plane, /boat, /trailer (on foot?)
  • /delcamera (is it nearby?)
  • /delobject (object exists?)
  • /fixplayer (player online?)
  • /givelicense (player online?)
  • /healall (tell player an admin healed him)
  • /ipban (player found?)
  • /jail (already jailed?)
  • /mute (already muted?)
  • /nos (added? in vehicle, warn on foot)
  • /portvehicle (vehicle exists?)
  • /rangeban (player found?)
  • /rep (are there any?)
  • /repairall (tell player an admin repaired his vehicle)
  • /resetplayer (player online? any changes?)
  • /setlevel (level in range?)
  • /setskin (skin-id in range?)
  • /unban (is player banned?) Not necessary as value will just be overwritten.
  • /unmute (even muted?)
  • /wanted (confirm wanted level for admin, inform player about wanted level)
  • /warn (inform player he got kicked because of x warnings, then kick him)

Do not allow to use own playerid on certain commands

We already have done this to other commands like /pm (#24). Now it is time to do this on the these commands as well:
/convoykick (use /convoyleave instead)
/eject (as a driver just get out of the car)
/tele (IDs must be different)

All admin commands (except /tele) have been excluded from this due to the fact that they could be used for developing operations.

Define colors and use their variable in the code

Define colors in PPC_Defines.inc as variables so we exactly know which are used e.g. in a message.

Example:

#define COLOR_RED 0xFF0000AA

List of small issues to fix

  • /givecash can be used to give money to yourself
  • You can /pm yourself
  • You can /flip the vehicle as passenger
  • Only show the "You have not accepted the rules yet" dialog after spawn
  • You can /report yourself
  • Only allow /delvehicle on vehicles that have been created by admins
  • Move the command /givelicense to the main commands

Better and understandable error messages

There are plenty situations where you don't get the exact reason for an invalid action. For example, if you /report a player id that is not online, you get the message "Unknown command" rather than "That player is not online" or something else, that makes it clear, why the action was not successful.

We should track all those scenarios here so we can fix them later.

Add new commands

Players

  • /carwhisper Sends a text that only players can read who are in the same vehicle
  • /deposit Make it easier to deposit money to your bank account
  • /exit Leave a house or business
  • /lights Switch lights on / off if you are the driver of a vehicle
  • /setconfirm Turn confirmation messages on / off ( only for current session, will later change to a permanent option, see also #81 )
  • /setignore Ignores a certain player so he can not send private messages to that player ( only for current session, will later change to a permanent option, see also #81 )
  • /setpm Turn private messages on / off ( only for current session, will later change to a permanent option, see also #81 )
  • /removespike Remove a spike manually, in addition to this increase the timer from 60 seconds (1 minute) to 180 seconds (3 minutes).
  • /whisper Send a text that only player in your area (~ range: 15.0) can see
  • /withdraw Make it easier to withdraw money from your bank account

Admins

  • /announce Displays a short message on screen (GameText) for all players (e.g. /announce Hello World!).
  • /delpickup
  • /fuelall
  • /unfreeze
  • /setcash
  • /unjail (/jail can only be used if player is not jailed so there is no workaround to get him out of jail anymore, we need a new command for that)
  • /freezed to see all player that have been freezed

Additional to this:

Enhance existing commands

  • /engine no need to pass variables, the script will set the engine automatically to on or off depending on the current state
  • /stats if you pass an id of a player, you can now see the stats of a different player

Exclude admins from Anti-Hack System

Admins should no longer be reported by the Anti-Hack System for suspicious activities as they are allowed to teleport and - some of them - also allowed to fly around with a jetpack.

Hash passwords

Hash passwords from players to respect their privacy.

Only show commands for the current class

We should check if the player is allowed to use commands such /convoy before actually performing them. Also do only show commands in /cmds which the player can use.

Trucker

  • /convoy
  • /convoycancel
  • /convoykick
  • /convoyleave
  • /convoymembers
  • /overload

Police

  • /createspike

Tiny fixes for commands

  • remove colon from /me command
  • allow admins to use /paint on admin spawned vehicle
  • /park (show range in which you can park your vehicle next to your house correctly)
    sa-mp-002
  • /say (highlight same-class messages)
  • /asay (highlight admin messages)
  • format numbers in the tablist dialogs (except for money, it has its own issue ticket)
    sa-mp-000
  • /help (mention spikes in the police class help)

Add more aliases

We should add more aliases to enhance the gaming experience, especially for those player who are joining from other servers (with different commands).

Players

  • /changepass, /changepw, /password for /changepassword
  • /commands for /cmds
  • /complain for /report
  • /duty for /work
  • /endwork for /stopwork
  • /getvehicle for /getcar
  • /givemoney for /givecash
  • /rentvehicle for /rentcar

Admins

  • /annn for /announce
  • /complaints for /rep
  • /jetpack for /fly
  • /refill for /fuel
  • /refillall for /fuelall

Rename /delvehicle to /cleanupcar

For several reasons, admins should not be able to delete vehicles in-game. This should be better done by a scripter to avoid any misleading errors and damamge.

But the idea to delete a vehicle one by one that has been spawned by an admin is still interesting. For this we use /delvehicle but with a small modification.

Change weather automatically

Define weather ids which will be used to change the weather every X minutes. Make it changeable in PPC_Commong.inc. Feature is disabled by default.

Links to sscanf are dead

Seems like the author of the fantastic sscanf plugin deleted his Github repo and the thread on the SA:MP forums along with all the download links to the plugin. So the links to sscanf in the readme file don't work anymore. ๐Ÿ˜ข ๐Ÿ˜ญ

We need to add a new one. And there is already a new thread by an other user who just re-uploaded the work of the original author. ๐Ÿ˜€ We should stick with that until there is a better solution, the new link would be the following: http://forum.sa-mp.com/showthread.php?t=570927

Convert file based to MySQL based

Convert the old file system to MySQL system for a better performance and data #managment

I will do this if @CodeAlDente are agree with it. I know alot o people want this maybe on MySQL and i really want to help because its an amazing gamemode

Remove obsolete commands

Players

  • /kill
    No need to change class by pressing F4 and using /kill as we can make use of /reclass.

Admins

  • /plate
    There is no need for this command.

  • /restart
    It is possible to restart the server by /rcon gmx. Also you can display a message that the server will restart with /announce

  • /saveloc
    /save can be used to store the current location.

  • /score, /cash
    Use /setscore and /setcash (see #54 ) to reward yourself. (change the player's file to assign more)

  • /vehicle
    There are no benfits for keeping that command. To spawn a vehicle at a certain location admins could use /portloc and then /car. Fixed vehicles should always be added in a map editor, e.g. http://forum.sa-mp.com/showthread.php?t=282801

Unmute a player when he leaves the server

Imagine you have muted a player and he leaves the server. If (!) he joins the server again, he would be still muted without the chance to ask for an unmute. Even all admins could be offline so there is no chance at all for him to participate in the game as he can not communicate with other players.

( Everyone deserves a second chance. ๐Ÿ˜‰ )

Allow /engine for all players

Since there is no reason to restrict access to /engine, we now allow everyone on the server to control the engine of a vehicle.

Make /eject available for all drivers

The command /eject is currently only available for admins. But it should be available for all drivers (normal players) as well to throw out unwanted passengers.

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.