native CreateDynamicCircle(Float:x, Float:y, Float:size, worldid = -1, interiorid = -1, playerid = -1);native CreateDynamicCylinder(Float:x, Float:y, Float:minz, Float:maxz, Float:size, worldid = -1, interiorid = -1, playerid = -1);native CreateDynamicSphere(Float:x, Float:y, Float:z, Float:size, worldid = -1, interiorid = -1, playerid = -1);native CreateDynamicRectangle(Float:minx, Float:miny, Float:maxx, Float:maxy, worldid = -1, interiorid = -1, playerid = -1);native CreateDynamicCuboid(Float:minx, Float:miny, Float:minz, Float:maxx, Float:maxy, Float:maxz, worldid = -1, interiorid = -1, playerid = -1);native CreateDynamicPolygon(Float:points[], Float:minz = -FLOAT_INFINITY, Float:maxz = FLOAT_INFINITY, maxpoints = sizeof points, worldid = -1, interiorid = -1, playerid = -1);native DestroyDynamicArea(areaid);native IsValidDynamicArea(areaid);native GetDynamicPolygonPoints(areaid, Float:points[], maxpoints = sizeof points);native GetDynamicPolygonNumberPoints(areaid);native TogglePlayerDynamicArea(playerid, areaid, toggle);native TogglePlayerAllDynamicAreas(playerid, toggle);native IsPlayerInDynamicArea(playerid, areaid, recheck = 0);native IsPlayerInAnyDynamicArea(playerid, recheck = 0);native IsAnyPlayerInDynamicArea(areaid, recheck = 0);native IsAnyPlayerInAnyDynamicArea(recheck = 0);native GetPlayerDynamicAreas(playerid, areas[], maxareas = sizeof areas);native GetPlayerNumberDynamicAreas(playerid);native IsPointInDynamicArea(areaid, Float:x, Float:y, Float:z);native IsPointInAnyDynamicArea(Float:x, Float:y, Float:z);native AttachDynamicAreaToObject(areaid, objectid, type = STREAMER_OBJECT_TYPE_DYNAMIC, playerid = INVALID_PLAYER_ID);native AttachDynamicAreaToPlayer(areaid, playerid);native AttachDynamicAreaToVehicle(areaid, vehicleid);
x = CreateDynamicCircle(Float:x, Float:y, Float:size, worldid = -1, interiorid = -1, playerid = -1);IsPlayerInDynamicArea(playerid, x, recheck = 0);
stock IsPointWithinRectangle(Float:x, Float:y, Float:minx, Float:miny, Float:maxx, Float:maxy){ return( (minx <= x) && (x <= maxx) && (miny <= y) && (y <= maxy) );}
stock IsPointWithinCircle( Float:x, Float:y, Float:cx, Float:cy, Float:r ){ return( VectorSize(x-cx, y-cy, 0) <= r^2 );}
Eddig értem köszi, de hogy határoz meg az areaid-t? Ahogy berakom sorba automata számozza 0tól vagy 1től kezdve vagy mi?
(Pontosabban nem a kör alakú OnPlayerRangeOfPoint-ra gondolok hanem hogy pl csak gangzonen belül lehessen) [/quote]Ezért is írtam a példámban a téglalapot, a CreateDynamicRectangle-t. Ha pedig a témanyitónak szavak alapján nem megy, akkor itt van szájbarágósan - bár így nehezebben fogja megtanulni: // Globális területen deklarálodnew var = CreateDynamicRectangle();// A parancsban ellenőrzödif(!IsPlayerInDynamicArea(playerid, var)) return SendClientMessage(playerid, 0xFF0000FF, \"Itt nem használhatod ezt a parancsot!\");// A parancs többi része, amit csinálna az a parancs, ha a zónában van a játékos Krisk, ritkán van olyan, hogy valaki ne használná a Streamer plugint és ez egy eléggé kényelmes megoldás. De ha az ember kicsit számolgat, az sosem árt
// Globális területen deklarálodnew var = CreateDynamicRectangle();// A parancsban ellenőrzödif(!IsPlayerInDynamicArea(playerid, var)) return SendClientMessage(playerid, 0xFF0000FF, \"Itt nem használhatod ezt a parancsot!\");// A parancs többi része, amit csinálna az a parancs, ha a zónában van a játékos
Ha pedig a témanyitónak szavak alapján nem megy, akkor itt van szájbarágósan - bár így nehezebben fogja megtanulni: