Page 1 sur 1

[R] Utilisation de la fonction 'If'

Posté : lun. 29 oct. 2007 21:27
par SoilyThang
Bonjours

j'ai commencer a utilisé autoIt aujourdui , et j'aimerais savoir quelque chose . voici ce que j'ai fait :

Code : Tout sélectionner

MsgBox(4 , "Test" , "Test")
    If $answer = "6" Then
    MsgBox(0 , "sa" , "sa")
    EndIf
Else 
    If $answer = "7" Then
    msgbox(0 , "sa" , "s2a")
    Endif
Le but etant que : il répondent a la question de la box 4 ( donc oui ou non ) et apré suivant la réponsse choisi une action se passe ... ( exemple : il disent oui , sa continu , il disent nan sa quit )



Merci d'avance :)

ps : fo faire quelque chose pour ce forum les pages mettent un temp fou a arrivé =D

Posté : mar. 30 oct. 2007 07:56
par Tlem
Dans votre cas, 2 approches possibles :

Code : Tout sélectionner

$answer = MsgBox ( 4 , "Test" , "Test" ) 
If $answer = "6" Then 
MsgBox ( 0 , "sa" , "sa" ) 
ElseIf $answer = "7" Then 
msgbox ( 0 , "sa" , "s2a" ) 
Endif[/autoit]Ou alors avec le Case :
[autoit]$answer = MsgBox ( 4 , "Test" , "Test" ) 
Select
Case $answer = "6" 
MsgBox ( 0 , "sa" , "sa" ) 
Case $answer = "7" 
msgbox ( 0 , "sa" , "s2a" ) 
EndSelect
Attention, si la fenêtre de choix peut être fermée par un autre moyen qui Oui/Non, de rajouter une 3ieme condition ...

Posté : mar. 30 oct. 2007 19:03
par SoilyThang
Merci bien :) sa marche ... du moin le 1er

voici le résultat

Code : Tout sélectionner

MsgBox(0 , "test1" , "blabla")
$answer =MsgBox(4 , "test1" , "blabla")
    If $answer ="6" Then
        $var =FileSelectFolder("blabla" , "" )
            If $var ="1" Then
            Exit
            Endif           
            MsgBox(0 , "blalbla", $var )
            $sIni = $var & "\blablabla.ini"
            $sData = "blablabla=" & $var
            IniWriteSection($sIni, "choix1", $sData)
            $id = InputBox("tst1", "tst2", "", "", _
            -1, -1, 0, 0)
                If $id ="1" Then
                exit
            $passwd = InputBox("tst1", "tst1", "", "*")
                If $passwd ="1" Then
                Exit
            $sData = "Id=" & $id &  @LF & "test1=" & $passwd
            IniWriteSection($sIni, "tst2", $sData)
                
    

        
    Else
    If $answer ="7" Then 
    exit
    Endif
    Endif
problemes : la 1ere question ($answer) sa marche , si il dit oui sa continue , si non il quit . Ce qui n'est pas le cas pour $var , $id , $passw . vous voyez l'erreur ?

Merci pour vos réponsses ... par contre le forum tré lent xD ma falu 10 minute pr arrivé sur cette page lol

merci

Posté : mer. 31 oct. 2007 01:54
par Tlem
A première vue, plusieurs erreurs.

Code : Tout sélectionner

$var = FileSelectFolder ( "blabla" , "" ) 
If $var = "1" Then
$var ne peut vous renvoyer 1, c'est la variable @error qui le fait.
Sinon $var=""

Essayez ceci :

Code : Tout sélectionner

MsgBox ( 0 , "test1" , "blabla" ) 
$answer = MsgBox ( 4 , "test1" , "blabla" ) 
If $answer = "6" Then 
$var = FileSelectFolder ( "blabla" , "" ) 
if @error Then Exit
MsgBox ( 0 , "blalbla" , $var ) 
$sIni = $var & "\blablabla.ini" 
$sData = "blablabla = " & $var 
IniWriteSection ( $sIni , "choix1" , $sData ) 
$id = InputBox ( "tst1" , "tst2" , "" , "" , - 1 , - 1 , 0 , 0 ) 
if @error Then Exit
$passwd = InputBox ( "tst1" , "tst1" , "" , "*" ) 
if @error Then Exit
$sData = "Id = " & $id & @LF & "test1 = " & $passwd 
IniWriteSection ( $sIni , "tst2" , $sData ) 
Else
If $answer = "7" Then Exit 
EndIf

Posté : mer. 31 oct. 2007 05:52
par SoilyThang
génial je te remercie beacoup :)

Posté : ven. 02 nov. 2007 12:19
par SoilyThang
jai crée ce petit script

Code : Tout sélectionner

