0.3e Suggestions

OnPlayerChangeRadioStation(playerid, station);

I'm on my phone. Sorry for the short message.
Reply

Yea its a good idea, but better if its possible to play user track for all.

SetRadioStation(playerid, stationid);
OnPlayerStationChange(playerid, oldstation, newstation);
SetStationForPlayer(playerid, stationid);

It will good like if someone is in LSPD thenn they can press R to listen to other players and have contact between them.

And Add indicators
And add

OnVehiclePartDestroyed(vehicleid, partid);

parts
PART_BUMBER 0
PART_BONNET 1
PART_BOOT 2
PART_HEADLIGHT_LEFT 3
PART_HEADLIGHT 4
PART_DOOR_FRONT_PASSENGER 5
PART_DOOR_FRONT_DRIVER 6
PART_DOOR_BACK_LEFT 7
PART_DOOR_BACK_RIGHT 8
PART_TIRES 9
etc.. etc..

OnPlayerDestroObject(playerid, objectid);
IsATempObject(objectid); //like some wooden fences which we can destroy with punching or shooting that them.

OnPlayerPunchVehicle(playerid, vehicleid);
DestroyEngine(vehicle);
RemovePartOfVehicle(vehicleid);
OnVehiclePartRemoved(vehicleid, partid);
OnPlayerRemoveVehiclePart(playerid, vehicleid, partid);

RemovePlayerPart(playerid, partid);
//arms, legs etc.
// like someone shoot on the left arm so it removes it.
OnPlayerPartRemoved(playerid, partid);

OnPlayerRemovePlayerPart(playerid, partid);


//There are a lots of things to be suggested.

Thank,
Spooky
Reply

pawn Код:
SelectTextDraw(playerid, hovercolor, bool:hideplayerhud = true)
Reply

Maybe something like that:

This function could be put under OnDialogResponse for specific dialog ID (under specific dialog. If this sentence is incomprehensible, I wrote example below):
pawn Код:
native ToggleMovingSpecificDialog(dialogid, enable); // this function can enable move dialog with specific ID
or for all dialogs (above all dialogs and under OnDialogResponse):
pawn Код:
native ToggleMovingAllDialogs(playerid, enable); // this function can enable moving all dialogs
Example of using:
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    ToggleMovingAllDialogs(playerid, enable); // if this function will be enabled, all dialogs can be moved and function under ShowPlayerDialog (ToggleMovingSpecificDialog(1, enable/disable)) will be ignored
    // but! If ToggleMovingAllDialogs(playerid, enable/disable); has second parameter set to disable, all dialogs can be moved separately
    ToggleMovingAllDialogs(playerid, disable);
    if(dialogid == 1 && response)
    {
        ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Hello", "So... Hello?", "Okay", "Cancel");  
        // If "ToggleMovingAllDialogs(playerid, enable/disable)" has 2nd parameter to disable, function below could be work
        ToggleMovingSpecificDialog(1, enable); // this dialog will be moved or if on above OnDialogResponse is "ToggleMovingAllDialogs(playerid, enable);", this function will be ignored
    }
    else if(dialogid == 2 && response)
    {
        ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Hello 2", "Hello there", "Okay", "Cancel");
        ToggleMovingSpecificDialog(2, disable); // this dialog won't be moved or if on above OnDialogResponse is "ToggleMovingAllDialogs(playerid, enable);", this function will be ignored
    }
    return 0;
}
And now - if enable - moving dialog is enabled by the side of server, if is false - moving dialog is disabled? I think is possible, but if not, I suggest
pawn Код:
native MoveTextDrawByMouse(textdraw);
Regards.
Reply

My suggestions:
- More TextDraw fonts
- TextDrawSetRot // for rotating textdraws
- A bit transparent dialog headers
- A bit smaller cursor
- Colourable objects with alpha
- Only one callback to mouse showing with select mode
pawn Код:
public OnMouseShown(playerid, selectmode, shown)
{
    if(selectmode == SELECT_MODE_TEXTDRAW) return selectmode = SELECT_MODE_OBJECT;
    else shown = false;
}
Reply

pawn Код:
Invisiblemouse(playerid);
It will be good for making custom mouse with textdraws
Reply

