Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
yogurt

Droplist+button Maxscript

Recommended Posts

Ciao a tutti,

magari qui trovo qualcuno che puo' aiutarmi.

vorrei fre una cosa con maxscritp per velocizzare alcune operazioni che faccio spesso. 

partiamo dal codice

rollout action "actionlist" width:150 height:128
(
	dropDownList 'DropList1' "temp" pos:[15,25] width:100 height:40 items:#("azione1", "azione2","azione3") selection:10 align:#left
	button 'playaction' "play" pos:[15,70] width:100 height:20 toolTip:"play" align:#left
)
createDialog  action

allora, ho un droplist con delle voci e un bottone play. come faccio a dirgli quando seleziono "azione1"  e schiaccio play esegui quellazione mentre se seleziono un altra voce fai quest'altra azione?

 

idee? ho provato diverse cose copiando codici qua e la ma non funziona ( e io non sono competente in questa cosa e a parere mio consultare la guida in linae di maxscritp sognifica come minimo un travaso di bile)

grazie .

pace e amore

Share this post


Link to post
Share on other sites

Ciao Davide,

puoi entrarci semplicemente facendo un If, mi sembra la strada più semplice da gestire.

Puoi scegliere se fare un controllo sulla stringa contenuta con un selected oppure sul numero dell'array selezionato 1 2 3 con un selection

 


if action != undefined do destroyDialog action
try destroyDialog action catch()

 

rollout action "actionlist" width:150 height:128
(
    dropDownList DropList1 "temp" pos:[15,25] width:100 height:40 items:#("azione1", "azione2","azione3") selection:10 align:#left
    button playaction "play" pos:[15,70] width:100 height:20 toolTip:"play" align:#left
        
    on playaction pressed do
    (
        If DropList1.selected == "azione1" do (print "azione1")
        If DropList1.selected == "azione2" do (print "azione2")
        If DropList1.selected == "azione3" do (print "azione3")
        
        If DropList1.selection == 1 do (print "azione1")
        If DropList1.selection == 2 do (print "azione2")
        If DropList1.selection == 3 do (print "azione3")
    )
)

createdialog  action

Share this post


Link to post
Share on other sites
21 minuti fa, mOcrAm ha scritto:

Ciao Davide,

puoi entrarci semplicemente facendo un If, mi sembra la strada più semplice da gestire.

Puoi scegliere se fare un controllo sulla stringa contenuta con un selected oppure sul numero dell'array selezionato 1 2 3 con un selection

 

 


if action != undefined do destroyDialog action
try destroyDialog action catch()

 

rollout action "actionlist" width:150 height:128
(
    dropDownList DropList1 "temp" pos:[15,25] width:100 height:40 items:#("azione1", "azione2","azione3") selection:10 align:#left
    button playaction "play" pos:[15,70] width:100 height:20 toolTip:"play" align:#left
        
    on playaction pressed do
    (
        If DropList1.selected == "azione1" do (print "azione1")
        If DropList1.selected == "azione2" do (print "azione2")
        If DropList1.selected == "azione3" do (print "azione3")
        
        If DropList1.selection == 1 do (print "azione1")
        If DropList1.selection == 2 do (print "azione2")
        If DropList1.selection == 3 do (print "azione3")
    )
)

createdialog  action

 

ti voglio un sacco di bene

Share this post


Link to post
Share on other sites

Io mi sono fatto dei pulsanti Che Svolgono delle azioni come in Photoshop 

tipo aggiungere uvwma già  con delle coordinate oppure tramite editpoli aggiungere cuciture 

puoi farlo tramite maxscript listener che Registra le operazioni che vengono fatte .

 

Share this post


Link to post
Share on other sites
8 ore fa, Filippo Soldateschi ha scritto:

Che bello.  Tipo le actions in photoshop?  Cioè registri le azioni e poi copi e incolli su max script e lo salvi ? Mi pare troppo bello per essere vero.... non è che ci vuole comunque un minimo di conoscenza di linguaggio? .... 

 

io ho seguito questo tutorial

https://www.luxuryvisuals.com/jaked3d/how-to-record-actions-in-3ds-max-like-in-photoshop

 

