Szerző Téma: Restart script visszaszámolással  (Megtekintve 2116 alkalommal)

Nem elérhető Sheet

  • 1508
  • Támogató
    • Profil megtekintése
Restart script visszaszámolással
« Dátum: 2010. október 18. - 17:34:13 »
+1 Show voters
Hali
Olyan scriptre lenne szükségem ami olyan, hogyha beirom hogy /restart, akkor Középen asziszem gametextforplayer-el visszaszámol 30tól, és utána ujraindul a szerver..
Aki nagyon vágja a témár az pls irja le, lehetõleg dcmd-vel..
Elõre kössz
Sheet

Nem elérhető Domba

  • 391
    • Profil megtekintése
Restart script visszaszámolással
« Válasz #1 Dátum: 2010. október 18. - 17:39:08 »
0 Show voters
FÕBUZI! MOST RÁKATTINTOM A LINKRE! HA MEG VIRUSOZOD A GÉPEM AKK VÉGED!!!!!
VÉGEDDDDDDDDDDDDDDDDD!!!         :@:@:@
ChuckNorris: Nem kötelezõ rákatintani arra a linkre de a szabályzatot kötelezõ betartani.
« Utoljára szerkesztve: 2010. október 20. - 16:49:51 írta ChuckNorris »

Nem elérhető Sheet

  • 1508
  • Támogató
    • Profil megtekintése
Restart script visszaszámolással
« Válasz #2 Dátum: 2010. október 18. - 17:40:49 »
0 Show voters
Online játék, nemtudom mit kell idegeskedni, utolsó sort elolvasod akkor még hasznod is lesz belõle

Nem elérhető ZeRo

  • 4620
  • Ex Globális Moderátor
    • Profil megtekintése
Restart script visszaszámolással
« Válasz #3 Dátum: 2010. október 18. - 17:54:15 »
0 Show voters
Írtam rá egy komplett szkriptet, de nem teszteltem, ha nem megy, akkor jelezd itt, és kijavítom.
 

#include < a_samp >
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xFF0000AA
new bool: inProgress = false;
new serverCount;
new restartTimer;
public RestartServer(  );
public OnPlayerCommandText( playerid, cmdtext[  ] ) {
if( !strcmp( \"/restart\", cmdtext, true ) ) {
if( IsPlayerAdmin( playerid ) ) {
    SendClientMessage( playerid, COLOR_RED, \"Nem használhatod ezt a parancsot!\" );
} else if( inProgress ) {
    SendClientMessage( playerid, COLOR_RED, \"Már folyamatban van egy visszaszámlálás!\" );
} else {
    inProgress = true;
    serverCount = 30;
    restartTimer = SetTimer( \"RestartServer\", 1000, true );
    SendClientMessage( playerid, COLOR_GREEN, \"Visszaszámlálás elindítva!\" );
}
return 1;
}
return 0;
}
public RestartServer(  ) {
--serverCount;
if( !serverCount ) {
    inProgress = false;
    SendRconCommand( \"gmx\" );
    KillTimer( restartTimer );
    return;
}
static formatString[ 3 ];
format( formatString, 3, \"%d\", serverCount );
GameTextForAll( formatString, 1000, 4 );
}

 
E: Bennehagytam egy felesleges paramétert a RestartServer függvény deklarációjánál, mostmár kiszedtem.
« Utoljára szerkesztve: 2010. október 18. - 18:02:03 írta ZeRo »

Nem elérhető Sheet

  • 1508
  • Támogató
    • Profil megtekintése
Restart script visszaszámolással
« Válasz #4 Dátum: 2010. október 18. - 19:30:56 »
0 Show voters
Ha megkérlek leirnád magát a parancsot dcmd-be mert most én átirtam legjobb tudásom szerint de van benne error, méghozzá:
C:\\Users\\Robi\\Desktop\\Szer\\pawno\\mode1.pwn(1757) : warning 217: loose indentation
C:\\Users\\Robi\\Desktop\\Szer\\pawno\\mode1.pwn(1745) : warning 203: symbol is never used: \"params\"
C:\\Users\\Robi\\Desktop\\Szer\\pawno\\mode1.pwn(1745 -- 1759) : error 010: invalid function or declaration

Nem elérhető ZeRo

  • 4620
  • Ex Globális Moderátor
    • Profil megtekintése
Restart script visszaszámolással
« Válasz #5 Dátum: 2010. október 18. - 19:32:06 »
0 Show voters
Nem kell hozzá dcmd. ;)

Nem elérhető Sheet

  • 1508
  • Támogató
    • Profil megtekintése
Restart script visszaszámolással
« Válasz #6 Dátum: 2010. október 18. - 19:32:36 »
0 Show voters
de nekem minden szar dcmd-vel van :D

Nem elérhető ZeRo

  • 4620
  • Ex Globális Moderátor
    • Profil megtekintése
Restart script visszaszámolással
« Válasz #7 Dátum: 2010. október 18. - 19:36:50 »
0 Show voters
De magát a parancsot csak simán másold be az OnPlayerCommandText függvényedbe. Na várj, megpróbálom dcmd-be, de felesleges, plusz, ha ilyen parancskezelõt akarsz használni, akkor zcmd-t használj, az a leggyorsabb. De:
 

public OnPlayerCommandText( playerid, cmdtext[  ] ) {
   dcmd(restart,7,cmdtext);
   return 0;
}
dcmd_restart( playerid, params[  ] ) {
   #pragma unused params
   if( IsPlayerAdmin( playerid ) ) {
       SendClientMessage( playerid, COLOR_RED, \"Nem használhatod ezt a parancsot!\" );
   } else if( inProgress ) {
       SendClientMessage( playerid, COLOR_RED, \"Már folyamatban van egy visszaszámlálás!\" );
   } else {
       inProgress = true;
        serverCount = 30;
        restartTimer = SetTimer( \"RestartServer\", 1000, true );
       SendClientMessage( playerid, COLOR_GREEN, \"Visszaszámlálás elindítva!\" );
   }
   return 1;
}

 
Talán valahogy így, már nagyon rég használtam dcmd-t.

Nem elérhető Sheet

  • 1508
  • Támogató
    • Profil megtekintése
Restart script visszaszámolással
« Válasz #8 Dátum: 2010. október 18. - 19:47:01 »
0 Show voters
Errort nem ir csak két warn-t :D
C:\\Users\\Robi\\Desktop\\Szer\\pawno\\mode1.pwn(1281) : warning 204: symbol is assigned a value that is never used: \"restartTimer\"
C:\\Users\\Robi\\Desktop\\Szer\\pawno\\mode1.pwn(1280) : warning 204: symbol is assigned a value that is never used: \"serverCount\"

Nem elérhető Epsilon

  • 1854
    • Profil megtekintése
Restart script visszaszámolással
« Válasz #9 Dátum: 2010. október 18. - 20:45:59 »
0 Show voters
Ezt magad is megtudod oldani.
Letöltöd az eCount szkriptemet és a forrásban, ahelyett,hogy \"GO\"-t írna, újraindíttatod a szervert.

Nem elérhető Sheet

  • 1508
  • Támogató
    • Profil megtekintése
Restart script visszaszámolással
« Válasz #10 Dátum: 2010. október 21. - 19:58:49 »
0 Show voters
kössz mindenkinek aki segítetett, de mégegy kérdés, hogy varázsoljak a nem dcmd-s scriptbe olyat hogy minden másodpercbe csippanjon egyet? :D elõre kössz

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal