Szerző Téma: Van-e a közelben olyan object.  (Megtekintve 913 alkalommal)

Van-e a közelben olyan object.
« Dátum: 2016. július 25. - 14:44:56 »
0 Show voters
Sziasztok.
Olyan kérdéssel fordulok ma hozzátok, hogy van egy X object idénk, legyen most a 2000 ami egy szekrény. Lehetséges e az, hogy lekérdezzük hogy játékosunk közelében van-e 2000 object idjű object.
Tudom tudom elég kitekert kérdés, de szerintem Pedró. és a többi ilyen atomfej tudnak erre is megoldást adni :)
Köszönöm előre is :)

Van-e a közelben olyan object.
« Válasz #1 Dátum: 2016. július 25. - 15:41:03 »
+1 Show voters
hát ha a szekrény változóban van ilyen tömbös megoldással akkor simán
ha arra akarsz hogy 2000 es object idéjű csak úgy akkor meg 3 for ciklus egymásba szerintem és úgy lehetne de akkor az laggot is okozhat én szerintem.
Változóba ha elmented hol van a 2000 es szekrény akkor
Ez jó lehet
és akkor a szekrény pozíciója alapján fogja megnézni

Nem elérhető Pedró

  • 3341
  • 2014 © Az év Szkriptere
    • Profil megtekintése
Van-e a közelben olyan object.
« Válasz #2 Dátum: 2016. július 25. - 15:45:01 »
+3 Show voters
Alap objectekkel nem lehet megoldani, max lerakott objectekkel.
Lerakott objecteshez írok neked egy megoldást.
10perc.

Dupla hozzászólás automatikusan összefûzve. ( [time]2016/07/25 - 16:03:07[/time] )

stock Vaneakozelben(playerid, _modelid) {
new modelid, Float:distancetoobject, Float:playerpos[3], result = -1;
GetPlayerPos(playerid, playerpos[0], playerpos[1], playerpos[2]);
for(new i; i < Streamer_CountItems(STREAMER_TYPE_OBJECT); i++) {
    modelid = Streamer_GetIntData(STREAMER_TYPE_OBJECT, i, E_STREAMER_MODEL_ID);
   
if(modelid == _modelid) {
    Streamer_GetDistanceToItem(playerpos[0], playerpos[1], playerpos[2], STREAMER_TYPE_OBJECT, i, distancetoobject);
   
    if(distancetoobject < 3.0) {
      SendClientMessage(playerid, -1, \"Közel áll hozzád egy 2000-es idjű object!\");
      result = i;
      break;
    }
}
}
return result;
}

 
Nem teszteltem. Tessék.

Dupla hozzászólás automatikusan összefûzve. ( [time]2016/07/25 - 16:06:06[/time] )

Vaneakozelben(playerid) pedig visszatér a objectid-vel.
gyakorlati példa:
 

public OnPlayerSpawn(playerid) {
new objectid = Vaneakozelben(playerid, 2000);
if(objectid == -1) {
SendClientMessage(playerid, -1, \"Nincs a közeledben 2000-es idjű object.\");
}else{
DestroyDynamicObject(objectid);
//pl törlöd.
}
return 1;
}
« Utoljára szerkesztve: 2016. július 25. - 16:07:01 írta Pedró »

Van-e a közelben olyan object.
« Válasz #3 Dátum: 2016. július 26. - 14:33:51 »
0 Show voters
Mondtam én, hogy Pedró. megoldja  :D :D :D . Köszi szépen, ment a +, pont erre gondoltam :)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal