Help with A FS
#1

Hi,
i downloaded a FS from this forum [FS section] and i cant compile it..
please help me this is what i get:
Код:
C:\Users\SHAY\Desktop\AntiAircraftRocketLancher.pwn(58) : error 025: function heading differs from prototype
C:\Users\SHAY\Desktop\AntiAircraftRocketLancher.pwn(83) : warning 217: loose indentation
C:\Users\SHAY\Desktop\AntiAircraftRocketLancher.pwn(85) : warning 217: loose indentation
C:\Users\SHAY\Desktop\AntiAircraftRocketLancher.pwn(134) : warning 217: loose indentation
C:\Users\SHAY\Desktop\AntiAircraftRocketLancher.pwn(142) : warning 217: loose indentation
C:\Users\SHAY\Desktop\AntiAircraftRocketLancher.pwn(168) : warning 217: loose indentation
C:\Users\SHAY\Desktop\AntiAircraftRocketLancher.pwn(262) : warning 217: loose indentation
C:\Users\SHAY\Desktop\AntiAircraftRocketLancher.pwn(268) : warning 217: loose indentation
C:\Users\SHAY\Desktop\AntiAircraftRocketLancher.pwn(308) : warning 217: loose indentation
Reply
#2

pawn Код:
//==============================================================================

#include <a_samp>

//==============================================================================

#define ROCKET_FIRE_DISTANCE 350 // The distance at which the automatic rocket launchers fire

#define ROCKET_SPEED 200 // The speed the rockets travel at

new bool: ROCKET_SHOOT_ADMINS = true; // If false, admins will not be shot by these

//==============================================================================

new MAX_ROCKETS;

new RocketObjects [ 100 ];

new Float: RocketDestination [ 100 ] [ 3 ];

new Float: RocketPositions [ 100 ] [ 3 ];

//==============================================================================

new Attackable [ MAX_PLAYERS ];

//==============================================================================

new string [ 255 ];

//==============================================================================

forward RocketLaunchUpdate ( );

//==============================================================================

stock strtok(const str[], &index,seperator=' ')
{
        new length = strlen(str);
        new offset = index;
        new result[255];
        while ((index < length) && (str[index] != seperator) && ((index - offset) < (sizeof(result) - 1)))
        {
                result[index - offset] = str[index];
                index++;
        }

        result[index - offset] = EOS;
        if ((index < length) && (str[index] == seperator))
        {
                index++;
        }
        return result;
}

//==============================================================================

public OnFilterScriptInit ()
{
        print ( "||================================||" );
        print ( "||     Anti Aircraft Launcher     ||" );
        print ( "||           Created By           ||" );
        print ( "||     WrathOfGenesis (FUDDS)     ||" );
        print ( "||             LOADED             ||" );
        print ( "||================================||" );

        CreateRocketLauncher ( 2725.607177 , -2413.530761 , 29.678125 );  // The following are the coords for the Army Bases: SF Easter Basin, LS Ocean Docks and LV Area 69
        CreateRocketLauncher ( 2725.607177 , -2413.530761 , 29.678125 );  // Each is written 4 times to allow each coord to fire 4 seperate rockets
        CreateRocketLauncher ( 2725.607177 , -2413.530761 , 29.678125 );
        CreateRocketLauncher ( 2725.607177 , -2413.530761 , 29.678125 );

        CreateRocketLauncher ( 211.674972 , 1810.644897 , 25.117187 );
        CreateRocketLauncher ( 211.674972 , 1810.644897 , 25.117187 );
        CreateRocketLauncher ( 211.674972 , 1810.644897 , 25.117187 );
        CreateRocketLauncher ( 211.674972 , 1810.644897 , 25.117187 );

        CreateRocketLauncher ( -1363.239746 , 493.578887 , 29.944622 );
        CreateRocketLauncher ( -1363.239746 , 493.578887 , 29.944622 );
        CreateRocketLauncher ( -1363.239746 , 493.578887 , 29.944622 );
        CreateRocketLauncher ( -1363.239746 , 493.578887 , 29.944622 );


        SetTimer ( "RocketLaunchUpdate" , 250 , true );

        return 1;
}

//==============================================================================

public OnFilterScriptExit ( )
{
        print ( "||================================||" );
        print ( "||     Anti Aircraft Launcher     ||" );
        print ( "||            UNLOADED            ||" );
        print ( "||================================||" );

        for ( new rocketid = 0; rocketid < MAX_ROCKETS; rocketid ++ )
        {
            if ( IsValidObject ( RocketObjects [ rocketid ] ) )
            {
                DestroyObject ( RocketObjects [ rocketid ] );
            }
        }

        return 1;
}