while 1
    sleep(600000) 
    MouseMove( 941 , 108 , 1)
    mouseclick( 941 , 108 , 1)
    send ("{F3}")
    sleep(3000)
    Send ("{1} ")
    sleep(3000)
    Send ("{2} ")
    sleep(3000)
    Send ("{3} ")
    sleep(3000)
    Send ("{4} ")
    sleep(3000)
    Send ("{5} ")
    sleep(3000)
    Send ("{6} ")
    sleep(3000)
    Send ("{7} ")
    sleep(3000)
    Send ("{8} ")
    sleep(3000)
    send("{9}")
    sleep(1500)
    send ("{F1}")
    Wend
If send( "{F8}") then Exit
 
jaimerai que si l'utilisateur appui sur F8 sa quit le script , j'ai esseyer sa mais sa marche pas ...

merci pour votre aide

Posté : ven. 02 nov. 2007 12:26
par ani
Etant novice aussi tu peux essayer ceux-ci

Code : Tout sélectionner

HotKeySet("{F8}", "Quitter")

[la boucle while (le code) wend]

Func quitter()
exit
EndFunc

n'indique pas If send( "{F8}") then Exit

Posté : ven. 02 nov. 2007 13:01
par SoilyThang
Merci je vais esseyer sa de suite :)

edit : sa marche merci =D

Posté : ven. 02 nov. 2007 13:20
par ani
si tu regarde à la fonction HotKeySet tu a un exemple, pour stopper, mettre en pause le script.

Mais y surement une autre possibilité (je visionne)

Posté : ven. 02 nov. 2007 21:05
par SoilyThang
décidément ce if -_-"

Code : Tout sélectionner

        Run($var & "\sa.exe", "")
        If PixelGetColor ( 496 , 355 ) =0x000000 and PixelGetColor ( 422 , 203 ) =0x5C8F1A Then
            sleep(1000)
            MouseMove(760 , 532 , 5)
            MouseClick("left" , 760 , 532 , 1)
        EndIf
        If PixelGetColor ( 24 , 752 ) =0xFF8080 and PixelGetColor ( 799 , 729 ) =0x1D2424 Then
            sleep(1000)
            send("{ENTER}")
            sleep(1500)
            MouseMove(546 , 430 , 1)
            MouseClick("left" , 546 , 430 , 1)
            sleep(1000)
            send( $id )
            MouseMove(543 , 458 , 1)
            MouseClick("left" , 543 , 458 , 1)
            sleep(1000)
            send( $passwd )
            send("{ENTER}")
            winwaitactive("sasasasa")
        EndIf
            sleep(60000)
j suis presque il me manque pas grand chose .

ici , en fonction de la couuleur du pixel il doit faire une action précise . j'ai fait sa , et sa ne marche pas . il lance le jeux et ne fait plus rien

encore merci :oops: :oops:

Posté : sam. 03 nov. 2007 15:45
par ani
le pixel (x et y) = 1 ou 0 mais pas une couleur

essaye en mettant 0 et tu cree la boucle comme precedement

Posté : mer. 07 nov. 2007 16:41
par SoilyThang
Merci a tous pour votre aide j'ai reussi a faire mon 1er script .

Voici mon deuxieme :lol: :lol:

Toujours le meme probleme , le If -_-"

Code : Tout sélectionner

;--AutoPartyReformer V1.0------
;--xxxxxxxxxxxxxxxxxx---

hotkeyset("{F8}", "Quit")
hotkeyset("{F9}" , "Boucle")
msgbox(0 , "Bienvenue" , "Bienvenue sur l'auto party reformer V1.0")
msgbox(0 , "Bienvenue" , "Cette version est compatible pour la résolution 1024*768 Uniquement")
$answer4= inputbox("Type de Party ?" , "- Exp auto share / Item auto share répondez 1  - Exp auto share / Item Distribution répondez 2    - Exp distribution / Item Distribution répondez 3  - Exp Distribution / Item auto share répondez 4" , "" , "" , 255 , 200)
    If $answer4= 1 Or 2 Then
    $answer1= inputbox("Nom de votre party" , "Veuillez saisir le nom pour votre party")
    $answer2= inputbox("level ?" , " Veuillez saisir le level minimum pour rentrer dans la party")
    $answer3= inputbox("level ?" , " Veuillez saisir le level maximal pour rentré dans la party")
    Endif
