BevezetõHello!Azért írom ezt a leírást,mert páran már kértek ilyen témában segítséget MSN-en,így könyebb lesz ezt belinkelni.
A kód indentáció barát,mivel nem a fordítóban írtam,szóval elõfordulhatnak kisebb hibák is.
A színeket ne felejtsük el lecserélni.
ElméletElõször is szükségünk lesz 3 darab változóra.Az egyik a timer ID-t fogja jelölni,a másik meg az aktuális reklámot,a harmadik meg egy tömb lesz,amiben a reklámokat helyezzük el. Meg természetesen egy prototípus is kell,az idõzítõé.
A színeket ne felejtsük el lecserélni!
Indítanunk kell egy idõzítõt (timert) ami ki fogja írni a reklámokat.
Irassuk ki a megfelelõ szöveget.
Az idõzítõt a script végén le kell állítanunk.
GyakorlatKészítsük el a változóinkat.A \' c \' betû az egomat jelöli.
forward cReklamozas(); //Az idõzítõ prototípusa
new cTimer; //Ez lesz a timer ID-je
new cReklamStatus = -1; //Ez az aktuális reklám ID-je
new cReklam[][] =
{
\"Pulyka nem Tyúk húsleves csak 40 000 Ft. a LIDL-ben!\",
\"Akciós FA termékeink: Rozsdamentes acél házikó,most csak 200 000 000 000 000 Ft!\",
\"Csodálatos STRAND helyek kiadók!Érdeklõdnia CÁPA VESZÉLY-t jelzõ tábla mellet a bódéban!\"
}
Figyeljük meg,hogy a felsorolás utolsó szövegének végére nem kell , (vesszõ)
Ezután,Indítsuk el a Timert.
FilterScript:
public OnFilterScriptInit()
{
cTimer = SetTimer(\"cReklamozas\",60*1000,true); //Az idõzítõ 60*1 másodpercenként fut le,azaz 1 percenként.
return 1;
}
GameMode:
public OnGameModeInit()
{
SetTimer(\"cReklamozas\",60*1000,true); //Az idõzítõ 60*1 másodpercenként fut le,azaz 1 percenként.
return 1;
}
Hozzuk létre magát az idõzítõt:
public cReklamozas()
{
if(cReklamStatus >= sizeof(cReklam) - 1)
cReklamStatus = 0;
else cReklamStatus++;
return SendClientMessageToAll(0,cReklam[cReklamStatus]);
}
Végül,ha a kód futatása véget ér,le kell lõnünk az idõzítõt:
public OnFilterScriptExit()
{
KillTimer(cTimer);
return 1;
}
Kész is
#include <a_samp>
forward cReklamozas(); //Az idõzítõ prototípusa
new cTimer; //Ez lesz a timer ID-je
new cReklamStatus = -1; //Ez az aktuális reklám ID-je
new cReklam[][] =
{
\"Pulyka nem Tyúk húsleves csak 40 000 Ft. a LIDL-ben!\",
\"Akciós FA termékeink: Rozsdamentes acél házikó,most csak 200 000 000 000 000 Ft!\",
\"Csodálatos STRAND helyek kiadók!Érdeklõdnia CÁPA VESZÉLY-t jelzõ tábla mellet a bódéban!\"
};
public OnFilterScriptInit()
{
cTimer = SetTimer(\"cReklamozas\",60*1000,true); //Az idõzítõ 60*1 másodpercenként fut le,azaz 1 percenként.
return 1;
}
public cReklamozas()
{
if(cReklamStatus >= sizeof(cReklam) - 1)
cReklamStatus = 0;
else cReklamStatus++;
return SendClientMessageToAll(0,cReklam[cReklamStatus]);
}
public OnFilterScriptExit()
{
KillTimer(cTimer);
return 1;
}
VégülEnnyi,a leírás csakis elméleti,mivel nem teszteltem le a gyakorlatban, nem tudom mûködik-e.(Fórumban írtam)
Hozzáadhatunk vagy elvehetünk híreket,semmi mást nem kell módosítani,viszont az utolsó hír után nem kell vesszõ,a többi után igen.