una volta capito il sistema è abbastanza semplice

devi ricordarti che non sono veri script quindi faranno solo la ripetizione dell'azione e non potranno adattarsi 

però per le operazioni ripetitive sono ottimi


Edited by deam

Share this post


Link to post
Share on other sites

già che ci sono vi chiedo anche un'altra cosa:

un'azione importa un file esterno. questo file è dove si trova lo script ma il posto di dove si trova lo script puo essere diverso a seconda di dove è installato max ( alcuni computer ce l'hanno in c altri in d alcuni hanno max 2018 altri max 2019) che indirizzo metto? ho provato mettendo come in html ../ prima ma non funziona.. è possibile fare una cosa cosi ?

 

Share this post


Link to post
Share on other sites
3 ore fa, yogurt ha scritto:

già che ci sono vi chiedo anche un'altra cosa:

un'azione importa un file esterno. questo file è dove si trova lo script ma il posto di dove si trova lo script puo essere diverso a seconda di dove è installato max ( alcuni computer ce l'hanno in c altri in d alcuni hanno max 2018 altri max 2019) che indirizzo metto? ho provato mettendo come in html ../ prima ma non funziona.. è possibile fare una cosa cosi ?

 

Allora lo script come lo avvii? Parte dalla cartella predefinita degli script di 3ds lo avvii semplicemente con il drag e drop lo distribuisci a tante persone e quindi devi prevedere tutte le molteplici possibilità... Insomma con qualche info in più magari si trova una soluzione... Poi questo script cosa deve fare importare tanti file uno solo... 

Share this post


Link to post
Share on other sites

altra domanda, la faccio qui che tanto è lo stesso progetto che ogni ttanto riprendo in mano e perfeziono: c'è un numero massimo di linee di codice? perche sono a 16K e quando lancio lo script ma va giù max.. e a stima ne dovro' aggiungere ancora un 8-10K

 

Il 7/3/2019 at 18:22 , mOcrAm ha scritto:

Allora lo script come lo avvii? Parte dalla cartella predefinita degli script di 3ds lo avvii semplicemente con il drag e drop lo distribuisci a tante persone e quindi devi prevedere tutte le molteplici possibilità... Insomma con qualche info in più magari si trova una soluzione... Poi questo script cosa deve fare importare tanti file uno solo... 

ho risolto facendo un installer che mi crea una cartella in c e carico tutto la dentro 

Share this post


Link to post
Share on other sites
27 minuti fa, mOcrAm ha scritto:

Non riesci a semplificare nulla con funzioni o altro? 

no. sono quasi tutte righe cosi

If DropListNCS.selected == "xxxx" do (meditMaterials[2] = CoronaBitmap fileName:"C:\Autodesk\Plug-in\xxx\xxx\xxx\xxxxx.jpg" max mtledit
meditMaterials[1] = CoronaMtl ()
meditMaterials[1].texmapDiffuse = CoronaBitmap () 
meditMaterials[1].texmapDiffuse.filename = "C:\Autodesk\Plug-in\xxx\xxx\xxx\xxxxx.jpg"
meditMaterials[1].texmapDiffuse.gamma = -1 )

e solo questa parte deve essere ripetuta per 4404 volte

Share this post


Link to post
Share on other sites

Purtroppo non vedendo il codice e non capendo esattamente cosa devi fare è dura aiutarti...

Sicuro però che se come dici quella parte deve essere ripetuta vuol dire che in qualche maniera si può semplificare

Share this post


Link to post
Share on other sites

ok risolto. c'erano delle  " () " di troppo. sono 27309 righe di codice

e vi diro' che ho anche finito. adesso devo trovare un modo per venderlo.. vi ho messo nei ringraziamenti


Edited by yogurt

Share this post


Link to post
Share on other sites
1 ora fa, yogurt ha scritto:

ok risolto. c'erano delle  " () " di troppo. sono 27309 righe di codice

e vi diro' che ho anche finito. adesso devo trovare un modo per venderlo.. vi ho messo nei ringraziamenti

 

Ma quindi puoi dirci Qualcos in più? Come lo distribuisci il codice se lo vendi? Per curiosità come lo proteggi? 