msgbox(0 , "Bienvenue", "Rendez vous sur votre fenetre de jeux                                      /!\ A PARTIR D'ICI IL NE FAUT SURTOUT PAS DEPLACER LES FENETRES DE JEUX /!\")
sleep(2500)
send("{ESC}")
Mouseclick("left" , 514 , 348)
sleep(1500)
mouseclick("left" , 552 , 670)
sleep(500)
send("{ESC}")
sleep(500)
msgbox(0 , "Bienvenue" , "Pour lancer l'application appuyer sur F9 , Pour la quitter Appuiyer sur F8")
sleep(3600000)

----------------------A PARTIR D'ICI PLUS RIEN NE SE PASSE----------------------------

func Boucle()   
    
$share1= Pixelgetcolor(181 , 235)
$share2= Pixelgetcolor(181 , 241)
$share3= PixelGetColor(146 , 232)
$distrib1= PixelGetColor(50 , 308)
$distrib2= pixelgetcolor(50 , 314)
$distrib3= PixelGetColor(13 , 301)
$join1= Pixelgetcolor(394 , 504)
$join2= PixelGetColor(372 , 273)
$join3= PixelGetColor(397 , 247)

If $answer4 = "1" or "2" Then
    If $share1<>0xFF5F3B And $share2<>0x7B89FF And $share3<>0x000000 then
        If $answer4= "1" Then
            send("{P}")
            Mousemove( 785 , 652)
            mouseclick("left" , 785 , 652)
            sleep(1000)
            Mousemove( 659 , 437)
            mouseclick("left" , 659 , 437)
            sleep(1000)
            Mousemove( 793 , 436)
            mouseclick("left" , 793 , 436)
            sleep(1000)
            mousemove( 733 , 516)
            mouseclick("left" , 733 , 516)
        Else
        if $answer4= "2" Then
            send("{P}")
            Mousemove( 785 , 652)
            mouseclick("left" , 785 , 652)
            sleep(1000)
            Mousemove( 659 , 437)
            mouseclick("left" , 659 , 437)
            sleep(1000)
            Mousemove( 791 , 456)
            mouseclick("left" , 791 , 456)
            sleep(1000)
            mousemove( 733 , 516)
            mouseclick("left" , 733 , 516)
        Endif
    sleep(2500)
    send("{E}")
    mousemove( 614 , 590 )
    Mouseclick( "left" , 614 , 590 )
    mousemove(579 , 495 )
    mouseclick("left" , 579 , 495 )
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send("{BS}")
    send($answer1)
    mousemove(480 , 355 )
    mouseclick("left" , 480 , 355 )
    send("{BS}")
    send($answer2)
    mousemove(611 , 358)
    mouseclick("left" , 611 , 358)
    send("{BS}")
    send("{BS}")
    send($answer3)
    mousemove(461 , 452)
    mouseclick("left" , 461 , 542)
    Endif
    If $join1=0x212021 And $join2= and $join3=0x181818 Then
        MouseMove( 474 , 507)
        mouseclick("left" , 474 , 507)
    Endif   
Else
If $answer4= "3" or "4" Then
    If $distrib1<>0xFF5F3B And $distrib2<>0x7B89FF And $distrib3<>0x000000 then
        If $answer4= "3" Then
            send("{P}")
            Mousemove( 785 , 652 )
            mouseclick("left" , 785 , 652)
            sleep(1000)
            Mousemove( 659 , 457)
            mouseclick("left" , 659 , 457)
            Mousemove( 791 , 456)
            mouseclick("left" , 791 , 456)
            mousemove( 733 , 516)
            mouseclick("left" , 733 , 516)
        Else
            if $answer4= "4" Then
            send("{P}")
            Mousemove( 785 , 652)
            mouseclick("left" , 785 , 652)
            Mousemove( 659 , 457)
            mouseclick("left" , 659 , 457)
            Mousemove( 659 , 457 )
            mouseclick("left" , 659 , 457)
            mousemove( 793 , 436)
            mouseclick("left" ,  793 , 436)
            Endif
        Endif
    sleep(2500)
    send("{E}")
    mousemove( 614 , 590 )
    Mouseclick( "left" , 614 , 590 )
    mousemove(461 , 452)
    mouseclick("left" , 461 , 542)
    Endif
    If $join1=0x212021 And $join2= and $join3=0x181818 Then
        MouseMove( 474 , 507)
        mouseclick("left" , 474 , 507)
    Endif
EndIf
Endif
Endif 
Endfunc

func Quit()
exit
Endfunc
 

merci d'avance :P

Posté : mer. 07 nov. 2007 16:59
par ani
If $join1=0x212021 And $join2= and $join3=0x181818 Then

la valeur pour $join2 est indefini

au niveau de l'inputbox tu devrai ajouter des retour a la ligne (@cr) entre chaque choix, comme ci dessous

$answer4= inputbox("Type de Party ?" , "- Exp auto share / Item auto share répondez 1"&@CR&"- Exp auto share / Item Distribution répondez 2"&@CR&"- Exp distribution / Item Distribution répondez 3"&@CR&"- Exp Distribution / Item auto share répondez 4" , "" , "" , 255 , 200)

Posté : mer. 07 nov. 2007 17:30
par SoilyThang
oh le noob :P

Merci :P