Szerző Téma: Szegény vagy Gazdag!  (Megtekintve 2075 alkalommal)

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Szegény vagy Gazdag!
« Dátum: 2012. szeptember 06. - 21:54:56 »
0 Show voters
Helló! Hát nagyon unatkoztam így írtam egy egyszerû pénz lekérõ szkriptet. Van egy timer ami minden 6 percben lekéri minden játékos pénzét a szerveren és 6 perc útán a szerverre ki írja ki a szegény és a gazdag.  :smokin:
Ha hiba lenne benne kérem javítsatok vagy szoljatok!  :)
Készítési idõ: 3 perc || Készítõ: ZyZu(Én) || Tesztelve: Mûkõdik.
 

#include <a_samp>
forward penzfrissites( playerid );
public OnFilterScriptInit ( )
{
print(\"\\n--------------------------------------\");
print(\"ZyZu Pénz Detector Betöltve! :D\");
print(\"--------------------------------------\\n\");
SetTimer ( \" penzfrissites \" , 6000000 , false , \"i\" );
return 1;
}
public penzfrissites( playerid )
{
    new string [ 50 ] ;
    new nev [ MAX_PLAYER_NAME  ];
    new penz = GetPlayerMoney ( playerid ) ;
    GetPlayerName ( playerid , nev , sizeof ( nev ) ) ;
    if ( penz > 600000 )
    {
        format ( string , sizeof ( string ) , \" {ff9100}A Szerveren a leggazdagabb játékos ( {006fff}%s {ff9100}) pénze ( {00ff09}%i$ {ff9100})! \" , nev , penz );
        SendClientMessageToAll ( 0xff0000AA , string ) ;
    } else {
    if ( penz < 600000 )
    {
        format ( string , sizeof ( string ) , \" {ff9100}A Szerveren a legszegényebb játékos ( {006fff}%s {ff9100}) pénze ( {00ff09}%i$ {ff9100})! \" , nev , penz );
        SendClientMessageToAll ( 0xff0000AA , string ) ;
    }
    return 1;
    }
    return 0;
}
« Utoljára szerkesztve: 2012. szeptember 07. - 20:26:05 írta ZyZu »

Szegény vagy Gazdag!
« Válasz #1 Dátum: 2012. szeptember 07. - 06:03:17 »
0 Show voters
2 apró észrevétel:
A timer 60mp- ként frissít és nem a leggazdagabb/szegényebb embert találja meg, hanem csak a legkisebb id-jû 60k alatti/feletti játékost.

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Szegény vagy Gazdag!
« Válasz #2 Dátum: 2012. szeptember 07. - 09:29:09 »
0 Show voters
Tudom, de a timert soha nem tudom beállítani  :facepalm: :D

Szegény vagy Gazdag!
« Válasz #3 Dátum: 2012. szeptember 07. - 09:59:24 »
0 Show voters
Pedig mar elmondtam neked :D

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
Szegény vagy Gazdag!
« Válasz #4 Dátum: 2012. szeptember 07. - 11:39:40 »
0 Show voters
Még jó, hogy csak (max) a nullás idjû játékosnak fog lefutni.

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Szegény vagy Gazdag!
« Válasz #5 Dátum: 2012. szeptember 07. - 13:02:57 »
0 Show voters
SetTimerEx -el kéne inkább?  :hmmm:

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
Szegény vagy Gazdag!
« Válasz #6 Dátum: 2012. szeptember 07. - 19:20:54 »
0 Show voters
Nem, csak kell bele ciklus, ami végig fut minden játékoson.

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Szegény vagy Gazdag!
« Válasz #7 Dátum: 2012. szeptember 07. - 20:26:42 »
0 Show voters
Most gondolom jó lesz hozzá írtam az i ciklust.

Nem elérhető Gabor..

  • 1883
  • Gabor..
    • Profil megtekintése
Szegény vagy Gazdag!
« Válasz #8 Dátum: 2012. szeptember 07. - 20:34:22 »
0 Show voters
Idézetet írta: ZyZu date=1347042402\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"27432\" data-ipsquote-contentclass=\"forums_Topic
Most gondolom jó lesz hozzá írtam az i ciklust.
 
Az i, az nem egy ciklus, az csak az a változó, amit növelsz. Azért i a leggyakrabb elnevezés, mert az i integert jelent, tehát egész szám. Szerintem for ciklusra gondoltál, de ha már minden játékosra kell, akkor foreach.

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
Szegény vagy Gazdag!
« Válasz #9 Dátum: 2012. szeptember 07. - 21:28:29 »
0 Show voters
Idézetet írta: Gabor.. date=1347042862\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"27432\" data-ipsquote-contentclass=\"forums_Topic


Most gondolom jó lesz hozzá írtam az i ciklust.
 
Az i, az nem egy ciklus, az csak az a változó, amit növelsz. Azért i a leggyakrabb elnevezés, mert az i integert jelent, tehát egész szám. Szerintem for ciklusra gondoltál, de ha már minden játékosra kell, akkor foreach.
[/quote]
Semmi értelme a foreach-nak, mindig behelyettesíti a for ciklus-t, illetve csak annyiban különbözik, hogy eltárolja egy változóban az IDket, és azon fut végig. Szinte (gyakorlatilag) nem lehet észrevenni.
 

SetTimer ( \" penzfrissites \" , 6000000 , false , \"i\" );

 
Meg ez mi akar lenni?
Én így oldanám meg/oldottam meg (igaz, most nem volt idõm tesztelni)
 

#include <a_samp>
forward penzfrissites();
public OnFilterScriptInit ( )
{
print(\"\\n--------------------------------------\");
print(\"ZyZu Pénz Detector Betöltve! :D\");
print(\"--------------------------------------\\n\");
SetTimer(\"penzfrissites\", 6000000, true);
return 1;
}
public penzfrissites()
{
new
string [ 144 + MAX_PLAYER_NAME + 1 ],
penz = -2147483648,
jpenz,
i = -1
;
for(;++i < MAX_PLAYERS;)
{
if(IsPlayerConnected(i))
{
   if(GetPlayerMoney(i) >= penz)
   {
      penz = GetPlayerMoney(i);
      jpenz = i;
   }
}
}
GetPlayerName( jpenz , string , MAX_PLAYER_NAME ) ;
SendClientMessageToAll ( 0xff0000AA , (format(string , sizeof ( string ) , \" {ff9100}A Szerveren a leggazdagabb játékos ( {006fff}%s {ff9100}) pénze ( {00ff09}%i$ {ff9100})! \" , string, penz), string) ) ;
penz = 2147483647;
jpenz = -1;
i = -1;
for(;++i < MAX_PLAYERS;)
{
if(IsPlayerConnected(i))
{
   if(GetPlayerMoney(i) <= penz)
   {
      penz = GetPlayerMoney(i);
      jpenz = i;
   }
}
}
GetPlayerName( jpenz , string , MAX_PLAYER_NAME ) ;
SendClientMessageToAll ( 0xff0000AA , (format ( string , sizeof ( string ) , \" {ff9100}A Szerveren a legszegényebb játékos ( {006fff}%s {ff9100}) pénze ( {00ff09}%i$ {ff9100})! \" , string , penz ), string));
return 0;
}
« Utoljára szerkesztve: 2012. szeptember 07. - 21:35:30 írta DrAkE »

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Szegény vagy Gazdag!
« Válasz #10 Dátum: 2012. szeptember 07. - 21:52:20 »
0 Show voters
Köszönöm, hogy kijavítottatok :)  ;)

Szegény vagy Gazdag!
« Válasz #11 Dátum: 2012. szeptember 07. - 21:54:08 »
0 Show voters
jó lett :D
Bár használni nem is tudom mire kéne :DDD  :thumbsup:

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal