• Anmelden

1

Freitag, 23. Januar 2009, 01:59

GESUCHT: Spezielen Tastenskript

AUFTRAGGEBER: BeatBoyAlex
GESUCHT: Spezielen Tastenscript
BELOHNUNG: Creditseintrag (Auf Wunsch)

AUFGABEN:
1.Einen Tastenscript der folgende Buttons A, B, C, X, Y, Z, L, R auf andere Tasten legt.
2.Die Buttons sollen NUR mit den genannten Tasten Funktionieren mit keinen anderen!
3.Man Bewegt den Charakteren NUR mit WASD Tasten nicht mit den Pfeiltasten.

Bild

ANMERKUNG VOM AUFTRAGGEBER:
Würde mich freuen wenn jemand meinen Auftrag annehmen würde.
Auch Bitte Melden wenn es gar nicht möglich ist so einen Skript zu erstellen.

PS: Ich habe die Textbox mit Word erstellt weswegen einige Wörter ROT Unterstrichen sind.
Haben aber KEINE andere Bedeutung als das, das sie Word nicht kennt.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »PopelHD« (23. Januar 2009, 03:26)


2

Freitag, 23. Januar 2009, 12:55

drück mal während dem spiel F1!
da lassen sich doch meines wissens alle tasten so verändern, wie du's willst, dazu brauchst du kein script.

cow
Spoiler: Sachen
zum Lesen den Text mit der Maus markieren

Neo-Bahamut

Himmelsgleicher

Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.

  • Nachricht senden

3

Freitag, 23. Januar 2009, 17:31

Spoiler

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
#============================================================================== 
# ** Keyboard Modul von Kai unter Verwendung von Near Fantasticas Keyboard-Script
# => Ermöglicht Abfrage von Tasten über den Aufruf
# Keyboard.key_down?(Keyboard::Taste)
# Keyboard.key_press?(Keyboard::Taste)
# Keyboard.key_up?(Keyboard::Taste)
# Wobei Taste eine der unten stehenden Konstanten darstellt
#==============================================================================
 
