open.mp forum
[Suggestion] My suggestions list - [Updated 21/06/21] - Printable Version

+ open.mp forum (https://forum.open.mp)
-- Forum: open.mp (https://forum.open.mp/forumdisplay.php?fid=40)
--- Forum: Questions and Suggestions (https://forum.open.mp/forumdisplay.php?fid=42)
--- Thread: [Suggestion] My suggestions list - [Updated 21/06/21] (/showthread.php?tid=1363)



My suggestions list - [Updated 21/06/21] - JR_Junior - 2020-11-22

1 - BASIC NATIVE FUNCTIONS

I know that many of these functions that I am going to list may exist because someone has already created them on their own,?

but the fact is that most of them do not work accurately and not all of them have been shared. These are simple functions,?

which should be native and that I think that all server owners should have access to facilitate the work.



PHP Code:
GetServerIP();

GetServerPort(); 



PHP Code:
IsPlayerDesynced(playerid);

IsPlayerInWater(playerid);

IsPlayerUnderWater(playerid);

IsPlayerLying(playerid);

IsPlayerCrouched(playerid);

IsPlayerUpBuilding(playerid);

IsPlayerOnSurface(playerid); 

IsPlayerUnderGround(playerid); 

IsPlayerUnderVehicle(playerid); 

IsPlayerOnStreet(playerid);

IsPlayerMoving(playerid);

IsPlayerRunning(playerid);

IsPlayerWalking(playerid);

IsPlayerAiming(playerid);

IsPlayerShooting(playerid);

IsPlayerThrowingWeapon(playerid);

IsPlayerReloadingWeapon(playerid);

IsPlayerInAir(playerid);

IsPlayerParachuting(playerid);

IsPlayerFalling(playerid);

IsPlayerInFire(playerid);

IsPlayerBurning(playerid);



IsVehicleInWater(vehicleid);

IsVehicleInFire(vehicleid);

IsVehicleBurning(vehicleid);

IsVehicleOnSurface(vehicleid);

IsVehicleUnderGround(vehicleid);

IsVehicleInAir(vehicleid);

IsVehicleFalling(vehicleid);

IsVehicleUpBuilding(vehicleid);

IsVehicleOnStreet(vehicleid);

IsVehicleWheelsUp(vehicleid);

IsVehicleMovingForward(vehicleid);

IsVehicleMovingBackward(vehicleid); 



2 - PROGRESS BARS

- A system based on the game's original progress bars. Like the bars of life, armour, oxygen, etc.



PHP Code:
ProgressBar_Create(Float:xFloat:yFloat:widthFloat:heightPlayer:playerid);

ProgressBar_SetDirection(ProgressBar:ProgressBardirection);

ProgressBar_SetMaxValue(ProgressBar:ProgressBarFloat:max_value);

ProgressBar_SetColor(ProgressBar:ProgressBarcolor);

ProgressBar_SetBorderSize(ProgressBar:ProgressBarFloat:border_size);

ProgressBar_SetBorderColor(ProgressBar:ProgressBarborder_color);

ProgressBar_SetValue(ProgressBar:ProgressBarFloat:value);



ProgressBar_Show(ProgressBar:ProgressBarPlayer:playerid);

ProgressBar_Hide(ProgressBar:ProgressBarPlayer:playerid);

ProgressBar_Flash(ProgressBar:ProgressBarcolorPlayer:playerid);

ProgressBar_StopFlashing(ProgressBar:ProgressBarPlayer:playerid); 



3 - CUSTOM SOUNDS AND RADIUS

- A system that allows you to add customized sounds to a folder within scriptfiles.

- Be able to select the radius at which the sound should play, if a coordinate is defined.



PHP Code:
AddSound(sound_idfile_name[]);

Player_PlaySound(playeridsoundidFloat:xFloat:yFloat:zFloat:radius); 



4 - NEW AUDIO STREAM FEATURES

- Possibility of attaching an audio stream to a player / object / vehicle.

- To be able to pause / resume and control the volume.

- Determine the virtual world and the interior where the audio stream should play.

- Enable and disable audio stream messages in chat.

- If an audio stream is attached to a location or to a player, vehicle, or object, it should automatically play / update when a player approaches.



PHP Code:
Player_PlayAudioStream(playeridurlposXposYposZdistanceuseposvirtualworldinteriorattach_playerattach_vehicleattach_object);

Player_PauseAudioStream(playerid);

Player_ResumeAudioStream(playerid);

Player_SetAudioStreamVolume(playeridvolume);

Player_ToggleAudioStreamMessage(playeridtoggle);

IsAudioStreamPlayingForPlayer(playerid); 



5 - VEHICLE DAMAGE DETECTION

Detect damage caused by a vehicle or the damage that a vehicle has received.



PHP Code:
Vehicle_OnTakeDamage(vehicleid,?issuerid,?Float:amountweaponidvehiclepart);

Vehicle_OnGiveDamage(vehicleiddriverid,?damagedid,?Float:amount); 



6 - FIRE SYSTEM

A system for creating fire flames.



PHP Code:
Fire_Create(Fire:FireFloat:xFloat:yFloat:zFloat:sizevirtualworldinteriorPlayer:playerid);

Fire_Destroy(Fire:Fire); 



7 - PLAYER AND VEHICLE INVULNERABILITY

Prevents any kind of damage, even if your car is not invulnerable and explodes, you will not die.



PHP Code:
Player_SetInvulnerable(playeridtrue);

Vehicle_SetInvulnerable(vehicleidtrue); 



8 - ACTORS IMPROVMENTS AND NEW FEATURES

If we use SetActorInvulnerable the actor must not be pushed or moved, this is bad and we have to use a timer to reset the position.

My suggestion is to improve this or create ToggleActorCollision.



PHP Code:
Actor_SetChatBubble(actorid, ...);

Actor_Attach3DTextLabel(actorid, ...); 



9 - HIDDEN AND CUTSCENE SKINS

Add the cutscene skins and other skins present in the game as standard OpenMP skins, just like the samp, following the sequence of IDs 312,313, etc.



Here is the skins files: https://github.com/NicKv7/SkinsCutscenes

Original post: http://web-old.archive.org/web/20190423092430/https://forum.sa-mp.com/showthread.php?p=3958232



10 - NEW ANIMATION FUNCTIONS

PHP Code:
Player_OnAnimationChange(playeridold_indexold_animlib[], old_animname[], new_indexnew_animlib[], new_animname[])

Player_OnAnimationEnds(playeridindexanimlib[], animname[])

Player_GetAnimationSpeed(playerid);

Player_SetAnimationSpeed(playeridFloat:speed); 



RE: My suggestions list - [Updated 21/11/20] - Pinch - 2020-11-22

Player_SetAudioStreamVolume(playerid, volume);
That is already possible on the client's side and it'll stay like that because it's not up to server to decide such things (also x y z)

AddSound(sound_id, file_name[]);
This is slowly becoming HL/AMX Mod X and I like it lol (except for the viruses)

And most of the stuff you listed are useless, I mean they shouldn't be hard-coded to the src when you already can get most of those data yourself, for example IsVehicleBurning, like it is if the hp is below 350 so just create a new function and return true or false via ternary operator (basically the same they'd do in the src)


RE: My suggestions list - [Updated 21/11/20] - JR_Junior - 2020-11-22

(2020-11-22, 02:44 PM)Pinch Wrote: Player_SetAudioStreamVolume(playerid, volume);
That is already possible on the client's side and it'll stay like that because it's not up to server to decide such things (also x y z)

AddSound(sound_id, file_name[]);
This is slowly becoming HL/AMX Mod X and I like it lol (except for the viruses)

And most of the stuff you listed are useless, I mean they shouldn't be hard-coded to the src when you already can get most of those data yourself, for example IsVehicleBurning, like it is if the hp is below 350 so just create a new function and return true or false via ternary operator (basically the same they'd do in the src)

1 -?Why can't the server set the volume of an audio stream, if we can control so much, why not just that?

2 - It can be done in another way, I just gave a suggestion.

3 - For you it may be useless, because you are a professional, you are the best and you do not need these things, but there are enough people that you would find very useful, people who are not professionals like you.


RE: My suggestions list - [Updated 21/11/20] - SynTacs - 2020-11-23

(2020-11-22, 04:32 PM)JR_Junior Wrote:
(2020-11-22, 02:44 PM)Pinch Wrote: Player_SetAudioStreamVolume(playerid, volume);

That is already possible on the client's side and it'll stay like that because it's not up to server to decide such things (also x y z)



AddSound(sound_id, file_name[]);

This is slowly becoming HL/AMX Mod X and I like it lol (except for the viruses)



And most of the stuff you listed are useless, I mean they shouldn't be hard-coded to the src when you already can get most of those data yourself, for example IsVehicleBurning, like it is if the hp is below 350 so just create a new function and return true or false via ternary operator (basically the same they'd do in the src)



1 -?Why can't the server set the volume of an audio stream, if we can control so much, why not just that?



2 - It can be done in another way, I just gave a suggestion.



3 - For you it may be useless, because you are a professional, you are the best and you do not need these things, but there are enough people that you would find very useful, people who are not professionals like you.



I'm sorry if this will be offending but what's your point?



1. One adjusting volumes would complicate the whole thing. We want a working optimized server not a slow as server because of over complication of things. open.mp / SA-MP was literally designed to use the least amount of resources possible.



2. Yes but my number one answer explains why.



3. I'm sorry but "professionals" did their job studying the whole thing the theory, the code, the syntax, how one piece of code works, how one piece of function works, how to remake such and such, and how a to build a program from scratch specially when you are still putting it into paper.?I am also a "professional", on another programming language Web Development to be exact?("But I am here scripting pawno language because I love SA-MP / open.mp"), and we take time to freaking read to optimize and perfect?our sh*t that's why professionals are recommended in creating scripts and programs because we take the effort to dive deep into the unknown while other's call us "professional" just to defame us.


RE: My suggestions list - [Updated 21/11/20] - JR_Junior - 2020-11-23

(2020-11-23, 02:00 AM)SynTacs Wrote:
(2020-11-22, 04:32 PM)JR_Junior Wrote:
(2020-11-22, 02:44 PM)Pinch Wrote: Player_SetAudioStreamVolume(playerid, volume);

