[FilterScript] Array-Teleports ;]
#1

so i will post for you now system teleport basic in dialog , see the code and understand alone
PHP код:
/*
    Programmer code: _Application_
    Date Programming: 22/09/2013
    Programming time: 15 Minutes
*/
#include "a_samp.inc"
#define _DIALOG_TELEPORT_ (10)
enum _tInfo_
{
    
_Teleports_[50],
    
_Message_[128],
    
Float:_x_,
    
Float:_y_,
    
Float:_z_,
    
Float:_a_
};
new 
Teleport[][_tInfo_] =
{
    { 
"/teleport" ,"Message Here..." 0.0 ,0.0 ,1.0 ,0.0 },
    { 
"/teleport" ,"Message Here..." 0.0 ,0.0 ,1.0 ,0.0 },
    { 
"/teleport" ,"Message Here..." 0.0 ,0.0 ,1.0 ,0.0 },
    { 
"/teleport" ,"Message Here..." 0.0 ,0.0 ,1.0 ,0.0 },
    { 
"/teleport" ,"Message Here..." 0.0 ,0.0 ,1.0 ,0.0 },
    { 
"/teleport" ,"Message Here..." 0.0 ,0.0 ,1.0 ,0.0 },
    { 
"/teleport" ,"Message Here..." 0.0 ,0.0 ,1.0 ,0.0 },
    { 
"/teleport" ,"Message Here..." 0.0 ,0.0 ,1.0 ,0.0 },
    { 
"/teleport" ,"Message Here..." 0.0 ,0.0 ,1.0 ,0.0 },
    { 
"/teleport" ,"Message Here..." 0.0 ,0.0 ,1.0 ,0.0 },
    { 
"/teleport" ,"Message Here..." 0.0 ,0.0 ,1.0 ,0.0 },
    { 
"/teleport" ,"Message Here..." 0.0 ,0.0 ,1.0 ,0.0 },
    { 
"/teleport" ,"Message Here..." 0.0 ,0.0 ,10.0 ,0.0 }
};
public 
OnPlayerCommandText(playeridcmdtext[])
{
    if( !
strcmp(cmdtext"/teleports"true ))
    {
        new 
_sTrTe_[1024];
        
format_sTrTe_ sizeof_sTrTe_ ) , "" );
        for( new 
_iCount__iCount_ sizeofTeleport ); _iCount_ ++ )
        {
            
format_sTrTe_sizeof_sTrTe_ ), "%s\n{66FF66}%s" ,_sTrTe_Teleport_iCount_ ][ _Teleports_ ] );
        }
            
ShowPlayerDialogplayerid _DIALOG_TELEPORT_ DIALOG_STYLE_LIST "Dialog Teleports"_sTrTe_ "Select" "Cancel" );
        return 
1;
    }
    return 
0;
}
public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    if( 
dialogid == _DIALOG_TELEPORT_ && response )
    {
        if( 
GetPlayerStateplayerid ) == PLAYER_STATE_DRIVER )
        {
            new 
vehicleid GetPlayerVehicleIDplayerid );
            
GetVehiclePosvehicleidTeleportlistitem ][ _x_ ], Teleportlistitem ][ _y_ ], Teleportlistitem ][ _z_ ]);
            
GetVehicleZAnglevehicleidTeleportlistitem ][ _a_ ]);
        }
        else
        {
            
SetPlayerPosplayeridTeleportlistitem ][ _x_ ], Teleportlistitem ][ _y_ ], Teleportlistitem ][ _z_ ]);
            
SetPlayerFacingAngleplayeridTeleportlistitem ][ _a_ ]);
        }
        
SendClientMessageplayerid, -1Teleportlistitem ][ _Message_ ]);
    }
    return 
0;

Reply
#2

Wow Nice work!!!
Reply
#3

Nice work yo
Reply
#4

Good Job!!
Reply
#5

It should be:
pawn Код:
for( new _iCount_; _iCount_ < sizeof( Teleport ); _iCount_ ++ )
{
    format( _sTrTe_, sizeof( _sTrTe_ ), "%s\n{66FF66}%s" ,_sTrTe_, Teleport[ _iCount_ ][ _Teleports_ ] );
}
ShowPlayerDialog( playerid , _DIALOG_TELEPORT_ , DIALOG_STYLE_LIST , "Dialog Teleports", _sTrTe_ , "Select" , "Cancel" );
It doesn't need to re-show the dialog each time when the last one will be shown only.

pawn Код:
if( GetPlayerState( playerid ) == PLAYER_STATE_DRIVER )
{
    new vehicleid = GetPlayerVehicleID( playerid );
    GetVehiclePos( vehicleid, Teleport[ listitem ][ _x_ ], Teleport[ listitem ][ _y_ ], Teleport[ listitem ][ _z_ ]);
    GetVehicleZAngle( vehicleid, Teleport[ listitem ][ _a_ ]);
}
Were you hurry to finish it? It's a mistake because of that I guess!

It should be: SetVehiclePos and SetVehicleZAngle.

Other than that, good job.
Reply
#6

thank you all
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)