Quote:
Originally Posted by Spooky
Посмотреть сообщение
SetRadioStation(playerid, stationid);
SetStationForPlayer(playerid, stationid);
What's the difference
Reply

Make something like MapAndreas but client-side and using GTA Engine so it will be work for created objects
pawn Код:
native Float:GetPlayerGroundZ(playerid, Float:x, Float:y, Float:z);
Example:
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp("/undercover", cmdtext, true) == 0)
    {
        new Float:x, Float:y, Float:z
        new Float:gz;
       
        GetPlayerPos(playerid, x, y, z);
        gz = GetPlayerGroundZ(playerid, x, y, 400);
        if(gz == z) SendClientMessage(playerid, -1, "You are not under cover");
        else SendClientMessage(playerid, -1, "You are undercover");
        return 1;
    }
    return 0;
{
This will be can used for OnPlayerClickMap or airstrike system
Reply

PHP код:
GetPlayerClientID(playerid);
IsPlayerClientIDBanned(playerid);
SetPlayerClientIDBanned(ID[]); 
Example:
PHP код:
new str[32];
format(str,sizeof(str),"%s",GetPlayerClientID(playerid));// ID: fsenjfh24398tgnd23h
SetPlayerClientIDBanned(str); 
PHP код:
public OnPlayerConnect(playerid)
{
if(
IsPlayerClientIDBanned(playerid))Kick(playerid);
return 
1;

ID to obtain from the database to change was impossible. For example, when installing the client. But to do so to the SA-MP created a hidden file, so that when you reinstall the ID has not changed.

Sorry for my Bad English.
Reply

It would be nice if OnPlayerGiveDamage worked for NPCs. I know they don't lose health, so 'Float:damage' would just be 0, but it would be good to be able to detect it.
Reply

It would be really helpful if SetPlayerName(playerid, const name[]) would be accepted, even if only upper/lowercase changes are made.
This helps from distinguishing e.g. the players "Ian_McCloud" and "lan_McCIoud", which look exactly the same in ingame chat.

-- SetPlayerName seems not to have an effect (on the changed player?) at all in OnPlayerConnect.

Regards,

Webflori
Reply

Would be cool to be able to get the screen position of a point in the 3D world.

If someone is smart enough to script or already has scripted it, PM the code to me and I will give a cookie.
Reply

Quote:
Originally Posted by Finn
Посмотреть сообщение
Would be cool to be able to get the screen position of a point in the 3D world.

If someone is smart enough to script or already has scripted it, PM the code to me and I will give a cookie.
Oh dis pleez..

I have seen a script who used that though, but can't find it D:
Reply

SetPlayerClass(playerid, classid) would be nice to set the players class id at the class selection. So for example if a player chooses class id 43 and then leaves the server, you can set the class back to 43 next time they rejoin rather than starting from 0 again.
Reply

Quote:
Originally Posted by BeckzyBoi
Посмотреть сообщение
SetPlayerClass(playerid, classid) would be nice to set the players class id at the class selection. So for example if a player chooses class id 43 and then leaves the server, you can set the class back to 43 next time they rejoin rather than starting from 0 again.
This is possible in y_classes afaik.
Reply

OnPlayerClickPlayerTextDraw
Reply

Quote:
Originally Posted by ikkentim
Посмотреть сообщение
OnPlayerClickPlayerTextDraw
https://sampwiki.blast.hk/wiki/OnPlayerClickPlayerTextDraw

...?
Reply

ToggleSelectionGUI()

Probably remove the GUI on Class Selection.
Reply

Quote:
Originally Posted by Nicholas.
Посмотреть сообщение
ToggleSelectionGUI()

Probably remove the GUI on Class Selection.
It can be done by using spectate mode.
Reply

Quote:
Originally Posted by Finn
Посмотреть сообщение
Would be cool to be able to get the screen position of a point in the 3D world.

If someone is smart enough to script or already has scripted it, PM the code to me and I will give a cookie.
https://github.com/Tannz0rz/SA-MP-GD...ter/Render3D.h
https://github.com/Tannz0rz/SA-MP-GD...r/Render3D.cpp

WorldToScreen is what you're looking for. Enjoy.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)