GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: itachi - 2012. március 15. - 10:39:06

Cím: IsPlayerInRangeOfPoint kérdés.
Írta: itachi - 2012. március 15. - 10:39:06
Egy nagyon egyszerû kérdésem lenne felétek, de nagyon kezdõ vagyok PAWNO terén, szóval légyszi ne hordjatok le.
Nos. Csak annyit szeretnék, hogy ha a megadott pozíció 30méteres környékén van a player, akkor egy egyszerû SendClientMessage-et dobjon.
Egy ismerõsöm ezt írta:
 
public OnPlayerUpdate(playerid)
{
    if(IsPlayerInRangeOfPoint(playerid, 30, 1480.612, -1743.773, 13.546)){
                        SendClientMessage(playerid, 0x1E84D7FF, \"Pozícióban vagy.\");
}
return 1;
}

 
De ha ottvagyok a pozícióban, akkor floodol ezerrel.
Légyszi segítsetek :) :angel:
Cím: IsPlayerInRangeOfPoint kérdés.
Írta: Csabesz - 2012. március 15. - 10:41:31
Talán,
 
public OnPlayerUpdate(playerid)
{
    if(IsPlayerInRangeOfPoint(playerid, 30, 1480.612, -1743.773, 13.546))
   {
         SendClientMessage(playerid, 0x1E84D7FF, \"Pozícióban vagy.\");
         return 1;
   }
   return 1;
}

 
de ahogy átgondoltam nembiztos hogy jó :D van másik ötletem is, de elõtte teszteld ezt.  ;)
Cím: IsPlayerInRangeOfPoint kérdés.
Írta: itachi - 2012. március 15. - 10:49:18
Ígysem jó :no: . Szóval az a probléma, hogy ha a pozíciónál vagyok, akkor ha mozgok floodloja, hogy pozícióban vagy. Gondolom a public funkcióval van a baj.
Cím: IsPlayerInRangeOfPoint kérdés.
Írta: rewan - 2012. március 15. - 10:52:51
[pawn]new pozicioban[MAX_PLAYERS];
public OnPlayerUpdate(playerid)
{
    if(IsPlayerInRangeOfPoint(playerid, 30, 1480.612, -1743.773, 13.546) && pozicioban[playerid] != 1)
   {
         SendClientMessage(playerid, 0x1E84D7FF, \"Pozícióban vagy.\");
         pozicioban[playerid] = 1;
         return 1;
   }
   return 1;
}[/pawn]
Próbáld meg így, egy változó segítségével.
Cím: IsPlayerInRangeOfPoint kérdés.
Írta: itachi - 2012. március 15. - 10:58:14
Ez már alakul :D. Csak még egy olyan kéne, hogyha kimegyünk belõle és visza, akkoris kiírja.  ^-^
Cím: IsPlayerInRangeOfPoint kérdés.
Írta: rewan - 2012. március 15. - 11:04:23
new pozicioban[MAX_PLAYERS];
public OnPlayerUpdate(playerid)
{
    if(IsPlayerInRangeOfPoint(playerid, 30, 1480.612, -1743.773, 13.546) )
   {
         if(pozicioban[playerid] == 1) return 1;
         SendClientMessage(playerid, 0x1E84D7FF, \"Pozícióban vagy.\");
         pozicioban[playerid] = 1;
         return 1;
   }
    else if(pozicioban[playerid] == 1) pozicioban[playerid] = 0;
   return 1;
}

 
Próbáld ezt.
Szólj ha valami nem jó. :)
Cím: IsPlayerInRangeOfPoint kérdés.
Írta: itachi - 2012. március 15. - 11:08:30
Tökéletesen mûködik, nagyon szépen köszönöm :)  :thumbsup: :D