[GameMode] Last Bed Standing - Bedwars in SA-MP!
#1


Changelog
Code:
# Change Log
All notable changes to this project will be documented in this file.

## [0.1a] - 2017-03-14
### Added
- Binarysearch instead of iterators for pickup system.
- /stealth command to make yourself invisible for 60 seconds on minimap.

## [0.1b] - 2017-03-20
### Added
- Possibility to get a Warpkit to teleport yourself back to your base by using /warp command. Can be purchased for $100k in the shop.
- New reference map files including new PlayerInfoPickups array. 
- New pickup type InfoPickups, to show certain important server information like rules, FAQ and more..
- SaveUser_data function to save userdata periodically into the user file.
- ResetPlayerData function to reset player vars and arrays after death/disconnect.
- TeleportPlayerToBase function to teleport the player back to his base using /warp command or /spawn command (Admin only).
-

### Removed
- The Seasparrow of team YELLOW on Chilliad map due to balancing.
- Usless/Unused player vars and arrays.


### Fix
- /stealth kit which didnt work before. The player was invisible on the map all the time. No reset.
- Map bugs on CHILLIAD and GREEN PALMS map.
- String length of several strings due to display problems.


## [0.1b] - 2017-03-21
### Added
- Added weather system for random weather.
- Weather can be set by admins, using /weather ID
- /dropmoney uses GenerateRandomPickup function now, to create money pickups.
- system to check if a team has won the game. (if other teams are empty)
- Improved several minor bugs.
- Major changes in score system.
- The winner of the team will now be determined if there is no player left in other teams
- Recursive function will be called in OnPlayerDeath instead of OnPlayerSpawn now.
- Dead player will be thrown into TEAM_SPECTATOR after death now if the bed is missing.
- GetPlayerCount() function added to count amount of players for use in TeamsAlive(bool:value) function.
- Recursive function TeamsAlive(bool:value) function (false/true) to count teams alive or check if there is only one team left.
- Fighting Style menu to purchase different fightstyles.

### Fix
- Increased weapon prices due to balancing reasons.
- Changed bomb activation radius to 150m instead of 100m.

## [0.1b] - 2017-03-28
### Added
- Function GivePlayerMoneyText to give or remove money from a player and display gametext.
- #define to change the value of Money Pickups.

## [0.1b] - 2017-03-28
### Added
- Function GivePlayerMoneyText to give or remove money from a player and display gametext.
- #define to change the value of Money Pickups.

## [0.1.3a] - 2018-03-02
### Fix
- Fixed major bugs.
- Fixed y_ini problems.
- Fixed a huge amount of bugs.
- Code optimization

##[1.0.0] - 2018-03-02
### Added
- Fixed major bugs.
- Removed y_ini
- Fixed a huge amount of bugs.
- Code optimization
- Added Login/Register system using MySQL
- Added Salt + AES-256 support for security matters
- MySQL table will be altered if rows do not exist
- Added round system, deathmatch like to get a real game running
- Added MySQL support using the newest plugin and include
- Added a scoreboard shown at the end of a game
- Gamemode will now restart automatically to change a map after a team has won
- First stable gamemode, has been tested for a while right now. Please report any bugs
- Added 60 seconds countdown when there is a sufficient amount of players.
- Players are invincible during the countdown phase.
- Started the use of arrays to declare various team states.
Unfortunately i dont know how to get this pics smaller..

Hereby i want to publish my latest work and project Last Bed Standing - Bedwars, based on SA-MP's Grand Larceny

Reasons why..

Goal of this project is to port Minecraft's famous Bedwars gamemode into SA-MP. SA-MP is awesome, isnt it? So why not keeping it
Unfortunately the most SA-MP projects in progress, are roleplay or reallife servers so nothing special. So one of the reasons for the creation of this mode is to recreate Bedwars in SA-MP set in the GTA world, with money instead of bronze, explosions instead of break blocks in Minecraft.
Due to my university study i have to program a lot of stuff in C language, so why not practice a bit by using a C-Like language like PAWN? The result of alle these reasons is this project.. the time to creation of this mode took 2 weeks, so whats better than a selfmade mode instead of Godfather?
So why do you publish this work Knogle? Heh im addicted to free and open source software so i put this creation under GNU GPL Public License so anyone can redistribute, modify or improve it.
SA-MP is free, right? So this should be free as well, heh!


Finally this project has been created just for some fun and practice of my C skills for my uni course, but i will keep updating this gamemode in future!

Currently this Gamemode Last Bed Standing is in alpha state currently but will be updated frequently every week if possible.


The only left piece of Grand Larceny is the city, or in this case the team selection.
In my opinion its multiple times better than the simple skin selection, realised with menus on most servers, not this default crap.

Currently there are 3 Teams available, similar to real Bedwars.
Team RED is located inside of the Sherman Damn, so you have to travel westbound of El Castillo Del Diablo to get there. Team GREYs spot is Area 51 and Team BLUEs shed is Torenos Airport located in Verdant Meadows!

All the teams have got a shop inside the base, close to the spawn to purchase weapons, armour, skills or a bomb which is needed to destroy an enemies bed.
The teams also have vehicles available scattered around in area of their bases, like tanks or seasparrows to improve their defence against invadors.


The 3 teams are in posession of a "bronze" spawnpoint. But the way its made is GTA style so instead of "bronze" spawnpoints we have random money pickups scattered inside of a small 2D zone inside of any base.
You have to use the money to purchase weapons and miscellaneous stuff.

