[Ajuda] Como abrir um Dialog apertando F na pickup
#1

Tipo, aqui criei uma pickup. Mais eu queria fazer para mim Apertar "F" e abrir um Dialog do tipo DIALOG_STYLE_MSGBOX

As funзхes do Menu irei fazer sу depois. Por enquanto minha dъvida й sу essa ^^. Ajuda ai :S
Reply
#2

Vo Tentar Fazer Algo Para Voce Aqui.
pawn Код:
#define DialogTeste 333
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == id do pickup)
{
ShowPlayerDialog(playerid, DialogTeste, DIALOG_STYLE_MSGBOX, "Teste","Teste", "Aceito", "Recuso");
}
return 0;
}
Reply
#3

pawn Код:
C:\Users\user\Documents\Tiago\Game Modes\--- Codando GM ---\gamemodes\Codando.pwn(185) : error 017: undefined symbol "DialogTeste"
Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


1 Error.
Reply
#4

Quote:
Originally Posted by Don_Speed
Посмотреть сообщение
Vo Tentar Fazer Algo Para Voce Aqui.
pawn Код:
#define DialogTeste 333
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == id do pickup)
{
ShowPlayerDialog(playerid, DialogTeste, DIALOG_STYLE_MSGBOX, "Teste","Teste", "Aceito", "Recuso");
}
return 0;
}
Tem certeza que ta completo isso!
Reply
#5

pawn Код:
Topo do GM
#define DialogTeste 333

@edit
Schocc , Nao Falta a Parte do Pickup
Reply
#6

Retirando todos os fatos. Consegui fazer uma mistura com o que o Don Disse. Tambйm dei umas editadas.

pawn Код:
~public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == 1)
{
ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX ,"Hospital de Los Santos","Deseja Tornar-se um Mйdico?","Sim","Nгo");
}
Mais tipo, й sу eu passar por cima da pickup que o dialog aparece. Eu queria apertar Enter / F, Seria o segundo botгo de ataque. algo assim...
Reply
#7

TOPO
pawn Код:
#define DIALOG_TEST //ID da dialog coloque aki
em public OnGameModeInit()

pawn Код:
AddStaticPickup(modelo, tipo, eixo x, eixo y, eixo z, virtualworld);
https://sampwiki.blast.hk/wiki/Pickup_Type

Em public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)

pawn Код:
public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
{
    if(newkeys == 16 && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) //Quando apertar o 'F'
    {
        if(PlayerToPoint(3, playerid, eixo x, eixo y, eixo z)) //Troque os eixos pelos mesmo que estao na pickup
        {
            ShowPlayerDialog(playerid, DIALOG_TEST, DIALOG_STYLE_MSGBOX, "Titulo AKI", "Mensagem AKI", "Confirma", "Cancelar");
        }
    }
    return 1;
}
Espero ter ajudado
Reply
#8

lol cara como ele vai entender

assim й mais faзil
pawn Код:
#include <a_samp>
new PKP[10];//tanto de pickups que ira criar


public OnGameModeInit()
{
//add
PKP[0] = CreatePickup(1274, 2, x, y, z, -1);//esse й o 1°
PKP[1] = CreatePickup(1274, 2, x, y, z, -1);//esse й o 2°
// x,y,z sгo as cordenadas
//2 estilo
//1274 id do modelo
//-1  virtual world -1 й para todos
return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(newkeys == 16)//se apertar f ou enter
    {
        if(IsPlayerInRangeOfPoint(playerid, 3.0, x, y, z))//se estiver aonde vc criou o PKP
        {
            PlayerPlaySound(playerid, 1133, 0.0, 0.0, 0.0);//Toca um som
            GivePlayerWeapon(playerid, 30, 500);//da arma
            GivePlayerWeapon(playerid, 32, 500);//da arma
            GivePlayerWeapon(playerid, 27, 500);//da arma
            GivePlayerWeapon(playerid, 31, 500);//da arma
            GivePlayerWeapon(playerid, 34, 500);//da arma
            GivePlayerWeapon(playerid, 31, 500);//da arma
            GivePlayerWeapon(playerid, 18, 500);//da arma
        }
    }
   
   
    return 1;
}
//Fis aqui no forum mesmo acho que esta certo, se nгo estiver me diga plz
Reply
#9

Quote:
Originally Posted by Schocc
Посмотреть сообщение
lol cara como ele vai entender

