Balkan SA:MP

San Andreas Multiplayer - www.sa-mp.com => Tutorijali u vezi SA-MPa => Temu započeo: â–‘Yâ–‘aâ–‘nâ–‘nâ–‘iâ–‘câ–‘kâ–‘ poslato Februar 26, 2018, 21:03:47 POSLE PODNE

Naslov: Automatsko ime servera
Poruka od: â–‘Yâ–‘aâ–‘nâ–‘nâ–‘iâ–‘câ–‘kâ–‘ poslato Februar 26, 2018, 21:03:47 POSLE PODNE
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:

[pawn]new Mjenjajime = 0;[/pawn]
Takode bi bilo dobro da stavimo tj moramo stavit
[pawn]#define SCM          SendClientMessage[/pawn]
[pawn]#define ZELENA                0x33AA33AA[/pawn]
pod OnGPlayerConnect dodamo jedan tajmer:
[pawn]public OnPlayerConnect(playerid)
{
       SetTimer("Srwime,5000,true);
       return 1;
}[/pawn]
Sada idemo da stavimo public i forward za Srwime(da se mjenja ime kad se ukljuci cmd)
[pawn]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;
}[/pawn]
Stavimo i da tajmer killuje tj da ga ne poziva na svakom konektu
[pawn]public OnGameModeExit()
{
             KillTimer(Srwime);
             return 1;
}[/pawn]
[pawn]CMD:mjenjajime(playerid, params[])
{
         if(PlayerInfo[playerid][Admin] == 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;
}[/pawn]
Ako sam sta zaboravio slobodno recite da dodam, ovo je jednostavno za napravit
Naslov: Odg: Automatsko ime servera
Poruka od: delete poslato Februar 26, 2018, 21:52:07 POSLE PODNE
Ne znam ko bi ovo koristio al et pohvale za trud :D
Naslov: Odg: Automatsko ime servera
Poruka od: edwinâ„¢ poslato Februar 26, 2018, 21:52:45 POSLE PODNE
Pohvale za trud ;)
Naslov: Odg: Automatsko ime servera
Poruka od: #Nemanja poslato Februar 26, 2018, 22:16:23 POSLE PODNE
Pohvale za trud :)
Inace mogao si staviti da se pali i gasi samo jednom komandom, a ne sa dve.
Naslov: Odg: Automatsko ime servera
Poruka od: Steffa poslato Februar 26, 2018, 22:21:39 POSLE PODNE
Vrh 8)
Naslov: Odg: Automatsko ime servera
Poruka od: Ino42O poslato Februar 26, 2018, 23:09:18 POSLE PODNE
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:
[pawn]
#include <a_samp>
#include <zcmd>

new changeHostname = false; // boolean varijabla, ne integer, single bit
new hostnames[][64] = {
    {"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[128];

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

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

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

Naslov: Odg: Automatsko ime servera
Poruka od: â–‘Yâ–‘aâ–‘nâ–‘nâ–‘iâ–‘câ–‘kâ–‘ poslato Februar 27, 2018, 09:05:00 PRE PODNE
Citat: dowla poslato Februar 26, 2018, 21:52:07 POSLE PODNE
Ne znam ko bi ovo koristio al et pohvale za trud :D
Hvala
Citat: _EdwiN_ poslato Februar 26, 2018, 21:52:45 POSLE PODNE
Pohvale za trud ;)
Hvala
Citat: #Nemanja poslato Februar 26, 2018, 22:16:23 POSLE PODNE
Pohvale za trud :)
Inace mogao si staviti da se pali i gasi samo jednom komandom, a ne sa dve.
To je lako za napravit
Citat: Steffaâ,,¢ poslato Februar 26, 2018, 22:21:39 POSLE PODNE
Vrh 8)
Hvalq
Citat: Ino42O poslato Februar 26, 2018, 23:09:18 POSLE PODNE
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:
[pawn]
#include <a_samp>
#include <zcmd>

