[AJUDA] Entrar com F
#1

Eaee pessoal, olha eu denovo kk
Agora quero uma ajuda de vocкs com o F e o ENTER para entrar em interior, veja, pesquisei no fуrum e encontrei este cуdigo pawn ae

pawn Код:
public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
{
    if(newkeys == 16 && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
    {
            OnPlayerCommandText(playerid,"/entrar");
            OnPlayerCommandText(playerid,"/sair");
        }
     }
Mais sу que o comando /entrar e /sair nгo tem no meu gm, uso o gm LVDM que vem junto com o samp0.3c downloads, e estou modificando ele completamente, entгo eu queria saber como eu troco as entrar em interiores padrгo por F e ENTER ??

Obrigado (Y'
Reply
#2

pawn Код:
if(newkeys == KEY_SECONDARY_ATTACK) {
    if(IsPlayerInRangeOfPoint(playerid,radius,x,y,z) {
        SetPlayerPos(playerid,x,y,z);
    }
    return true;
}
Reply
#3

Quote:
Originally Posted by [S]trong
Посмотреть сообщение
pawn Код:
if(newkeys == KEY_SECONDARY_ATTACK) {
    if(IsPlayerInRangeOfPoint(playerid,radius,x,y,z) {
        SetPlayerPos(playerid,x,y,z);
    }
    return true;
}
Explica pra mim ae essas linhas que tem x, y e z ?? =}
Reply
#4

floats,coordenadas...

edit:
pawn Код:
if(newkeys == KEY_SECONDARY_ATTACK) {
    if(IsPlayerInRangeOfPoint(playerid,radius,x,y,z) {  //x,y,z = coordenadas, radius = distвncia
        SetPlayerPos(playerid,x,y,z); //x,y,z = cordenadas
    }
    return true;
}

//expliquei para nгo vir um flooder compulsнvo e explicar dinovo.
Reply
#5

pawn Код:
if(IsPlayerInRangeOfPoint(playerid,radius,x,y,z)
Esse й o CheckPoint correto?

pawn Код:
SetPlayerPos(playerid,x,y,z);
Aqui й onde o CheckPoint fica certo?
Reply
#6

checkpoint? cara o isplayerinrange... й para verнficar a posiзгo onde vocк estб, o setplayerpos vai setar a sua posiзгo para outra posiзгo.
Reply
#7

Ocorreu erro :S

Код:
D:\Miqueias\Outras coisas\SAMP\BWP\gamemodes\lvdm.pwn(779) : error 001: expected token: ")", but found "{"
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


1 Error.
Linha
pawn Код:
if(IsPlayerInRangeOfPoint(playerid,1,0,0,0) {
Reply
#8

pawn Код:
if(IsPlayerInRangeOfPoint(playerid,1,0,0,0)) {
Reply
#9

Quote:
Originally Posted by [S]trong
Посмотреть сообщение
pawn Код:
if(IsPlayerInRangeOfPoint(playerid,1,0,0,0)) {
Obrigadoooooooo
Reply
#10

Vou te ajudar mais um pouquinho:
Код:
IsPlayerInRangeOfPoint => PT-BR(Mais Ou Menos): Esta O Jogador Dentro Da Distancia Para O Ponto
Isso checa se ele esta em uma distancia nas coordenadas X Y Z. Ou seja, as coordenadas usadas no GTA(SA:MP).

SetPlayerPos => PT-BR(Mais Ou Menos): Mudar A Posiзгo Do Jogador
Isso coloca o jogador em uma posiзгo(X Y Z).
Como eu pego as Coordenadas X Y Z?
Coloque este script em seu gamemode: (OnPlayerCommandText)
pawn Код:
if(strcmp(cmdtext, "/pos", true) == 0)
{
    new POS[4], string[256];
    new vehicleid = GetPlayerVehicleID(playerid);
    if(!IsPlayerInAnyVehicle(playerid))
    {
        GetPlayerPos(playerid, POS[0], POS[1], POS[2]);
        GetPlayerRotation(playerid, POS[3]);
    }
    else
    {
        GetVehiclePos(vehicleid, POS[0], POS[1], POS[2]);
        GetVehicleZAngle(vehicleid, POS[3]);
    }
    format(string, sizeof(string), "X = %f, {FFFFFF}Y = %f, {FF0000}Z = %f, {0066FF}R = %f, {FFFF00} %d", POS[0], POS[1], POS[2], POS[3], GetPlayerInterior(playerid));
    SendClientMessage(playerid, COLOR_GREEN, string);
    return 1;
}
Ele pega as coordenadas X Y e Z que vocк precisa. O Radius falado no IsPlayerInRangeOfPoint й a distancia do jogador para o ponto do X Y e Z. Ou seja: Se o Jogador estiver na posiзгo X: 1 Y: 2 Z: 7 e a sua Radius for 3, o jogador deve estar entre: Min_X: 1-3=-2, Min_Y: 2-3=-1, Min_Z: 7-3=4, Max_X: 1+3=4, Max_Y: 2+3=5 e Max_Z: 7+3=10.
Resumindo: As coordenadas X Y e Z do jogador tem que estar entre ela mesma com - o Radius e + o Radius.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)