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

Jak skorzystać z set_pev przy zmianie klawiszy?


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

#1 sNH.

    Czy MisieQ ukradł ciasteczko?

  • Power User

Reputacja: 299
Wszechwidzący

  • Postów:1 070
  • Steam:steam
  • Imię:Bartek
  • Lokalizacja:Ełk
Offline

Napisano 07.02.2014 16:39

Witam! Otóż mój problem polega na tym, że chciałem zrobić zamianę klawiszy kiedy gracz będzie żywy oraz nałożony na niego zostanie status.

 

Problem polega na tym, że korzystając z set_pev i pev_button funkcja nie działa. Ogólnie kod wygląda tak:

 

public client_PreThink(id){
if(ConfuseKeys[id] = true && is_user_alive(id))
{
new button = get_user_button(id)
 
if(button & IN_LEFT)
{
set_pev(id, pev_button, pev( id , pev_button ) |  IN_RIGHT )
}
 
if(button & IN_RIGHT)
{
set_pev(id, pev_button, pev( id , pev_button ) |  IN_LEFT )
}
 
if(button & IN_FORWARD)
{
set_pev(id, pev_button, pev( id , pev_button ) |  IN_BACK )
}
 
if(button & IN_BACK)
{
set_pev(id, pev_button, pev( id , pev_button ) |  IN_FORWARD )
}
}
}

  • +
  • -
  • 0

#2 ^Grzyboo

    Wszechobecny

  • Użytkownik

Reputacja: 246
Wszechwidzący

  • Postów:461
  • Imię:Grzyboo
  • Lokalizacja:Tak
Offline

Napisano 07.02.2014 20:42

użyj CmdStart

set_uc(ucHandle, UC_Buttons, get_uc(ucHandle, UC_Buttons) | IN_RIGHT);

Użytkownik ^Grzyboo edytował ten post 07.02.2014 20:43

  • +
  • -
  • 1

#3 sNH.

    Czy MisieQ ukradł ciasteczko?

  • Autor tematu
  • Power User

Reputacja: 299
Wszechwidzący

  • Postów:1 070
  • Steam:steam
  • Imię:Bartek
  • Lokalizacja:Ełk
Offline

Napisano 07.02.2014 21:02

Nie działa:
 
#include <amxmodx>
#include <engine>
#include <fakemeta>
 
public plugin_init()
{
register_plugin("Status Test","1.0","Admin.");
register_forward(FM_CmdStart, "CmdStart")
}
 
public CmdStart(id, ucHandle)
{
new button = get_uc(ucHandle, UC_Buttons);
 
if(button & IN_LEFT)
{
set_uc(ucHandle, UC_Buttons, get_uc(ucHandle, UC_Buttons) | IN_RIGHT);
}
}
 
Zrobiłem coś źle? :P
  • +
  • -
  • 0

#4 ^Grzyboo

    Wszechobecny

  • Użytkownik

Reputacja: 246
Wszechwidzący

  • Postów:461
  • Imię:Grzyboo
  • Lokalizacja:Tak
Offline

Napisano 07.02.2014 22:06

Ahh, przypomniało mi się, chyba nie można tego zrobić dla WSAD.


  • +
  • -
  • 1

#5 sNH.

    Czy MisieQ ukradł ciasteczko?

  • Autor tematu
  • Power User

Reputacja: 299
Wszechwidzący

  • Postów:1 070
  • Steam:steam
  • Imię:Bartek
  • Lokalizacja:Ełk
Offline

Napisano 07.02.2014 22:24

Hm, jest jakiś inny sposób?


  • +
  • -
  • 0

#6 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 07.02.2014 22:55

Zapominasz o negowaniu klawisza np. jeśli jest IN_LEFT dobrze że ustawiasz IN_RIGHT ale IN_LEFT trzeba "usunać" bardziej łopatologiczniej się nie da :P


  • +
  • -
  • 1

#7 sNH.

    Czy MisieQ ukradł ciasteczko?

  • Autor tematu
  • Power User

Reputacja: 299
Wszechwidzący

  • Postów:1 070
  • Steam:steam
  • Imię:Bartek
  • Lokalizacja:Ełk
Offline

Napisano 07.02.2014 23:01

W set_pev kiedyś dawałeś na forum coś takiego

set_pev(id, pev_button, ( pev( id , pev_button ) |  IN_RIGHT ) & ~IN_LEFT )

 

To również mi nie działało. Mam spróbować "usuwanie" przy set_uc?


  • +
  • -
  • 0

#8 Fili:P

    Godlike

  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 08.02.2014 08:37

mógłbyś to też zrobić poprzez zmianę velocity tzn. velocity to wektor wiec wystarczy tylko przekształcić go na taki z tym samym kierunkiem ale przeciwnym zwrotem

 

 

Wyznaczanie wektora z przeciwnym zwrotem to pomnożenie jego składowych przez -1 w xs masz xs_vec_neg

 

 

Tematy które mogą ci pomóc:

1. http://amxx.pl/topic...zycisku-myszki/

2. http://amxx.pl/topic...runku-u-gracza/

 

W 1. temacie jest również używane pev_oldbuttons, więc może warto do tego nawiązać. Jeżeli ciągle nie będzie działało to pozostaje wyznaczyć vektor z przeciwnym zwrotem. 


  • +
  • -
  • 1

#9 sNH.

    Czy MisieQ ukradł ciasteczko?

  • Autor tematu
  • Power User

Reputacja: 299
Wszechwidzący

  • Postów:1 070
  • Steam:steam
  • Imię:Bartek
  • Lokalizacja:Ełk
Offline

Napisano 08.02.2014 11:13

Sprawdzałem wszelkie metody, lecz nic nie działa. Odnośnie wektorów, nie dają oczekiwanego efektu. 

 

Temat do zamknięcia, każdemu daję po + za chęci. Utworzę po prostu status na innej podstawie.


  • +
  • -
  • 0

#10 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 08.02.2014 13:38

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Temat zamknięty na prośbę użytkownika.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo





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

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