[Pregunta] Dudas varias, pickups.
#1

Estoy mapeando en mi servidor varios interiores, los hice abajo de la superfнcie, pero algunos los hice alejados de la entrada, por lo que necesitarнa saber como hacer que al entrar en la estancia, el minimapa se viera transparente.

Tambiйn tengo otra duda, y es como hacer un pickup invisible que se active con la tecla "Enter". Es decir, que en la entrada en vez de ver un pickup no se vea nada, te acerques, pulses enter y ejecute el SetPlayerPos.

Y a ser posible, me gustarнa que con un comando, por ejemplo: /abrirrefugio y /cerrarrefugio, se pudiera activar y desactivar la entrada, si pones /cerrarrefugio e intentas entrar, pondrнa: PUERTA CERRADA.

Otro problema es el de que cuando linkeo un pickup a un SetPlayerPos de un interior creado por mi, algunas veces atraviesa el suelo y cae al vacнo o algunas veces queda encima del techo.

Gracias de antemano.

PD: este es el cуdigo general de los pickup que pongo:
pawn Код:
if(pickupid == pickup14)
     {
     SetPlayerPos(playerid, 616.91241455078,-3149.7443847656,10.305152893066);
     SetPlayerInterior(playerid,0);
     SetPlayerVirtualWorld(playerid, 0);
     GameTextForPlayer(playerid,"~w~ Has salido del edificio",5000,5);
     }
Reply
#2

En vez de pickup podrнas usar "IsPlayerInRangeOfPoint"
pawn Код:
if(comprovarkey == enter)
{
     if(isplayerinrangeofpoint(playerid ...))
     {
          if(Puerta == 0)
          {
               SetPlayerPos(...)
               //....
          }
          else
          {
               //mensaje la puerta estб cerrada
          }
     }
     return 1;
}
pawn Код:
//arriba del todo
new Puerta;
//---
public Onplayercommandtext(playerid ..)
{
     if(strcmp(...))//abrir
     {
          Puerta = 0;
     }
     if(strcmp(...))//cerrar
     {
          Puerta = 1;
     }
     return 0;
}
Es una idea, lo he echo demasiado rбpido, pero creo que se entiende.
Aquн tienes el link de el IsPlayerInRangeOfPoint.
Reply
#3

No definiste 'comprovarkey'.
Reply
#4

Lo puse de ejemplo de lo que significaba, de que ahн irнa la comprobaciуn de la tecla Enter.
Link
Reply
#5

Agredezco muchнsimo que te hayas preocupado en responder, pero necesitarнa que concretaras mбs y hacerlo mбs especнfico, aъn no soy bueno en esto.
Reply
#6

Quote:
Originally Posted by Komputilo
Посмотреть сообщение
Agredezco muchнsimo que te hayas preocupado en responder, pero necesitarнa que concretaras mбs y hacerlo mбs especнfico, aъn no soy bueno en esto.
Por favor, es bastante urgente y necesario.
Reply
#7

Primero vamos a hacer la entrada y comprobar que estб abierta o cerrada:

pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(newkeys == KEY_ACTION)   // Si pulsa enter, creo que es esta.
    {
        if(IsPlayerInRangeOfPoint(playerid, 2.0, X, Y, Z)   // Si estб cerca del pickup, X Y Z = Coordenadas del mismo.
        {
            if(CasaInfo[casa1][cEstado] == Abierta)   // Esto tendrбs algo parecido, comprobar si la casa / refugio estб abierta o cerrada.
            {
                SetPlayerPos(playerid, X, Y, Z);  // Interior de la casa, posiciуn donde se coloca dentro de ella.
            }
            else if(CasaInfo[casa1][cEstado] == Cerrada)   // Si la casa no estб abierta.
            {
                SendClientMessage(playerid, 0xffffffff, "* Esta casa estб cerrada.");
            }
        }
        // Y asн haces las demбs.
    }
    return 1;
}
Comprueba que tu GM posйa la informaciуn de las viviendas, a partir de esos cуdigos cambia lo que puse yo, modifнcalo y aсades mбs.

Mediante este link puedes saber las teclas a pulsar para realizar acciones, entrar en edificios en este caso.
Reply
#8

Te equivocas CristianTdj
Es:
pawn Код:
if(newkeys == KEY_SECONDARY_ATTACK) // ENTER
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)