Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
Connexion avec identifiant, mot de passe et durée de la session

 
avancée

254676 Messages dans 14036 Fils de discussion- par 6616 Membres - Dernier membre: louloufcb

22 Mai 2012 à 16:25:11
GTAOnline.frMulti Theft AutoScripting MTA [lua Center] (Modérateur: Citizen)[Résolu]Image pour toute les résolutions
Pages: [1]   Bas de page
Imprimer
Auteur Fil de discussion: [Résolu]Image pour toute les résolutions  (Lu 364 fois)
0 Membres et 1 Invité sur ce fil de discussion.
~CG~FatalTerror
Hors ligne Hors ligne

Criminel entrainé
*

Messages: 38


« le: 01 Juin 2011 à 14:12:36 »

Bonjour,
Me revoilà  Indécis

Voila mon problème:

Je fessait un userpanel entièrement fait en images. Et je me suis rendu compte grâce a des joueurs que il avait des positions très étranges.
Y a des scripters qui m'ont dit qu'il fallait faire un calcule pour l'afficher correctement avec toute les résolutions.
Je suis allait chercher sur le wiki et j'ai trouvé ceci: guiGetScreenSize () ( http://wiki.multitheftauto.com/wiki/GuiGetScreenSize )

Ils me disent de faire une soustraction, moi j'ai fait le gui comme sa.
Citation
guiCreateStaticImage(1204,642,154,119,"images/fr.png",false)

J'ai fait ceci:

Left position value is 1204, 1024-1204= -180
Top position value is 642, 768-642 = 126
Right position values is 154, 1024-154 = 870
Bottom position value is 119, 768-119 = 649

(Je l'ai fait avec la calculatrice)

Citation

function imageShow ()
local sWidth,sHeight = guiGetScreenSize() -- The variables
guiCreateStaticImage(sWidth--180,sHeight-126,sWidth-870,sHeight-649,"images/fr.png",false)
end
 
addEventHandler ( "onClientResourceStart", getRootElement(), imageShow)


Et cela ne marche pas :/
Soit mon ordi est tellement vieux qu'il a fait une erreur de calcule ou je sais pas.
Merci de bien vouloir m'aider (encore une fois  Roulement d'yeux )

« Dernière édition: 18 Juin 2011 à 23:04:31 par ~CG~FatalTerror » Journalisée
Ssk
Développeur d'Open SA-MP
Hors ligne Hors ligne


Sous-admin
GTAOnline Legend
*

Open-SA-MP - Unlimited Experience

Messages: 3726


WWW



sasuke78200

« Répondre #1 le: 01 Juin 2011 à 14:44:04 »

Héhé, j'avais eu le même problème sur le serveur MTA que je code actuellement, bah en gros je t'explique.

Tu fais ton image pour du 1920*1080, ensuite tu prend la taille de l'écran du client, et tu fais ça

Code:

local x, y = getScreenSize( )
local rateX, rateY = x/1920, y/1080

guiCreateStaticImage(1204,642,154*rateX,119*rateY,"images/fr.png",false)


edit: sWidth--180 c'est pas bon vu que tu as deux -, et en lua deux - c'est pour commenter une ligne ^^

ensuite pour faire en sorte que les positions soit bonne il faut que tu débrouille Très souriant, ça part du même principe ^^
« Dernière édition: 01 Juin 2011 à 15:24:47 par Ssk » Journalisée






Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog
Citizen
Scripteur LUA confirmé
Hors ligne Hors ligne


Moderateur
Grand Banditisme
*

Messages: 109


WWWtvrmntcn1

« Répondre #2 le: 01 Juin 2011 à 18:06:00 »

