Jump to content
  • 0

pomoc Opuštení zóny


W1nCZ

Dotaz

Zdravím. 

Potřebuji poradit ohledně války o území. Jak a kde udělat podmínku "když jeden z gangu nebude mít ani jednoho člena v zóně". V tu chvíli to přeruší válku.

 

Děkuji.

Link to comment
Share on other sites

11 odpovědí na tuto otázku

Recommended Posts

  • 0
  • Globální moderátor

cyklem for projedeš všechny hráče 

 

vytvoříš proměnnou bool (false)

 

1. jestli jsou připojeni

2. jestli jsou členem kontrolovaného gangu

3. jestli jsou v gang zoně // pokud ano, boolovou připravenou proměnou změníš na true

 

a výsledek je že bool false znamená že tam nikdo není a true že tam někdo je

Link to comment
Share on other sites

  • 0

cyklem for projedeš všechny hráče 

 

vytvoříš proměnnou bool (false)

 

1. jestli jsou připojeni

2. jestli jsou členem kontrolovaného gangu

3. jestli jsou v gang zoně // pokud ano, boolovou připravenou proměnou změníš na true

 

a výsledek je že bool false znamená že tam nikdo není a true že tam někdo je

Děkuji. A konkrétně jak zjistim jestli je v gang zone? na to je nejakej stock nebo tak něco? Na netu sem toho moc nenašel.

Link to comment
Share on other sites

  • 0
  • Globální moderátor

více méně stock 

stock IsPlayerInArea(playerid, Float:max_x, Float:min_x, Float:max_y, Float:min_y)
{
    new Float:pX, Float:pY, Float:pZ;
    GetPlayerPos(playerid, pX, pY, pZ);
    if(pX <= max_x && pX >= min_x && pY <= max_y && pY >= min_y) return 1;
    return 0;
}

1f64e5b41355.jpg

 

a do max/min zadáš souřadnice jako v gang zóně - obrázek jen pro upřesnění ... ;)

Link to comment
Share on other sites

  • 0

Děkuji, moc mi to pomohlo. Ještě poslední věc, která navazuje. Jak udělat, aby mi to např vypsalo zprávu když vejdu do zóny. Napadlo mě něco s OnPlayerStateChange, něco jsem i udělal ale nebylo to podle mě zrovna to správné. Také mě napadlo hned po připojení či spawnu spustit timer, který to bude např každou vteřinu kontrolovat. Co myslíte? Případně jak to udělat lépe.

Link to comment
Share on other sites

  • 0
  • Globální moderátor

dej si podmínku do OnPlayerUpdate

 

ale opatrně s jeho používáním protože se vyvolává velice často, sám přesně nevím kdy přesně, ale wiki pomůže ;)

Link to comment
Share on other sites

  • 0
  • Globální moderátor

jj

 

standartní

 

forward tvujpub();

 

do ongamemodeinit

 

settimer(tvujpub čas atd...);

 

 

a pak máš vytvořenej opakující se public a jen si do něj hoď pomínky co potřebuješ

Link to comment
Share on other sites

  • 0

více méně stock 

stock IsPlayerInArea(playerid, Float:max_x, Float:min_x, Float:max_y, Float:min_y)
{
    new Float:pX, Float:pY, Float:pZ;
    GetPlayerPos(playerid, pX, pY, pZ);
    if(pX <= max_x && pX >= min_x && pY <= max_y && pY >= min_y) return 1;
    return 0;
}

1f64e5b41355.jpg

 

a do max/min zadáš souřadnice jako v gang zóně - obrázek jen pro upřesnění ... ;)

Ten ochrazek je takovej trochu chaotickej. Bud je to tak ze v levo dole je max min x y. A v pravo nahore max x y. Nebo tak ze dolni hrana je min y a horni max y a v levo min x a v pravo max x

Link to comment
Share on other sites

  • 0
  • Globální moderátor

Ten ochrazek je takovej trochu chaotickej. Bud je to tak ze v levo dole je max min x y. A v pravo nahore max x y. Nebo tak ze dolni hrana je min y a horni max y a v levo min x a v pravo max x

 

já vím, hledal jsem lepší ale nějak jsem nenašel a vlastní se mi nechtělo dělat, ale jak je vidět chápe se to (doufám) :)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...