module Input
  #--------------------------------------------------------------------------
  # * Konstanten von Near Fantastica
  #--------------------------------------------------------------------------
  Mouse_Left  	= 1   	; Mouse_Right 	= 2
  Back        	= 8   	; Tab         	= 9
  Enter       	= 13  	; Shift       	= 16
  Ctrl        	= 17  	; Alt         	= 18
  Capslock    	= 20  	; Esc         	= 27
  Space       	= 32  	; End         	= 35
  Home        	= 36  	; Left        	= 37
  Right       	= 39
  Del         	= 46  	; Collon      	= 186
  Equal       	= 187 	; Comma       	= 188
  Underscore  	= 189 	; Dot         	= 190
  Backslash   	= 191 	; Tilde       	= 192
  Lb          	= 219 	; Rb          	= 221
  Forwardslash	= 220 	; Quote       	= 222
  Numberkeys = ('0'..'9').inject({}) do |h, c| h[c] = c[0]; h end
  Numberpad   	= {}  	; Numberpad[0]	= 45
  Numberpad[1]	= 35  	; Numberpad[2]	= 40
  Numberpad[3]	= 34  	; Numberpad[4]	= 37
  Numberpad[5]	= 12  	; Numberpad[6]	= 39
  Numberpad[7]	= 36  	; Numberpad[8]	= 38
  Numberpad[9]	= 33
  Numpad = {}           	; Numpad[0] = 96
  Numpad[1] = 97        	; Numpad[2] = 98
  Numpad[3] = 99        	; Numpad[4] = 100
  Numpad[5] = 101       	; Numpad[6] = 102
  Numpad[7] = 103       	; Numpad[8] = 104
  Numpad[9] = 105
  Letters = ('A'..'Z').inject({}) do |h, c| h[c] = c[0]; h end
 
  Fkeys       	= {}  	; Fkeys[1]    	= 112
  Fkeys[2]    	= 113 	; Fkeys[3]    	= 114
  Fkeys[4]    	= 115 	; Fkeys[5]    	= 116
  Fkeys[6]    	= 117 	; Fkeys[7]    	= 118
  Fkeys[8]    	= 119 	; Fkeys[9]    	= 120
  Fkeys[10]   	= 121 	; Fkeys[11]   	= 122
  Fkeys[12]   	= 123
 
  A = [Shift]
  B = [Tab]
  C = [Enter, Space]
  X = [Del]
  Y = [Esc]
  Z = [Alt]
  L = [Letters['Q']]
  R = [Letters['E']]
  DOWN = [DOWN]
  UP = [UP]
  LEFT = [LEFT]
  RIGHT = [RIGHT]
  #--------------------------------------------------------------------------
  # * WinAPI
  #--------------------------------------------------------------------------
  GetKeyboardState = Win32API.new('user32', 'GetKeyboardState', 'P', 'L')
  #--------------------------------------------------------------------------
  # * most significant bit
  #--------------------------------------------------------------------------
  MSB = 128
  #--------------------------------------------------------------------------
  # * Get Key State (Test Pressed)
  #--------------------------------------------------------------------------
  def self.getkeystate(buffer)
	GetKeyboardState.call(buffer)
  end
  #--------------------------------------------------------------------------
  # * Gibt true zurück, wenn Taste heruntergedrückt wurde
  #--------------------------------------------------------------------------
  def self.trigger?(tasten)
	tasten = tasten.to_a if tasten.is_a?(Fixnum)
	for taste in tasten
  	y = (@pressed[taste] & MSB == MSB) && (@last[taste] & MSB != MSB)
  	return y if y == true
	end
	return false
  end
  #--------------------------------------------------------------------------
  # * Gibt true zurück, wenn Taste gedrückt gehalten wird
  #--------------------------------------------------------------------------
  def self.press?(tasten)
	tasten = tasten.to_a if tasten.is_a?(Fixnum)
	for taste in tasten
  	y = @pressed[taste] & MSB == MSB
  	return y if y == true
	end
	return false
  end
  #--------------------------------------------------------------------------
  # * Gibt true zurück, wenn Taste wiederholt gedrückt gehalten wird
  #--------------------------------------------------------------------------
  def self.repeat?(tasten)
	tasten = tasten.to_a if tasten.is_a?(Fixnum)
	for taste in tasten
  	if not key_down?(taste) and press?(taste)
    	@wait += 1
    	if @wait == 4
      	@wait = 0
      	return true
    	end
  	else
    	@wait = 3
  	end
	end
	return false
  end
  #--------------------------------------------------------------------------
  # * Update
  #--------------------------------------------------------------------------
  @pressed = ' ' * 256
  @last = ' ' * 256
  def self.update2
	@last.replace(@pressed)
	getkeystate(@pressed)
  end
 
  #--------------------------------------------------------------------------
  # * Gibt true zurück, wenn Taste heruntergedrückt wurde
  #--------------------------------------------------------------------------
  def self.key_down?(taste)
	(@pressed[taste] & MSB == MSB) && (@last[taste] & MSB != MSB)
  end
end
#==============================================================================
# ** Input
#==============================================================================
class << Input
  alias update_rx_keys update
  def update
	Input.update2
	update_rx_keys
  end
end
zum Lesen den Text mit der Maus markieren


Irgendwo ist da ein Fehler drin, aber ich find ihn nicht :/
Spoiler: Wurstinator
zum Lesen den Text mit der Maus markieren

Spoiler: Lazer-Wurst
zum Lesen den Text mit der Maus markieren

Spoiler: Hallowurst
zum Lesen den Text mit der Maus markieren

4

Freitag, 23. Januar 2009, 17:37

das wird ihm nicht viel nützen!
das tastatur script hilft welchen, die mehrere tasten brauchen, und auch scripten können.

soweit ich das verstehe, will er nur die tastenverteilung ändern.

cow
Spoiler: Sachen
zum Lesen den Text mit der Maus markieren

Neo-Bahamut

Himmelsgleicher

Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.

  • Nachricht senden

5

Freitag, 23. Januar 2009, 17:40

Ich habs ja auch abgeändert, wie du vllt beim hingucken gesehen hättest :P
Spoiler: Wurstinator
zum Lesen den Text mit der Maus markieren

Spoiler: Lazer-Wurst
zum Lesen den Text mit der Maus markieren

Spoiler: Hallowurst
zum Lesen den Text mit der Maus markieren

Anemone

Rekrut

Motto: Was zählt ist nicht das eigene Leben, sondern es aufs Spiel zusetzen.

  • Nachricht senden

6

Sonntag, 25. Januar 2009, 23:25

Kann man den nicht einfach die konstanten im Input module umändern?

Quellcode

1
2
3
4
5
6
7
8
9
10
11
module Input
 memo=[UP,DOWN,LEFT,RIGHT]
 UP=R
 DOWN=Y
 LEFT=X
 RIGHT=Z
 R=memo[0]
 Y=memo[1]
 X=memo[2]
 Z=memo[3]
end


kA ob das jz funktioniert ^^ probiers einfach mal aus
villeicht kann man die konstanten auch gar nicht neu belegen :/
wenn ned dann versuch es doch mal damit:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
module Input
  def self.dir4
    if self.press? R #=W
      return 8 #Up
    elsif self.press? Y #=S
      return 2 #Down
    elsif self.press? X #=A
      return 4 #Left
    elsif self.press? Z #=D
      return 6 #Right
    end
  end
end

Der zweite Code müsste eigendlich funktionieren weil ich dort einfach nur die dir4 methode ersetzt haben.
Der Held sollte nun mit WASD laufen.
Da im Game_Player script die Laufrichtung mit dir4 abgefragt wird.

mfg. Anemone~

nixdaa

Rekrut

Motto: Der Beste ist nicht immer der Gewinner, der Gewinner ist immer der Beste!

  • Nachricht senden

7

Sonntag, 25. Januar 2009, 23:33

Unter Scene_map kann man doch auch einstellen was welche tasten bewirken,
oder etwa nicht?
Shihoku - Der letzte Erbe
Story: 5% 255 Zeilen
Mapping: 0% 1/(200) Maps
Events: 0%
Grafiken: 2%
Musik: 10%
Konzepte: --% 5/-- Konzepte

8

Montag, 26. Januar 2009, 12:33

oder etwa nicht?


oder etwa nicht!
Spoiler: Sachen
zum Lesen den Text mit der Maus markieren

9

Montag, 26. Januar 2009, 13:58

Erstma vielen Dank an alle die Geantwortet haben. :thumbsup:

An Neo-Bahamut
Also bei dem Tastenscript hier meintest du es gibt einen Fehler. Also der einzige "Fehler" ist das WASD nicht gehen ansonsten Fuktioniert alles.
Hab meine Grauen Zellen auch ma Angestrengt und hab einige Methoden Ausprobiert,
leider alle nur mit Negativen oder Gar keinen Erfolg.
:(
Danke trotzdem Neo-Bahamut nun bin ich schon ein Schritt näher an meine "Traumsteuerung"

An Anemone:
Also die erst Methode Funktioniert... aber leider NUR beim Titelbildschirm und im Menü.
Die 2te Methode Funktioniert... leider NUR mit dem Charakteren und nicht beim Titelbildschirm und nicht im Menü.
:schock:
Hab auch beide Gleichzeitig Aussprobiert: Geht aber auch nich. :(
Trotzdem Danke Anemone.^^

An Anemone und Neo-Bahamut:
Ihr habt mir sehr bei meinem Problem geholfen deswegen würd ich euch gerne einen Creditseintrag "schenken" also wenn jemand von euch KEINE Creditseintag will soll hier oder mich Persönlich anschreiben. Ihr werdet euren Namen dann am 01.01.2010 bei meinem Game [Soul Hunter] bewundern können.^^

An Alle:
Also mein Problem ist "Fast" gelößt ich brauch nur noch einen WASD Script.
Also Bitte! Antwortet wenn ihr die Antwort parat habt.
Ein Creditseintrag wird 100% (Auf Wunsch) als Belohnung winken.^^

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »PopelHD« (29. Januar 2009, 02:10)


Neo-Bahamut

Himmelsgleicher

Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.

  • Nachricht senden

10

Montag, 26. Januar 2009, 18:52

Ich will schon was richtig gemacht haben, wenn ich einen Creditseintrag bekomme^^
Ich habs nochmal versucht und bin dem Ziel näher gekommen. Das einzige Problem liegt noch bei den Windows, bei denen der Cursor zu schnell weitergeht :/
Spoiler

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
#============================================================================== 
# ** Keyboard Modul von Kai unter Verwendung von Near Fantasticas Keyboard-Script
# => Ermöglicht Abfrage von Tasten über den Aufruf
# Keyboard.key_down?(Keyboard::Taste)
# Keyboard.key_press?(Keyboard::Taste)
# Keyboard.key_up?(Keyboard::Taste)
# Wobei Taste eine der unten stehenden Konstanten darstellt
#==============================================================================
 
module Input
  #--------------------------------------------------------------------------
  # * Konstanten von Near Fantastica
  #--------------------------------------------------------------------------
  Mouse_Left  	= 1   	; Mouse_Right 	= 2
  Back        	= 8   	; Tab         	= 9
  Enter       	= 13  	; Shift       	= 16
  Ctrl        	= 17  	; Alt         	= 18
  Capslock    	= 20  	; Esc         	= 27
  Space       	= 32  	; End         	= 35
  Home        	= 36  	; Left        	= 37
  Right       	= 39
  Del         	= 46  	; Collon      	= 186
  Equal       	= 187 	; Comma       	= 188
  Underscore  	= 189 	; Dot         	= 190
  Backslash   	= 191 	; Tilde       	= 192
  Lb          	= 219 	; Rb          	= 221
  Forwardslash	= 220 	; Quote       	= 222
  Numberkeys = ('0'..'9').inject({}) do |h, c| h[c] = c[0]; h end
  Numberpad   	= {}  	; Numberpad[0]	= 45
  Numberpad[1]	= 35  	; Numberpad[2]	= 40
  Numberpad[3]	= 34  	; Numberpad[4]	= 37
  Numberpad[5]	= 12  	; Numberpad[6]	= 39
  Numberpad[7]	= 36  	; Numberpad[8]	= 38
  Numberpad[9]	= 33
  Numpad = {}           	; Numpad[0] = 96
  Numpad[1] = 97        	; Numpad[2] = 98
  Numpad[3] = 99        	; Numpad[4] = 100
  Numpad[5] = 101       	; Numpad[6] = 102
  Numpad[7] = 103       	; Numpad[8] = 104
  Numpad[9] = 105
  Letters = ('A'..'Z').inject({}) do |h, c| h[c] = c[0]; h end
 
  Fkeys       	= {}  	; Fkeys[1]    	= 112
  Fkeys[2]    	= 113 	; Fkeys[3]    	= 114
  Fkeys[4]    	= 115 	; Fkeys[5]    	= 116
  Fkeys[6]    	= 117 	; Fkeys[7]    	= 118
  Fkeys[8]    	= 119 	; Fkeys[9]    	= 120
  Fkeys[10]   	= 121 	; Fkeys[11]   	= 122
  Fkeys[12]   	= 123
 
  DOWN = [Letters['S']]
  UP = [Letters['W']]
  LEFT = [Letters['A']]
  RIGHT = [Letters['D']]
  A = [Shift]
  B = [Tab]
  C = [Enter, Space]
  X = [Del]
  Y = [Esc]
  Z = [Alt]
  L = [Letters['Q']]
  R = [Letters['E']]
  #--------------------------------------------------------------------------
  # * WinAPI
  #--------------------------------------------------------------------------
  GetKeyboardState = Win32API.new('user32', 'GetKeyboardState', 'P', 'L')
  #--------------------------------------------------------------------------
  # * most significant bit
  #--------------------------------------------------------------------------
  MSB = 128
  @wait = 0
  #--------------------------------------------------------------------------
  # * Get Key State (Test Pressed)
  #--------------------------------------------------------------------------
  def self.getkeystate(buffer)
	GetKeyboardState.call(buffer)
  end
  #--------------------------------------------------------------------------
  # * Gibt true zurück, wenn Taste heruntergedrückt wurde
  #--------------------------------------------------------------------------
  def self.trigger?(tasten)
	tasten = tasten.to_a if tasten.is_a?(Fixnum)
	for taste in tasten
  	y = (@pressed[taste] & MSB == MSB) && (@last[taste] & MSB != MSB)
  	return y if y == true
	end
	return false
  end
  #--------------------------------------------------------------------------
  # * Gibt true zurück, wenn Taste gedrückt gehalten wird
  #--------------------------------------------------------------------------
  def self.press?(tasten)
	tasten = tasten.to_a if tasten.is_a?(Fixnum)
	for taste in tasten
  	y = @pressed[taste] & MSB == MSB
  	return y if y == true
	end
	return false
  end
  #--------------------------------------------------------------------------
  # * Gibt true zurück, wenn Taste wiederholt gedrückt gehalten wird
  #--------------------------------------------------------------------------
  def self.repeat?(tasten)
	max_wait = 4
	tasten = tasten.to_a if tasten.is_a?(Fixnum)
	@wait += 1
	for taste in tasten
  	if not key_down?(taste) and press?(taste)
    	if @wait == max_wait
      	@wait = 0
      	return true
    	end
  	else
    	@wait = max_wait-1
  	end
	end
	return false
  end
  #--------------------------------------------------------------------------
  # * Update
  #--------------------------------------------------------------------------
  @pressed = ' ' * 256
  @last = ' ' * 256
  def self.update2
	@last.replace(@pressed)
	getkeystate(@pressed)
  end
 
  #--------------------------------------------------------------------------
  # * Gibt true zurück, wenn Taste heruntergedrückt wurde
  #--------------------------------------------------------------------------
  def self.key_down?(tasten)
	tasten = tasten.to_a if tasten.is_a?(Fixnum)
	for taste in tasten
 	x = (@pressed[taste] & MSB == MSB) && (@last[taste] & MSB != MSB)
 	return x if x == true
   end
   return false
  end
end
#==============================================================================
# ** Input
#==============================================================================
class << Input
  alias update_rx_keys update
  def update
	Input.update2
	update_rx_keys
  end
end
zum Lesen den Text mit der Maus markieren
Spoiler: Wurstinator
zum Lesen den Text mit der Maus markieren

Spoiler: Lazer-Wurst
zum Lesen den Text mit der Maus markieren

Spoiler: Hallowurst
zum Lesen den Text mit der Maus markieren

Anemone

Rekrut

Motto: Was zählt ist nicht das eigene Leben, sondern es aufs Spiel zusetzen.

  • Nachricht senden

11

Montag, 26. Januar 2009, 21:44

Ich geb mich auch nicht, wie NeoBahamut, damit zu frieden einen Credits eintrag zu bekommen solange mein script nicht funktionieren sollte xD

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
module Input
 memo=[UP,DOWN,LEFT,RIGHT]
 UP=R
 DOWN=Y
 LEFT=X
 RIGHT=Z
 R=memo[0]
 Y=memo[1]
 X=memo[2]
 Z=memo[3]
 def self.dir4
  if self.press? UP
    return 8
  elsif self.press? DOWN
    return 2
  elsif self.press? LEFT
    return 4
  elsif self.press? RIGHT
    return 6
  end
 end
end


Habe es dieses Mal getestet und es klappt ^^

mfg. Anemone~

12

Mittwoch, 28. Januar 2009, 12:25

Erstma Herzlichen Dank an euch beiden Neo-Bahamut und Anemone.^^

An Neo-Bahamut

Hui wie der Flitzt! xD
Das mit dem
Cursor stimmt schon und leider kann ich den Charakter noch IMMER nicht mit WASD steuern.
Aber wenn ich deinen Script und den von Anemone kombiniere klapps.^^

Das mit dem Cursor ist schon ein wenig Schade. :(
Willst du dich noch weiter daran versuchen?
Wenn nicht Schreib einfach! Einen Creditseintrag bekommst du dann aber trotzdem.^^

An Anemone:
Perfekt Funktioniert einfach Perfekt.^^
Vielen Dank Anemone!^^
Natürlich bekommst du wie versprochen einen Creditseintrag in meinem Game Soul Hunter.
^^



Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »PopelHD« (29. Januar 2009, 02:18)


13

Freitag, 6. Februar 2009, 22:25

drück mal während dem spiel F1!
da lassen sich doch meines wissens alle tasten so verändern, wie du's willst, dazu brauchst du kein script.


Auch wenns ihm warscheinlich egal ist, sollte mmn. Cow einen Eintrag bekommen, da seine Antwort ohne eine Codezeile absolut richtig ist...
Ich will jetzt nichts gegen Anemone oder Neo-Bahamut sagen, aber eigentlich hättest du kein Skript gebraucht ^^
Naja aber wenns läuft dann lass es besser so.

14

Sonntag, 8. Februar 2009, 23:29



drück mal während dem spiel F1!
da lassen sich doch meines wissens alle tasten so verändern, wie du's willst, dazu brauchst du kein script.


Auch wenns ihm warscheinlich egal ist, sollte mmn. Cow einen Eintrag bekommen, da seine Antwort ohne eine Codezeile absolut richtig ist...
Ich will jetzt nichts gegen Anemone oder Neo-Bahamut sagen, aber eigentlich hättest du kein Skript gebraucht ^^

Man kann NICHT ALLE Tasten nach Herzenslust belegen.
Ich hätte ja nicht gefragt wenns gehen würde oder?
Wenn ihr aber noch immer glaubt es würde gehen, muss ich es euch BEWEISEN.
(Erinnert mich jetzt irgendwie an Ace Attorney xD)
Hier mal ein Screenshot von der angeblichen "ALLES BELEGBAREN F1 TASTE".

  • Seite 1: General

    Bild
  • Seite 2: Gamepad

    Bild
  • Seite 3: Keyboard

    Bild


Damit sind Anemone, Neo-Bahamut und ich "NICHT SCHULDIG!!!". xD

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »PopelHD« (9. Februar 2009, 15:43)


Ähnliche Themen

Social Bookmarks