Jump to content

návod _Sweet_ Teleport


Recommended Posts

Ahoj, ja som _Sweet_ a dnes si ukážeme základne funkcie teleportu v hre.

Ako prvé poznáme funkciu SetPlayerPos ktorú si ukážeme v príkaze.

 

Ak hráč zadá príkaz.

Príkaz v hre.

Nastaví hráčovi pozíciu.

Komu sa nastaví pozícia.

Pozícia X, Y, Z.

 

public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/lv", cmdtext, true, 10) == 0)
    {
        SetPlayerPos(playerid, 2099.1458, 1683.2396, 13.0060);
        return 1;
    }
    return 0;
}

 

Tento príkaz nás v hre ak napíšeme /lv teleportne do lv.

Ak chcete aby vás to v hre teleportlo aj s autom tak tam budeme musieť niečo pripísať.

 

Ak hráč zadá príkaz.

Príkaz v hre.

Nastaví hráčovi pozíciu.

Komu sa nastaví pozícia.

Pozícia X, Y, Z.

Zistí ID vozidla.

Ak je hráč vo vozidle.

To isté ako SetPlayerPos akorát to nastaví pozíciu autu.

 

public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/lv", cmdtext, true, 10) == 0)
    {

        new auto = GetPlayerVehicleID(playerid);
        if(!IsPlayerInAnyVehicle(playerid))
        {
        SetPlayerPos(playerid, 2099.1458, 1683.2396, 13.0060);

        }else{

        SetVehiclePos(auto, 2099.1458, 1683.2396, 13.0060);
        return 1;
    }
    return 0;
}

 

Ták a teraz už máme super príkaz na teleport do lv aj s autom.

Ešte si môžme nastaviť aby sa napísalo všetkým hráčom že sa hráč odportoval.

 

Ak hráč zadá príkaz.

Príkaz v hre.

Nastaví hráčovi pozíciu.

Komu sa nastaví pozícia.

Pozícia X, Y, Z.

Zistí ID vozidla.

Ak je hráč vo vozidle.

To isté ako SetPlayerPos akorát to nastaví pozíciu autu.

Pošle všetkým na serveri správu.

Akú farbu bude mať správa.

Zistí meno hráča ktorí zadal príkaz.

Správa čo sa napíše.

Použije sa zistené meno hráča v správe.

 

public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/lv", cmdtext, true, 10) == 0)
    {

        new string[140];
        new nick[MAX_PLAYER_NAME];
        GetPlayerName(playerid,nick,MAX_PLAYER_NAME);
        format(string,140,"Hráč %s použil teleport /lv.",nick,playerid);
        SendClientMessageToAll(0xFF0000FF,string);

        new auto = GetPlayerVehicleID(playerid);
        if(!IsPlayerInAnyVehicle(playerid))
        {
        SetPlayerPos(playerid, 2099.1458, 1683.2396, 13.0060);

        }else{

        SetVehiclePos(auto, 2099.1458, 1683.2396, 13.0060);
        return 1;
    }
    return 0;
}

 

Teraz máme jednoduchý príkaz na teleport do lv. Takže ak si to zhrnieme tak ak napíšeme do chatu /lv

tak nás to teleportne (ak máme auto tak aj s autom) a napíše to všetkým na serveri kto sa kam teleportol.

Ďakujem za prečítanie jednoduchšieho tutoriálu _Sweet_ :-)

Link to comment
Share on other sites

JežišiKriste tie farby sú strašné :d.
Ti muselo trvať o 20 min viac kvoli tomu farbeniu.
Neviem či to stačí, že si portol aj auto na danu poziciu.. 
Mne sa zda, že musíš dať PutPlayerInVehicle.
Velkosť stringu čo posielaš tú správu je pregigantická, skús ju zmenšiť.
To kde zisťuješ ID auta.. To by som dal až do podmienky v ktorej zisťuješ či je v aute.
Nabudúce nedávaj farby, ale klikni hore v tom menu pri príspevku na "Code".

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...