Jump to content
  • 0

[Spawn] - Random Jail


MrAndrei

Question

Problema intalnita (descriere):Am luat un jail , de pe net , am setat , celulele sa se deschida la folosirea unei comenzi, dar , un singur lucru nu stiu, sunt 22 de celule, iar eu vreau ca sa ma spawneze random in ele.Am testat cu comanda /jail , si functioneaza, sunt spawnat in prima celulta ( coordonatele au fost salvate de catre mine ).La comanda jail , am adaugat un : [ else if(....) ] dupa care am continuat cu functiile.Am incercat sa scot si acel [ else ] , si am lasat normal [if] dar , acum, sunt spawnat in prima celula.
Ero(area / rile) / warning-(ul / urile):Vreau sa aflu cum fac un random de spawnare in celulele din jail.
Liniile de cod / sursa / script-ul(obligatoriu):

Comanda [/jail] :


Imagini / Video (optional):-
Ati incercat sa rezolvati singur?:Da, dar nu am reusit.Sper sa ma ajutati.

if(strcmp(cmd, "/jail", true) == 0)


    {
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "Tasteaza: /jail [ID/nume jucator] [time(minute)]");
                return 1;
            }
            new playa;
            new money;
            playa = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            money = strval(tmp);
            if (PlayerInfo[playerid][pAdmin] >= 1)
            {
                if(IsPlayerConnected(playa))
                {
                    if(playa != INVALID_PLAYER_ID)
                    {
                        GetPlayerName(playa, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        format(string, sizeof(string), "* L-ai bagat la inchisoare pe %s.", giveplayer);
                        SendClientMessage(playerid, COLOR_LIGHTRED, string);
                        format(string, sizeof(string), "* Ai fost bagat in puscarie de catre administrator %s.", sendername);
                        SendClientMessage(playa, COLOR_LIGHTRED, string);
                        ResetPlayerWeapons(playa);
                        WantedLevel[playa] = 0;
                        PlayerInfo[playa][pJailed] = 1;
                        PlayerInfo[playa][pJailTime] = money*60;
                        SetPlayerInterior(playa, 0);
                        SetPlayerPos(playa, 2444.9695,-1861.7620,1146.8569);
                        format(string, sizeof(string), "Ai fost incarcerat pentru %d minute. Cautiune: nu exista!", money);
                        SCM(playa, -1, "Deoarece ai intrat in puscarie, ti-a fost confiscat telefonul mobil!");
                        SCM(playa, COLOR_WHITE, "Tasteaza /jailtime pentru a afla timpul ramas in puscarie!");
                        PhoneOnline[playerid] = 1;
                        SendClientMessage(playa, COLOR_LIGHTBLUE, string);
                        new news[128];
                        format(news, sizeof(news), "ADMIN INFO: {FFFFFF}%s a fost bagat in puscarie de catre %s pentru %d minute!", giveplayer, sendername, money);
                        SendClientMessageToAll(COLOR_LIGHTRED, news);
                    }
                 if(playa != INVALID_PLAYER_ID)
                    {
                        GetPlayerName(playa, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        format(string, sizeof(string), "* L-ai bagat la inchisoare pe %s.", giveplayer);
                        SendClientMessage(playerid, COLOR_LIGHTRED, string);
                        format(string, sizeof(string), "* Ai fost bagat in puscarie de catre administrator %s.", sendername);
                        SendClientMessage(playa, COLOR_LIGHTRED, string);
                        ResetPlayerWeapons(playa);
                        WantedLevel[playa] = 0;
                        PlayerInfo[playa][pJailed] = 1;
                        PlayerInfo[playa][pJailTime] = money*60;
                        SetPlayerInterior(playa, 0);
                        SetPlayerPos(playa, 2444.7715,-1857.1881,1146.8499);
                        format(string, sizeof(string), "Ai fost incarcerat pentru %d minute. Cautiune: nu exista!", money);
                        SCM(playa, -1, "Deoarece ai intrat in puscarie, ti-a fost confiscat telefonul mobil!");
                        SCM(playa, COLOR_WHITE, "Tasteaza /jailtime pentru a afla timpul ramas in puscarie!");
                        PhoneOnline[playerid] = 1;
                        SendClientMessage(playa, COLOR_LIGHTBLUE, string);
                        new news[128];
                        format(news, sizeof(news), "ADMIN INFO: {FFFFFF}%s a fost bagat in puscarie de catre %s pentru %d minute!", giveplayer, sendername, money);
                        SendClientMessageToAll(COLOR_LIGHTRED, news);
                    }
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GRAD1, "Nu ai acces la aceasta comanda!");
            }
        }
        return 1;
    }  
Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Trebuie sa iei toate coordonatele celulelor si sa le pui intr-un vector, dupa asta o sa generezi un numar la intamplare cu functia random si numarul luat la intamplare il folosesti ca indice in vectorul in care ai memorat coordonatele.

Link to comment
Share on other sites

  • 0

Mai bine il declari global.

De exemplu:

new JailSpawn[][] =
{
    { 0.0, 0.0, 0.0 } // Primul spawn.
    { 1.0, 1.0, 1.0 } // Al doilea spawn.
    // etc.
};

Dupa in comanda faci asta

new RandomNumber = random(sizeof(JailSpawn));
SetPlayerPos(playerid, JailSpawn[RandomNumber][0], JailSpawn[RandomNumber][3], JailSpawn[RandomNumber][2]);

 

Link to comment
Share on other sites

  • 0

Ai aici un tutorial in care ti se explica pas cu pas. Dar, pentru a invata, incearca sa-l folosesti doar daca nu te descurci cu ce informatii ti-a dat WopsS

Nu mai deschideti in pu*a mea servere de SA:MP !

Jucati-va pe cele care sunt !   Sunt suficiente !

Reguli de bun simt:

1. Nu faceti reclama unde nu trebuie !

2. Nu injurati ca la usa cortului !

3. Daca esti analfabeti, taci din gura !

4. Nu abuza de 'scuze', 'din greseala' !

 

My work ::: http://pastebin.com/VRNRcaAs

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.