[duda]Comando /entrar - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (
https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: [duda]Comando /entrar (
/showthread.php?tid=430480)
[duda]Comando /entrar -
Kallyn - 14.04.2013
Hola, resulta que tengo un sistema de casas en mi server pero a la hora de poner /enter esta todo bien pero cuando pongo enter y quiero hacer que otro player entre con ese mismo comando que puse, me explico, que cuando yo ponga /enter el comando me teletransporte al interior pero a la ves teletransporte a los otros player que estan cerca del pickup o cerca mio
el comando que tengo es haci
Код:
COMMAND:enter(playerid, params[])
{
new HouseID, IntID;
if (INT_IsPlayerLoggedIn(playerid) == 0) return 0;
if (GetPlayerVehicleSeat(playerid) == -1)
{
for (HouseID = 1; HouseID < MAX_HOUSES; HouseID++)
{
if (IsValidDynamicPickup(AHouseData[HouseID][PickupID]))
{
if (IsPlayerInRangeOfPoint(playerid, 2.5, AHouseData[HouseID][HouseX], AHouseData[HouseID][HouseY], AHouseData[HouseID][HouseZ]))
{
if (AHouseData[HouseID][HouseOpened] == false)
{
if (House_PlayerIsOwner(playerid, HouseID) == 0)
{
SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}This house isn't open to the public, you can't enter it");
return 1;
}
}
IntID = AHouseData[HouseID][HouseLevel]; // Get the level of the house
SetPlayerVirtualWorld(playerid, 5000 + HouseID);
SetPlayerInterior(playerid, AHouseInteriors[IntID][InteriorID]);
SetPlayerPos(playerid, AHouseInteriors[IntID][IntX], AHouseInteriors[IntID][IntY], AHouseInteriors[IntID][IntZ]);
APlayerData[playerid][CurrentHouse] = HouseID;
SendClientMessage(playerid, 0xFFFFFFFF, "{00FF00}Use {FFFF00}/housemenu{00FF00} to change options for your house");
return 1;
}
}
}
}
return 0;
}
Respuesta: [duda]Comando /entrar -
[J]ulian - 14.04.2013
Te dejo el de cerca del pickup.
pawn Код:
COMMAND:enter(playerid, params[])
{
new HouseID, IntID;
if (INT_IsPlayerLoggedIn(playerid) == 0) return 0;
if (GetPlayerVehicleSeat(playerid) == -1)
{
for (HouseID = 1; HouseID < MAX_HOUSES; HouseID++)
{
if (IsValidDynamicPickup(AHouseData[HouseID][PickupID]))
{
if (IsPlayerInRangeOfPoint(playerid, 2.5, AHouseData[HouseID][HouseX], AHouseData[HouseID][HouseY], AHouseData[HouseID][HouseZ]))
{
if (AHouseData[HouseID][HouseOpened] == false)
{
if (House_PlayerIsOwner(playerid, HouseID) == 0)
{
SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}This house isn't open to the public, you can't enter it");
return 1;
}
}
IntID = AHouseData[HouseID][HouseLevel]; // Get the level of the house
for(new i = 0; i != GetMaxPlayers(); i++)
{
if(INT_IsPlayerLoggedIn(i) && IsPlayerInRangeOfPoint(i, 2.5, AHouseData[HouseID][HouseX], AHouseData[HouseID][HouseY], AHouseData[HouseID][HouseZ]))
{
SetPlayerVirtualWorld(i, 5000 + HouseID);
SetPlayerInterior(i, AHouseInteriors[IntID][InteriorID]);
SetPlayerPos(i, AHouseInteriors[IntID][IntX], AHouseInteriors[IntID][IntY], AHouseInteriors[IntID][IntZ]);
APlayerData[i][CurrentHouse] = HouseID;
}
}
/* SetPlayerVirtualWorld(playerid, 5000 + HouseID);
SetPlayerInterior(playerid, AHouseInteriors[IntID][InteriorID]);
SetPlayerPos(playerid, AHouseInteriors[IntID][IntX], AHouseInteriors[IntID][IntY], AHouseInteriors[IntID][IntZ]);
APlayerData[playerid][CurrentHouse] = HouseID;*/
SendClientMessage(playerid, 0xFFFFFFFF, "{00FF00}Use {FFFF00}/housemenu{00FF00} to change options for your house");
return 1;
}
}
}
}
return 0;
}
Para hacer a los que estйn cerca a ti es lo mismo, sуlo que tenes qeu cambiar en el IsPlayeInRangeOfPoint las coordenadas del pickup por las de tu jugador. Si te da algun error decime, que no lo compilй.