07.12.2012, 02:38
Hola, trataba de hacer una forma en la que cuando estes en las cordenadas de entrada (x,y,z) o de salida (sx,sy,sz) de algun interior, detecte si la entrada requiere que el jugador pertenesca a una faccion y no te permita pasar si no lo eres. Los datos de entradas y salidas estan en mysql por eso las variables x y z, sx sy sz en ves de las coordenadas.
En este momento el problema es que en cualquier entrada me dice que no tengo permiso, incluyendo las entradas que no requieren de una faccion.
Gracias de antemano
En este momento el problema es que en cualquier entrada me dice que no tengo permiso, incluyendo las entradas que no requieren de una faccion.
pawn Код:
stock EntrarAlLugar(playerid) //Trenico
{
if (GetPVarInt(playerid,"Logueado"))
{
foreach (Entrada,e)//asd
{
if (EnPos(playerid,2,InfoEntr[e][entrX],InfoEntr[e][entrY],InfoEntr[e][entrZ]) || EnPos(playerid,2,InfoEntr[e][entrSX],InfoEntr[e][entrSY],InfoEntr[e][entrSZ])) //si esta en entrada o salida
{
if(InfoEntr[e][entrFaccion] == 0) //si la entrada no requiere de faccion
{
if (EnPos(playerid,2,InfoEntr[e][entrX],InfoEntr[e][entrY],InfoEntr[e][entrZ]))//si esta en entrada
{
MostrarSombra(playerid);
CambiarPosInt(playerid,InfoEntr[e][entrSX],InfoEntr[e][entrSY],InfoEntr[e][entrSZ],InfoEntr[e][entrInt],InfoEntr[e][entrVW]);
}
if (EnPos(playerid,2,InfoEntr[e][entrSX],InfoEntr[e][entrSY],InfoEntr[e][entrSZ]))//si esta en salida
{
MostrarSombra(playerid);
CambiarPosInt(playerid,InfoEntr[e][entrX],InfoEntr[e][entrY],InfoEntr[e][entrZ],0,0);
}
} else if(InfoEntr[e][entrFaccion] >= 0) //si la entrada requiere de faccion
{
if(InfoJugador[playerid][jMiembro] == InfoEntr[e][entrFaccion]) //si pertenece a la faccion
{
if (EnPos(playerid,2,InfoEntr[e][entrX],InfoEntr[e][entrY],InfoEntr[e][entrZ])) //si esta en entrada
{
MostrarSombra(playerid);
CambiarPosInt(playerid,InfoEntr[e][entrSX],InfoEntr[e][entrSY],InfoEntr[e][entrSZ],InfoEntr[e][entrInt],InfoEntr[e][entrVW]);
}
if (EnPos(playerid,2,InfoEntr[e][entrSX],InfoEntr[e][entrSY],InfoEntr[e][entrSZ]))//si esta en salida
{
MostrarSombra(playerid);
CambiarPosInt(playerid,InfoEntr[e][entrX],InfoEntr[e][entrY],InfoEntr[e][entrZ],0,0);
}
}else MensajeDraw(playerid,"No tienes autorizacion para acceder a este lugar.",5000); //si no es de la faccion requerida
}
}
}
}
return 1;
}