Salut,
Alors il faut savoir qu'en relatif ( de 0 à 1 ) ça marche pour toutes les résolutions donc si on place une image à 50% ( = milieu ) d'un écran avec une résolution de 800*600, l'image sera aussi située au milieu sur un écran avec une résolution de 1366*768. Logique non ? happy
Donc le but c'est d'afficher l'image en relatif et non pas en relatif.
D'après ce que j'ai compris, tu es en 1024*768.
/?\ Mais 1204, ça fait combien en pourcentage /?\
Et bien c'est tout simple, il suffit de diviser le nombre par la résolution du jeu.
Donc si en 1024*768, il suffit de faire: 1204/1024=1.17Huh? Il y a un problème là, ça ne devrai pas dépassé 1 sinon il sera placé en-dehors de l’écran ! )
Il me faut la résolution de MTA pour laquelle l'image est bien placée.
Voici le code final:
Code: (lua)
function imageShow ()
----------- METRE EN RELATIF -------------
local px, py = AbsoluteToRelative( 1204, 642 ) -- mettre la position en relatif
local sx, sy = AbsoluteToRelative( 154, 119 ) -- mettre la size en relatif
----------------- AFFICHER ---------------
guiCreateStaticImage(PX,PY,SX,SY,"images/fr.png",true)
end
addEventHandler ( "onClientResourceStart", getRootElement(), imageShow)

function AbsoluteToRelative( x, y )
local X = x/1024
local Y = y/768
return X,Y
end
Par contre tu dois remplacer 1024 et 768 par la résolution de ton MTA.
Après ça c'est tout bon  king
Journalisée


The rEvolution is coming ...

Créateur d'un serveur MTA RP
2 ans de scripting
"Ce n'est pas un bug mais une fonctionnalité"
MK
Mapper
Hors ligne Hors ligne

Modérateur Frag'n'Fun
GTAOnline Addict
*

GO - SFTDM

Messages: 1134


« Répondre #3 le: 03 Juin 2011 à 22:28:06 »

J'ai le même probléme que fatalterror et
j'ai utilisé ta méthode:

Code: ("Lua")
function imageShow ()
----------- METRE EN RELATIF -------------
local px, py = AbsoluteToRelative( 1200, 0 ) -- mettre la position en relatif
local sx, sy = AbsoluteToRelative( 450, 100 ) -- mettre la size en relatif
----------------- AFFICHER ---------------
guiCreateStaticImage(px,py,sw,sy,"image.png",true)
end
addEventHandler ( "onClientResourceStart", getRootElement(), imageShow)

function AbsoluteToRelative(x,y)
local x, y = getScreenSize( )
local X = x/1680
local Y = y/1050
return X,Y
end

j'ai modifier pour essayer de le faire marcher, mais aucune image n'était visible

merci de m'aider
Journalisée


Citizen
Scripteur LUA confirmé
Hors ligne Hors ligne


Moderateur
Grand Banditisme
*

Messages: 109


WWWtvrmntcn1

« Répondre #4 le: 03 Juin 2011 à 23:22:32 »

Salut MK,
Es-tu sûr que c'est ma méthode ? Regarde bien happy
Cette ligne n'a pas lieu d'être:
Code: (lua)
local x, y = getScreenSize( )
car là tu essayes de mettre en relatif ta résolution d'écran  lmao
donc cette fonction revoie toujours 1, 1 si tu es en 1680*1050
Il te suffit juste de supprimer cette ligne et ça marchera  closedeyes

Cordialement,
Citizen
Journalisée


The rEvolution is coming ...

Créateur d'un serveur MTA RP
2 ans de scripting
"Ce n'est pas un bug mais une fonctionnalité"
MK
Mapper
Hors ligne Hors ligne

Modérateur Frag'n'Fun
GTAOnline Addict
*

GO - SFTDM

Messages: 1134


« Répondre #5 le: 04 Juin 2011 à 19:25:11 »

même rien ne se passe
Journalisée


Citizen
Scripteur LUA confirmé
Hors ligne Hors ligne


Moderateur
Grand Banditisme
*

Messages: 109


WWWtvrmntcn1

« Répondre #6 le: 04 Juin 2011 à 20:42:50 »

