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
Ne znam ko bi ovo koristio al et pohvale za trud :D
Pohvale za trud ;)
Pohvale za trud :)
Inace mogao si staviti da se pali i gasi samo jednom komandom, a ne sa dve.
Vrh 8)
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
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
Pohvale za trud ;)
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. :)
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
SetTimer("Srwime,5000,true); zar ne treba SetTimer("Srwime",5000,true);
Ima malih gresaka u kodu ali dobro je
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
gj
Nije lose
Dobro je :D
Nije lose
Odlicno je ;)
Pohvale za trud ;)
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! ;)
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)
Beskorisno. Opterecuje mod i nije optimizovano.Sto se mene tice nema pohvala.
Pohvale :)
OdliÄno..Uskoro i od mene neÅ¡to sliÄno