[Ajuda] Sistema de Se Esconder na Lixeira
#1

Olб pessoal, eu queria criar um sistema de se esconder na lixeira, jб que nгo achei nenhum FS na NET, mas queria saber por onde comeзo, quais funзхes usar, podem me dar uma dica?
Reply
#2

Quote:
Originally Posted by Cycle
Посмотреть сообщение
Primeiramente, entenda que tudo que vocк fizer no pawn, vai depender de variбveis, aprenda a usб-las.
Tipo, uma coisa que queria saber.. por exemplo... o player estб no local X e que tem uma lixeira, ai ele aperta pra entrar nela, como eu faзo pra ele fica no local que estб a lixeira, tipo, marca a posiзгo justamente aonde ele estб, como eu faria pra ele desaparecer? porйm ficar marcando no mini mapa que ele estб no mesmo local que ele entro na lixeira.
Reply
#3

Vocк vai utilizar uma posiзгo X, Y e Z para criar a lixeira, com isso vocк pode usar IsPlayerInRangeOfPoint para verificar se ele esta nesse posiзгo.

sobre deixar o player invisivel, eu nunca tentei deixar um jogador invisivel nгo sei se tem como.
Reply
#4

Cycle tб certo.

Esse sistema pode ser simples mas exige conhecimento de como faze-lo.

Quote:
#define MAX_LIXEIRAS 10// Vamos definir o maximo de lixeiras

enum lixeira
{
bool:criada, // Quando a lixeira for criada , ou se ela ainda nгo tiver sido criada.
boolendoUsada,// Quando tiver alguem dentro dela
//Id do objeto para ser destruido .
[COLOR="seagreen"]//Posiзгo da lixeira.
FloatLixeira,
Float:yLixeira,
Float:zLixeira
}
new bool:Lixeira[MAX_LIXEIRAS][lixeira];

CMD:criarlixeira(playerid)
{
new Float, Float:y, Float:z, Float:angle;// declaraзгo das Variavel de tipo Float, para peagr a posiзгo do jogador e seu angulo.
GetXYInFrontOfPlayer(playerid, x, y, 2);//Essa funзгo pega coorderdnada da distancia especifica na frente do jogador.
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, angle);
for (new i; i < MAX_LIXEIRAS; i ++)//um loop
{
if (!Lixeira[i][criada])//Se a lixeira nгo tiver sido criada.
{
Lixeira[i][criada] = true;//Vamos atribuir o valor booleano , true, para especificar no sistema que ja tem essa lixeira criada.
[COLOR="seagreen"]//abaixo vamos atribuir uma variavel denominada 'obj' paar depois destruirmos.
Lixeira[i][obj] = CreateObject(1415, x, y, z, 0, 0, angle);//criaremos o objeto.
Lixeira[i][xLixeira] = x, Lixeira[i][yLixeira] = y, Lixeira[i][zLixeira] = z;//atribuiremos as coordernadas para depois verficar.
break;//para
}
}
return 1;
}

CMD:deletarlixeira(playerid, params[])
{
new id;
sscanf (params, "i", id);//pegaremos o id da lixeira do comando : /deletarlixeira [id]
if (id < 0 || id > MAX_LIXEIRAS)return SendClientMessage(playerid, 0xFF0000FF, "Id da lixeira estar errado");
if (Lixeira[id][criada])//verficaremos se a lixeira foi crida
{
DestroyObject(Lixeira[id][obj]);[COLOR="seagreen"]// Destruiremos o objeto
Lixeira[id][criada] = false;// Atribuнmos o valor booleano falso
return 1;

}
return SendClientMessage(playerid, 0xFF0000FF, "A lixeira nгo estar criada");
}

Acabei exagerando um pouco.
Reply
#5

Deu esses erros:
Quote:

error 017: undefined symbol "obj"
warning 213: tag mismatch
error 017: undefined symbol "xLixeira"
error 017: undefined symbol "obj"

Tinha outros que consegui resolver. Poderia colocar todo do cуdigo em por favor? do jeito que vocк colocou alguns caracteres foram alterados.
Reply
#6

Й relativamente simples:

* Use GetPlayerPos para pegar a posiзгo do jogador.
* Use TogglePlayerSpectating para deixar o jogador "invisнvel".
* Trabalhe com cвmeras para definir a posiзгo em que vocк se encontra e assistir o que se passa prуximo ao seu "esconderijo".
Reply
#7

[B]Use como o F1N4L Disse
Se eu nгo me engano a Gamemode do Play Slayers que estб na HTS , e SSGAMERS
Possui este sistema, so copiar e acoplar ao seu GameMode(Nгo recomendo)
Mas vai de vocк !!/B]
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)