Automatikus zenetek ltrehozsa
forrs:Freddie, Samp frum
Ebben a tutorialban megtanulhatjtok, hogy, hogyan tudtok automatikus zenetet ltrehozni timer segtsgvel, egyszer mdon.
Elszr is hozzuk ltre a prototpust. Aki mdba csinlja az a main() fggvny fl tegye, aki szkriptbe az a OnFilterScript() fggvny fl, vagy a szkript elejre.
Az "Auto" csak egy plda, helyette akrmit rhatsz, tetszs szeren, de a ksbbiekben is azt hasznld!
Most ltrehozzuk a publicot, az zenet tartalmt.
public Auto()
{
SendClientMessageToAll(SZN, "SZVEG");
return 1;
}
A "SZN" helyre rd a definilt sznt (pl. COLOR_YELLOW), vagy a sznkdot (pl. 0x33AA33AA = GREEN)
Ezt akrhov teheted csak ne msik funkciba.
Na most jn a timer, amit az OnGameModeInit() fggvnyhez tesznk, ha szkriptbe csinlod akkor OnFilterScriptInit()-hez.
1000 = 1 s (msodperc)
SetTimer("Auto", 60000, 1);
Itt az "Auto" az ltalunk kivlasztott funkci, a "60000" (1 perc) azt jelli, hogy mennyi idk elteltvel kldzgesse az adott zenetet, az "1" az ismtldst jelli. (Az "1" helyett rhatsz "true"-t is, ugyanazt jelentik, ha nem akarod, hogy ismtldjn a szveg, akkor "0"-t rj, az helyett meg "false"-t is rhatsz.)
Random / Vletlenszer zenet by maarkmaki
#include <a_samp>
forward vmi();
new Rtimer;
new Reklam[][]=
{
"Szveg", //ha tl sok nyugodtan trlj le egy-kt sort
"Szveg",
"Szveg",
"Szveg",
"Szveg",
"Szveg",
"Szveg",
"Szveg" //az utols utn nem kell vessz
};
public OnFilterScriptInit() // ha aktivlod az Fs-t
{
print("Reklam kuldes bekapcsolva");
Rtimer = SetTimer("vmi",50000,true); // timer elindtsa, vmi fggvny meghvsa 50000 milisecundumonknt, true azaz ismtldni fog
//1000 = 1ms | 60000 = 1perc
return 1;
}
public OnFilterScriptExit() // ha deaktivljuk az Fs-t
{
KillTimer(Rtimer);// Rtimer meglse
return 1;
}
public vmi() // vmi fggvny
{
SendClientMessageToAll(0xFFFF00AA,Reklam[random(sizeof(Reklam))]); //random zenet
return 1;
}
Ezt egy kln j pawnoba/FS rakd
|