Szerző Téma: 2Public ,hogyan?  (Megtekintve 1099 alkalommal)

2Public ,hogyan?
« Dátum: 2011. május 29. - 11:51:03 »
0 Show voters
Sziasztok,
A segítségeteket kérném 2 public létrehozásában.
Erre a 2 public-ra lenne szükségem:
- ha a játékos sérül,
- ha a jármû sérül,
A public-ot folytatnám egyedileg, csak ezt a 2public-ot kéne létrehoznom,vagy ha van ilyen ami nem bugos ,akkor kérlek írjátok le melyik include-ban találom és milyen néven kellene használnom a public-ot.
Köszönöm!

2Public ,hogyan?
« Válasz #1 Dátum: 2011. május 29. - 19:01:19 »
0 Show voters
Ezt maximum ugy tudod megoldani hogy létrehozol egy függvényt ami másodpercenként lefut sokszor,
eltárolod a jármü illetve player életét és ha az elözö méréstöl eltér akkor lefuttatod a például  OnPlayerHealthChange függvényt, ded ez némi laggal járhat szerintem.
példa:
[pawn]#include <foreach>
new Float:newhealth[MAX_PLAYERS], Float:oldhealth[MAX_PLAYERS];
public OnGamemodeInit()
{
SetTimer(\"Checking\",150,1); //ezt aszerint állitsd hogy milyen feladatra kell, de szerintnem 500-nál ne legyen nagyobb és 100 nál kisebb se legyen
}
forward Checking();
public Checking()
{
foreach(Player, i)
{
GetPlayerHealth(i,newhealth);

if(newhealth
!= oldhealth) {OnPlayerHealthChange(i,oldhealth,newhealth);}

oldhealth
= newhealth;

}


}


forward OnPlayerHealthChange(playerid,Float:oldhealth2,Float:newhealth2);


public OnPlayerHealthChange(playerid,Float:oldhealth2,Float:newhealth2)


{


//ide amit akarsz hogy történjen ha a játékos élete változik


}[/pawn]


most ezt tudtam gyorsban összedobni az autokat ugyanigy kell


a foreach ha nnem ismernéd olyan mint a ciklus végülis ez is egy ciklus csak ez a csatlakozott játékosokon fut végig, csak zokon igy sokkal gyorsabb mint a sima for(new i...


it tegy link a foreach hoz:


http://forum.sa-mp.com/showthread.php?t=92679

foreach include letöltése:


http://pastebin.com/2wduLfcq

2Public ,hogyan?
« Válasz #2 Dátum: 2011. május 30. - 20:02:57 »
0 Show voters
Köszönöm a segítséged, nem sokára letesztelem remélem sikerülni fog :)

2Public ,hogyan?
« Válasz #3 Dátum: 2011. május 31. - 20:10:34 »
0 Show voters
:) nincs mit az autosat is hasonloann kell csak ott már nemjo a foreach sajnos és az már laggosabb lesz szerintem.

2Public ,hogyan?
« Válasz #4 Dátum: 2011. június 03. - 10:42:41 »
0 Show voters
Jármûre van natív megoldás is: OnVehicleDamageStatusUpdate

2Public ,hogyan?
« Válasz #5 Dátum: 2011. június 03. - 18:41:28 »
0 Show voters
Idézetet írta: hegdavid95 date=1306865434\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"8436\" data-ipsquote-contentclass=\"forums_Topic
:) nincs mit az autosat is hasonloann kell csak ott már nemjo a foreach sajnos és az már laggosabb lesz szerintem.
 
A foreach nem csak játékosok iterációjára használható hanem bármire, amiben csak a megadott értékekkel kell lefuttatni egy ciklus folyamatot.
Természetesen alapból létre van hozva a Player, Bot és Character elnevezésû iteráció.
De te is létrehozhat bármilyent amire neked szükséged van.
pl.:
 

new
Iterator:Vehicle<MAX_VEHICLES>;

 
Többet a foreach topicjában olvashatsz.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal