Szerző Téma: Stock használata.  (Megtekintve 1011 alkalommal)

Stock használata.
« Dátum: 2015. Január 31. - 21:38:35 »
0
Sziasztok.
Rengeteget olvasgatom a fórumot a pawno scripteléssel kapcsolatban.
Készítettem már magam is scriptet(Kisebb/nagyobb sikerekkel).
Nem akarok nagy babérokra törni, mindössze hobby szerűen szeretném úgymond \"űzni\" ezt az egészet.
A leírások itt a fórumon rengeteget segítettek, hogyan is kezdjem is az egészet.
Egyetlen dolog van amit félig értek, kicsit még mindenképpen tanulmányoznom kellene.
A stock megfelelő használatára és értelmére(mikor van szükség a használatára.) lennék kíváncsi. Valószínűleg velem van a hiba...Nem tudom miért de ez még teljesen nem tisztázódott bennem. Ha kaphatnék esetleg egy kisebb leírást avagy netalán egy kisebb scriptet ami megértetné velem a használatát, igazán megköszönném.
Köszönöm előre is a segítséget!
« Utoljára szerkesztve: 2015. Január 31. - 21:41:16 írta Rotten »

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
Stock használata.
« Válasz #1 Dátum: 2015. Január 31. - 21:46:01 »
0
Ez olyan mint a stock (tudtommal), csak ha nem hasznalod sehol a kodban, warningot vagy errort dob.
 
fuggveny(parameter) {
    return ertek;
}

 
Ez a legtobb celra jo:
 
stock fuggveny(parameter) {
    return ertek;
}

 
Ezt csak akkor kell hasznalni, ha valahol scripttel akarod meghivni (pl. CallRemoteFunction, mysql_tquery, SetTimer), pl. egy adott fuggveny meghivo parancshoz ez kellhet, ahol te adod meg, milyen neven keresse.
 
forward fuggveny(parameter);
public fuggveny(parameter) {
    return ertek;
}

Nem elérhető huhboy

  • 894
  • huhboy
    • Profil megtekintése
Stock használata.
« Válasz #2 Dátum: 2015. Január 31. - 21:49:07 »
0
kzyn magyarázatát kiegészíteném annyival, hogy a stock a public-kal ellentétben csak akkor fut le, ha megvan hívva. és lényegében bármit helyettesíthet, ha jól használod.

Stock használata.
« Válasz #3 Dátum: 2015. Január 31. - 22:02:28 »
0
Miben lehet ez hasznomra, tehát nagyjából értem. Előre megírom, hogy mi történjen a függvény lefutásakor és több parancsnál/helyen, stb meghívhatom, hogy ne kelljen többször megírni az adott dolgot? Egy kisebb, egyszerű scriptet tudtok nekem mutatni, miért is hasznos ez a dolog? Egy-két soros script amiből kicsit áttanulmányozhatom.
Köszönöm az eddigi válaszokat.

Nem elérhető huhboy

  • 894
  • huhboy
    • Profil megtekintése
Stock használata.
« Válasz #4 Dátum: 2015. Január 31. - 22:19:34 »
0
pl. csinálsz pár teleportot....nem kell minden parancsnál lekérned a nevét, megformáznod az üzenetet, meg a vele járó dolgokat, hanempl csinálsz egy
 

stock Teleport(playerid, telename[], telecmd[])
{
new name[24], str[256];
GetPlayerName(playerid, name, sizeof(name));
format(str, sizeof(str), \"%s elteleportált ide: %s. parancs: /%s\", name, telename, telecmd);
return SendClientMessageToAll(0xffffffaa, str);
}

 
és ezt a teleportoknál csak meghívod...
 

CMD:spawn(playerid, params)
{
Teleport(playerid, \"Spawn\", \"spawn\");
stb...
return 1;
}

 
és bármilyen olyan dolgot, amit sokszor használsz fel, leegyszerűsítheted egy stock-ba.

Nem elérhető divkn

  • 3259
    • Profil megtekintése
Stock használata.
« Válasz #5 Dátum: 2015. Január 31. - 22:25:29 »
0
A stockot nem csak leegyszerűsíteni tudsz funkciókat, hanem deklarálni még változót is globálisan. Ha nem használod azt a változót vagy funkciót, akkor a fordító nem ad figyelmeztetést és nem is fogja az AMX-be deklarálni, csak akkor ha public eljárásban legalább egyszer le van hívva.
Példa:
 
stock bool:valtozo = true;
main()
{
    if(getValtozo())
        print(\"igaz\");
    else
        print(\"hamis\");
}
stock bool:getValtozo()
{
    return valtozo;
}

Stock használata.
« Válasz #6 Dátum: 2015. Január 31. - 22:26:08 »
0
Oh That\'s fine! Köszönöm a segítséget minden világos. Valóban megkönnyíti a scriptelést.
örök hálám.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal