[Duda/Ayuda]Comando en minijuegos
#1

Buenos dias/tardes comunidad FS. Tengo dos problemas, primero con los comandos en minijuegos, al usar el teleport se bloquean todos los comandos y no se puede usar el comando /salir. Mi duda es si se puede hacer una excepciуn; Segundo que al morir en el minijuego hay que usar de nuevo el teleport, como puedo hacer para que al morir regrese al minijuego sin necesidad de usar el comando?

Lo tengo asi en mi GM

pawn Код:
//news
new Juego[MAX_PLAYERS];
//onplayercommandtext
    if(!strcmp(cmdtext, "/Mg1", true))
    {
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid, 38, 10000);
    new randomspawn = random(5); switch(randomspawn)
    {
    case 0: {SetPlayerPos(playerid,248.9354,1702.3759,154.3600);}
    case 1: {SetPlayerPos(playerid,231.6602,1702.7555,154.3600);}
    case 2: {SetPlayerPos(playerid,231.5554,1681.9961,154.3600);}
    case 3: {SetPlayerPos(playerid,249.3525,1682.3081,154.3600);}
    case 4: {SetPlayerPos(playerid,240.5141,1692.7578,157.4225);}
    }
    SetPlayerVirtualWorld(playerid,5);
    SetPlayerInterior(playerid,0);
    SetPlayerHealth(playerid, 100);
    SetPlayerArmour(playerid, 100);
    Juego[playerid] = 1;
    SendClientMessage(playerid,COLOR_ROJO, "** Has Entrado Ha | Mg1 | {FFFFFF}Recuerda Que En Minijuegos Esta Prohibido Usar Comandos **");
    return 1;
    }
    if (!strcmp("/Mg2",cmdtext,true))
    {
    new randomspawn = random(5); switch(randomspawn)
    {
    case 0: {SetPlayerPos(playerid,2148.7080,1115.8860,555.7844);}
    case 1: {SetPlayerPos(playerid,2177.2021,1113.4630,555.7844);}
    case 2: {SetPlayerPos(playerid,2185.2500,1143.6968,555.7844);}
    case 3: {SetPlayerPos(playerid,2112.2427,1120.8469,555.7844);}
    case 4: {SetPlayerPos(playerid,2110.1169,1146.3568,555.7844);}
    }
    SetPlayerVirtualWorld(playerid,5);
    ResetPlayerWeapons(playerid);
    SetPlayerInterior(playerid,0);
    GivePlayerWeapon(playerid, 38, 10000);
    SetPlayerHealth(playerid, 100);
    SetPlayerArmour(playerid, 100);
    Juego[playerid] = 1;
    SendClientMessage(playerid,COLOR_ROJO, "** Has Entrado Ha | Mg2 | {FFFFFF}Recuerda Que En Minijuegos Esta Prohibido Usar Comandos **");
    return 1;
    }
    if (!strcmp("/salirDM", cmdtext, true))
    {
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid, -543.5366,2593.9844,53.5156);
    SetPlayerPos(playerid, 2033.8500,1552.9556,10.8203);
    ResetPlayerWeapons(playerid);
    SetPlayerArmour(playerid, -100);
    Juego[playerid] = 0;
    {
    SendClientMessage(playerid,COLOR_ROJO, "** Has Salido De La Zona De {FFFFFF}Minijuegos **");
    }
    return 1;
    }
//bloqueo de comandos
    if (Juego[playerid]==1)
    {
    SendClientMessage(playerid,red,"No puedes utilizar los comandos por ahora");
    return 1;
    }
De antemano gracias por su ayuda
Reply
#2

https://sampforum.blast.hk/showthread.php?tid=311254

y en OnPlayerSpawn, puedes hacer una condiciуn de que si estб en tal minijuego haga tal acciуn (en este caso, devolverlo a la posiciуn)

pawn Код:
public OnPlayerSpawn(playerid)
{
    // codigos
    if(esta_en_minijuego_mgm1[playerid] == 1)
    {
        // funciones ej: SetPlayerPos
    }
    // codigos
    return 1;
}
Reply
#3

https://sampwiki.blast.hk/wiki/OnPlayerSpawn_Es

pawn Код:
public OnPlayerSpawn(playerid){
    if(Juego[playerid]==1)
    {
        ResetPlayerWeapons(playerid);
        GivePlayerWeapon(playerid, 38, 10000);
        new randomspawn = random(5);
        switch(randomspawn)
        {
            case 0: {SetPlayerPos(playerid,248.9354,1702.3759,154.3600);}
            case 1: {SetPlayerPos(playerid,231.6602,1702.7555,154.3600);}
            case 2: {SetPlayerPos(playerid,231.5554,1681.9961,154.3600);}
            case 3: {SetPlayerPos(playerid,249.3525,1682.3081,154.3600);}
            case 4: {SetPlayerPos(playerid,240.5141,1692.7578,157.4225);}
        }
        SetPlayerVirtualWorld(playerid,5);
        SetPlayerInterior(playerid,0);
        SetPlayerHealth(playerid, 100);
        SetPlayerArmour(playerid, 100);
        Juego[playerid] = 1;
        SendClientMessage(playerid,COLOR_ROJO, "** Has Entrado Ha | Mg1 | {FFFFFF}Recuerda Que En Minijuegos Esta Prohibido Usar Comandos **");
    }
    return true;
}
pawn Код:
if(!strcmp(cmdtext, "/Mg1", true))
{
    if(Juego[playerid]==1)
    {
        SendClientMessage(playerid,red,"No puedes utilizar los comandos por ahora");
        return 1;
    }
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid, 38, 10000);
    new randomspawn = random(5);
    switch(randomspawn)
    {
        case 0: {SetPlayerPos(playerid,248.9354,1702.3759,154.3600);}
        case 1: {SetPlayerPos(playerid,231.6602,1702.7555,154.3600);}
        case 2: {SetPlayerPos(playerid,231.5554,1681.9961,154.3600);}
        case 3: {SetPlayerPos(playerid,249.3525,1682.3081,154.3600);}
        case 4: {SetPlayerPos(playerid,240.5141,1692.7578,157.4225);}
    }
    SetPlayerVirtualWorld(playerid,5);
    SetPlayerInterior(playerid,0);
    SetPlayerHealth(playerid, 100);
    SetPlayerArmour(playerid, 100);
    Juego[playerid] = 1;
    SendClientMessage(playerid,COLOR_ROJO, "** Has Entrado Ha | Mg1 | {FFFFFF}Recuerda Que En Minijuegos Esta Prohibido Usar Comandos **");
    return 1;
}
pawn Код:
if (!strcmp("/Mg2",cmdtext,true))
{
    if(Juego[playerid]==1)
    {
        SendClientMessage(playerid,red,"No puedes utilizar los comandos por ahora");
        return 1;
    }
    new randomspawn = random(5);
    switch(randomspawn)
    {
        case 0: {SetPlayerPos(playerid,2148.7080,1115.8860,555.7844);}
        case 1: {SetPlayerPos(playerid,2177.2021,1113.4630,555.7844);}
        case 2: {SetPlayerPos(playerid,2185.2500,1143.6968,555.7844);}
        case 3: {SetPlayerPos(playerid,2112.2427,1120.8469,555.7844);}
        case 4: {SetPlayerPos(playerid,2110.1169,1146.3568,555.7844);}
    }
    SetPlayerVirtualWorld(playerid,5);
    ResetPlayerWeapons(playerid);
    SetPlayerInterior(playerid,0);
    GivePlayerWeapon(playerid, 38, 10000);
    SetPlayerHealth(playerid, 100);
    SetPlayerArmour(playerid, 100);
    Juego[playerid] = 1;
    SendClientMessage(playerid,COLOR_ROJO, "** Has Entrado Ha | Mg2 | {FFFFFF}Recuerda Que En Minijuegos Esta Prohibido Usar Comandos **");
    return 1;
}
pawn Код:
if (!strcmp("/salirDM", cmdtext, true))
{
    if(Juego[playerid]==0)
    {
        SendClientMessage(playerid,red,"No puedes utilizar los comandos por ahora");
        return 1;
    }
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid, -543.5366,2593.9844,53.5156);
    SetPlayerPos(playerid, 2033.8500,1552.9556,10.8203);
    ResetPlayerWeapons(playerid);
    SetPlayerArmour(playerid, -100);
    Juego[playerid] = 0;
    SendClientMessage(playerid,COLOR_ROJO, "** Has Salido De La Zona De {FFFFFF}Minijuegos **");
    return 1;
}
Reply
#4

Gracias Adoniiz y Otacon, la restriccion de comandos ya funciona bien pero al morir no regresa al minijuego y en lugar de tomar los randomspawn de minigun me toma los spawn generales que le habia agregado antes al sv.

en onplayerspawn tengo este codigo:

pawn Код:
if(Juego[playerid]==1)
    {
        ResetPlayerWeapons(playerid);
        GivePlayerWeapon(playerid, 38, 10000);
        new randomspawn = random(5);
        switch(randomspawn)
        {
            case 0: {SetPlayerPos(playerid,248.9354,1702.3759,154.3600);}
            case 1: {SetPlayerPos(playerid,231.6602,1702.7555,154.3600);}
            case 2: {SetPlayerPos(playerid,231.5554,1681.9961,154.3600);}
            case 3: {SetPlayerPos(playerid,249.3525,1682.3081,154.3600);}
            case 4: {SetPlayerPos(playerid,240.5141,1692.7578,157.4225);}
        }
        SetPlayerVirtualWorld(playerid,5);
        SetPlayerInterior(playerid,0);
        SetPlayerHealth(playerid, 100);
        SetPlayerArmour(playerid, 100);
        Juego[playerid] = 1;
        SendClientMessage(playerid,COLOR_ROJO, "** Has Entrado Ha | Mg1 | {FFFFFF}Recuerda Que En Minijuegos Esta Prohibido Usar Comandos **");
    }
    return true;
}
Ademas de onplayerspawn tengo que agregar if(Juego[playerid]==1) en otra parte o solo alli porque tengo que usar /salirdm y volver a entrar /minigun

Gracias por su ayuda
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)