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;
}
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;
}