Pretraga

Pritisnite Enter za pretragu ili Escape za zatvaranje

Zaključano

Automatsko ime servera

5,566
pregleda
27
postova
Ova tema je zaključana. Samo moderatori i administratori mogu odgovarati.
Bajricc
Made Man
pre 7 godina
E ovako ja sam odlucio da vam pokazem komandu da se mjenja ime servera svakih 5 sekundi ili koliko stavite u vasem tajmeru
Pa da krenemo:
new Mjenjajime = 0;

Takode bi bilo dobro da stavimo tj moramo stavit
#define SCM          SendClientMessage
#define ZELENA 					0x33AA33AA

pod OnGPlayerConnect dodamo jedan tajmer:
public OnPlayerConnect(playerid)
{
      SetTimer("Srwime,5000,true);
      return 1;
}

Sada idemo da stavimo public i forward za Srwime(da se mjenja ime kad se ukljuci cmd)
forward Srwime();
public Srwime()
{
      if(Mjenjajime == 1)
      {
              new var = random(5); // izaberete broj koliko ocete da se mjenja puta kasnije cete vidjeti zasto
              switch (var)
              {
                          case 0:SendRconCommand("hostname PRVO IME");
                          case 1:SendRconCommand("hostname DRUGO IME");
                          case 2:SendRconCommand("hostname TRECE IME");
                          case 3:SendRconCommand("hostname CETVRTO IME");
                          case 4:SendRconCommand("hostname PETO IME"); // ZBOG TOGA SMO STAVILI GORE (5)
                }
        }
          return 1;
}

Stavimo i da tajmer killuje tj da ga ne poziva na svakom konektu
public OnGameModeExit()
{
            KillTimer(Srwime);
            return 1;
}
CMD:mjenjajime(playerid, params[])
{
        if(PlayerInfo == 1 || IsPlayerAdmin(playerid)) // ILI KOJI HOCETE NIVO ADMINA DA VAM TO MOZE RADIT
        {
                Mjenjajime = 1; // 1 je ukljuceno
                SCM(playerid, ZELENA,"Ukljucili ste mjenjanje imena servera svakih 5 sekundi");
          }
          else
          {
                Mjenjajime = 0; // 0 je iskljuceno
                SCM(playerid, ZELENA,"Iskljucio si mjenjanje imena");
          }
          else return SCM(playerid, ZELENA,"NemaÅ¡ autorizaciju");
          return 1;
}

Ako sam sta zaboravio slobodno recite da dodam, ovo je jednostavno za napravit
Dowla
Underboss
pre 7 godina
Ne znam ko bi ovo koristio al et pohvale za trud 😄
_EdwiN_
Underboss
pre 7 godina
Pohvale za trud 😉
NemanjaGakovo
Shot Caller
pre 7 godina
Pohvale za trud 🙂
Inace mogao si staviti da se pali i gasi samo jednom komandom, a ne sa dve.
StefanSkripter
Enforcer
pre 7 godina
Vrh 😎
Ivan_Ino
Kingpin
pre 7 godina
Oke je, ali se može puno lakse i dinamicnije odraditi, time da ne moras svaki put povecavati random kada dodas novo ime i slicno, također nemoj stvarati toliko timera bezveze kada se svaki igrac spoji, jedan timer je dovoljan, također KillTimer(Srwime); ti nece raditi, (undefined symbol Srwime)

nesto tipa ovako:

#include
#include

new changeHostname = false; // boolean varijabla, ne integer, single bit
new hostnames[] = {
    {"PRVO IME"},
    {"DRUGO IME"},
    {"TRECE IME"},
    {"CETVRTO IME"},
    {"PETO IME"},
    {"I TAKO DALJE"}
};

public OnGameModeInit()
{
    // Dodajemo timer pod server init, ne igracev, ovako ces imati milion timera lol
    SetTimer("ServerHostname", 5000, true);
    return 1;
}

forward ServerHostname();
public ServerHostname()
{
    if (changeHostname) {
        new rand = random(sizeof(hostnames));
        new command;

        format (command, sizeof command, "hostname %s", hostnames);
        SendRconCommand(command);
    }
    return 1;
}

CMD:mjenjajime(playerid, arg[])
{
    if (!IsPlayerAdmin(playerid)) return 0; // I ostale provjere ovdje
    changeHostname = !changeHostname;
    return 1;
}


P.S. ovo sam pisao na MAC-u, tako da nemam compiler da testiram, ali ovako nesto bi trebalo raditi i biti puno jednostavnije
Bajricc
Made Man
pre 7 godina
dowla wrote on February 26, 2018, 8:52 pm:
Ne znam ko bi ovo koristio al et pohvale za trud 😄

Hvala
_EdwiN_ wrote on February 26, 2018, 8:52 pm:
Pohvale za trud 😉

Hvala
#Nemanja wrote on February 26, 2018, 9:16 pm:
Pohvale za trud 🙂
Inace mogao si staviti da se pali i gasi samo jednom komandom, a ne sa dve.

To je lako za napravit
Steffaâ„¢ wrote on February 26, 2018, 9:21 pm:
Vrh 😎

Hvalq
Ino42O wrote on February 26, 2018, 10:09 pm:
Oke je, ali se može puno lakse i dinamicnije odraditi, time da ne moras svaki put povecavati random kada dodas novo ime i slicno, također nemoj stvarati toliko timera bezveze kada se svaki igrac spoji, jedan timer je dovoljan, također KillTimer(Srwime); ti nece raditi, (undefined symbol Srwime)

nesto tipa ovako:

#include
#include

new changeHostname = false; // boolean varijabla, ne integer, single bit
new hostnames[] = {
    {"PRVO IME"},
    {"DRUGO IME"},
    {"TRECE IME"},
    {"CETVRTO IME"},
    {"PETO IME"},
    {"I TAKO DALJE"}
};

public OnGameModeInit()
{
    // Dodajemo timer pod server init, ne igracev, ovako ces imati milion timera lol
    SetTimer("ServerHostname", 5000, true);
    return 1;
}

forward ServerHostname();
public ServerHostname()
{
    if (changeHostname) {
        new rand = random(sizeof(hostnames));
        new command;

        format (command, sizeof command, "hostname %s", hostnames);
        SendRconCommand(command);
    }
    return 1;
}

CMD:mjenjajime(playerid, arg[])
{
    if (!IsPlayerAdmin(playerid)) return 0; // I ostale provjere ovdje
    changeHostname = !changeHostname;
    return 1;
}


P.S. ovo sam pisao na MAC-u, tako da nemam compiler da testiram, ali ovako nesto bi trebalo raditi i biti puno jednostavnije

Ok hvala ti inace ovo je prvi put da sam mesto odradio
Belic
Made Man
pre 7 godina
Pohvale za trud  😉
Bajricc
Made Man
pre 7 godina
Belic wrote on March 1, 2018, 8:56 am:
Pohvale za trud  😉

Hvala
Muma Rascall
Forum Don
pre 7 godina
Ino je sve objasnio, nije potrebno kada se igrač konektuje jer kada bi bilo 100 igrača ne bi mogao primjetiti koliko brzinom bi se mijenjalo jer SendRconCommand("hostname naziv"); je za globalno znači svima mijenja hostname. 🙂
Bajricc
Made Man
pre 7 godina
Muma187_ wrote on March 11, 2018, 9:34 am:
Ino je sve objasnio, nije potrebno kada se igrač konektuje jer kada bi bilo 100 igrača ne bi mogao primjetiti koliko brzinom bi se mijenjalo jer SendRconCommand("hostname naziv"); je za globalno znači svima mijenja hostname. 🙂

Znam skonto sam Hvala ti
Ademii
Made Man
pre 7 godina
SetTimer("Srwime,5000,true); zar ne treba SetTimer("Srwime",5000,true);
tonimacak518
Enforcer
pre 7 godina
Ima malih gresaka u kodu ali dobro je
Bajricc
Made Man
pre 7 godina
Nacho wrote on March 11, 2018, 10:36 pm:
SetTimer("Srwime,5000,true); zar ne treba SetTimer("Srwime",5000,true);

Slucajno
TONY x wrote on March 13, 2018, 7:24 am:
Ima malih gresaka u kodu ali dobro je

Tenk
Lumax
Enforcer
pre 7 godina
gj

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava