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

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Szkript kérések => A témát indította: Sheet - 2010. október 18. - 17:34:13

Cím: Restart script visszaszámolással
Írta: Sheet - 2010. október 18. - 17:34:13
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
Cím: Restart script visszaszámolással
Írta: Domba - 2010. október 18. - 17:39:08
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.
Cím: Restart script visszaszámolással
Írta: Sheet - 2010. október 18. - 17:40:49
Online játék, nemtudom mit kell idegeskedni, utolsó sort elolvasod akkor még hasznod is lesz belõle
Cím: Restart script visszaszámolással
Írta: ZeRo - 2010. október 18. - 17:54:15
Í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.
Cím: Restart script visszaszámolással
Írta: Sheet - 2010. október 18. - 19:30:56
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
Cím: Restart script visszaszámolással
Írta: ZeRo - 2010. október 18. - 19:32:06
Nem kell hozzá dcmd. ;)
Cím: Restart script visszaszámolással
Írta: Sheet - 2010. október 18. - 19:32:36
de nekem minden szar dcmd-vel van :D
Cím: Restart script visszaszámolással
Írta: ZeRo - 2010. október 18. - 19:36:50
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.
Cím: Restart script visszaszámolással
Írta: Sheet - 2010. október 18. - 19:47:01
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\"
Cím: Restart script visszaszámolással
Írta: Epsilon - 2010. október 18. - 20:45:59
Ezt magad is megtudod oldani.
Letöltöd az eCount szkriptemet és a forrásban, ahelyett,hogy \"GO\"-t írna, újraindíttatod a szervert.
Cím: Restart script visszaszámolással
Írta: Sheet - 2010. október 21. - 19:58:49
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