[résolu]Récuperer la couleur d'un pixel sur l'écran

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Xpetera
Messages : 52
Inscription : sam. 02/févr./2008 22:25

[résolu]Récuperer la couleur d'un pixel sur l'écran

Message par Xpetera »

Salut à tous

Oui j'ai encore un problème :(


J'essaye de faire un petit cheat pour un jeu , pour que dès que le viseur est sur la tête d'un ennemi , ca tire. :D

Ce qu'il me faudrait c'est une fonction simple ( de préférence une fonction d'une api ) pour recuperer la couleur du pixel au centre de l'écran , et si la couleur RGB correspond a celle que je veux , ca tire. (la simulation du tir et la vérification de la couleur RGB je sais faire, j'ai juste besoin de recuperer la couleur du pixel ).

Merci des réponses. ^^
Dernière modification par Xpetera le ven. 09/mai/2008 12:38, modifié 2 fois.
Anonyme

Message par Anonyme »

C'est pour quel jeu ? un que tu créer ? un fps existant ?

si c'est un jeu déjà existant , oublie la couleur du pixel , imagine que la texture d'un mur possède la même couleur que ton perso , ou même , avec la lumière , la couleur n'est plus la même... tu as 255x255x255x255 possibilités...C'est pas jouable...
Après faut être calé en 3D , faire du picking , convertir des coordonnées 3D en coordonnées écran 2D. Mais avant ca , faut récuperer la position de la camera , du personnage , puis ensuite faire le picking...
mais encore avant ca , faut décompilé l'exe , cherché les zone ou les infos sont stockés , bref , si tu débutes , tu fonces droit dans un mur.
@++
Xpetera
Messages : 52
Inscription : sam. 02/févr./2008 22:25

Message par Xpetera »

Non je veux juste essayer un peu , ce que je veux c'est juste recupèrer la couleur d'un pixel sur l'écran :oops: merci


sinon pour l'histoire des murs , je fais en sorte que la tête aie une couleur bien précise , et unicolore
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

si c'est pour un jeux genre Warrock, sache que la possibilité du headshoot existe deja dans le jeux, qu'il suffit de trouver l'adresse memoire et de maintenir un valeur bien precise dedans pour activer le headshoot :)

par exemple l'adresse aujourd'hui du headshoot dans Warrock c'est :

#ADR_HEADSHOT=$4a3924

:)
Xpetera
Messages : 52
Inscription : sam. 02/févr./2008 22:25

Message par Xpetera »

Non c'est un truc moins bien graphiquement , et je tiens à que le truc soit indectable. ^^

J'ai juste besoin de pouvoir récupérer la couleur d'un pixel sur l'écran , rien de plus , svp
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Xpetera a écrit :Non c'est un truc moins bien graphiquement , et je tiens à que le truc soit indectable. ^^

J'ai juste besoin de pouvoir récupérer la couleur d'un pixel sur l'écran , rien de plus , svp
voila une procedure qui detecte se qui se trouve sous la souris :)

Code : Tout sélectionner

Procedure GetColorUnderMouse() 
    GetCursorPos_(@CursorPos.POINT ) 
    hdc = GetDC_(0) 
    If hdc <> 0 
        Color = GetPixel_(hdc,CursorPos\x,CursorPos\y) 
        ReleaseDC_(0, hdc) 
        ProcedureReturn Color 
    EndIf 
EndProcedure 


Color.l = GetColorUnderMouse()
Xpetera
Messages : 52
Inscription : sam. 02/févr./2008 22:25

Message par Xpetera »

Merci Dobro , c'est exactement ce que j'ai besoin :D
ZeCluedo
Messages : 4
Inscription : jeu. 08/mai/2008 7:38

Message par ZeCluedo »

Salut à tous !
Je débute en PureBasic et je suis intéréssé par le cheating dans les jeux.D'ailleurs l'idée de Xpetera est parfaitement bonne,j'aimerais juste savoir si c'est possible de faire la même chose avec le jeu GTA : San Andreas.
D'abord j'aimerais savoir ou placer ce petit bout de code que Dobro a donné.
Enfin je débute quoi,merci de me répondre ^^
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Message par Ar-S »

La couleur va se retrouver dans "Color"

si tu veux récupérer les composantes RVB, ajoute

Code : Tout sélectionner

r=Red(Color)
v=Green(Color)
b=Blue(Color)
MessageRequester("affiche","Couleur : Rouge = "+Str(r)+" Vert = "+ Str(v)+" Bleu = "+Str(b))
Pour les débutant, je vous invite à regarder la section tuto, à parcourir l'aide et surtout, par commencer avec de petites appli simple.
Poker des adresses en mémoire c'est une chose, trouver les adresses à poker s'en est une autre et faire le soft qui fait tout ça... c'est chaud.

Enfin, il y a des cheats ou trainers à outrance diffusés sur le net
Répondre