[AYUDA]modo de bomba
#1

holaaa, bueno soy nuevo y quisiera hacerles una pregunta...
la cosa es que yo tengo GM TDM que me crearon para mi, consiste en 2 bases, terroristas vs swat, pero quisiera saber como podria hacer para que los terroristas puedan plantar una bomba en un checkpoint y que los swat puedan desactivarlas...
yo intente hacerlo mediante checkpoints y timers pero no logre realizarlo :S

bueno espero puedan ayudarme, desde ya gracias
Reply
#2

Puedes Usar Estos FS. (Editarlo)
http://forum.sa-mp.com/showthread.ph...highlight=Bomb
http://forum.sa-mp.com/showthread.ph...highlight=Bomb
Reply
#3

mmm bien, podre guiarme con estos gracias, pero el problema sera para hacer que los swats puedan desactivar
eso es algo que no se hacerlo
Reply
#4

si el timer la hace explotar, hace un comando que elimine ese timer.
ej:
pawn Код:
if(strcmp(cmdtext, "/desactivar", true) == 0){
    if(gTeam[playerid] == THEAM_SWAT({//si el jugador es del equipo swat...
        if(IsPlayerInRangeOfPoint(playerid, 5.0, X, Y, Z);//aca reemplazas las coordenadas X, Y, Z por las de la bomba, evita que usen el comando en cualquier parte, y los obliga a estar cerca de la bomba
            if(BombaTimer != 0){//si el timer no esta activo entonces la bomba no fue plantada...
                KillTimer(BombaTimer);//elimina el timer que la hace explotar
                return SendClientMessageToAll(0xFF00FFFF, "Info: La bomba fue desactivada!");
            }else return SendClientMessage(playerid, 0xFF0000FF, "ERROR: la bomba no ha sido plantada");
        }else return SendClientMessage(playerid, 0xFF0000FF, "ERROR: Estas muy lejos de la bomba");
    }esle return SendClientMessage(playerid, 0xFF0000FF, "ERROR: este comando es solo para los swat");
}
claro que es solo un ejemplo para que puedas guiarte
Reply
#5

Quote:
Originally Posted by the_chaoz
Посмотреть сообщение
si el timer la hace explotar, hace un comando que elimine ese timer.
ej:
pawn Код:
if(strcmp(cmdtext, "/desactivar", true) == 0){
    if(gTeam[playerid] == THEAM_SWAT({//si el jugador es del equipo swat...
        if(IsPlayerInRangeOfPoint(playerid, 5.0, X, Y, Z);//aca reemplazas las coordenadas X, Y, Z por las de la bomba, evita que usen el comando en cualquier parte, y los obliga a estar cerca de la bomba
            if(BombaTimer != 0){//si el timer no esta activo entonces la bomba no fue plantada...
                KillTimer(BombaTimer);//elimina el timer que la hace explotar
                return SendClientMessageToAll(0xFF00FFFF, "Info: La bomba fue desactivada!");
            }else return SendClientMessage(playerid, 0xFF0000FF, "ERROR: la bomba no ha sido plantada");
        }else return SendClientMessage(playerid, 0xFF0000FF, "ERROR: Estas muy lejos de la bomba");
    }esle return SendClientMessage(playerid, 0xFF0000FF, "ERROR: este comando es solo para los swat");
}
claro que es solo un ejemplo para que puedas guiarte
Si gracias pero en el caso de que quisiera que los swats tarden masomenos 5 segundos en desactivar como seria??
+perdon si soy algo molesto xD
Reply
#6

podria ser algo asi:
pawn Код:
new Desactivando[MAX_PLAYERS]; //array global
//OnPlayerCommandText
if(strcmp(cmdtext, "/desactivar", true) == 0){
    if(gTeam[playerid] == THEAM_SWAT({//si el jugador es del equipo swat...
        if(IsPlayerInRangeOfPoint(playerid, 5.0, X, Y, Z);//aca reemplazas las coordenadas X, Y, Z por las de la bomba, evita que usen el comando en cualquier parte, y los obliga a estar cerca de la bomba
            if(BombaTimer != 0){//si el timer no esta activo entonces la bomba no fue plantada...
                Desactivando[playerid] = 1;
                SendClientMessage(playerid, 0x00FFFFFF, "Info: Tardaras 5 segundos en desactivar la bomba");
            }else return SendClientMessage(playerid, 0xFF0000FF, "ERROR: la bomba no ha sido plantada");
        }else return SendClientMessage(playerid, 0xFF0000FF, "ERROR: Estas muy lejos de la bomba");
    }esle return SendClientMessage(playerid, 0xFF0000FF, "ERROR: este comando es solo para los swat");
}
//OnGameModeInit
SetTimer("CheckT", 1000, 1);
//el timer
forward CheckT();
public CheckT()
{
    for(new i=0; i<MAX_PLAYERS; i++){
        if(IsPlayerConnected(i) && Desactivando[i] = 1){
            if(IsPlayerInRangeOfPoint(i, 5.0, X, Y, Z)){
                new DBomba;
                DBomba++;
                if(DBomba == 5){
                    KillTimer(BombaTimer);//elimina el timer que la hace explotar
                    return SendClientMessageToAll(0xFF00FFFF, "Info: La bomba fue desactivada!");
                    Desactivando[i] = 0;
                }
            }
            else{
                Desactivando[i] = 0;
                SendClientMessage(i, 0xFF0000FF, "Info: Has dejado de desactivar la bomba");
            }
        }
    }
}
Reply
#7

pero aunque el timer este en OnGameModeIntm igual al usar el comando para desactivar correra es tiempo
Reply
#8

no entendi
Reply
#9

osea, si pongo el SetTimer("CheckT", 1000, 1); en OnGameModeInt, al usar el comando para desactivar, lo mismo funcionara el tiempo?, no tendria q ir dentro del comando?
Reply
#10

va a funcionar, xq ese timer se repite todo el tiempo para todos los jugadores.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)