That is already possible on the client's side and it'll stay like that because it's not up to server to decide such things (also x y z)



AddSound(sound_id, file_name[]);

This is slowly becoming HL/AMX Mod X and I like it lol (except for the viruses)



And most of the stuff you listed are useless, I mean they shouldn't be hard-coded to the src when you already can get most of those data yourself, for example IsVehicleBurning, like it is if the hp is below 350 so just create a new function and return true or false via ternary operator (basically the same they'd do in the src)



1 -?Why can't the server set the volume of an audio stream, if we can control so much, why not just that?



2 - It can be done in another way, I just gave a suggestion.



3 - For you it may be useless, because you are a professional, you are the best and you do not need these things, but there are enough people that you would find very useful, people who are not professionals like you.



I'm sorry if this will be offending but what's your point?



1. One adjusting volumes would complicate the whole thing. We want a working optimized server not a slow as server because of over complication of things. open.mp / SA-MP was literally designed to use the least amount of resources possible.



2. Yes but my number one answer explains why.



3. I'm sorry but "professionals" did their job studying the whole thing the theory, the code, the syntax, how one piece of code works, how one piece of function works, how to remake such and such, and how a to build a program from scratch specially when you are still putting it into paper.?I am also a "professional", on another programming language Web Development to be exact?("But I am here scripting pawno language because I love SA-MP / open.mp"), and we take time to freaking read to optimize and perfect?our sh*t that's why professionals are recommended in creating scripts and programs because we take the effort to dive deep into the unknown while other's call us "professional" just to defame us.



Now I see that you don't really need any of these suggestions.? I understand and respect, but these suggestions are not for you, they are for OpenMP developers. ??


RE: My suggestions list - [Updated 21/11/20] - Pinch - 2020-11-23

(2020-11-23, 02:23 AM)JR_Junior Wrote:
(2020-11-23, 02:00 AM)SynTacs Wrote:
(2020-11-22, 04:32 PM)JR_Junior Wrote:
(2020-11-22, 02:44 PM)Pinch Wrote: Player_SetAudioStreamVolume(playerid, volume);

