moving gate
#1

Can any body help me these gates are mapped correctly but every time I /open gate it opens in a diffrent direction and closes in a diffrent direction every time this is my code.

pawn Код:
#include <a_samp>

#if defined FILTERSCRIPT

public OnFilterScriptInit()
{
    print("\n--------------------------------------");
    print(" Blank Filterscript by your name here");
    print("--------------------------------------\n");
    return 1;
}

public OnFilterScriptExit()
{
    return 1;
}

#else

main()
{
    print("\n----------------------------------");
    print(" Blank Gamemode by your name here");
    print("----------------------------------\n");
}

#endif
new cgate;
public OnGameModeInit()
{
    // Don't use these lines if it's a filterscript
    SetGameModeText("Blank Script");
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    cgate=CreateObject(969,-2798.00000000,-471.60000610,6.19999981,0.00000000,0.00000000,234.50000000); //object(electricgate) (1)
    return 1;
}

public OnGameModeExit()
{
    return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    return 1;
}

public OnPlayerConnect(playerid)
{
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    return 1;
}

public OnPlayerSpawn(playerid)
{
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    return 1;
}

public OnVehicleSpawn(vehicleid)
{
    return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
    return 1;
}

public OnPlayerText(playerid, text[])
{
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/opengate", cmdtext, true, 10) == 0)
    {
        if(IsPlayerInRangeOfPoint(playerid,10.0,-2803.80004883,-479.10000610,6.19999981))
        {
            MoveObject(cgate,-2803.10009766,-478.79998779,6.19999981,1);
        }
        return 1;
    }

    if (strcmp("/closegate", cmdtext, true, 10) == 0)
    {
        if(IsPlayerInRangeOfPoint(playerid,10.0,-2803.80004883,-479.10000610,6.19999981))
        {
            MoveObject(cgate,-2798.00000000,-471.60000610,6.19999981,1);
        }
        return 1;
    }
    return 0;
}
Reply
#2

is it same gate >?
Reply
#3

As I stated its mapped perffectly and its same.
Reply
#4

The object (cgate), when you create it, is it open or closed?
Reply
#5

Closed.
Reply
#6

Try this:
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/opengate", cmdtext, true, 10) == 0)
    {
        if(IsPlayerInRangeOfPoint(playerid,10.0,-2803.80004883,-479.10000610,6.19999981))
        {
            MoveObject(cgate,-2798.00000000,-471.60000610,5.79999981,1);
        }
        return 1;
    }

    if (strcmp("/closegate", cmdtext, true, 10) == 0)
    {
        if(IsPlayerInRangeOfPoint(playerid,10.0,-2798.00000000,-471.60000610,6.19999981))
        {
            MoveObject(cgate,-2798.00000000,-471.60000610,6.19999981,1);
        }
        return 1;
    }
    return 0;
}
Reply
#7

Auto gate closer, hope u will have that
First time helping someone xD In my eyes this should work


Код:
#define FILTERSCRIPT
#include <a_samp>
#include <zcmd>
#define COLOR_YELLOW 0xFFFF00AA
new cgate;
forward timergateclose ();
public OnGameModeInit()
{
    cgate=CreateObject(969,-2798.00000000,-471.60000610,6.19999981,0.00000000,0.00000000,234.50000000); //object(electricgate) (1)
	return 1;
}
COMMAND:opengate(playerid, params[]) // uses the zcmd include
{
   if(IsPlayerInRangeOfPoint(playerid,10.0,-2803.80004883,-479.10000610,6.19999981)) return SendClientMessage(playerid, COLOR_YELLOW, "You are too far away from the gate.");
   MoveObject(cgate,-2803.10009766,-478.79998779,6.19999981,1); // moves to the open gate place in speed 1
   SetTimer("timergateclose",10000,0); // timer for the gate to close
   return 1;
}
public timergateclose()
{
    MoveObject(cgate,-2798.00000000,-471.60000610,6.19999981,0.00000000,0.00000000,234.50000000,2); // back to the CreateObject
}
public OnGameModeExit()
{
    DestroyObject(cgate);
	return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)