Goal of the game is to destroy the enemies bed, and wipe out all the other players ( except your own team obviously), like bedwars..
You can only respawn after death if your bed is still not broken, otherwise you are so dead bro.
This mode actually contains 2400 lines of code, its obviously a lot more than Grand Larceny has, with 500 lines only!


I tried this with 4 players only, and usually a game takes 10 up to 15 minutes.
Its simple but we had a lot of fun by playing this! Maybe just try it out..

The gamemode is written in ENGLISH completely, forgive me if there are any German or Portuguese comments left. (Im German and also Brazilian..)

This project is running @knogleinsi.de currently with 32 Slots and will keep running, so please keep developing and redistributing this mode and create some forks! Why not?

If you want to test this mode get some mates together and send me a pm.

I wont add a huge amount of features, it should be simple like the genuine Bedwars!


The source, check it out!


To the script itself..

You need sscanf2 Include and Plugin to run it.
You have to create 2 files:

vehiclebedwars.txt in /pawno/includes
customvehicles.txt in scriptfiles folder.

Commands available:

Code:
/dropmoney (To drop a specific amount of money close to the player)
/spec ID (you can spectate a player if your team has been wiped out)
/blowup (Type this if you are close to an enemies bed to blow it up!)
/pm (simple..)
/getplayerteam
/stealth
/warp
/acmds
/dropbomb
/detonate
/stats
/r (team radio)



since 0.1.3
... and more

A little overview of the teams and their spots:



A bomb is being placed!



Bed is detonating, run forrest!





One of the 3 teams you can choose..



Shop or dealer of team RED




"bronze" spawnoint and a little blackboard with game and team stats. (Every team has one)



The famous "center", known from Bedwars.
Its spawning money pickups twice as fast as in the bases.





Bed of Team GREY




Download:

Latest stable version 1.0.0

https://github.com/Knogle/LastBedStanding

The server is also available for testing here:

openknogle.eu:7777
Reply
#2

Wow amazing GM ! good job
Reply
#3

Funny and nice.
Reply
#4

Lol last bed standing Nice And Funny +REP
Reply
#5

Well done.
Reply
#6

Thanks, next update on friday!
Reply
#7

Why did you use that pragma..?
Reply
#8

Can you tell me which line? Do you mean #pragma tabsize 0? It was part of Grand Larceny so I didn't change it cuz I don't know what #pragma is used for.. never encountered it in C


Edit:

I use it to suppress the "lost identitation" warnings because I use Text FX to reindent the source code
Reply
#9

Great work. I love playing bed wars in minecraft, aha!
Reply
#10

Good job
Reply
#11

Update delayed due to ackslimit problems
Reply
#12

Good job
Reply
#13

Perfect work
Reply
#14

Hahah this made my day.
Reply
#15

Update, Version 0.1.0 (unstable) released!

Chilliad version of Last Bed Standing

--- Changelog ---
Code:
-Added y_ini Account system to save Score, blown beds, kills and deaths.
No login yet.

- Fixed several bugs e.g. respawn after death, even without existing bed.

- New bug encountered, server or players crash randomly due to ackslimit exceed or messageholelimit problems. Reason not found yet.

- Added several admin and player commands like /stats, /goto /get /playertoplayer /givecash and more stuff.

- Added /dropbomb command to detonate a bomb remotely by using "Y" Key.
http://pastebin.com/t8HyPr1c

Note! This version may not be stable!
Reply
#16

Ahoy

First stable version is out!

Code:
Features:
-Added y_ini based stats system
Tracking Deaths
Tracking Kills
Tracking destroyed beds
Tracking detonated bombs

/stats playerid for K/D and more!

Added a lot of useful admin commands.

-strtok has been replaced by sscanf completely.

New pickup system by using heap sorted arrays and binary search!! Ultra fast!

Fixed known bugs.

Added 4 maps, now you can simply create your own maps by using the given shapes in /pawno/includes directory
Added features in the shops.

Teamcount can be changed now from 2 up to 6 teams per map!
Everything is dynamic now, you can change whatever you want easily
Check out the Github Repo of the first stable release of Last Bed Standing - Fork of Minecraft Bedwars 0.1b

https://github.com/Knogle/LastBedStanding
Reply
#17

remove that pragama
Reply
#18

Quote:
Originally Posted by Sreyas
View Post
remove that pragama
Removed that pragma
Reply
#19

Quote:
Originally Posted by faxxe
View Post
Removed that pragma
nice gm 5 stars.
Reply
#20

# Change Log
All notable changes to this project will be documented in this file.

## [0.1a] - 2017-03-14
### Added
- Binarysearch instead of iterators for pickup system.
- /stealth command to make yourself invisible for 60 seconds on minimap.

## [0.1b] - 2017-03-20
### Added
- Possibility to get a Warpkit to teleport yourself back to your base by using /warp command. Can be purchased for $100k in the shop.
- New reference map files including new PlayerInfoPickups array.
- New pickup type InfoPickups, to show certain important server information like rules, FAQ and more..
- SaveUser_data function to save userdata periodically into the user file.
- ResetPlayerData function to reset player vars and arrays after death/disconnect.
- TeleportPlayerToBase function to teleport the player back to his base using /warp command or /spawn command (Admin only).
-

### Removed
- The Seasparrow of team YELLOW on Chilliad map due to balancing.
- Usless/Unused player vars and arrays.


### Fix
- /stealth kit which didnt work before. The player was invisible on the map all the time. No reset.
- Map bugs on CHILLIAD and GREEN PALMS map.
- String length of several strings due to display problems.


Download latest release:

https://github.com/Knogle/LastBedStanding
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)