/enter and /exit CMDS help
#1

Well... I Made an /enter CMD... and it works and TP the player to the Int i wanted... But the Problem is... When you do /enter ANYWHERE it TP you there... So i want it that only When you do /enter at the location of Marker you enter it anyewhere Else nothing Happen... So here is the Codes , Hope someone help xD

Код:
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT

#include <a_samp>

forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);

#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

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);
	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("/Enter", cmdtext, true))
 {
    if(!PlayerToPoint(1.5 ,playerid,334.1999511719,-1861.8780517578,13.538684844971))//If the player is NOT to that point
    SetPlayerInterior(playerid, 1);
    SetPlayerPos(playerid,2064.185546875,-2071.7348632813,1115.2646484375);
    CreatePickup(1239,2,1333.5863037109,-1864.8194580078,14.652570724487);
    return 1;
 }

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
	return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
	return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
	return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
	return 1;
}

public OnRconCommand(cmd[])
{
	return 1;
}

public OnPlayerRequestSpawn(playerid)
{
	return 1;
}

public OnObjectMoved(objectid)
{
	return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
	return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
	return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
	return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
	return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
	return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
	return 1;
}

public OnPlayerExitedMenu(playerid)
{
	return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
	return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
	return 1;
}

public OnPlayerUpdate(playerid)
{
	return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
	return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
	return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
	return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
	return 1;
}
public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
{
  if(IsPlayerConnected(playerid))
	{
		new Float:oldposx, Float:oldposy, Float:oldposz;
		new Float:tempposx, Float:tempposy, Float:tempposz;
		GetPlayerPos(playerid, oldposx, oldposy, oldposz);
		tempposx = (oldposx -x);
		tempposy = (oldposy -y);
		tempposz = (oldposz -z);
		//printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
		if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
		{
			return 1;
		}
	}
	return 0;
}
And can someone tell me how to make an /exit CMD too xDDDDDDDDDD
Reply
#2

use this variable
pawn Код:
if (IsPlayerInRangeOfPoint(playerid) == /*XYZ Co-ordinates*/)) {
SetPlayerPos(playerid,/*XYZ Co-ordinates*/);
}
return 1;
}
Reply
#3

Код:
if(!strcmp("/Enter", cmdtext, true))
 {
    if(IsPlayerInRangeOfPoint(playerid,3,x,y,z);//put the outside door co-ords here
    SetPlayerInterior(playerid, 1);
    SetPlayerPos(playerid,2064.185546875,-2071.7348632813,1115.2646484375);
    CreatePickup(1239,2,1333.5863037109,-1864.8194580078,14.652570724487);
    return 1;
Reply
#4

Quote:
Originally Posted by Skidmarks
Посмотреть сообщение
Код:
if(!strcmp("/Enter", cmdtext, true))
 {
    if(IsPlayerInRangeOfPoint(playerid,3,x,y,z);//put the outside door co-ords here
    SetPlayerInterior(playerid, 1);
    SetPlayerPos(playerid,2064.185546875,-2071.7348632813,1115.2646484375);
    CreatePickup(1239,2,1333.5863037109,-1864.8194580078,14.652570724487);
    return 1;
it should be this skidmarks
pawn Код:
CreatePickup(1239,1,1333.5863037109,-1864.8194580078,14.652570724487);
that pickup wont hide the pickup when a player moves in the pickup
Reply
#5

Did that :


Код:
// This is a comment
// uncomment the line below if you want to write a filterscript
#define FILTERSCRIPT

#include <a_samp>

forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);

#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

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);
	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 OnPlayerCommandText(playerid, cmdtext[])
if(!strcmp("/Enter", cmdtext, true))
 {
    if(IsPlayerInRangeOfPoint(playerid,3,1333.5809326172,-1863.5708007813,14.039328575134))
    SetPlayerInterior(playerid, 1);
    SetPlayerPos(playerid,2064.185546875,-2071.7348632813,1115.2646484375);
    CreatePickup(1239,2,1333.5863037109,-1864.8194580078,14.652570724487);
    return 1;
}
public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
{
  if(IsPlayerConnected(playerid))
	{
		new Float:oldposx, Float:oldposy, Float:oldposz;
		new Float:tempposx, Float:tempposy, Float:tempposz;
		GetPlayerPos(playerid, oldposx, oldposy, oldposz);
		tempposx = (oldposx -x);
		tempposy = (oldposy -y);
		tempposz = (oldposz -z);
		//printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
		if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
		{
			return 1;
		}
	}
	return 0;
}
And still entering at any place
Reply
#6

Example:
pawn Код:
if(!strcmp("/Enter", cmdtext, true))
 {
    if(IsPlayerInRangeOfPoint(playerid,3,1333.5809326172,-1863.5708007813,14.039328575134))
    {
        SetPlayerInterior(playerid, 1);
        SetPlayerPos(playerid,2064.185546875,-2071.7348632813,1115.2646484375);
        CreatePickup(1239,2,1333.5863037109,-1864.8194580078,14.652570724487);
        return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid, 3, 5000, 5000, 5000))
    {
        SetPlayerPos(playerid, x, y, z);
        return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid, 3, 6000, 6000, 6000))
    {
        // Do something here, etc etc
    }
}
Reply
#7

You need a on player pickup or get the X,Y,Z location of the entrance and exit
Reply
#8

WOrked , Thanks Man now how to do /exit one xD
Reply
#9

The same thing basically, only reversed. The POS you teleported too from the /enter command should be your IsPlayerInRangeOfPoint, and you should use your original IsPlayerInRangeOfPoint as the teleport coordinates.

You have the first part working, so simply reverse it.
Reply
#10

not working
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)