[Ajuda] Com Sistema de Presentes
#1

Bom Eu Criei Esse Comando para ele Criar o Objeto Na posiзгo que quero,Mas Eu Queria que Ao o player aperta-se "f" nele Ganha-se um Premio Mas fiquei na duvida de Como fazer isso se alguйm Poder me ajudar Agradeзo.
Aqui o Comando que Cria o objeto
pawn Code:
if(strcmp(cmdtext, "/cone", true) == 0)
    {
        new strcone[128];
        if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, COLOR_GRAD1, "Vocк Nao й um Administrador!");
        if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return SendClientMessage(playerid, COLOR_GRAD1, "Vocк Nao pode botar um Presente dentro de um veнculo.");
        new Float:x, Float:y, Float:z;
        GetPlayerPos(playerid, x, y, z);
        presenteobj[playerid][presentecriado[playerid]] = F_CreateObject(1238, x, y, z-0.65, 0, 0, 0);
        SetPlayerPos(playerid, x, y, z+0.8);
        presentecriado[playerid] += 1;
        format(strcone, sizeof(strcone), "Presente %d criado!", presentecriado[playerid]);
        GameTextForPlayer(playerid, strcone, 3000, 4);
        return 1;
        }
Reply
#2

OnPlayerKeyStateChange

pawn Code:
KEY_SECONDARY_ATTACK // Enter/F
GetPlayerPos

IsPlayerInRangeOfPoint

Um Exemplo:
pawn Code:
new Float: X, Float: Y, Float: Z; / no topo do gm
new cX,zY,cZ; // no topo do gm

GetPlayerPos(playerid,X,Y,Z);
cX = X;
cY= Y;
cY= Z;

if(IsPlayerInRangeOfPoint(playerid, 2.0,cX,cY,cZ))
Reply
#3

Entгo Ficaria Assim?
pawn Code:
if(newkeys == 16 && GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
    {
        if(presentecriado[playerid] == 1)
        {
            GetPlayerPos(playerid,X,Y,Z);
            cX = X;
            cY= Y;
            cY= Z;
        if(IsPlayerInRangeOfPoint(playerid, 2.0,cX,cY,cZ))
        {
            //Funзгo do Presente
        }
    }
}
Reply
#4

Quote:
Originally Posted by WendeLKILL
View Post
Entгo Ficaria Assim?
pawn Code:
if(newkeys == 16 && GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
    {
        if(presentecriado[playerid] == 1)
        {
            GetPlayerPos(playerid,X,Y,Z);
            cX = X;
            cY= Y;
            cY= Z;
        if(IsPlayerInRangeOfPoint(playerid, 2.0,cX,cY,cZ))
        {
            //Funзгo do Presente
        }
    }
}
Vocк precisa da posiзгo do presente para checar a distancia. Nesse cуdigo й уbvio que o player sempre estarб perto dele mesmo ^^'
Reply
#5

Ficaria assim:

pawn Code:
if(newkeys == 16 && GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
    {
        if(presentecriado[playerid] == 1)
        {
        if(IsPlayerInRangeOfPoint(playerid, 2.0, x do presente, y do presente, z do presente))
        {
            //Funзгo de dar presente
        }
    }
}
Reply
#6

No topo do GM:
pawn Code:
new Float: X, Float: Y, Float: Z, cX,cY,cZ;
Um comando de Exemplo:
pawn Code:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp,cmdtext,"/exemplo",true)) = 0)
    {
        GetPlayerPos(playerid, X, Y, Z);
        cX = X;
        cY = Y;
        cZ = Z;
        return 1;
    }
    return 0;
}
pawn Code:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(newkeys == KEY_SECONDARY_ATTACK)
    {
        if(IsPlayerInRangeOfPoint(playerid, 2.0,cX,cY,cZ))
        {
            SendClientMessage(playerid,-1,"Vocк estб no local de exemplos");
        }
    }
    return 1;
}
Reply
#7

Quote:
Originally Posted by MultiKill
View Post
No topo do GM:
pawn Code:
new Float: X, Float: Y, Float: Z, cX,cY,cZ;
Um comando de Exemplo:
pawn Code:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp,cmdtext,"/exemplo",true)) = 0)
    {
        GetPlayerPos(playerid, X, Y, Z);
        cX = X;
        cY = Y;
        cZ = Z;
        return 1;
    }
    return 0;
}
pawn Code:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(newkeys == KEY_SECONDARY_ATTACK)
    {
        if(IsPlayerInRangeOfPoint(playerid, 2.0,cX,cY,cZ))
        {
            SendClientMessage(playerid,-1,"Vocк estб no local de exemplos");
        }
    }
    return 1;
}
Pra que isso cara, й sу fazer:

pawn Code:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp,cmdtext,"/exemplo",true)) = 0)
    {
        if(IsPlayerInRangeOfPoint(playerid, 2.0, x,y,z)) //x,y,z do PRESENTE, nгo do player...
        {
            SendClientMessage(playerid,-1,"Vocк estб no local de exemplos");
        }
        return 1;
    }
    return 0;
}
Reply
#8

Quote:
Originally Posted by DogeMan
View Post
Pra que isso cara, й sу fazer:

pawn Code:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp,cmdtext,"/exemplo",true)) = 0)
    {
        if(IsPlayerInRangeOfPoint(playerid, 2.0, x,y,z)) //x,y,z do PRESENTE, nгo do player...
        {
            SendClientMessage(playerid,-1,"Vocк estб no local de exemplos");
        }
        return 1;
    }
    return 0;
}
Ele quer que quando aperte a tecla F verifique se o player estб perto do presente e caso esteja de um presente a ele.
Reply
#9

Resolvido Obrigado a Todos Pela Ajuda.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)