GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: ObiWan - 2012. november 14. - 14:39:47

Cím: HELP ME! Automata idõ váltó a szerverre!!! FONTOS
Írta: ObiWan - 2012. november 14. - 14:39:47
Ü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.
Cím: HELP ME! Automata idõ váltó a szerverre!!! FONTOS
Írta: Kovacs_Richard - 2012. november 14. - 14:46:19
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 :)
Cím: HELP ME! Automata idõ váltó a szerverre!!! FONTOS
Írta: ObiWan - 2012. november 14. - 14:49:15
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.
Cím: HELP ME! Automata idõ váltó a szerverre!!! FONTOS
Írta: Kovacs_Richard - 2012. november 14. - 14:50:33
megfelel a szerver indulástól számított óránként vagy egész órakkor?
Cím: HELP ME! Automata idõ váltó a szerverre!!! FONTOS
Írta: ObiWan - 2012. november 14. - 15:11:03
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)
Cím: HELP ME! Automata idõ váltó a szerverre!!! FONTOS
Írta: Kovacs_Richard - 2012. november 14. - 15:24:17
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
Cím: HELP ME! Automata idõ váltó a szerverre!!! FONTOS
Írta: ObiWan - 2012. november 14. - 15:26:43
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.
Cím: HELP ME! Automata idõ váltó a szerverre!!! FONTOS
Írta: Kovacs_Richard - 2012. november 14. - 15:37:27
milyen parancs motorod van?
strcmp? zcmd? strtok? egyéb?
Cím: HELP ME! Automata idõ váltó a szerverre!!! FONTOS
Írta: ObiWan - 2012. november 14. - 15:40:13
strcmp
Cím: HELP ME! Automata idõ váltó a szerverre!!! FONTOS
Írta: Kovacs_Richard - 2012. november 14. - 15:57:57
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 :)
Cím: HELP ME! Automata idõ váltó a szerverre!!! FONTOS
Írta: ObiWan - 2012. november 14. - 16:00:56
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.
Cím: HELP ME! Automata idõ váltó a szerverre!!! FONTOS
Írta: Kovacs_Richard - 2012. november 14. - 16:36:58
nálam mûködik...másolj be 1 parancsodat a módból...egy olyat ahol van paraméter bekérés...
Cím: HELP ME! Automata idõ váltó a szerverre!!! FONTOS
Írta: ObiWan - 2012. november 14. - 16:42:04
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.
Cím: HELP ME! Automata idõ váltó a szerverre!!! FONTOS
Írta: ZyZu. - 2012. november 14. - 16:44:40
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
Cím: HELP ME! Automata idõ váltó a szerverre!!! FONTOS
Írta: Kovacs_Richard - 2012. november 14. - 16:46:44
Idézetet írta: ZyZu date=1352907880\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"29832\" data-ipsquote-contentclass=\"forums_Topic

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?
Cím: HELP ME! Automata idõ váltó a szerverre!!! FONTOS
Írta: ObiWan - 2012. november 14. - 16:48:40
Idézetet írta: ZyZu date=1352907880\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"29832\" data-ipsquote-contentclass=\"forums_Topic

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
Cím: HELP ME! Automata idõ váltó a szerverre!!! FONTOS
Írta: Kovacs_Richard - 2012. november 14. - 16:52:01
válaszolj az én kérdésemre is :)
Cím: HELP ME! Automata idõ váltó a szerverre!!! FONTOS
Írta: ObiWan - 2012. november 14. - 16:52:52
Megpróbálom beírni egy scriptbe, hátha úgy jó lesz.
Cím: HELP ME! Automata idõ váltó a szerverre!!! FONTOS
Írta: Kovacs_Richard - 2012. november 14. - 17:00:38
#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;
}
Cím: HELP ME! Automata idõ váltó a szerverre!!! FONTOS
Írta: ObiWan - 2012. november 14. - 17:03:19
Idézetet írta: Kovacs_Richard date=1352908838\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"29832\" data-ipsquote-contentclass=\"forums_Topic

#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.