Dadex Posted February 20, 2013 Share Posted February 20, 2013 Salve a tutti, devo creare uno script che produca un suono ogni volta che miro (ad esempio con il cecchino). Qualcuno può dirmi l'evento da utilizzare per fare ciò ? P.S. = ho già provato con onClientPlayerTarget ma riproduce un suono solo quando trova un elemento valido. Grazie in anticipo, saluti. Link to comment
HunT Posted February 21, 2013 Share Posted February 21, 2013 Altre informazioni ? Cmq visto che devi usare il mouse destro per mirare io inizierei da qui. Poi fai il controllo Dell arma e se hai ad esempio il cecchino ti parte il suono,se hai un altra arma non suona. Se inizi la script posso aiutarti,ma se devo fartela io puoi scordartelo Ho dei brutti precedenti. Tipo un frocio di merda dal nome monty o stolka. Mi fece fare una script ed ora la sta vendendo. Vendendo per modo di dire. Link to comment
Dadex Posted February 21, 2013 Author Share Posted February 21, 2013 Ciao, grazie della risposta. Comunque, in pratica volevo creare uno script che, appena il giocatore mirava con il cecchino, riproduceva il battito del cuore. (Sì, mi sono ispirato a C.O.D. ) Allora ho deciso di controllare nella Wiki gli eventi Client-Side ma ho trovato solo un evento che è in grado di svolgere una funzione solo quando trovava un elemento valido (veicoli, pedoni, giocatori, ecc.) che è "OnClientPlayerTarget". Ho seguito il tuo consiglio, Hunterix. Direi che sono riuscito a fare ciò che volevo: battito = playSound("heartbeat.wav", true) -- Il suono che deve essere riprodotto setSoundPaused(battito, true) -- Lo mette in pausa all'inizio setSoundSpeed(battito, 0.85) -- Lo rallenta di un po' local giocatore = getLocalPlayer() function controllo() local arma = getPedWeapon(giocatore) -- Ricava l'arma che sta usando il giocatore local stato = getControlState ("aim_weapon") -- Ricava lo stato del giocatore if (arma==34) then -- Se è uno Sniper Rifle if (stato) then -- Se lo stato è "true" (se sta mirando) if (isSoundPaused(battito)) then -- Se il suono è in pausa setSoundPaused(battito, false) -- Lo riproduce end else setSoundPaused(battito, true) -- Se non sta mirando il suono rimane in pausa end else setSoundPaused(battito, true) -- Se l'arma non è uno Sniper Rifle il suono rimane in pausa end end setTimer(controllo, 500, 0) -- Timer che controlla lo stato del giocatore In poche parole c'è un Timer che controlla sia se l'arma è uno Sniper Rifle e sia se il giocatore sta mirando. Se si verificano entrambe le condizioni allora riproduce il suono altrimenti lo rimane in pausa. So che è un po' un pasticcio ma almeno riesce a riprodurre il suono quando voglio. Saluti. Link to comment
HunT Posted February 21, 2013 Share Posted February 21, 2013 Che soddisfazione vedere un altro italiano che scrive funzioni Ad esser sincero avevo in mente un altra soluzione basata sul bindkey "down" e "up" Se hai risolto mi fa piacere. Link to comment
Dadex Posted February 21, 2013 Author Share Posted February 21, 2013 Wow, hai ragione, non ci avevo proprio pensato. Intendevi utilizzare la funzione bindKey sul tasto destro del mouse e fare sempre i controlli da me scritti in precedenza ? Se è così proverò Grazie Hunterix. Link to comment
HunT Posted February 21, 2013 Share Posted February 21, 2013 Giusto. La tua soluzione è un po' scontata. Con il setTimer la funzione circola sempre e questo può causare lag,invece con il bindkey la funzione parte solo se premi il tasto. Quindi io ti consiglierei di fare per prima cosa le due funzioni enableSound disableSound Poi fai la funzione funzione principale. Quindi se hai l arma specifica bindkey enableSound unbindkey disableSound. Però se proprio vuoi imitare call of duty fallo per bene ;D Ovvero,se premi il tasto destro si mette a mirare e fai partire un suono di fondo + fai muovere la camera,se premi maiuscolo si ferma la camera e parte il battito. Se ti serve una mano basta dirlo. Link to comment
Dadex Posted February 21, 2013 Author Share Posted February 21, 2013 Bene, anche se è la seconda volta che uso la funzione "bindKey" credo che stia procedendo bene: function attiva(key, keyState) battito = playSound("heartbeat.wav", true) -- Il suono viene riprodotto quando c'è il click destro del mouse end function disattiva(key, keyState) stopSound(battito) -- Quando lascio il click destro del mouse si ferma il suono end bindKey("mouse2","down",attiva) -- Lega il click destro del mouse alla funzione che riproduce il suono bindKey("mouse2","up",disattiva) -- Lega il rilascio del click destro del mouse alla funzione che ferma il suono È tutto OK, per ora ? Se è così procedo e aggiungo un paio di condizioni per vedere se l'arma è il cecchino che desidero e se il giocatore in quel momento sta mirando. EDIT: Ok, credo di avere un piccolo problema. Mi spiego: 1) Ho legato il click del mouse alle funzioni; 2) Ho messo la condizione dell'arma (ovvero controlla se è uno Sniper Rifle); 3) Ho messo la condizione dello stato del giocatore (se sta mirando o no); 3) Entro su MTA e provo se funziona e mi accorgo che il controllo dello stato avviene prima che io mirassi, per questo risulta "false" e non accade nulla; 4) Decido quindi di utilizzare la funzione "isPedOnGround" in modo da evitare la riproduzione del suono quando il giocatore è in aria, nuota, cade, vola, guida, ecc. (Sì lo so sono un perfettino, ma quando "programmo" per me deve essere tutto al suo posto); 5) Controllo di nuovo il tutto e mi accorgo che, dopo una caduta, quando il giocatore tenta di rialzarsi e preme il click destro del mouse, il suono viene riprodotto prima che mira. Quindi, c'è un modo definitivo per risolvere questo stupido dilemma ? Beh, se non c'è rimedio posso anche rimanere tutto così. Chi è che pensa a mirare con il cecchino mentre cade dal cielo ? Link to comment
HunT Posted February 21, 2013 Share Posted February 21, 2013 Posta la risorsa che hai fatto fin ora qui o in PM te la finisco io. i snipers pro sparano al volo Link to comment
Dadex Posted February 21, 2013 Author Share Posted February 21, 2013 Anche se non ti conosco mi piaci ragazzo Comunque, ecco tutto quello che ho fatto fino ad ora: local giocatore = getLocalPlayer() function attiva(key, keyState) local arma = getPedWeapon(giocatore) -- Ricava l'arma in uso if (arma==34) then -- Se è uno Sniper Rifle if (isPedOnGround(giocatore)) then battito = playSound("heartbeat.wav", true) -- Il suono che deve essere riprodotto setSoundSpeed(battito, 0.85) end end end function disattiva(key, keyState) stopSound(battito) end bindKey("mouse2","down",attiva) bindKey("mouse2","up",disattiva) Secondo te si può migliorare o abbellire ? Link to comment
HunT Posted February 21, 2013 Share Posted February 21, 2013 Ovviamente function sniperSound ( _, keyState ) local giocatore = getLocalPlayer() local arma = getPedWeapon(giocatore) if (isPedOnGround(giocatore)) and arma == 34 then if ( keyState == "down" ) then battito = playSound("heartbeat.wav", true) elseif ( keyState == "up" ) then stopSound ( battito ) end end end bindKey ( "mouse2", "both", sniperSound) Link to comment
Dadex Posted February 22, 2013 Author Share Posted February 22, 2013 Perfetto Tutto OK, funziona tutto alla perfezione. Grazie del tuo aiuto Hunterix. Ora grazie a te so dove e a chi rovolgermi. Ci si vede al prossimo Topic, anche perchè ho molte cose ancora da chiedere. Saluti Link to comment
HunT Posted February 22, 2013 Share Posted February 22, 2013 Sono qui per questo,anzi mi fa molto piacere aiutarti visto che sei quasi l'unico a scrivere le funzioni da solo (a parte me ). Link to comment
xShocKz Posted February 22, 2013 Share Posted February 22, 2013 Sono qui per questo,anzi mi fa molto piacere aiutarti visto che sei quasi l'unico a scrivere le funzioni da solo (a parte me ). ç_ç Link to comment
HunT Posted February 25, 2013 Share Posted February 25, 2013 Sono qui per questo,anzi mi fa molto piacere aiutarti visto che sei quasi l'unico a scrivere le funzioni da solo (a parte me ). ç_ç Cosa? Se mi trovi un post contenente una funzione scritta da te ti chiedo scusa. Sinceramente ne dubito Link to comment
xShocKz Posted February 25, 2013 Share Posted February 25, 2013 Non sono così tardo da scriverle in pubblico ç_ç Link to comment
☻ᶠᶸᶜᵏᵧₒᵤ☻ Posted June 9, 2013 Share Posted June 9, 2013 Mi servirebbe anche a me uno script così, potreste fornirmelo? Grazie Link to comment
Dadex Posted August 29, 2013 Author Share Posted August 29, 2013 Mi servirebbe anche a me uno script così, potreste fornirmelo? Grazie Scusate un po' per il necropost, ma ci tenevo a postare questo piccolo lavoretto perchè ho intenzione di migliorarlo ancora di più un giorno. È una community, no? Finchè si può ci si aiuta. Ho fatto l'upload dello script: https://community.multitheftauto.com/in ... ls&id=7816 (ovviamente con il permesso di Hunterix, ho messo anche i ringraziamenti dappertutto <.<, se qualcosa non va ti prego di contattarmi) Buon snippaggio a tutti quelli che lo voglio provare. Link to comment
HunT Posted August 29, 2013 Share Posted August 29, 2013 Non c era bisogno del credit,cmq aggiungi la descrizione in inglese senó ti danno un rate basso. Link to comment
HunT Posted August 29, 2013 Share Posted August 29, 2013 Cmq se proprio vuoi trasformare questa resource in qualcosa di unico io ho in mente delle idee che nessuno ha mai fatto. Gia sto creando qualcosa di simile con le skin e weapon. In pratica dai la possibilità al player di personalizzare tutto tramite fetchremote (link immagine e suoni) Se vuoi farlo fammi sapere. Link to comment
Dadex Posted August 29, 2013 Author Share Posted August 29, 2013 Fatto, grazie dei tuoi consigli EDIT: scusa adesso ho letto il tuo post. Ci scriviamo in PM, allora ? Link to comment
Dadex Posted August 29, 2013 Author Share Posted August 29, 2013 Meglio su steam Inviata richiesta Link to comment
HunT Posted August 29, 2013 Share Posted August 29, 2013 Pensandoci bene non vedo come potresti aiutarmi,perche la script lo faccio io,immagini e suoni non ce ne vogliono perche li seleziona il player tramite url. Alla fine quando la finisco in community metto hunterix,dadex. Cmq ci sentiamo su steam stasera e ne parliamo. Link to comment
Dadex Posted August 29, 2013 Author Share Posted August 29, 2013 No problem, fammi sapere Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now