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: [MM]Encoder - 2010. július 16. - 10:09:31

Cím: Szavazás
Írta: [MM]Encoder - 2010. július 16. - 10:09:31
Sziasztok!
Egy olyan dologban kérném segítségetek hogy én szeretném ha a módom végén egy menüben megjelenjen 5 játékmód neve és azokra kelljen szavazni. Amelyik játékmód a legtöbb szavazatot kapta az következne. A menüvel nincs problémám de elakadok a szavazásnál ugyanis még soha se csináltam ilyet így elakadok mit is kellene tennem.
Cím: Szavazás
Írta: jana4 - 2010. július 16. - 14:02:05
Tessék, ez egy Counter Strike-os szavazó rendszer, am nekem is van egy, ha megtalálom talán felrakom. :angel:

http://forum.sa-mp.com/showthread.php?t=148295&highlight=vote
Cím: Szavazás
Írta: [MM]Encoder - 2010. július 16. - 20:44:36
Ez is jó  :D de nem teljesen amire én gondoltam  :-X
nos ott akadok el hogy ah valaki szavaz 1 módra például azt hogy jegyeztessem meg hogy melyikre szavaztak többen?
Tehát:
Amikor  eldolt hogy ki nyerte a missziót akkor 1 timer aktiválódik és az a:


SetTimer(\"ChangeMode\", 5000, 0);


Nos én ide képzeltem el hogy ekkor nem autómatikusan módot váltok rcon paranccsal hanem megjelenne 1 menü és ott 5 játékmód neve. Idáig még meg is tudnám csinálni de azt hogy tudnám megcsinálni hogy meg is jegyezze hogy melyikre szavaztak többen. Sose csináltam még ilyet és ilyen szkriptet se találtam amit tanulmányozhattam volna ezért elakadtam. Remélem itt valaki tud segíteni.


public ChangeMode()
{
/*   ClearChat();
SendRconCommand(\"changemode 2\");*/
//Ide jönne az a funkció ami elindítaná a szavazást, majd a szavazás tartana pl.: 15 másodpercig és utána arra a módra vált amire a legtöbben szavaztak.
}


Bocsi hogy ilyen bolondul magyaráztam el de régóta keresek rá valahol leírást vagy példaszkriptet.
Cím: Szavazás
Írta: ZeRo - 2010. július 16. - 21:10:35
Már régen nyitottam meg a Pawno-t, szóval bocs, hogyha nem muködik( de akkor írj, és kijavítom, csak most nem tudom tesztelni ). A ChangeMode függvényt persze beleírtam, de azt te másold be a tiedbe, remélem érted hogy mondom( mivel azt hívja meg ).
 

#include \"a_samp\"
const dialogMapchange = 364;
static voteCount[ 5 ];
public ChangeMode(  );
public EndVote(  );
public ChangeMode(  ) {
for( new x = 0; x < MAX_PLAYERS; ++x ) {
    if( !IsPlayerConnected( x ) || IsPlayerNPC( x ) )
   continue;
ShowPlayerDialog( x, dialogMapchange, DIALOG_STYLE_LIST, \"Válassz mapot\", \"1. map\\n2. map\\n3. map\\n4. map\\n5. map\", \"Igen\", \"Mégse\" );
}
SetTimer( \"EndVote\", 15000, false );
}
public OnDialogResponse( playerid, dialogid, response, listitem, inputtext[  ] ) {
#pragma unused inputtext
if( dialogid == dialogMapchange ) {
    if( GetPVarInt( playerid, \"alreadyVoted\" ) ) {
        return SendClientMessage( playerid, 0x12345678, \"Már szavaztál!\" );
    } else if( !response ) {
        return SendClientMessage( playerid, 0x12345678, \"Nem szavaztál!\" );
} else {
    static stringOutput[ 64 ];
    SetPVarInt( playerid, \"alreadyVoted\", true );
    ++voteCount[ --listitem ];
    format( stringOutput, sizeof stringOutput, \"Sikeresen szavaztál![ %i ]\", listitem );
    SendClientMessage( playerid, 0x87654321, stringOutput );
}
}
return 1;
}
public EndVote(  ) {
static biggestCount = -1, rconCmd[ 20 ];
for( new x = 0; x < MAX_PLAYERS; ++x ) {
    if( !IsPlayerConnected( x ) || IsPlayerNPC( x ) )
        continue;
    SetPVarInt( x, \"alreadyVoted\", false );
}
for( new x = 0; x < sizeof voteCount; ++x ) {
    if( voteCount[ x ] > biggestCount ) {
        biggestCount = voteCount[ x ];
}
}
format( rconCmd, sizeof rconCmd, \"changemode %d\", biggestCount );
SendRconCommand( rconCmd );
}
Cím: Szavazás
Írta: GroX - 2010. július 16. - 21:39:35
zero látom unatkozol:D
Cím: Szavazás
Írta: [MM]Encoder - 2010. július 17. - 09:39:18
Átnéztem kicsit meg le is teszteltem de az az egyetlen probléma vele hogy hiába szavaztunk újra azt a módot adja be ami az elobb volt   :D
De ez is rengeteg segítség volt köszönöm szépen.