hy!
ezt:
if(IsPlayerInRangeOfPoint(playerid,300.0, 191.4581,2511.7207,16.2319))//aa
{
SetPlayerArmedWeapon(playerid,0);
GameTextForPlayer(playerid,\"~r~Piros zóna!\",1500,3);
}
hogyan lehetne megcsinálni úgy hogy csak 1 szer irja az üzenetet??
magyarul ha belépek a zónába csak 1x írja ki ne folytaon,valamint ha kilépek a zónábol és ujra belépek csak akkor irja ki egyszer??
public OnPlayerConnect( playerid ) { SetPVarInt( playerid, \"piros\", 0 ); return 1; }
public OnPlayerDisconnect( playerid ) { SetPVarInt( playerid, \"piros\", 0 ); return 1; }
if( IsPlayerInRangeOfPoint( playerid, 300.0, 191.4581,2511.7207,16.2319 ) ) //aa
{
if( GetPVarInt( playerid, \"piros\") == 0 )
{
SetPlayerArmedWeapon(playerid,0);
SetPVairInt( playerid, \"piros\", 1 );
GameTextForPlayer(playerid,\"~r~Piros zóna!\",1500,3);
} }
tessék.. 8)
streamer.inc
public OnPlayerEnterDynamicArea(playerid, areaid) // Belépés
public OnPlayerLeaveDynamicArea(playerid, areaid) // Kilépés
// Különbözõ alakú zónák/területek létrehozása
CreateDynamicCircle(Float:x, Float:y, Float:size, worldid = -1, interiorid = -1, playerid = -1);
CreateDynamicRectangle(Float:minx, Float:miny, Float:maxx, Float:maxy, worldid = -1, interiorid = -1, playerid = -1);
CreateDynamicSphere(Float:x, Float:y, Float:z, Float:size, worldid = -1, interiorid = -1, playerid = -1);
CreateDynamicCube(Float:minx, Float:miny, Float:minz, Float:maxx, Float:maxy, Float:maxz, worldid = -1, interiorid = -1, playerid = -1);
CreateDynamicPolygon(Float:points[], Float:minz = -FLOAT_INFINITY, Float:maxz = FLOAT_INFINITY, maxpoints = sizeof points, worldid = -1, interiorid = -1, playerid = -1);
Létre kell hozni egy változót mely tárolja a létrehozott zóna azonosítószámát majd ezt kell ellenõrzésre használni a visszahívások alatt.
new
RED_ZONE;
RED_ZONE = CreateDynamicSphere(191.4581, 2511.7207, 16.2319, 300.0);
public OnPlayerEnterDynamicArea(playerid, areaid)
{
if(areaid == RED_ZONE)
{
GameTextForPlayer(playerid,\"~r~Piros zóna!\",1500,3);
}
}