cs_Lodan51
Messages postés57Date d'inscriptionlundi 4 juillet 2005StatutMembreDernière intervention19 janvier 2006
-
3 janv. 2006 à 18:27
cs_Lodan51
Messages postés57Date d'inscriptionlundi 4 juillet 2005StatutMembreDernière intervention19 janvier 2006
-
4 janv. 2006 à 12:45
Bonjour à tous !
Voilà mon problème est le suivant : je creé actuelement un script et tout fonctionne sauf une chose, un chargeur de thèmes qui permet donc de changer les fonds de salon, privé, status etc....
Je reçois sans cesse un méssage d'erreur dans mon status lorsque je veux charger un thème qui est le suivant :
* /background: no such file 'C:\Program' (line 55, theme.ini)
En théorie cela signifie si je ne me trompe pas que le chemin d'access vers les images est éronné mais en fait aprés avoir vérifié au moins dix fois, tout est bon en ce qui concerne le chemin d'accéss. D'autant plus que dans mes variables, les chemins d'access sont bien associés à leurs variables réspéctives.
Exemple : %salon C:\Program Files"nom de mon script"\themes\principal\channel.jpg est le chemin d'access qui apparait lorsque je veux charger le thème principal pour l'image salon, ce chemin d'access est bien correct ainsi que pour tout les thèmes et toutes les images. Mais le méssage d'erreur reste lui aussi.
Pour finir, voici la remote complete de mon chargeur de thème, si vous y voyez le soucis merci de me dire de quoi il s'agit svp :
on *:dialog:theme:init:*: {
did -r theme 4
set %nombre.theme $lines($mircdirthemes\theme.txt)
set %theme.numero 1
while (%theme.numero <= %nombre.theme) {
did -a theme 4 $read($mircdirthemes\theme.txt,%theme.numero)
inc %theme.numero
}
if (!%theme.choisi.index) { set %theme.choisi.index 1 }
did -c theme 4 %theme.choisi.numero
; set %po $window(-1).w $+ x $+ $window(-1).h
}
on *:dialog:theme:mouse:*: {
; ----- souris sur bouton appliquer -----
if ($mouse.x > 5) && ($mouse.x < 160) && ($mouse.y > 160) && ($mouse.y < 185) { set %theme.appliquer on }
else { set %theme.appliquer off }
; ----- souris sur bouton fermer -----
if ($mouse.x > 180) && ($mouse.x < 250) && ($mouse.y > 160) && ($mouse.y < 185) { set %theme.fermer on }
else { set %theme.fermer off }
}
on *:dialog:theme:sclick:*:{
if (%theme.appliquer == on) {
set %theme.choisi.numero $did(4).sel
set %theme.choisi $did(4).text
appliquer.theme
}
if (%theme.fermer == on) { dialog -x theme theme }
}
alias appliquer.theme {
; ----- chargement des images du thème choisi -----
if (%po == 800x600) { set %tool $mircdirthemes\ $+ %theme.choisi $+ \tool600.jpg | set %switch $mircdirthemes\ $+ %theme.choisi $+ \switch600.jpg }
if (%po == 1024x768) { set %tool $mircdirthemes\ $+ %theme.choisi $+ \tool.jpg | set %switch $mircdirthemes\ $+ %theme.choisi $+ \switch.jpg }
if (%po == 1280x1024) { set %tool $mircdirthemes\ $+ %theme.choisi $+ \tool.jpg | set %switch $mircdirthemes\ $+ %theme.choisi $+ \switch.jpg }
set %statut $mircdirthemes\ $+ %theme.choisi $+ \status.jpg
set %salon $mircdirthemes\ $+ %theme.choisi $+ \channel.jpg
set %main $mircdirthemes\ $+ %theme.choisi $+ \main.jpg
set %prive $mircdirthemes\ $+ %theme.choisi $+ \prive.jpg
; --- status windows et @windows en fill screen ---
background -sf %statut
background -f @HLs %main
background -f @Notices %main
background -f @Invite %main
; --- barre de channel ---
background -h %switch
; --- toolbar ---
background -l %tool
; --- fond du script général (main) ---
background -mf %main
; --- fond des salons ---
var %channel = 1
while ( %channel <= $chan(0) ) {
background -ef $chan(%channel) %salon
inc %channel
}
; --- fond des privés ---
var %private = 1
while ( %private <= $query(0) ) {
background -ef $query(%private) %prive
inc %private
}
Voilà donc ma remote. En éspérant avoir été le plus clair possible et avoir de l'aide.
Merci d'avance !
cs_tofu
Messages postés1726Date d'inscriptionvendredi 12 septembre 2003StatutMembreDernière intervention13 juin 20091 3 janv. 2006 à 18:47
le plus simple pour pas se galérer c'est de se faire une aliase qui retourne le path du script avec comme l'a dit fjxokt des guillemets pour permettre de gérer les espaces du path et après d'utiliser cet alias pour aller chercher les fichiers.
fjxokt
Messages postés840Date d'inscriptionvendredi 28 janvier 2005StatutMembreDernière intervention25 février 20091 3 janv. 2006 à 19:16
oui, et les personnes qui utiliseront son script (s'il sort un jour) , elles devront aussi le mettre obligatoirement a la racine ?
Sympa comme contrainte
cs_Lodan51
Messages postés57Date d'inscriptionlundi 4 juillet 2005StatutMembreDernière intervention19 janvier 2006 3 janv. 2006 à 19:27
Donc si je comprend bien ce que vous dites, le chemin d'accés devrait être dans C:\ tout simplement sans passer par Program Files/"nom de mon script"/thémes pour chaques chemin d'accéss à ch aque thémes et images ?
Si ce n'est pas cela pourriez-vous me donner un exemple ou même encore me dire comment creé cet alis qui retournerai le chemin d'access car à la base je modifie ce chargeur de thème (avec l'accord de son auteur), et, je ne suis pas on va dire "calé" assez en scripting.
cs_Lodan51
Messages postés57Date d'inscriptionlundi 4 juillet 2005StatutMembreDernière intervention19 janvier 2006 3 janv. 2006 à 19:39
j'ai placé mon dossier de script dans C: donc cela me donne C:"nom de mon script"\themes\principal\main.jpg pour le chemin d'access à mes images.
Mais voilà que j'ai un autre méssage d'erreur qui apparait : * /background: insufficient parameters (line 60, theme.ini).
En vérifiant à cette ligne, j'ai trouvé cela : background -h %switch
fjxokt
Messages postés840Date d'inscriptionvendredi 28 janvier 2005StatutMembreDernière intervention25 février 20091 3 janv. 2006 à 19:45
bon alors deja tu peux replacer ton script là ou il etait
on t'as dit que pour éviter les pbs dûs aux chemins avec espaces, il fallait que tu encadre ton chemin avec des guillements
tu peut creer un alias par exemple
alias quote return $+(",$1-,")
et pour t'en servir $quote(blabla)
exemple
$quote(c:\program files) te retournera "c:\program files" et là, plus de problème d'espace
sinon ton erreur "/background: insufficient parameters" vient surement du fait que ta variable %switch doit être vide
cs_Lodan51
Messages postés57Date d'inscriptionlundi 4 juillet 2005StatutMembreDernière intervention19 janvier 2006 3 janv. 2006 à 19:59
Oui tout à fait dans mes variables, %switch et %tool sont vides mais je ne comprend pas pourquoi ?
Y a t'il quelque chose de faux dans ma grande remote du dessus pour que cela se produise ?
Sinon mes images de salon, privé, et de status par %statut, %prive, et, %main et %salon sont bien remplies avec le chemin d'access
cs_lebaronrouge
Messages postés288Date d'inscriptionlundi 8 mars 2004StatutMembreDernière intervention14 février 2009 3 janv. 2006 à 20:37
Pourquoi ne pas utiliser le bon vieux $mircdir ?
J'avais aussi un probleme de chemin de fichier avec mo nscritp selon l'endroit ou il s'installait les chemins d'icones de dialogues ne corepsondaient plus , avec par exemple icon $mirdirscript/icones tout est ok ou que soit instalé le script
cs_tofu
Messages postés1726Date d'inscriptionvendredi 12 septembre 2003StatutMembreDernière intervention13 juin 20091 3 janv. 2006 à 20:54
perso j'avais eu des soucis même avec $mircdir. le mieux est de mettre le chemin entre quotes on est sur que ça marche à tous les coups. et le mieux (enfin je pense) c'est de mettre $mircdir entre quotes :q
cs_Lodan51
Messages postés57Date d'inscriptionlundi 4 juillet 2005StatutMembreDernière intervention19 janvier 2006 4 janv. 2006 à 12:45
Le proposer fini oui pourquoi pas. J'attends juste de rencontrer l'auteur original de cette remote qui l'a creé et qui m'a donner l'accord pour la modifier sur mon script. Car certe cela fonctionne sur mon script mais j'aimerai par la suite mettre celui-ci en téléchargement sur mon site, mais pas sans un nouvel accord, et je pense que vous trouverez cela normal
Donc dés que j'en sais un peu plus, je suis ok pour le proposer !
Encore merci.
PS : Il fonctionne parceque j'ai mis le dossier du script dans C:// en le retirant donc de Program Files, mais ce n'est pas un soucis ça si je met une notice d'installation au cas où il serait en dl.