Jump to content
  • 0

pomoc Vezenie


gtacko2

Dotaz

8 odpovědí na tuto otázku

Recommended Posts

  • 0

new inJail[MAX_PLAYERS char]; // proměnná jestli je v jailu

hodíš ho do jailu, nastavíš proměnnou
inJail{playerid} = 1;

public OnPlayerCommandText(playerid, cmdtext[])
{
    if(inJail{playerid} == 1) return SendClientMessage(playerid, -1, "[ ! ] Nemůžeš použít příkazy ve vězení");
    .... tvé příkazy
}

až nebude v jailu nastavíš proměnnou
inJail{playerid} = 0;
Link to comment
Share on other sites

  • 0


// pokud má být zóna, kde se nesmí používat příkazy ve tvaru koule
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(IsPlayerInRangeOfPoint(playerid, vzádlenost, souřadnice_x, souřadnice_y, souřadnice_z)) return SendClientMessage(playerid, -1, "[ ! ] Nemůžeš použít příkazy ve vězení");
   ... tvoje příkazy
}

/*
pokud má být zóna ve tvaru kvádru (ignor výšky)

Jak získat souřadnice min_x, min_y, max_x, max_y atd.
Postavíš se tak, aby jsi měl na minimapě sever nahoře.
A označíš si prostor ve tvaru obdelníku.

--------- MAX
|            |
|   vězení  |
| |
MIN----------

v bodě MIN získáš min_x a min_y, v bodě MAX získáš max_x a max_y
Pokud potřebuješ ještě max_z min_z, tak to děláš obdobně akorát dáš body do jiné výšky.
*/
public OnPlayerCommandText(playerid, cmdtext[])
{
     new Float:pos[3];
     GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
     if(pos[0] >= min_x && pos[0] <= max_x && pos[1] >= min_y && pos[1] max_y) return SendClientMessage(playerid, -1, "[ ! ] Nemůžeš použít příkazy ve vězení");
   ... tvoje příkazy
}

// pokud má být zóna ve tvaru kvádru (kontrola v jaké je výšce)
public OnPlayerCommandText(playerid, cmdtext[])
{
     new Float:pos[3];
     GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
     if(pos[0] >= min_x && pos[0] <= max_x && pos[1] >= min_y && pos[1] max_y && pos[2[ >= min_z && pos[2] <= max_z)
return SendClientMessage(playerid, -1, "[ ! ] Nemůžeš použít příkazy ve vězení");

    ... tvoje příkazy
}

 

Edited by Lukasz
Link to comment
Share on other sites

  • 0

Nejde mi to

 

 

 

// pokud má být zóna, kde se nesmí používat příkazy ve tvaru koulepublic OnPlayerCommandText(playerid, cmdtext[]){    if(IsPlayerInRangeOfPoint(playerid, vzádlenost, souřadnice_x, souřadnice_y, souřadnice_z)) return SendClientMessage(playerid, -1, "[ ! ] Nemůžeš použít příkazy ve vězení");    ... tvoje příkazy}/*pokud má být zóna ve tvaru kvádru (ignor výšky)Jak získat souřadnice min_x, min_y, max_x, max_y atd.Postavíš se tak, aby jsi měl na minimapě sever nahoře.A označíš si prostor ve tvaru obdelníku.--------- MAX|            ||   vězení   ||            |MIN----------v bodě MIN získáš min_x a min_y, v bodě MAX získáš max_x a max_yPokud potřebuješ ještě max_z min_z, tak to děláš obdobně akorát dáš body do jiné výšky.*/public OnPlayerCommandText(playerid, cmdtext[]){     new Float:pos[3];     GetPlayerPos(playerid, pos[0], pos[1], pos[2]);     if(pos[0] >= min_x && pos[0] <= max_x && pos[1] >= min_y && pos[1] max_y) return SendClientMessage(playerid, -1, "[ ! ] Nemůžeš použít příkazy ve vězení");   ... tvoje příkazy}// pokud má být zóna ve tvaru kvádru (kontrola v jaké je výšce)public OnPlayerCommandText(playerid, cmdtext[]){     new Float:pos[3];     GetPlayerPos(playerid, pos[0], pos[1], pos[2]);     if(pos[0] >= min_x && pos[0] <= max_x && pos[1] >= min_y && pos[1] max_y && pos[2[ >= min_z && pos[2] >= max_z)          return SendClientMessage(playerid, -1, "[ ! ] Nemůžeš použít příkazy ve vězení");     ... tvoje příkazy}

 

 

Nejde mi to.

 

public OnPlayerCommandText(playerid, cmdtext[])

{

New Float: pos[3];

GetPlayerPos(playerid, pos[0], pos[1], pos [2]);

if(pos[0] >= 253.7544 && pos[0] <= 245.2647 && pos[1] >= 1797.2632 && pos[1] <= 1802.8588 && pos[2] >= 11.73410 && pos[2] >= 12.54410)

return SendClientMessage (playerid, -1, "[ ! ] Nemôžeš použiť príkaz vo väzení");

if (strcmp ("/padak", cmdtext, true, 10) == 0)

{

GivePlayerWeapon(playerid, 46, 1);

return 1;

}

return 0;

}

Edited by gtacko2
Link to comment
Share on other sites

  • 0
 if(pos[0] >= min_x && pos[0] <= max_x && pos[1] >= min_y && pos[1] <= max_y && pos[2] >= min_z && pos[2] <= max_z)

Měl jsi tam špatné porovnávací znaménka (místo pos[2] <= max_z si měl pos[2] >= max_z) a on to udělal podle toho. + jak si řekl má na začátku přehozený max_x a min_x

Edited by D@ndys
Link to comment
Share on other sites

  • 0

 

Ou, ajo.. dík

tak to přepiš

if(pos[0] >= 245.2647 && pos[0] <= 253.7544 && pos[1] >= 1797.2632 && pos[1] <= 1802.8588 && pos[2] >= 11.73410 && pos[2] <= 12.54410)

:d  hledim jake novinky pribyly :) ale staci pouze zvysit float:range a bude to stacit :)

if(IsPlayerInRangeOfPoint(playerid,float:range,float:x,float:y,float:z)

  ;) je pravda ze v urcitych situlacich by se zpusob, ktery pise lukasz hodil :) napriklad cely naproti sobe a mezi nema ulicka, ve ktere by prikazy sly :)

Edited by ĐaVe
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...