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: CMike - 2014. július 15. - 21:04:11

Cím: Több változó.. legnagyobb értéke
Írta: CMike - 2014. július 15. - 21:04:11
Helló hogyan kell megcsinálni, hogy ha van több változóm akkor a legnagyobbat írja ki csak csetbe? mivel lehet összehasonlítani?
Cím: Több változó.. legnagyobb értéke
Írta: TengeriMalac - 2014. július 15. - 21:11:11
ciklus, és egy \'>\' jel
Cím: Több változó.. legnagyobb értéke
Írta: CMike - 2014. július 15. - 21:15:41
ezt mondjuk 10 változóval is meg tudom tenni?
Mondjuk így?
 
for(new i; i<maxvaltozok; i++)
{
   if(valtozom>valtozom)
   {
   valami..
   }
}

 
Ez akár 10-20 közül is kiválasztja a legnagyobb értékût? Nem hiszem végülis mert ez mindíg csak 2-t hasonlít össze nem? Nem nézi h melyik a legnagyobb...
Cím: Több változó.. legnagyobb értéke
Írta: KovaNovik - 2014. július 15. - 21:29:29
TengeriMalac jól mondta.
 
new tomb[] = {1, 2, valtozo1, valtozo2[playerid]}, legn = tomb[0]; //A tömböt feltöltjük, és az elsõ elemével egyenlõvé tesszük a \'legn \' változót.
for(new i = 0; i < sizeof(tomb); i++) { //Létrehozunk egy \'i\' változót, és addig növeljük, amíg kisebb a \'tomb\' nevû tömbünk méreténél. Minden növelés elõtt lefut a kapcsoszárójelben lévõ kód.
if(tomb > legn) legn = tomb; //Ha a tömb i-edik eleme (ez lefut minden számmal, ameddig a fenti feltétel igaz) nagyobb mint az eddig talált legnagyobb, akkor az eddig talált legnagyobb legyen a tömb i-edik elemével egyenlõ.
}
//A \'tomb\' nevû tömbbõl (amit akár a saját változóiddal is feltölthetsz), a legnagyobb értéke el van tárolva a \'legn\' változóba.
Cím: Több változó.. legnagyobb értéke
Írta: CMike - 2014. július 16. - 20:19:32
Szerintem nem egyre gondolunk, vagy nem értjük egymást :S
Ez egy DM verseny lenne..
Nem lehet elõre tudni, hogy mennyi változó közül kell megnézni, lehet, hogy 10, de lehet h 100..
Úgy gondoltam, hogy a csatlakozott játékosok között megnézni, hogy ki van a versenyben, aki benne van annak lekérni a pontszámát és akinek a legnagyobb az nyer...
Megoldható ezzel? Vagy hogyan kell?
Cím: Több változó.. legnagyobb értéke
Írta: TengeriMalac - 2014. július 16. - 20:45:59
gondolom tömbben tárolod a pontszámokat, szoval amit én írtam..
Cím: Több változó.. legnagyobb értéke
Írta: CMike - 2014. július 16. - 21:57:59
Tudnál nekem rajzolni egy pédát?
 
new olesek[MAX_PALYERS];

 
Ebben tárolom az értékeket, hogy ki mennyit ölt.. megmutatnád, hogy a legnagyobb értékû változó tulajdonosának a nevét pl lekérje?:D
Ezer köszi annak aki segít
Cím: Több változó.. legnagyobb értéke
Írta: TengeriMalac - 2014. július 16. - 22:26:23
new max, maxid;
for(new i = 0;i < MAX_PLAYERS;i++) {
if(!IsPlayerConnected(i)) continue;
if(olesek > max) {
max = olesek;
maxid = i;
}
}

 
max - legnagyobb pontszám
maxid - legnagyobb pontszám tulajdonosának IDje.
Cím: Több változó.. legnagyobb értéke
Írta: CMike - 2014. július 16. - 22:29:55
Az a helyzet, hogy pont így csináltam de valamiért nem akart mûködni.. megmutatom az én megoldásomat is:
 
public dm1vege()
{
new alapertek=0;
new id=-1;
for(new i; i<500; i++)
{
if(dmben==true)
{
if(dmolesek>alapertek)
{
alapertek=dmolesek;
id=i;
}
}
}
new msg[128];
format(msg,128,\"%s a nyertes %d ponttal\",GetName(id),dmolesek[id]);
SendClientMessageToAll(citrom,msg);
return 1;
}

 
A Publicot pedig egy 3perces tiemrrel hívtam meg
Mégis mi lehet a gond?:(
Mintha le sem futna a timer.. mindj debuggolok 1et..
Cím: Több változó.. legnagyobb értéke
Írta: KovaNovik - 2014. július 16. - 22:42:53
new olesek[MAX_PLAYERS];
//Egy eljáráson belül:
new legt, id;
for(new i = 0; i < sizeof(olesek); i++) {
if(!IsPlayerConnected(i)) continue;
if(olesek > legt) legt = olesek, id = i;
}
//Az \'id\' változó tartalmazza a legtöbbet ölõ játékos idjét. Ha több volt, az utolsó ID-jét.
//A \'legt\' változó tartalmazza a legtöbbet ölõ játékos öléseinek a számát.
Cím: Több változó.. legnagyobb értéke
Írta: CMike - 2014. július 16. - 22:54:59
értem én, de ha megnézed az enyémet, akkor ugyan azt írtam nem?

Dupla hozzászólás automatikusan összefûzve. ( 2014. július 16. - 23:08:51 )

Nem értem, hogy mit csináltam rosszul, de ismét köszönöm a segítséget! Sikerült!