new changeHostname = false; // boolean varijabla, ne integer, single bit
new hostnames[][64] = {
    {"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[128];

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

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

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
Naslov: Odg: Automatsko ime servera
Poruka od: .белић poslato Mart 01, 2018, 09:56:51 PRE PODNE
Pohvale za trud  ;)
Naslov: Odg: Automatsko ime servera
Poruka od: â–‘Yâ–‘aâ–‘nâ–‘nâ–‘iâ–‘câ–‘kâ–‘ poslato Mart 01, 2018, 10:40:54 PRE PODNE
Citat: Belic poslato Mart 01, 2018, 09:56:51 PRE PODNE
Pohvale za trud  ;)
Hvala
Naslov: Odg: Automatsko ime servera
Poruka od: Muma poslato Mart 11, 2018, 10:34:34 PRE PODNE
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. :)
Naslov: Odg: Automatsko ime servera
Poruka od: â–‘Yâ–‘aâ–‘nâ–‘nâ–‘iâ–‘câ–‘kâ–‘ poslato Mart 11, 2018, 10:35:35 PRE PODNE
Citat: Muma187_ poslato Mart 11, 2018, 10:34:34 PRE PODNE
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
Naslov: Odg: Automatsko ime servera
Poruka od: .начо poslato Mart 11, 2018, 23:36:33 POSLE PODNE
SetTimer("Srwime,5000,true); zar ne treba SetTimer("Srwime",5000,true);
Naslov: Odg: Automatsko ime servera
Poruka od: TONY x poslato Mart 13, 2018, 08:24:27 PRE PODNE
Ima malih gresaka u kodu ali dobro je
Naslov: Odg: Automatsko ime servera
Poruka od: â–‘Yâ–‘aâ–‘nâ–‘nâ–‘iâ–‘câ–‘kâ–‘ poslato Mart 13, 2018, 08:38:35 PRE PODNE
Citat: Nacho poslato Mart 11, 2018, 23:36:33 POSLE PODNE
SetTimer("Srwime,5000,true); zar ne treba SetTimer("Srwime",5000,true);
Slucajno
Citat: TONY x poslato Mart 13, 2018, 08:24:27 PRE PODNE
Ima malih gresaka u kodu ali dobro je
Tenk
Naslov: Odg: Automatsko ime servera
Poruka od: A1row poslato April 06, 2018, 02:22:44 PRE PODNE
gj
Naslov: Odg: Automatsko ime servera
Poruka od: m u m i poslato April 06, 2018, 07:11:01 PRE PODNE
Nije lose
Naslov: Odg: Automatsko ime servera
Poruka od: Vedon poslato April 20, 2018, 20:04:17 POSLE PODNE
Dobro je  :D
Naslov: Odg: Automatsko ime servera
Poruka od: Sploxs poslato April 20, 2018, 20:22:24 POSLE PODNE
Nije lose
Naslov: Odg: Automatsko ime servera
Poruka od: Roby Mapper poslato April 20, 2018, 21:09:35 POSLE PODNE
Odlicno je  ;)
Naslov: Odg: Automatsko ime servera
Poruka od: Snajper poslato April 20, 2018, 21:11:35 POSLE PODNE
Pohvale za trud  ;)
Naslov: Odg: Automatsko ime servera
Poruka od: ante2307 poslato Maj 28, 2018, 21:50:37 POSLE PODNE
Citat: dowla poslato Februar 26, 2018, 21:52:07 POSLE PODNE
Ne znam ko bi ovo koristio al et pohvale za trud :D
Npr. BALKAN EXTAZY OTVOREN onda drugo ime nakon 5 sekundi DIJELIMO NAGRADE I RADIMO EVENTE! eto čisto primjer. Svaka čast! ;)
Naslov: Odg: Automatsko ime servera
Poruka od: Comi420 poslato Jun 11, 2018, 12:30:57 POSLE PODNE
Citat: _EdwiN_ poslato Februar 26, 2018, 21:52:45 POSLE PODNE
Pohvale za trud ;)
Naslov: Odg: Automatsko ime servera
Poruka od: Paul Castellano poslato Jun 11, 2018, 15:17:09 POSLE PODNE
Citat: ante2307 poslato Maj 28, 2018, 21:50:37 POSLE PODNE
Npr. BALKAN EXTAZY OTVOREN onda drugo ime nakon 5 sekundi DIJELIMO NAGRADE I RADIMO EVENTE! eto čisto primjer. Svaka čast! ;)

Jeste,ali problem je u tome što samp client ne refresha stalno podatke o hostnameu,osim ako ih ručno ne refreshas ili ako ne držiš miš na tom serveru :) Tako da skripta i nema puno smisla/koristi.

Kad stisneÅ¡ na odreÄ'eni server samo se on učitava(Broj igrača,hostname,ping) ostali serveri ostaju isti odnosno ne ažuriraju se stalno.

EDIT: I da,mislim da bi autor trebao editovati svoju prvu poruku i postaviti dijelove koda od Ine,čisto da netko nebi stavio ovo na svoj server a da ne pročita komentare ispod(Točnije barem prebaciti timer iz onplayerconnecta na ongamemodeinit)
Naslov: Odg: Automatsko ime servera
Poruka od: DJER1C poslato Septembar 20, 2018, 21:18:44 POSLE PODNE
Beskorisno. Opterecuje mod i nije optimizovano.Sto se mene tice nema pohvala.
Naslov: Odg: Automatsko ime servera
Poruka od: Kuper poslato Septembar 20, 2018, 22:52:18 POSLE PODNE
Citat: Snajper poslato April 20, 2018, 21:11:35 POSLE PODNE
Pohvale za trud  ;)
Naslov: Odg: Automatsko ime servera
Poruka od: Purdinho poslato Oktobar 01, 2018, 10:00:56 PRE PODNE
Pohvale :)
Naslov: Odg: Automatsko ime servera
Poruka od: Šutke ツ poslato Oktobar 25, 2018, 20:45:27 POSLE PODNE
Odlično..Uskoro i od mene nešto slično