//==============================================================================

public OnPlayerConnect ( playerid )
{
        Attackable [ playerid ] = 1;
        return 1;
}

//==============================================================================

public OnPlayerDisconnect ( playerid )
{
        Attackable [ playerid ] = 1;
        return 1;
}

//==============================================================================

public OnPlayerCommandText ( playerid , cmdtext [ ] )
{
        new cmd [ 256 ] , idx , tmp [ 256 ] , giveplayerid;
        cmd = strtok ( cmdtext , idx );
        tmp = strtok ( cmdtext , idx );
        if(strcmp(cmd , "/AAProtect", true) == 0 && IsPlayerAdmin(playerid))
        {
            if ( ! strlen ( tmp ) )
            {
                SendClientMessage ( playerid , 0xFF0000FF , "USAGE: '/AAProtect [playerid]'." );
                return 1;
            }
            giveplayerid = strval ( tmp );
            if(!IsPlayerConnected(playerid))
            {
                SendClientMessage ( playerid , 0xFF0000FF , "Invalid playerid." );
                return 1;
            }
            Attackable [ giveplayerid ] = 0;
            format ( string , sizeof ( string ) , "* %s can no longer be attacked by the Anti Aircraft launchers." , GetName ( giveplayerid ) );
            SendClientMessage ( playerid , 0x00FF00FF , string );
            SendClientMessage ( giveplayerid , 0x00FF00FF , "* You can no longer be attacked by the Anti Aircraft launchers." );
            return 1;
        }

        if ( strcmp ( cmd , "/AAUnprotect" , true ) == 0 && IsPlayerAdmin ( playerid ) )
        {
            if ( ! strlen ( tmp ) )
            {
                        SendClientMessage ( playerid , 0xFF0000FF , "USAGE: '/AAUnprotect [playerid]'." );
                        return 1;
            }
            giveplayerid = strval ( tmp );
            if ( ! IsPlayerConnected ( playerid ) )
            {
                            SendClientMessage ( playerid , 0xFF0000FF , "Invalid playerid." );
                            return 1;
            }

            Attackable [ giveplayerid ] = 1;
            format ( string , sizeof ( string ) , "* %s can now be attacked by the Anti Aircraft launchers." , GetName ( giveplayerid ) );
            SendClientMessage ( playerid , 0xFF0000FF , string );
            SendClientMessage ( giveplayerid , 0xFF0000FF , "* You can now be attacked by the Anti Aircraft launchers." );
            return 1;
        }
        return 0;
}

//==============================================================================

stock GetName ( playerid )
{
    GetPlayerName ( playerid , string , MAX_PLAYER_NAME );
    return string ;
}

//==============================================================================

stock GetXYInFrontOfPlayer ( playerid , &Float: X , &Float: Y , Float: Distance )
{
        new Float: Angle;

        GetPlayerPos ( playerid , X , Y , Angle );
        GetPlayerFacingAngle ( playerid , Angle );

        if ( IsPlayerInAnyVehicle ( playerid ) )
        {
            GetVehicleZAngle ( GetPlayerVehicleID ( playerid ) , Angle );
        }

        X += ( Distance * floatsin ( - Angle , degrees ) );
        Y += ( Distance * floatcos ( - Angle , degrees ) );

        return 1;
}

//==============================================================================

stock IsAircraft ( vehicleid )
{
        switch ( GetVehicleModel ( vehicleid ) )
        {
        case
                        465,425,417,497,563,592,
                        548,577,511,512,501,447,
                        460,513,520,469,487,488,
                        553,464,476,519,593,539
                :
                {
                        return 1;
                }
        }
        return 0;
}

//==============================================================================

stock Float: GetDistanceBetweenTwoPoints ( Float: x1 , Float: y1 , Float: z1 , Float: x2 , Float: y2 , Float: z2 )
{
    return floatsqroot ( floatpower ( floatabs ( floatsub ( x2 , x1 ) ) , 2 ) + floatpower ( floatabs ( floatsub ( y2 , y1 ) ) , 2 ) + floatpower ( floatabs ( floatsub ( z2 , z1 ) ) , 2 ) );
}

//==============================================================================

stock Float: GetDistanceToPoint ( playerid , Float: X ,Float: Y , Float: Z )
{
        new Float: TempDist;
        new Float: PX , Float: PY  ,Float: PZ;

        GetPlayerPos ( playerid , PX , PY , PZ );
        TempDist = floatsqroot ( ( X - PX ) * ( X - PX ) + ( Y - PY ) * ( Y - PY ) + ( Z - PZ ) * ( Z - PZ ) );

        return TempDist;
}

//==============================================================================

stock GetClosestPlayerToPosition ( Float: X , Float: Y , Float: Z )
{
    new Float: TempDist , Float: Dist = 999999.99 , Closest = 999999;

    for ( new playerid = 0; playerid < MAX_PLAYERS; playerid ++ )
    {
        if ( IsPlayerConnected ( playerid ) )
        {
                        TempDist = GetDistanceToPoint ( playerid , X , Y , Z );

                        if ( TempDist < Dist )
                        {
                                Closest = playerid;
                                Dist = TempDist;
                        }
                }
    }

    return Closest;
}

//==============================================================================

stock CreateRocketLauncher ( Float: X , Float: Y , Float: Z )
{
        RocketPositions [ MAX_ROCKETS ] [ 0 ] = X;
        RocketPositions [ MAX_ROCKETS ] [ 1 ] = Y;
        RocketPositions [ MAX_ROCKETS ] [ 2 ] = Z;

        MAX_ROCKETS = MAX_ROCKETS + 1;

        return MAX_ROCKETS - 1;
}

//==============================================================================

public RocketLaunchUpdate ( )
{
        new Float: X , Float: Y , Float: Z , Fired;

        for ( new rocketid = 0; rocketid < MAX_ROCKETS; rocketid ++ )
        {
            if ( IsValidObject ( RocketObjects [ rocketid ] ) )
            {
                GetObjectPos ( RocketObjects [ rocketid ] , X , Y , Z );

                if ( GetDistanceBetweenTwoPoints ( X , Y , Z , RocketDestination [ rocketid ] [ 0 ] , RocketDestination [ rocketid ] [ 1 ] , RocketDestination [ rocketid ] [ 2 ] ) < 5 )
                {
                        DestroyObject ( RocketObjects [ rocketid ] );

                        CreateExplosion ( X , Y , Z , 00 , 5 );
                        CreateExplosion ( X , Y , Z , 07 , 5 );
                        CreateExplosion ( X , Y , Z , 06 , 5 );
                        CreateExplosion ( X , Y , Z , 13 , 5 );
                }
            }
            else
            {
                if ( Fired == 0 )
                {
                                if ( IsPlayerConnected ( GetClosestPlayerToPosition ( Float: X , Float: Y , Float: Z ) ) )
                                {
                                    new playerid = GetClosestPlayerToPosition ( Float: X , Float: Y , Float: Z );

                                    if ( GetDistanceToPoint ( playerid , RocketPositions [ rocketid ] [ 0 ] , RocketPositions [ rocketid ] [ 1 ] , RocketPositions [ rocketid ] [ 2 ] ) < ROCKET_FIRE_DISTANCE && IsAircraft ( GetPlayerVehicleID ( playerid ) ) && Attackable [ playerid ] == 1 )
                                    {
                                        if ( ! IsPlayerAdmin ( playerid ) || ROCKET_SHOOT_ADMINS == true )
                                        {
                                            GetPlayerPos ( playerid , X , Y , Z );

                                            GetXYInFrontOfPlayer ( playerid , X , Y , 50 );

                                            RocketDestination [ rocketid ] [ 0 ] = X - 20 + random ( 40 );
                                            RocketDestination [ rocketid ] [ 1 ] = Y - 20 + random ( 40 );
                                            RocketDestination [ rocketid ] [ 2 ] = Z - 20 + random ( 40 );

                                            RocketObjects [ rocketid ] = CreateObject ( 354 , RocketPositions [ rocketid ] [ 0 ] , RocketPositions [ rocketid ] [ 1 ] , RocketPositions [ rocketid ] [ 2 ] , 0 , 0 , 0 );
                                            MoveObject ( RocketObjects [ rocketid ] , RocketDestination [ rocketid ] [ 0 ] , RocketDestination [ rocketid ] [ 1 ] , RocketDestination [ rocketid ] [ 2 ] , ROCKET_SPEED );

                                            Fired = 1;
                                    }
                                    }
                                }
                        }
                }
        }

        return 1;
}

//==============================================================================
FIXED
Reply
#3

thank you
thank you
thank you!!!!

+1 rep.
what was the prob?
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)