Hi,
wenn ich was verpasst hab sry. hab aber die SuFu benutzt und nix gefunden
Ich bräuchte am besten ein FS wo man z.b. nach 10 Minuten ein Vote kommt welchen Gamemode weitergespielt wird.
Hi,
wenn ich was verpasst hab sry. hab aber die SuFu benutzt und nix gefunden
Ich bräuchte am besten ein FS wo man z.b. nach 10 Minuten ein Vote kommt welchen Gamemode weitergespielt wird.
#include <a_samp>
@voteTimer();
stock strget(strx[], pos, search = ' ');
stock static const gamemodes[][] = {
{ "area51" }, /* hier einfügen welche gamemodes laufen sollen */
{ "bomb" }
};
stock static pVote[MAX_PLAYERS] = { -1, ... }, r = 0; /* die ... nicht entfernen! */
@voteTimer()
{
static voteFor[sizeof gamemodes], notdie[sizeof gamemodes], cntdie, msg[256];
GameTextForAll("~r~Gamemode wechsel!", 4000, 3);
for(new i = 0; i < GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
if(pVote[i] != -1)
voteFor[pVote[i]]++;
}
}
while(r == 0)
{
for(new j = 0; j < sizeof voteFor; j++)
{
voteFor[j]--;
notdie[j] = 0;
if(voteFor[j] > 0)
{
notdie[j] = 1;
cntdie++;
}
}
if(cntdie == 1)
{
new i = 0;
for(i = 0; i < sizeof voteFor; i++)
{
if(notdie[i] == 1)
break;
}
format(msg, sizeof msg, "changemode %s", gamemodes[i]);
SendRconCommand(msg);
break;
}
if(cntdie == 0)
{
GameTextForAll("~r~Stimmungs gleichheit, vote abgebrochen!", 1000, 3);
break;
}
}
}
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Vote FS by DMA");
print("--------------------------------------\n");
SetTimer("voteTimer", 1000*60*10, 1);
for(new i = 0; i < MAX_PLAYERS; i++)
pVote[i] = -1;
return 1;
}
public OnFilterScriptExit()
{
print("\n--------------------------------------");
print(" Vote FS by DMA EXIT!");
print("--------------------------------------\n");
return 1;
}
public OnPlayerConnect(playerid)
{
pVote[playerid] = -1;
SendClientMessage(playerid, 0xFF0000AA, "/votehelp, /vote um für einen Gamemode wechsel zu voten!");
SendClientMessage(playerid, 0xFF6900AA, "Gamemode Wechsel alle 10min!");
SendClientMessage(playerid, 0xFF0000AA, "-----------------------------------");
SendClientMessage(playerid, 0xFF6900AA, "Votescript by DMA 2008");
SendClientMessage(playerid, 0xFF0000AA, "http://samp.breadfish.de/forum/");
SendClientMessage(playerid, 0xFF6900AA, "-----------------------------------");
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new msg[256];
if(!strcmp(strget(cmdtext, 0), "/votehelp"))
{
SendClientMessage(playerid, 0xFF0000AA, "/vote [ID] , ID Liste:");
for(new i = 0; i < sizeof gamemodes; i++)
{
format(msg, sizeof msg, "ID:%d Name:%s", i, gamemodes[i]);
SendClientMessage(playerid, 0xFF6900AA, msg);
}
return 1;
}
if(!strcmp(strget(cmdtext, 0), "/vote"))
{
if(strval(strget(cmdtext, 1)) > 0 && strval(strget(cmdtext, 1)) < sizeof gamemodes)
{
if(pVote[playerid] == -1)
{
SendClientMessage(playerid, 0xFF6900AA, "Vote gewertet!");
pVote[playerid] = strval(strget(cmdtext, 1));
}
else
SendClientMessage(playerid, 0xFF0000AA, "Du hast bereits gevoted!");
}
else
SendClientMessage(playerid, 0xFF0000AA, "/vote [ID] , Beispiel: /vote 0");
}
return 0;
}
stock strget(strx[], pos, search = ' ') {
new arg, ret[128], idxx;
for (new i = 0; i < strlen(strx); i++) {
if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
arg++;
if (arg == pos + 1){
ret[i-idxx] = EOS;
return ret;
} else if (arg == pos)
idxx= i+1;
}
else if (arg == pos)
ret[i - idxx] = strx[i];
}
return ret;
}
Das sollte klappen, habs gerade ausm kopf heraus geschrieben ;x
Gibts schon>>>http://forum.sa-mp.com/index.php?topic=37090.0
Vielen Dank, Vielen Dank usw. DMA !!!
klappt perfekt. nur wenn ich /vote (z.b.) 1 eingebe steht da :
Vote gewertet. und
Server: Unknow Command
Wenn man möchte, das nach einer gewissen Zeit der Gamemode wechselt, dann müsste man in jedem GameMode einen Timer rein bauen oder?
Unter on Gamemodeinit den Timer setzen und dann den Timer ablaufen lassen oder??
1000*60*10 wie wird der Timer dort berechnet?
//Edit
Alles anzeigenWenn man möchte, das nach einer gewissen Zeit der Gamemode wechselt, dann müsste man in jedem GameMode einen Timer rein bauen oder?
Unter on Gamemodeinit den Timer setzen und dann den Timer ablaufen lassen oder??
1000*60*10 wie wird der Timer dort berechnet?
//Edit
Hast du gesehen das das Thema von 2008 ist ?
War ne ganz neue Frage..
Ich muss wohl für so eine simple Frage keinen neuen Thread auf machen .
Aber ist schon gegessen