Szerző Téma: Több változó.. legnagyobb értéke  (Megtekintve 1110 alkalommal)

Nem elérhető CMike

  • 332
  • FB.COM/sampdayrpg
    • Profil megtekintése
Több változó.. legnagyobb értéke
« Dátum: 2014. július 15. - 21:04:11 »
0 Show voters
Helló hogyan kell megcsinálni, hogy ha van több változóm akkor a legnagyobbat írja ki csak csetbe? mivel lehet összehasonlítani?
« Utoljára szerkesztve: 2014. július 16. - 17:31:07 írta ZyZu. »
Egy új project-en dolgozom!
server28.clans.hu:7793
FB.COM/UJSAMP

Több változó.. legnagyobb értéke
« Válasz #1 Dátum: 2014. július 15. - 21:11:11 »
0 Show voters
ciklus, és egy \'>\' jel

Nem elérhető CMike

  • 332
  • FB.COM/sampdayrpg
    • Profil megtekintése
Több változó.. legnagyobb értéke
« Válasz #2 Dátum: 2014. július 15. - 21:15:41 »
0 Show voters
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...
Egy új project-en dolgozom!
server28.clans.hu:7793
FB.COM/UJSAMP

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
Több változó.. legnagyobb értéke
« Válasz #3 Dátum: 2014. július 15. - 21:29:29 »
0 Show voters
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.
« Utoljára szerkesztve: 2014. július 15. - 21:31:11 írta KovaNovik »

Nem elérhető CMike

  • 332
  • FB.COM/sampdayrpg
    • Profil megtekintése
Több változó.. legnagyobb értéke
« Válasz #4 Dátum: 2014. július 16. - 20:19:32 »
0 Show voters
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?
Egy új project-en dolgozom!
server28.clans.hu:7793
FB.COM/UJSAMP

Több változó.. legnagyobb értéke
« Válasz #5 Dátum: 2014. július 16. - 20:45:59 »
0 Show voters
gondolom tömbben tárolod a pontszámokat, szoval amit én írtam..

Nem elérhető CMike

  • 332
  • FB.COM/sampdayrpg
    • Profil megtekintése
Több változó.. legnagyobb értéke
« Válasz #6 Dátum: 2014. július 16. - 21:57:59 »
0 Show voters
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
Egy új project-en dolgozom!
server28.clans.hu:7793
FB.COM/UJSAMP

Több változó.. legnagyobb értéke
« Válasz #7 Dátum: 2014. július 16. - 22:26:23 »
0 Show voters
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.

Nem elérhető CMike

  • 332
  • FB.COM/sampdayrpg
    • Profil megtekintése
Több változó.. legnagyobb értéke
« Válasz #8 Dátum: 2014. július 16. - 22:29:55 »
0 Show voters
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..
Egy új project-en dolgozom!
server28.clans.hu:7793
FB.COM/UJSAMP

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
Több változó.. legnagyobb értéke
« Válasz #9 Dátum: 2014. július 16. - 22:42:53 »
0 Show voters
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.

Nem elérhető CMike

  • 332
  • FB.COM/sampdayrpg
    • Profil megtekintése
Több változó.. legnagyobb értéke
« Válasz #10 Dátum: 2014. július 16. - 22:54:59 »
0 Show voters
é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!
« Utoljára szerkesztve: 2014. július 16. - 23:08:51 írta CMike »
Egy új project-en dolgozom!
server28.clans.hu:7793
FB.COM/UJSAMP

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal