[Ajuda] Beber o negocio
#1

E ae galera... tudo firmose ? entгo, minha duvida hj й o seguinte, sabe aquelas geladeiras verde de beber ? e tals ? aquelas originais do samp, que funcionam normalmente ? tem como fazer uma daquela em outro lugar nй ? alguйm pode explicar como ? tem alguma public que confere se a pessoa usou aquilo ou sei lб? deu pra entender nй? se nгo entendeu eu explico.. se alguйm souber pf comentar agradeзo bastante ^^
Reply
#2

Sim, tem como vocк fazer uma daquela em outro lugar.

Vais precisar de:
CreateObject - Para criar a mбquina
OnPlayerKeyStateChange - Para detectar pressionamento de tecla.
IsPlayerInRangeOfPoint - Para saber se o jogador estб em uma бrea no mapa (prуximo a uma mбquina?)
ApplyAnimation - Para fazer o jogador "beber".
SetPlayerHealth - Para aumentar a vida atual
Variбveis - Para usar SetPlayerHealth como somatуrio.
Entгo: Crie a maquina. Detecte se o jogador apertou F prуximo a uma mбquina criada. Se estб perto, dк o HP e aplique a animaзгo de beber o liquido.

Opcional:
gettime - Para evitar flood de beber o liquido, podes por uns 5 segundos.
Boa sorte
Reply
#3

Acredito que nгo seja possнvel, mas vocк pode cria-la com sua lуgica.

Crie uma maquina no mapa onde desejar.
Pega as coordenadas.
Coloque uma verificaзгo(IsPlayerInRangeOfPoin) na public OnPlayerKeyStateChange, aн tu coloca oque tu quiser, como som, anime, tirб/dar vida ...

@arakuta
Nгo vi que tu tinha comentado '-'
Reply
#4

Quote:
Originally Posted by XandyMello
Посмотреть сообщение
@arakuta
Nгo vi que tu tinha comentado '-'
Acontece... Acompanhe o tуpico, quanto mais informaзгo melhor.
Reply
#5

Quote:
Originally Posted by arakuta
Посмотреть сообщение
Sim, tem como vocк fazer uma daquela em outro lugar.

Vais precisar de:
CreateObject - Para criar a mбquina
OnPlayerKeyStateChange - Para detectar pressionamento de tecla.
IsPlayerInRangeOfPoint - Para saber se o jogador estб em uma бrea no mapa (prуximo a uma mбquina?)
ApplyAnimation - Para fazer o jogador "beber".
SetPlayerHealth - Para aumentar a vida atual
Variбveis - Para usar SetPlayerHealth como somatуrio.
Entгo: Crie a maquina. Detecte se o jogador apertou F prуximo a uma mбquina criada. Se estб perto, dк o HP e aplique a animaзгo de beber o liquido.

Opcional:
gettime - Para evitar flood de beber o liquido, podes por uns 5 segundos.
Boa sorte

eu penssei nisso, penssei tbm que se eu fizer isso, se o jogador estiver de costas para a maquina, ele vai fazer a animaзгo de qualquer forma '-', tem como setar a rotaзгo do player para a maquina ?

se poder explicar como, agradeзo ^^
Reply
#6

Quote:
Originally Posted by Andinho
Посмотреть сообщение
eu penssei nisso, penssei tbm que se eu fizer isso, se o jogador estiver de costas para a maquina, ele vai fazer a animaзгo de qualquer forma '-', tem como setar a rotaзгo do player para a maquina ?

se poder explicar como, agradeзo ^^
Opa! Pergunta inteligente!

Eu particularmente, criaria uma matriz contendo as coordenadas das maquinas, e poderia tambйm por em qual вngulo de rotaзгo fica sua parte frontal. (Por exemplo, 0 graus, norte).

Um jogador de frente pra uma maquina deve ter sua rotaзгo "oposta" (Exemplo: 180є (+ 180 graus), sul). Deixe-me desenhar:



Desse modo, vocк sabe que dois "corpos" estгo virados um para o outros. Mas seu angulo dificilmente vai ser exatamente +180 graus em relaзгo a mбquina. Entгo vocк pode usar uma faixa de rotaзгo, de 160+ a 200+ por exemplo. (Caso queira poder usar apontado para a maquina).

Resumindo: 180 graus em relaзгo a maquina, deve estar OK.

GetPlayerFacingAngle
SetPlayerFacingAngle
Reply
#7

Quote:
Originally Posted by Andinho
Посмотреть сообщение
eu penssei nisso, penssei tbm que se eu fizer isso, se o jogador estiver de costas para a maquina, ele vai fazer a animaзгo de qualquer forma '-', tem como setar a rotaзгo do player para a maquina ?

se poder explicar como, agradeзo ^^
SetPlayerFacingAngle
Reply
#8

Quote:
Originally Posted by arakuta
Посмотреть сообщение
Opa! Pergunta inteligente!

Eu particularmente, criaria uma matriz contendo as coordenadas das maquinas, e poderia tambйm por em qual вngulo de rotaзгo fica sua parte frontal. (Por exemplo, 0 graus, norte).

Um jogador de frente pra uma maquina deve ter sua rotaзгo "oposta" (Exemplo: 180є (+ 180 graus), sul). Deixe-me desenhar:



Desse modo, vocк sabe que dois "corpos" estгo virados um para o outros. Mas seu angulo dificilmente vai ser exatamente +180 graus em relaзгo a mбquina. Entгo vocк pode usar uma faixa de rotaзгo, de 160+ a 200+ por exemplo. (Caso queira poder usar apontado para a maquina).

Resumindo: 180 graus em relaзгo a maquina, deve estar OK.

GetPlayerFacingAngle
SetPlayerFacingAngle
Parabens pela explicaзгo, porem acho que vou pular esta parte por enquanto, acho desnecessario fazer isso agora, mais obg por toda explicaзгo ^^ +rep
Reply
#9

Essa funзгo simples pode ser ъtil, ela soma dois вngulos quaisquer, e devolve a soma corrigida:

PHP код:
stock AngleSum(ang1,ang2)
    return (
ang1 ang2) > 360 ? (ang1 ang2 360) : (ang1 ang2); 
Ex:

Код:
220 + 180 = 40
Reply
#10

Quote:
Originally Posted by arakuta
Посмотреть сообщение
Essa funзгo simples pode ser ъtil, ela soma dois вngulos quaisquer, e devolve a soma corrigida:

PHP код:
stock AngleSum(ang1,ang2)
    return (
ang1 ang2) > 360 ? (ang1 ang2 360) : (ang1 ang2); 
Ex:

Код:
220 + 180 = 40

eu posso fazer o seguinte...

new maquina[50]; // umas 50 maquinas de beber por exemplo.

maquina[0] = createobj bla....

// ai eu coloco isso no onplayerkey...


new Float[3];
new Float:r[3];
for(new u, u<50; u++)
{
GetObjectPos(maquina[u], p[0],p[1],p[2]);
GetObjectRot(maquina[u], r[0],r[1],r[2]);
if(IsPlayerInRangeOfPoint(playerid,1,p[0],p[1],p[2]) // ai se tiver a 1 metro da maquina...
{
SetPlayerFacingAngle(playerid, r[2]+180);
// aki eu coloco o resto das coisas.. setar a vida e pб..
return 1;
}

}


vc acha que seria uma boa ? daria certo ? trabalhoso ?


@EDITE

eu poderia melhorar, sem precisar criar as variaveis das maquinas, eu faria um loop de todos os objetos do server, e usaria GetObjectModel para verificar se й um,a maquina, dai eu terminava setando a rota~зao do player e o resto do system, ne ?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)