Jump to content

Aiuto MOOSE


Khamul

Recommended Posts

Ciao a tutti, scrivo anche qui, ho posto la domanda in internazionale ma ancora nessun riscontro. Non so se qualcuno di voi è super pratico di Moose, io mi ci sto avvicinando da poco, mi sono guardato un bel po' di tutorial di FlightControl e alcune cose riesco ora a gestirle, come lo spawn ad esempio. Una cosa però proprio non mi riesce: sto cercando di mandare un messaggio ad ogni client, ogni volta che quest'ultimo entra in una particolare zona (una MOA ad esempio). Il messaggio deve essere mandato come se fosse una switched condition, cioè ogni volta che esce e rientra. Con i trigger e le switch è abbastanza banale da fare, la cosa diventa importante quando ho 4 zone da controllare e 30 client!! Quindi mi sono immaginato che con Moose la cosa si potesse fare in poche righe di script, una roba del tipo:

 

-- Create the zone

MTA = ZONE:New("STATIC BOMB MTA B")

-- Create a set of Cadetti Client

Cadetti = SET_CLIENT:New():FilterCoalitions("blue"):FilterStart()


Cadetti:ForEachClientInZone(MTA,MESSAGE:New("PROVA CAZZO",10):ToClient(Cadetti))

 

Ovviamente non funziona e non so come approcciare la cosa, avete suggerimenti, per favore?:smartass:


Edited by Khamul

TU NE CEDE MALIS SED CONTRA AUDENTIOR ITO

 

_________________________________________

 

Asrock Fatal1ty Gaming K6+, i5-6600K, 32 GB DDR4, Asus GTX 1070 Strix, SSD 500GB, HDD 1TB, Win 10 x64, Monitor LG Ultrawide 29UM67, Soundblaster Z+Sennheiser Game One, HOTAS Warthog, TFRP Thrustmaster, TrackIr

Link to comment
Share on other sites

Allora il suggerimento è sempre lo stesso, provare la funzione singola e poi dare un'occhiata sempre al dcs.log, se c'è qualche errore alla fine esce sempre li anche se sbagli qualcosina sul moose ;)

 

Altro consiglio, cercare sempre "ispirazione" dalle missioni di esempio del moose, ci sono molti esempi interessanti.

 

Ultima cosa, vedo che stai facendo un ForEachClient, quindi devi gestire poi singolo client, mentre invece cerchi di restituire il messaggio mandandolo a tutto il SET, quindi non a un singolo client, ed è quello il problema che hai in questo tuo script.

 

Provalo cosi:

 

-- Create the zone

MTA = ZONE:New("STATIC BOMB MTA B")

-- Create a set of Cadetti Client

Cadetti = SET_CLIENT:New():FilterCoalitions("red"):FilterStart()

Cadetti:ForEachClientInZone( MTA, 
function( MooseClient )
	if MooseClient:IsAlive() then
		MESSAGE:New("PROVA CAZZO", 20 ):ToClient( MooseClient )
	end
end
)

 

Dove nella variabile "MooseClient" tu avrai il singolo client a cui passare il messaggio:

 

Non ho avuto modo di provarlo, in serata magari se riesco provo e ti dico ;)


Edited by Maverick87Shaka

FlighRIG => CPU: RyZen 5900x | RAM: 64GB Corsair 3000Mhz | GPU: nVIDIA RTX 4090 FE | OS Storage: SSD NVMe Samsung 850 Pro 512GB, DCS Storage: SSD NVMe Sabrent 1TB | Device: Multipurpose-UFC, VirPil T-50, TM WARTHOG Throttle, TrackHat, MFD Cougar with screen.

Our Servers => [ITA] Banshee | Krasnodar - PvE | PersianConquest PvE Live Map&Stats | Syria Liberation PvE Conquest

Support us on twitch subscribing with amazon prime account linked, it's free!

Link to comment
Share on other sites

Ottimi consigli, in effetti il log non l'ho mai guardato per esempio. Si ho visto anche che nel mio mancava la funzione, provo a dargli un occhio. Grazie!! :thumbup:

TU NE CEDE MALIS SED CONTRA AUDENTIOR ITO

 

_________________________________________

 

Asrock Fatal1ty Gaming K6+, i5-6600K, 32 GB DDR4, Asus GTX 1070 Strix, SSD 500GB, HDD 1TB, Win 10 x64, Monitor LG Ultrawide 29UM67, Soundblaster Z+Sennheiser Game One, HOTAS Warthog, TFRP Thrustmaster, TrackIr

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...