Hook add on key pressed

  • Initiateur de la discussion
Peugeot203

Peugeot203

Bambi
Messages
65
Score réaction
4
Points
35
Bonjour à tous,
J'ai essayé de créer un hook add mais malheureusement sans succès. Voici ce que j'ai essayé :
Code:
hook.Add( "KeyPress", "keypress_jump_super", function( key ) if ( key == KEY_SPACE ) then
local bform = vgui.Create("DFrame", "panel") bform:SetSize( 1100*Wss, 650*Hss )
end end)
Que dois-je faire ?
 
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Peugeot203 à dit:
Bonjour à tous,
J'ai essayé de créer un hook add mais malheureusement sans succès. Voici ce que j'ai essayé :
Code:
hook.Add( "KeyPress", "keypress_jump_super", function( key ) if ( key == KEY_SPACE ) then
local bform = vgui.Create("DFrame", "panel") bform:SetSize( 1100*Wss, 650*Hss )
end end)
Que dois-je faire ?
L’événement KeyPress renvoie deux paramètres ( variables ) dans un ordre précis ( le joueur appelant, la touche )
Donc actuellement la variable key pointe vers le joueur appelant et non pas la touche.
 
  • Initiateur de la discussion
Peugeot203

Peugeot203

Bambi
Messages
65
Score réaction
4
Points
35
thepsyca à dit:
L’événement KeyPress renvoie deux paramètres ( variables ) dans un ordre précis ( le joueur appelant, la touche )
Donc actuellement la variable key pointe vers le joueur appelant et non pas la touche.
Merci c'est bon :)
 
  • Initiateur de la discussion
Peugeot203

Peugeot203

Bambi
Messages
65
Score réaction
4
Points
35
Finalement j'ai essayé ça mais ça ne marche pas non plus :
hook.Add( "Think", "BM_Clients_Key", function()
if input.WasKeyPressed( KEY_P ) then print("réussi") end
end )
 
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Peugeot203 à dit:
Finalement j'ai essayé ça mais ça ne marche pas non plus :
hook.Add( "Think", "BM_Clients_Key", function()
if input.WasKeyPressed( KEY_P ) then print("réussi") end
end )
Le code actuel peut aussi bien fonctionner clientside comme serverside, toute fois si tu le mets serverside retire la seconde vérification qui deviendra inutile.
Code:
hook.Add( "PlayerButtonDown", "OnPressP", function( ply, key ) if ( !IsFirstTimePredicted() ) then return end if ( CLIENT && ply != LocalPlayer() ) then return end if ( KEY == KEY_P ) then print("Réussi") end
end )
Le hook think est une mauvaise idée car niveau optimisation ça va vérifier à chaque tick serveur si le joueur a la touche appuyé, alors que la l'évenement se déclenche directement lorsqu'il appuie sur une des touches ici.
Il existe aussi son opposé : GM/PlayerButtonUp - Garry's Mod
 
  • Initiateur de la discussion
Peugeot203

Peugeot203

Bambi
Messages
65
Score réaction
4
Points
35
thepsyca à dit:
Le code actuel peut aussi bien fonctionner clientside comme serverside, toute fois si tu le mets serverside retire la seconde vérification qui deviendra inutile.
Code:
hook.Add( "PlayerButtonDown", "OnPressP", function( ply, key ) if ( !IsFirstTimePredicted() ) then return end if ( CLIENT && ply != LocalPlayer() ) then return end if ( KEY == KEY_P ) then print("Réussi") end
end )
Le hook think est une mauvaise idée car niveau optimisation ça va vérifier à chaque tick serveur si le joueur a la touche appuyé, alors que la l'évenement se déclenche directement lorsqu'il appuie sur une des touches ici.
Il existe aussi son opposé : GM/PlayerButtonUp - Garry's Mod
Merci pour ta réponse, mais malheureusement ça ne marche toujours pas, j'ai alors essayé de changer le "KEY == KEY_P" en key == KEY_P mais encore une fois sans résultats :/
 
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Peugeot203 à dit:
Merci pour ta réponse, mais malheureusement ça ne marche toujours pas, j'ai alors essayé de changer le "KEY == KEY_P" en key == KEY_P mais encore une fois sans résultats :/
J’ai écris KEY en majuscule oups
 
Discord d'entraide
Rejoignz-nous sur Discord