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