SA-MP Forums Archive
[Pregunta] Dudas varias, pickups. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: [Pregunta] Dudas varias, pickups. (/showthread.php?tid=171396)



[Pregunta] Dudas varias, pickups. - Komputilo - 26.08.2010

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);
     }



Respuesta: [Pregunta] Dudas varias, pickups. - Cesar_Biker - 26.08.2010

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.


Re: [Pregunta] Dudas varias, pickups. - CristianTdj - 26.08.2010

No definiste 'comprovarkey'.


Respuesta: [Pregunta] Dudas varias, pickups. - Cesar_Biker - 26.08.2010

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


Re: [Pregunta] Dudas varias, pickups. - Komputilo - 26.08.2010

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.


Re: [Pregunta] Dudas varias, pickups. - Komputilo - 29.08.2010

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.


Re: [Pregunta] Dudas varias, pickups. - CristianTdj - 29.08.2010

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.


Re: [Pregunta] Dudas varias, pickups. - Wesk3R - 29.08.2010

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