Ok donne moi ton guiCreateStaticImage et la résolution de ton MTA pour laquelle l'image est bien placé et de la bonne taille.
Je te ferais le code et tu pourras voir comment j'ai fait.
Journalisée


The rEvolution is coming ...

Créateur d'un serveur MTA RP
2 ans de scripting
"Ce n'est pas un bug mais une fonctionnalité"
MK
Mapper
Hors ligne Hors ligne

Modérateur Frag'n'Fun
GTAOnline Addict
*

GO - SFTDM

Messages: 1134


« Répondre #7 le: 04 Juin 2011 à 21:27:56 »

Code:
function imageShow ()
----------- METRE EN RELATIF -------------
local px, py = AbsoluteToRelative( 1200, 0 ) -- mettre la position en relatif
local sx, sy = AbsoluteToRelative( 450, 100 ) -- mettre la size en relatif
----------------- AFFICHER ---------------
guiCreateStaticImage(px,py,sw,sy,"image.png",true)
end
addEventHandler ( "onClientResourceStart", getRootElement(), imageShow)

function AbsoluteToRelative(x,y)
local X = x/1680
local Y = y/1050
return X,Y
end

résolution: 1680x1050
taille image: 450x100
position: 1200 - 0 ? (normalement elle devrait être en haut à gauche)
Journalisée


Citizen
Scripteur LUA confirmé
Hors ligne Hors ligne


Moderateur
Grand Banditisme
*

Messages: 109


WWWtvrmntcn1

« Répondre #8 le: 05 Juin 2011 à 11:42:40 »

Ok d'accord j'ai fait une erreur: tu aurais pu me dire que qu'il y avait une erreur, sw n'est pas définie ( nil value ) remplace sw par sx faute de frappe désolé  LMAO
Pour les erreurs côté client, les erreurs ne se trouve pas dans la console ( comme pour les erreurs du côté serveur )
Tu as 2 solutions:
1) taper /debugscript3 ( tu verras toutes les erreurs clients et serveur )
2) Aller dans C:\....\MTA San Andreas\MTA\clientscript.log pour les erreurs côté client seulement.

l'image devrait apparaître ( mais 1200, 0 c'est en haut à droite et pas à gauche  happy)
Journalisée


The rEvolution is coming ...

Créateur d'un serveur MTA RP
2 ans de scripting
"Ce n'est pas un bug mais une fonctionnalité"
MK
Mapper
Hors ligne Hors ligne

Modérateur Frag'n'Fun
GTAOnline Addict
*

GO - SFTDM

Messages: 1134


« Répondre #9 le: 05 Juin 2011 à 11:44:08 »

je suis complétement soul moi, en effet j'avais pas vu la fautes, pourtant je suis repassé trois fois dessus.
merci!

Journalisée


Citizen
Scripteur LUA confirmé
Hors ligne Hors ligne


Moderateur
Grand Banditisme
*

Messages: 109


WWWtvrmntcn1

« Répondre #10 le: 05 Juin 2011 à 12:51:14 »

Pas de souci et désolé pour cette faute de frappe ( qui a fait perdre pas mal de temps  dry )
Journalisée


The rEvolution is coming ...

Créateur d'un serveur MTA RP
2 ans de scripting
"Ce n'est pas un bug mais une fonctionnalité"
~CG~FatalTerror
Hors ligne Hors ligne

Criminel entrainé
*

Messages: 38


« Répondre #11 le: 18 Juin 2011 à 23:04:13 »

Probleme de maikill résolu, le mien aussi Très souriant

Merci a vous !
Journalisée
Pages: [1]   Haut de page
Imprimer
Aller à:  

Theme créé par padexx et modifié par GTAOnline.fr
Page générée en 0.201 secondes avec 23 requêtes.
Forum GTAOnline.fr 2.0 | Design par : Lalu et GtaManiac
Merci a toute la communaute pour son support !
Copyright © 2004-2012 - GTAOnline.fr | GTAPro.com | Contact