Ich möchte gerne wissen wie mach das macht:
Man kann sachen auswählen, und dann soll nachher das mit den meisten stimmen gewinnen. Klar man macht dann immer
X ++;
Y++;
nur wie fragt man das nacher ab und wie kommt dann die funktion zu stande? mit nem Forward und nem timer?
If x das größte
- Weed
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
if(x > y)
...else if (y>x
...so halt
-
ich meine wenn du 4 sachen z.b. hast
-
Das sollte dir helfen
Einfach die Variablen in ein Array packen und dann so wie beschrieben ausgeben lassen. -
ne sry rall das
vll kann blacki das mal für mich machen^^ -
Das von Blackfox geht aber nur mit 1 stelligen Zahlen...
stock GroessteVon(s[]) {
new alti, gross=-2147483648, zahl;
for(new i=0, j=sizeof(s); i<j; i++) {
if(!i || s[i]==' ') {
if(i>=1) {
alti=i+1; }
zahl=strval(s[alti]);
if(zahl>gross) {
gross=zahl; }}}
return gross;
}
So macht man jetzt als Beispiel:
new a=846, b=7, c=5465, d=2, s[15];
format(s,sizeof(s),"%d %d %d %d",a,b,c,d);//getrennt durch leerzeichen, sonst gehts nicht
new zahl=GroessteVon(s);
In der Variable "zahl" würden jetzt 5465 drinnestehen, da dies auch die größte Zahl ist -
Das würde dann wie gehen wenn ich das so habe:
public OnPlayerSelectedMenuRow(playerid, row)
{
if(CurrentMenu == derby)
{
switch(row)
{
case 0:
{
MapA ++;
TogglePlayerControllable(playerid, false);
}
case 1:
{
MapB ++;
TogglePlayerControllable(playerid, false);
}
case 2:
{
MapC ++;
TogglePlayerControllable(playerid, false);
}
case 3:
{
MapD ++;
TogglePlayerControllable(playerid, false);
}
}
}
return 1;
} ????
Und kannste mir vieleicht sagen dazu noch wie man die eigentliche spielrunde machen könnte? Das heißt es wird einen timer geben, und die variable derbyi[derbyon] = 1 signalisiert dass das derby läuft. Und sobald nur noch einer da ist dass der dann gewonnen hat? -
new s[20], zahl;
foramt(s,sizeof(s),"%d %d %d %d",MapA,MapB,MapC,MapD);
zahl=GroessteVon(s);
if(zahl==MapA) {
//...
}
else if(zahl==MapB) {
//...
}
else if(zahl==MapC) {
//...
}
else if(zahl==MapD) {
//...
}
Und das mitm Spieltimer...
Man fährt ja Derby, bis nur noch einer heil ist, und nciht, bis alle außer einer disconnecten sind? -
NAja ich bin soweit das man eben die map abstimmen kann bis zum menu kommt und rausgehen kann usw
Aber es fehlt die eigentliche SpielRunde. Also wenn alle gewählt haben soll keine mehr hinzukommen können.
Es soll ein Timer kommen, 3 Minuten pro Runde. Wenn vorher nur noch einer da is dann gewinnt der sonst unentschieden.
ABer wenn wer stirbt soll der gefreezet werden und ne deathcam bekommen(hab ich) nur bei runden start soll dier wieder mit dabei sein. Wie mach ich so was.Und danke für das was du da geschrieben hast aber das muss ich auch mit in die derby runde packen, aber wie????
MfG Weed
-
//ganz nach oben:
new imderby[MAX_PLAYERS], derby;
forward derbytimer();
//wenn das derby startet:
derby=1;
SetTimer("derbytimer",180000,0);
//ganz nach unten:
public derbytimer() {
for(new i=0; i<MAX_PLAYERS; i++) {
if(IsPlayerConnected(i)) {
if(imderby[i]==1) {
//SpawnPlayer(i); oder i-wie sowas, sollen aj sicherlich aus der arena raus
SendClientMessage(i,FARBE,"Das Derby ist vorbei"); }}}
derby=0;
return 1;
}
//OnPlayerDeath:
if(imderby[playerid]==1) {
TogglePlayerControllable(playerid,0); }
//wenn sie die runde wählen:
if(derby==1) return SendClientMessge(playerid,FARBE,"Das Derby läuft bereits oder i-wie sone Nachricht");
Es kann sein, dass das jetzt nicht ganz mit dem übereinstimmt, was du wolltest, aber so wie ich das verstanden habe, könnte man das Derby 2 mal hintereinander starten, wie sonst kann man vorher noch da sein -
ich habe ja dieses menu, und wenn da abgestimmt wurde soll ich dann nen timer machn der startet bei /derby und dann auslesen welches am meisten stimmen hat und dann iwie die runde starten? ich meine jeder soll nen car bekommmen usw glaub das mach ich mit nem timer bei derby
weiß wer???? keksi weiß das^^ -
breadfish.de
Hat das Thema geschlossen.