That is already possible on the client's side and it'll stay like that because it's not up to server to decide such things (also x y z)



AddSound(sound_id, file_name[]);

This is slowly becoming HL/AMX Mod X and I like it lol (except for the viruses)



And most of the stuff you listed are useless, I mean they shouldn't be hard-coded to the src when you already can get most of those data yourself, for example IsVehicleBurning, like it is if the hp is below 350 so just create a new function and return true or false via ternary operator (basically the same they'd do in the src)



1 -?Why can't the server set the volume of an audio stream, if we can control so much, why not just that?



2 - It can be done in another way, I just gave a suggestion.



3 - For you it may be useless, because you are a professional, you are the best and you do not need these things, but there are enough people that you would find very useful, people who are not professionals like you.



I'm sorry if this will be offending but what's your point?



1. One adjusting volumes would complicate the whole thing. We want a working optimized server not a slow as server because of over complication of things. open.mp / SA-MP was literally designed to use the least amount of resources possible.



2. Yes but my number one answer explains why.



3. I'm sorry but "professionals" did their job studying the whole thing the theory, the code, the syntax, how one piece of code works, how one piece of function works, how to remake such and such, and how a to build a program from scratch specially when you are still putting it into paper.?I am also a "professional", on another programming language Web Development to be exact?("But I am here scripting pawno language because I love SA-MP / open.mp"), and we take time to freaking read to optimize and perfect?our sh*t that's why professionals are recommended in creating scripts and programs because we take the effort to dive deep into the unknown while other's call us "professional" just to defame us.



Now I see that you don't really need any of these suggestions.? I understand and respect, but these suggestions are not for you, they are for OpenMP developers. ??

This is also a discussion thread



It's dumb to ask for features you already have, it wouldn't be dumb if you asked for something that is resource-heavy to be created in the events you have atm but everything you listed is extremely lightweight so it really doesn't have to be built-in because it literally means nothing to the server


RE: My suggestions list - [Updated 21/11/20] - Godfather - 2020-11-23

Nice list, would be very useful, thumbs up!



@Pinch could you share your knowledge and help the community by creating tutorials on how to catch these functions for example:



Code:
IsPlayerDesynced(playerid);

IsPlayerInWater(playerid);

IsPlayerUnderWater(playerid);

IsPlayerCrouched(playerid);

IsPlayerInFire(playerid);

IsPlayerBurning(playerid);



RE: My suggestions list - [Updated 21/11/20] - Pinch - 2020-11-23

(2020-11-23, 04:36 PM)Godfather Wrote: Nice list, would be very useful, thumbs up!



@Pinch could you share your knowledge and help the community by creating tutorials on how to catch these functions for example:



Code:
IsPlayerDesynced(playerid);

IsPlayerInWater(playerid);

IsPlayerUnderWater(playerid);

IsPlayerCrouched(playerid);

IsPlayerInFire(playerid);

IsPlayerBurning(playerid);

ColAndreas, OPU and rest of the events, I sure will when my CPU arrives, it's kinda slow cuz of covid


RE: My suggestions list - [Updated 21/11/20] - SynTacs - 2020-11-25

(2020-11-23, 02:23 AM)JR_Junior Wrote: Now I see that you don't really need any of these suggestions.? I understand and respect, but these suggestions are not for you, they are for OpenMP developers. ??



?hahaha. Yeah, it's not for me. Hoping that this gets accepted, just hoping. xiao


RE: My suggestions list - [Updated 21/11/20] - EvilShadeZ - 2020-11-25

Changing the audio volume doesn't have to be about setting the users' volume. It's more about mixing and adjusting what's playing on at the moment. Also adjusting the volume would allow for custom proximity-based systems. I wouldn't want this to affect players' max volume, but it is definitely a useful function.


RE: My suggestions list - [Updated 27/01/21] - JR_Junior - 2021-01-27

Updated


RE: My suggestions list - [Updated 21/06/21] - JR_Junior - 2021-06-21

Updated