Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Zamiana kierunków, zmiana pozycji celowania.


  • Zamknięty Temat jest zamknięty
4 odpowiedzi w tym temacie

#1 GoldeN

    Wszechmogący

  • Zbanowany

Reputacja: 69
Pomocny

  • Postów:676
  • Imię:Kamil
  • Lokalizacja:DG
Offline

Napisano 08.04.2011 16:01

Witam. Mam do Was dwa pytania:

1. Jak mogę zrobić, że gdy gracz wciśnie klawisz D (W prawo) to postać pójdzie mu w lewo, jak wciśnie A (w lewo) to postać pójdzie w prawo?
2. Jak mogę ustawić graczowi origin celownika o 180 stopni? Gdy patrzy prosto, to by nagle patrzał w drugą stronę.

#2 FreZZy

    Guru

  • Zbanowany

Reputacja: 210
Profesjonalista

  • Postów:716
  • GG:
  • Imię:Paweł
  • Lokalizacja:Wwa
Offline

Napisano 08.04.2011 16:48

1. Jak mogę zrobić, że gdy gracz wciśnie klawisz D (W prawo) to postać pójdzie mu w lewo, jak wciśnie A (w lewo) to postać pójdzie w prawo?


hmm... tak na chłopski rozum to zbindowanie odwrotne klawiszy graczowi

#3 GoldeN

    Wszechmogący

  • Autor tematu
  • Zbanowany

Reputacja: 69
Pomocny

  • Postów:676
  • Imię:Kamil
  • Lokalizacja:DG
Offline

Napisano 08.04.2011 17:57

1. Jak mogę zrobić, że gdy gracz wciśnie klawisz D (W prawo) to postać pójdzie mu w lewo, jak wciśnie A (w lewo) to postać pójdzie w prawo?


hmm... tak na chłopski rozum to zbindowanie odwrotne klawiszy graczowi


Myślałem nad tym, ale nie ma lepszych sposobów?

#4 diablix

    emeryt

  • Przyjaciel

Reputacja: 507
Wszechwiedzący

  • Postów:663
  • GG:
  • Steam:steam
  • Imię:Daniel
  • Lokalizacja:Warszawa
Offline

Napisano 08.04.2011 18:42

1.

Co do tego nie jestem pewien czy kombinacji old buttons nie trzeba użyć.

#include <amxmodx>
#include <fakemeta>

static const VERSION[] = "0.1";

public plugin_init(){
register_plugin("Odwrocone klawisze", VERSION, "diablix");
register_forward(FM_PlayerPreThink, "fwd_PreThink");
}

public fwd_PreThink(id){
if(!is_user_alive(id)) return;

new button = pev(id, pev_button);

switch(button){
case IN_LEFT: set_pev(id, pev_button, button & IN_RIGHT);
case IN_RIGHT:set_pev(id, pev_button, button & IN_LEFT);
}
}


2.
z chr_engine

Pobierasz origin o numerze 3 (aiming) i sobie zmieniasz bodajże drugą tablicę a potem tylko

stock entity_set_aim(ent,const Float:origin2[3],bone=0)
{
if(!pev_valid(ent))
return 0;

static Float:origin[3]
origin[0] = origin2[0]
origin[1] = origin2[1]
origin[2] = origin2[2]

static Float:ent_origin[3], Float:angles[3]

if(bone)
engfunc(EngFunc_GetBonePosition,ent,bone,ent_origin,angles)
else
pev(ent,pev_origin,ent_origin)

origin[0] -= ent_origin[0]
origin[1] -= ent_origin[1]
origin[2] -= ent_origin[2]

static Float:v_length
v_length = vector_length(origin)

static Float:aim_vector[3]
aim_vector[0] = origin[0] / v_length
aim_vector[1] = origin[1] / v_length
aim_vector[2] = origin[2] / v_length

static Float:new_angles[3]
vector_to_angle(aim_vector,new_angles)

new_angles[0] *= -1

if(new_angles[1]>180.0) new_angles[1] -= 360
if(new_angles[1]<-180.0) new_angles[1] += 360
if(new_angles[1]==180.0 || new_angles[1]==-180.0) new_angles[1]=-179.999999

set_pev(ent,pev_angles,new_angles)
set_pev(ent,pev_fixangle,1)

return 1;
}

Użytkownik diablix edytował ten post 08.04.2011 18:48

  • +
  • -
  • 1

#5 GoldeN

    Wszechmogący

  • Autor tematu
  • Zbanowany

Reputacja: 69
Pomocny

  • Postów:676
  • Imię:Kamil
  • Lokalizacja:DG
Offline

Napisano 08.04.2011 19:00

Pierwsze niestety nie działa. ; /

A więc? Co z tą zmianą kierunków?




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych