Hilfe mit anführungszeichen

04/21/2011 16:30 freehuntx#1
Ich wollte mich nicht auf einem anderem forum anmelden deshalb frag ich kurz hier.

Zu meinem Problem.

Ich mache für das Spiel Portal2 eine Host tool, welches automatisch: map "wunschmap" in die console tippen soll.

Nun anstatt: map "wunschmap" kommt: map 2wunschmap2 weil großschrift nicht funktioniert.

habe es auch schon so probiert


send('map "'&$map&'"'

klappt alles nix...


Hier mein script.


Code:
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <File.au3>
#include <array.au3>
#include <GuiComboBox.au3>
#include <WindowsConstants.au3>

$1 = "mp_coop_start"
$2 = "mp_coop_lobby_2"
$3 = "mp_coop_doors"
$4 = "mp_coop_race_2"
$5 = "mp_coop_laser_2"
$6 = "mp_coop_rat_maze"
$7 = "mp_coop_laser_crusher"
$8 = "mp_coop_teambts"
$9 = "mp_coop_fling_3"
$10 = "mp_coop_infinifling_train"
$11 = "mp_coop_come_along"
$12 = "mp_coop_fling_1"
$13 = "mp_coop_catapult_1"
$14 = "mp_coop_multifling_1"
$15 = "mp_coop_fling_crushers"
$16 = "mp_coop_fan"
$17 = "mp_coop_wall_intro"
$18 = "mp_coop_wall_2"
$19 = "mp_coop_catapult_wall_intro"
$20 = "mp_coop_wall_block"
$21 = "mp_coop_catapult_2"
$22 = "mp_coop_turret_walls"
$23 = "mp_coop_turret_ball"
$24 = "mp_coop_wall_5"
$25 = "mp_coop_tbeam_redirect"
$26 = "mp_coop_tbeam_drill"
$27 = "mp_coop_tbeam_catch_grind_1"
$28 = "mp_coop_tbeam_laser_1"
$29 = "mp_coop_tbeam_polarity"
$30 = "mp_coop_tbeam_polarity2"
$31 = "mp_coop_tbeam_polarity3"
$32 = "mp_coop_tbeam_maze"
$33 = "mp_coop_tbeam_end"
$34 = "mp_coop_paint_come_along"
$35 = "mp_coop_paint_redirect"
$36 = "mp_coop_paint_bridge"
$37 = "mp_coop_paint_walljumps"
$38 = "mp_coop_paint_speed_fling"
$39 = "mp_coop_paint_red_racer"
$40 = "mp_coop_paint_speed_catch"
$41 = "mp_coop_paint_longjump_intro"
$42 = "mp_coop_credits" 



Const $sElect = $1
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Portal 2 Hoster", 267, 74, 650, 186)
$Label1 = GUICtrlCreateLabel("Map: ", 8, 8, 31, 17)
$Maps = GUICtrlCreateCombo($sElect, 48, 8, 209, 25)
$Button1 = GUICtrlCreateButton("Host!", 88, 40, 91, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
GUICtrlSetData($Maps, $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)

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
			Start()

	EndSwitch
WEnd


Func Start()
   MsgBox(0,"Prepare","Start the Game with open Console, "&@CRLF&"and tell ur friend ur tunngle ip. Wait some seconds, "&@CRLF&"until ur Friend connecting to ur ip, and press OK")
   ControlSend('PORTAL 2', '', '', 'map "'&guictrlread($Maps)&'"')
   ControlSend("PORTAL 2", "", "", "{ENTER}")
EndFunc
04/21/2011 16:41 MoepMeep#2
' nutzen? :>
04/21/2011 18:38 BlackHybrid#3
Quote:
Originally Posted by MoepMeep View Post
' nutzen? :>
Vielleicht genauer durchlesen?

Setz mal die Send geschwindigkeit runter. Wenn das SendKeyDelay zu schnell ist passiert es, dass großschreibung nicht funktioniert.
04/21/2011 19:20 omer36#4
versuchs mal so:

PHP Code:
$clip ClipPut('"')
Send('map ' ClipGet() & guictrlread($Maps) & ClipGet()) 


Quote:
Originally Posted by BlackHybrid View Post
Vielleicht genauer durchlesen?

Setz mal die Send geschwindigkeit runter. Wenn das SendKeyDelay zu schnell ist passiert es, dass großschreibung nicht funktioniert.
MoepMeep meint glaube ich anstelle der " einfach ein ' zu nutzen, meistens klappt es auch damit ;)
04/21/2011 19:31 BlackHybrid#5
Aber es geht doch darum ein " und kein ' oder?
04/21/2011 19:42 MoepMeep#6
Quote:
Originally Posted by BlackHybrid View Post
Aber es geht doch darum ein " und kein ' oder?
Ist doch komplett egal, wenn die Entwickler nicht totale pfeifen sind/waren, geht sowohl " wie auch ' .
04/21/2011 19:46 BlackHybrid#7
Aber er will doch ein " und kein ' senden. Es geht doch jetzt in dem Fall nicht darum, dass man für " sowohl auch ' benutzen kann. Außerdem hat er ja schon richtig das ' angewendet.
04/21/2011 20:13 lolkop#8
Quote:
Originally Posted by MoepMeep View Post
Ist doch komplett egal, wenn die Entwickler nicht totale pfeifen sind/waren, geht sowohl " wie auch ' .
wenn du einen parser für deine eigenen files baust machst dus inner regel so das es andern schwer fallen sollte nachzuvollziehen wie dus machst, bzw so das sie es möglichst nich nachbauen können^^

gehe schon davon aus das es nur einen richtigen weg gibt :P
04/22/2011 12:26 MoepMeep#9
Quote:
Originally Posted by lolkop View Post
wenn du einen parser für deine eigenen files baust machst dus inner regel so das es andern schwer fallen sollte nachzuvollziehen wie dus machst, bzw so das sie es möglichst nich nachbauen können^^

gehe schon davon aus das es nur einen richtigen weg gibt :P
Wird bei der Konsole eines Spiels wohl kaum der Fall sein.
04/22/2011 13:56 lolkop#10
mh stimmt das hatte ich nich gelesen :s

und sry für offtopic^^
04/22/2011 20:03 freehuntx#11
Stimmt omer ^^ habs garnicht mit clips versucht ^^ danke werds mal versuchen aber bin zuversichtlich dass es funktioniert.

an alle anderen, nene die console bekommt einfach keine großschreibung von autoit.

melde mich gleich zurück


EDIT: naah ne mit clips funktionierts auch nicht... sendet eine 2 anstatt "



EDIT2: omg leute hab das problem...

es waren nicht die "" sondern die _

bei z.b. mp_coop_start sendete es mp-coop-start und das hab ich übersehen...
man braucht nämlich keine "" um die map

habe es so geregelt

Code:
ClipPut(guictrlread($Maps))
   ControlSend('PORTAL 2', '', '', 'map ')
   ControlSend("PORTAL 2", "", "", "{CTRLDOWN}v{CTRLup}")
   ControlSend("PORTAL 2", "", "", "{ENTER}")

Kann closed werden.
04/22/2011 20:17 omer36#12
Quote:
Originally Posted by freehuntx View Post
Stimmt omer ^^ habs garnicht mit clips versucht ^^ danke werds mal versuchen aber bin zuversichtlich dass es funktioniert.

an alle anderen, nene die console bekommt einfach keine großschreibung von autoit.

melde mich gleich zurück


EDIT: naah ne mit clips funktionierts auch nicht... sendet eine 2 anstatt "
hmm...
versuchs mal mit constrolsend/postmessage..
wenn nicht mal "einfügen" klappt.... komisch