Dragging
#3

Quote:
Originally Posted by Dusan01
Посмотреть сообщение
Okay, you will need a new command, and callback: here is command you can edit it for yourself:
PHP код:
CMD:dragplayeridparams[] ) {
    new 
idFloat:Pos];
    if( 
sscanfparams"u"id )) return usageplayerid,"/drag [ID]" );
    if( 
id == playerid ) return greskaplayerid,"You cannot drag yourself!");
    if( 
id == INVALID_PLAYER_ID ) return greskaplayerid,"Player Not Connected");
    
GetPlayerPosidPos], Pos], Pos] );
    if( !
IsPlayerInRangeOfPointplayerid5.0Pos], Pos], Pos] )) return greskaplayerid,"Player not near you");
    
DragPlayerIDplayerid ] = idDragTimerplayerid ] = SetTimerEx"Dragged"800true"i"playerid); Dragedid ] = playerid;
    return 
true;

at the top of script you will need a new variables:
PHP код:
new DragPlayerID[MAX_PLAYERS];
new 
Draged[MAX_PLAYERS];
new 
DragTimer[MAX_PLAYERS]; 
You will reset that variables when player is connected to default value witch you want, also you will need to check is draged player disconected then kill timer, did he died...

and here is callback witch will be called by timer every 0,8seconds
PHP код:
forward Draggedplayerid );
public 
Draggedplayerid ) {
    if( 
DragedDragPlayerIDplayerid ] ] != -) {
        if( 
IsPlayerConnectedplayerid ) ) {
            if( 
IsPlayerConnectedDragPlayerIDplayerid ] ) ) {
                if( !
IsPlayerInAnyVehicleplayerid ) && ( !IsPlayerInAnyVehicleDragPlayerIDplayerid ] ) || IsPlayerInAnyVehicleDragPlayerIDplayerid ] ) ) ) {
                    new 
Float:Pos];
                    
GetPlayerPosplayeridPos], Pos], Pos] );
                    
SetPlayerPosDragPlayerIDplayerid ], Pos],  Pos] + 0.4Pos] );
                    
SetPlayerInteriorDragPlayerIDplayerid ], GetPlayerInteriorplayerid ) );
                    
SetPlayerVirtualWorldDragPlayerIDplayerid ], GetPlayerVirtualWorldplayerid ) );
                }
                else if( 
IsPlayerInAnyVehicleplayerid ) && !IsPlayerInAnyVehicleDragPlayerIDplayerid ] ) ) {
                    new 
vehicle GetPlayerVehicleID(playerid);
                    if( 
IsSeatAvailablevehicle) ) {
                        
PutPlayerInVehicleDragPlayerIDplayerid ], vehicle);
                    }
                    else if( 
IsSeatAvailablevehicle) ) {
                        
PutPlayerInVehicleDragPlayerIDplayerid ], vehicle);
                    }
                    else if( 
IsSeatAvailablevehicle) ) {
                        
PutPlayerInVehicleDragPlayerIDplayerid ], vehicle);
                    }
                }
            }
            else {
                
DragPlayerIDplayerid ] = -1Dragedplayerid ] = -1;
                   
SCMplayeridCOLOR_GREY"* Player left a server!");
                
KillTimerDragTimerplayerid ] );
            }
        }
    }
    return 
true;

Thanks but I could do with another little hand.

PHP код:
(1383) : error 017undefined symbol "IsSeatAvailable"
(1386) : error 017undefined symbol "IsSeatAvailable"
(1389) : error 017undefined symbol "IsSeatAvailable" 
PHP код:
public Draggedplayerid ) {
    if( 
DragedDragPlayerIDplayerid ] ] != -) {
        if( 
IsPlayerConnectedplayerid ) ) {
            if( 
IsPlayerConnectedDragPlayerIDplayerid ] ) ) {
                if( !
IsPlayerInAnyVehicleplayerid ) && ( !IsPlayerInAnyVehicleDragPlayerIDplayerid ] ) || IsPlayerInAnyVehicleDragPlayerIDplayerid ] ) ) ) {
                    new 
Float:Pos];
                    
GetPlayerPosplayeridPos], Pos], Pos] );
                    
SetPlayerPosDragPlayerIDplayerid ], Pos],  Pos] + 0.4Pos] );
                    
SetPlayerInteriorDragPlayerIDplayerid ], GetPlayerInteriorplayerid ) );
                    
SetPlayerVirtualWorldDragPlayerIDplayerid ], GetPlayerVirtualWorldplayerid ) );
                }
                else if( 
IsPlayerInAnyVehicleplayerid ) && !IsPlayerInAnyVehicleDragPlayerIDplayerid ] ) ) {
                    new 
vehicle GetPlayerVehicleID(playerid);
                    if( 
IsSeatAvailablevehicle) ) {
                        
PutPlayerInVehicleDragPlayerIDplayerid ], vehicle);
                    }
                    else if( 
IsSeatAvailablevehicle) ) {
                        
PutPlayerInVehicleDragPlayerIDplayerid ], vehicle);
                    }
                    else if( 
IsSeatAvailablevehicle) ) {
                        
PutPlayerInVehicleDragPlayerIDplayerid ], vehicle);
                    }
                }
            }
            else {
                
DragPlayerIDplayerid ] = -1Dragedplayerid ] = -1;
                
SCMplayerid"* Player left a server!");
                
KillTimerDragTimerplayerid ] );
            }
        }
    }
    return 
true;

Reply


Messages In This Thread
Dragging - by Cubie - 09.09.2017, 15:14
Re: Dragging - by Dusan01 - 09.09.2017, 15:22
Re: Dragging - by Cubie - 09.09.2017, 15:48
Re: Dragging - by Dusan01 - 10.09.2017, 08:30
Re: Dragging - by JasonRiggs - 10.09.2017, 08:49

Forum Jump:


Users browsing this thread: 1 Guest(s)