Edited by mOcrAm

Share this post


Link to post
Share on other sites
3 ore fa, yogurt ha scritto:

ok risolto. c'erano delle  " () " di troppo. sono 27309 righe di codice

e vi diro' che ho anche finito. adesso devo trovare un modo per venderlo.. vi ho messo nei ringraziamenti

 

 

Forse sono troppe tutte quelle righe 😁

Sicuro che siano indispensabili? Non ci sono funzioni da utilizzare per evitare di ripetere tutto?
Puoi utilizzare anche librerie esterne create ad hoc da richiamare per snellire lo script.
Utili se un domani dovrai modificarlo o aggiornarlo. 😆

Share this post


Link to post
Share on other sites
Il 14/5/2019 at 18:58 , mOcrAm ha scritto:

Ma quindi puoi dirci Qualcos in più? Come lo distribuisci il codice se lo vendi? Per curiosità come lo proteggi? 

 

sistemo le ultime cose poi faccio partire una specie di preorder.

pensavo di distribuirlo con Gumroad, e per proteggerlo ho diverse idee: al momento ho cryptato il file ms e ho modificato i nomi dei file a cui fa capo cosi è quasi impossibile risalire quale file è e fa cosa o copiarne una parte, non so ancora se lo faro' ma volendo posso mettere una password o licenza all'installer, e come ultima cosa dentro uno dei file, sono più di 4400, inserisco un tag che mi dice chi ha comprato quel installer (ti sfido a trovarlo, e cosi se vuoi metterlo su internet e io lo trovo so a chi mandare gli avvocati..nel magico mondo fatato dello yogurt) cmq dubito che una persona si metta li a cercare di decrittarlo o a darlo in giro ( forse tra studenti ma chissenefrega) anche perchè pensavo di venderlo ad un prezzo talmente basso che se lo fai lo fai solo perchè sei stro*zo (2 euro studenti 4 professionisti e aziende) . 

mi sono sempre dimenticato di risponderti .)

Share this post


Link to post
Share on other sites

cmq al momento :

il sito è praticamente pronto

lo script per max + corona è pronto

lo script per max + scanline volendo c'è

lo script per max + vray è quasi pronto ( appena capisco perchè non li collega le bitmap al materiale è fatto)

lo script per max + octane volendo c'è

lo script per max + fstorm c'è devo solo verificarlo

devo preparare la documentazione e la licenza d'utilizzo

e devo fare qualche immagine per l'installer 

logo e icone ci sono

 

anzi se qualcuno vuole farmi da betatester su max ben volentieri 

Share this post


Link to post
Share on other sites
1 ora fa, yogurt ha scritto:

[....]cmq dubito che una persona si metta li a cercare di decrittarlo[...]

 

Sei sicuro? Heheheheeheheheheehh 😄  Di folli ce ne sono nel deep web! 

Share this post


Link to post
Share on other sites
16 ore fa, Michele71 ha scritto:

 

Sei sicuro? Heheheheeheheheheehh 😄  Di folli ce ne sono nel deep web! 

 

spacer.png

 

e questi non sono neanche un sesto. in più ci sono 31345 linee di codice criptate. se uno lo fa per 4 euro ha tutta la mia stima .

 

11 ore fa, mOcrAm ha scritto:

Non sei l'unico 🤣

 

abbiaate pazienza entro martedi saprete tutto

 

11 ore fa, mOcrAm ha scritto:

Se hai bisogno fischia...

 

ne approfitto, anzi visto che mi hai aiutato divcerse volte vorrei ringraziarti in qualche modo, pensavo di condividere con te una parte degli introiti, se ce ne saranno..

finisco l'installer e ti mando 

 


Edited by yogurt

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...
Aspetta! x

Ti piacerebbe rimanere sempre aggiornato sulle ultime novità nel campo della computer grafica?

Iscrivendoti alla Newsletter riceverai subito una mail con le indicazioni per scaricare gratuitamente:

  1. Le immagini HDRI presenti su HDRI pro
  2. Una sequenza di 300 immagini HDRI generata da Luca Deriu tramite il programma Real HDR