-
Üdv midnenkinek!
Abban szeretnék segítséget kérni, hogy hogy tudom azt beállítani a szerveremen, hogy az idõt egy bizonyos idõközönként
magától váltsa. Két idõpont között kellene váltogatnia: 00:00 és 20:00 között.
Segítségeket elõre is köszönöm.
-
http://wiki.sa-mp.com/wiki/SetTimer
http://wiki.sa-mp.com/wiki/SetWorldTime
ha konkrétan leírnád mit is szeretnél akkor többet tudok segíteni :)
-
Tehát azt szeretném, hogy mondjuk most a szerveren az idõ 0 óra és azt akarom hogy 1 óránként váltogassa a szerver magának az idõt.
vagyis egyik órában 0 óra van a szerveren, a következõben pedig 20 óra. És ez így váltakozna óránként.
-
megfelel a szerver indulástól számított óránként vagy egész órakkor?
-
Természetesen megfelel az indulástól számított óránként is, amelyik egyszerûbb, de azon gondolkozok, hogy lehet jobblenne egy sima kis rendszer a módba amivel a playerek váltják maguknak kedvük szerint.(driftszererbe lenne egyébként)
-
hát igazából egyik sem nehéz :)
ha parancsnak akarod akkor pl itt 1 megoldás: ( OnPlayerCommandText alá kell beilleszteni )
if(!strcmp(cmdtext,\"/time\",true))
{
new h,m;
GetPlayerTime(playerid,h,m);
SetPlayerTime(playerid,((!h)?20:0),m);
return 1;
}
ha zcmd-t használsz akkor remélem megy az átalakítás ha nem akkor szólj :)
és ha mégse parancsost akarsz hanem scriptet akkor is szólj :D
-
a többi megy :DD köszi.
Esetleg egy kis szöveget alá? Ha csak simán a / time parancsot irom be akkor irja h használat. Ha meg beirom rendesen akk irja h az idõt sikeresen átváltottad ....stb.
(Bocs de ezekben nagyon hülye vagyok, csak mapoláshoz értek)
Szerintem nem egyre gondolunk. Megnéztem, és ez is hasznos, használni fogom de én arra gondoltam h ha beirja a player h /time akkor bejön egy kis dialog ahova beirja az idõt (worldtime-ot) és átváltja magának a szerver idõt.
-
milyen parancs motorod van?
strcmp? zcmd? strtok? egyéb?
-
strcmp
-
if(!strcmp(cmdtext, \"/time\",true,5))
{
if(!cmdtext[5] || !(0 <= strval(cmdtext[6]) <= 20)) return SendClientMessage(playerid, 0xFF0000FF, \"Használat: /time [0-20]\");
SetPlayerTime(playerid,strval(cmdtext[6]),0);
SendClientMessage(playerid,0xFF6600FF,\"Idõ megváltoztatva !\");
return 1;
}
hát sokat nem tudok hozzáfûzni :D strcmp-s megoldással mûködik :)
-
Köszi :D
Nem mûködik... :(
Beirom /time és csak annyit ír hogy idõ megváltoztatva és semmi. Megpróbáltam beirni h pl /time 5 és akkoris ennyit ir csak.
-
nálam mûködik...másolj be 1 parancsodat a módból...egy olyat ahol van paraméter bekérés...
-
if (!strcmp(\"/rendszam\", cmdtext, true) || !strcmp(\"/rendszamvaltas\", cmdtext, true) || !strcmp(\"/rsz\",cmdtext, true ))
{
ShowPlayerDialog(playerid, 8357, DIALOG_STYLE_INPUT,\"Írd be a rendszámot!\",\"Renszám:\", \"Felhelyez\",\"\");
return 1;
}
Itt van mondjuk ez.
-
8357
Helyett adjál neki egy rendes nevet mert szerintem a dialogok keverednek, vagyis pl: DIALOG_8357 !
Majd mód elejére: #define DIALOG_8357
-
8357
Helyett adjál neki egy rendes nevet mert szerintem a dialogok keverednek, vagyis pl: DIALOG_8357 !
Majd mód elejére: #define DIALOG_8357
igazából ezzel sincs semmi gond :)
itt a 2 kép hogy nálam mûködik:
http://hun-rp.com/script/cmd_time0.png
http://hun-rp.com/script/cmd_time20.png
amúgy amit te bemásoltál itt hol a paraméter bekérés?
dialogot mutat és nincs a parancsban paraméter...
megcsináljam a /time parancsot dialogosra?
-
8357
Helyett adjál neki egy rendes nevet mert szerintem a dialogok keverednek, vagyis pl: DIALOG_8357 !
Majd mód elejére: #define DIALOG_8357
Nem a rendszam parancsal van a baj, hanem a /time paranccsal amit fentebb megtalálsz
-
válaszolj az én kérdésemre is :)
-
Megpróbálom beírni egy scriptbe, hátha úgy jó lesz.
-
#include <a_samp>
public OnFilterScriptInit() { return 1; }
public OnFilterScriptExit() { return 1; }
public OnPlayerCommandText(playerid,cmdtext[])
{
if(!strcmp(cmdtext, \"/time\",true,5))
{
if(!cmdtext[5] || !(0 <= strval(cmdtext[6]) <= 20)) return SendClientMessage(playerid, 0xFF0000FF, \"Használat: /time [0-20]\");
SetPlayerTime(playerid,strval(cmdtext[6]),0);
SendClientMessage(playerid,0xFF6600FF,\"Idõ megváltoztatva !\");
return 1;
}
return 0;
}
-
#include <a_samp>
public OnFilterScriptInit() { return 1; }
public OnFilterScriptExit() { return 1; }
public OnPlayerCommandText(playerid,cmdtext[])
{
if(!strcmp(cmdtext, \"/time\",true,5))
{
if(!cmdtext[5] || !(0 <= strval(cmdtext[6]) <= 20)) return SendClientMessage(playerid, 0xFF0000FF, \"Használat: /time [0-20]\");
SetPlayerTime(playerid,strval(cmdtext[6]),0);
SendClientMessage(playerid,0xFF6600FF,\"Idõ megváltoztatva !\");
return 1;
}
return 0;
}
kössz :DD
De beirtam a vspawner scriptembe :) és mûködik ;))
Köszi.