anakin_cstrike Administrator

Data inscrierii: 26/Mai/2008 Mesaje: 7
|
Trimis: 26/05/2008 18:33 Titlul subiectului: CountDown |
|
|
Vreti sa stiti cum se face un countdown pentru bomba ? Ei bine,in acest tutorial va voi arata cum.
Pentru inceput aveti nevoie de modulul csx pentru event-ul de la bomba :
| Cod: | #include <amxmodx>
#include <csx>
#define PLUGIN "New Plugin"
#define VERSION "1.0"
#define AUTHOR "Author"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
} |
Acum vom creea 2 variabile : una pentru determinarea count-ului si alta pentru afisare :
| Cod: | | new g_C4Timer,g_MsgSync |
Eu am dat un exemplu,voi faceti cum doriti.
Apoi in plugin_init,dam variabilei pentru afisare ( g_MsgSync ) o functie de sincronizare :
| Cod: | | g_MsgSync = CreateHudSyncObj(); |
Pentru mai multe detailii : [url=http://www.amxmodx.org/funcwiki.php?go=func&id=1064]Click![/url]
In continuare,vom avea trebuință de un task in forward-ul de csx :
| Cod: | | set_task(1.0, "CountDown", 8038, "", 0, "b") |
Apoi in public creat in task,verificam daca timp-ul este mai mare de 0 :
| Cod: | public CountDown(){
if(g_C4Timer > 0) |
Apoi,daca vreti sa faceti un hud colorat in functie de timp-ul ramas pana la explozie.Eu voi da exemplul urmator : sub 35 secunde culoarea este verde,sub 20 este galbena iar sub 10 este rosie :
| Cod: | if(g_C4Timer < 35){
set_hudmessage(0,255,0,-1.0,0.10,0,6.0,12.0)
} else if(g_C4Timer < 20){
set_hudmessage(255,255,0,-1.0,0.10,0,6.0,12.0)
} else if(g_C4Timer < 10){
set_hudmessage(255,0,0,-1.0,0.10,0,6.0,12.0)
} |
Acum depine de gustul fiecaruia,de exemplu vreti sa apara ceva de genu : =>30<=...=>25<=...=>5<=
| Cod: | | ShowSyncHudMsg(0,g_MsgSync,"=>%d<=",g_C4Timer) |
* %d - decimal
* g_C4Timer - va inlocui %d cu cifra respectiva
* g_MsgSync - variabila creata mai sus
* 0 - va arata hud-ul tuturor jucatorilor
* ShowSyncHudMsg - in loc de show_hudmessage
Si acum sfarsitul,functia de scadere a secundelor de la bomba :
Daca ati facut ca si mai sus ar trebuie sa aveti ceva de genu :
| Cod: | #include <amxmodx>
#include <csx>
#define PLUGIN "New Plugin"
#define VERSION "1.0"
#define AUTHOR "Anakin"
new g_C4Timer,g_MsgSync;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
g_MsgSync = CreateHudSyncObj();
}
public bomb_planted(id){
set_task(1.0, "CountDown", 8038, "", 0, "b")
}
public CountDown(){
if(g_C4Timer > 0){
if(g_C4Timer < 35){
set_hudmessage(0,255,0,-1.0,0.10,0,6.0,12.0)
} else if(g_C4Timer < 20){
set_hudmessage(255,255,0,-1.0,0.10,0,6.0,12.0)
} else if(g_C4Timer < 10){
set_hudmessage(255,0,0,-1.0,0.10,0,6.0,12.0)
}
ShowSyncHudMsg(0,g_MsgSync,"=>%d<=",g_C4Timer)
--g_C4Timer;
}
} |
|
|