assim й mais faзil
pawn Код:
#include <a_samp>
new PKP[10];//tanto de pickups que ira criar


public OnGameModeInit()
{
//add
PKP[0] = CreatePickup(1274, 2, x, y, z, -1);//esse й o 1°
PKP[1] = CreatePickup(1274, 2, x, y, z, -1);//esse й o 2°
// x,y,z sгo as cordenadas
//2 estilo
//1274 id do modelo
//-1  virtual world -1 й para todos
return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(newkeys == 16)//se apertar f ou enter
    {
        if(IsPlayerInRangeOfPoint(playerid, 3.0, x, y, z))//se estiver aonde vc criou o PKP
        {
            PlayerPlaySound(playerid, 1133, 0.0, 0.0, 0.0);//Toca um som
            GivePlayerWeapon(playerid, 30, 500);//da arma
            GivePlayerWeapon(playerid, 32, 500);//da arma
            GivePlayerWeapon(playerid, 27, 500);//da arma
            GivePlayerWeapon(playerid, 31, 500);//da arma
            GivePlayerWeapon(playerid, 34, 500);//da arma
            GivePlayerWeapon(playerid, 31, 500);//da arma
            GivePlayerWeapon(playerid, 18, 500);//da arma
        }
    }
   
   
    return 1;
}
//Fis aqui no forum mesmo acho que esta certo, se nгo estiver me diga plz
PHP код:
new PKP[10]; 
?
pra que tudo isso se esta sendo usada 2 celulas --'

e pra que a var da pickup se nao esta sendo usada para apertar o tal "F" ? --'
Sу esta usando as coordenadas para ver se o jogador esta perto ou nao..

pawn Код:
// NO TOPO DO SEU GAME MODE
#define DIALOG_TEST //ID da dialog coloque aki
// Define o id da dialog que vc quer /\


//PROCURE POR ESSA PUBLIC E ADICIONE A PICKUP
public OnGameModeInit()
{
    AddStaticPickup(modelo, tipo, eixo x, eixo y, eixo z, virtualworld);
    //Aki voce ira colocar o modelo, tipo, as coordenadas e o mundo que a pickup vai ficar
    return 1;
}

public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
{
    if(newkeys == 16 && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) //Quando vc apertar a tecla 'F'
    {
        if(PlayerToPoint(3, playerid, eixo x, eixo y, eixo z)) //Troque as coordenadas pelos mesmo que estao na pickup
        {
            ShowPlayerDialog(playerid, DIALOG_TEST, DIALOG_STYLE_MSGBOX, "Titulo AKI", "Mensagem AKI", "Confirma", "Cancelar");
            //Ira mostrar a dialog q vc quer
        }
    }
    return 1;
}
Esta ai, bem explicado...
Reply
#10

Quote:
Originally Posted by EditPawn
Посмотреть сообщение
PHP код:
new PKP[10]; 
?
pra que tudo isso se esta sendo usada 2 celulas --'

e pra que a var da pickup se nao esta sendo usada para apertar o tal "F" ? --'
Sу esta usando as coordenadas para ver se o jogador esta perto ou nao..

pawn Код:
// NO TOPO DO SEU GAME MODE
#define DIALOG_TEST //ID da dialog coloque aki
// Define o id da dialog que vc quer /\


//PROCURE POR ESSA PUBLIC E ADICIONE A PICKUP
public OnGameModeInit()
{
    AddStaticPickup(modelo, tipo, eixo x, eixo y, eixo z, virtualworld);
    //Aki voce ira colocar o modelo, tipo, as coordenadas e o mundo que a pickup vai ficar
    return 1;
}

public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
{
    if(newkeys == 16 && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) //Quando vc apertar a tecla 'F'
    {
        if(PlayerToPoint(3, playerid, eixo x, eixo y, eixo z)) //Troque as coordenadas pelos mesmo que estao na pickup
        {
            ShowPlayerDialog(playerid, DIALOG_TEST, DIALOG_STYLE_MSGBOX, "Titulo AKI", "Mensagem AKI", "Confirma", "Cancelar");
            //Ira mostrar a dialog q vc quer
        }
    }
    return 1;
}
Esta ai, bem explicado...
Sem comentarios vocк й um noobzгo cara vai aprender a codar depois pra falar oque esta erado ou nгo
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)