Foro especializado en Warcraft III y su editor
 
BuscarEntrar al ChatboxPortal del foroÍndiceSpellsRegistrarseConectarseGrupos de Usuarios
Eventos Actuales
¡ Bienvenido Invitado !

Editar Perfil

Tus temas
Tus Mensajes ()

Enlaces rápidos








Comparte | .
 

 Jass

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
[NtP]NtP
Soldado
avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 91
Reputación Reputación : 3
Monedas de oro : 198
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Jass Sáb Ene 06, 2018 12:57 am

Code:
[jass]globals
string my_music

endglobals

function InitSounds takes nothing returns nothing
set my_music="war3mapImported\\music.mp3"
endfunction

function music_action takes nothing returns nothing
call PlayMusicBJ(my_music)
endfunction

function music_main takes nothing returns nothing
set gg_music_main = CreateTrigger()
call TriggerAddAction(gg_music_main,function music_action)
endfunction

function main takes nothing returns nothing
call ExecuteFunc("music_main")

function music_cond takes nothing returns nothing
local integer i
loop
exitwhen i>11
call TriggerRegisterPlayerChatEvent(GetTriggerPlayer(),Player(i),"-music start",true)
set i = i + 1
endloop
endfunction

function music_main takes nothing returns nothing
set gg_music_main = CreateTrigger()
call TriggerAddCondition(gg_music_main,function music_cond)
call TriggerAddAction(gg_music_main,function music_action)
endfunction[/jass]

Ahora mi problema es que necesito que el comando
-music start reproduzca una sola vez la música y necesito que sea cualquier archivo de sonido que este sonido este en la ubicación war3mapImported  se reproduzca 1 vez y luego no se vuelva  reproducir a menos que yo vuelva a poner el comando -music start y quiero cambiar para que se reproduzca una música fija
a una específicamente ejemplo -music 1 acá señores el 1 seria el nombre de la musica y asi  que se pueda ir poniendo luego -music 2 que seria la musica llamada 2 literalmente si pueden ayudarme les agradecería y si no igualmente por tomarse el tiempo de leer mi complicado tema y lo siento si no me especifique bien espero entiendan y que pasen buenos días/noches/tardes *.*
Volver arriba Ir abajo
Marcos_M

avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 3105
Reputación Reputación : 520
Monedas de oro : 9620
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: Jass Sáb Ene 06, 2018 10:39 am

Pues este código está bastante mal hecho o.o

Pero antes de ayudarte a solucionar el problema con este código, seguro no prefieres hacerlo en GUI?
Volver arriba Ir abajo
[NtP]NtP
Soldado
avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 91
Reputación Reputación : 3
Monedas de oro : 198
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: Jass Sáb Ene 06, 2018 2:27 pm

hola marco-sempai :'v e.e el problema es que el mapa que estoy editando es desde adentro que me refiero con esto? solamente puedo usar el Jass no puedo usar el GUI por que tendría que ser el autor y no lo soy,si pudieras ayudarme solo con jass o si me dijeras de alguna forma de insertar el GUI como jass y solucionar y así poder poner comando de músicas o cualquier archivo de sonido estaría feliz
como sea lo dejo en tus manos se que eres un experto y me darás la mejor respuesta posible espero la respuesta .3 del post
Volver arriba Ir abajo
Marcos_M

avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 3105
Reputación Reputación : 520
Monedas de oro : 9620
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: Jass Sáb Ene 06, 2018 9:47 pm

Primero, la función main ya debería existir en el código y no puedes declararla nuevamente.
Segundo: El registro de eventos debería estar junto a las funciones de añadir condición y acción. Lo que tu hiciste es poner en la condición la función para añadir evento, por lo tanto tu detonador NO tiene evento.
Creas el mismo detonador 2 veces, lo que está mal
La variable "my_music" adquiere un valor en la función "InitSounds" pero eda función nunca corre, puedes darle un valor a my_music directamente al declararle en el bloque "globals"
Por último, deberías leer un poco de tutoriales de JASS antes de lanzarte a hacer esto
Volver arriba Ir abajo
[NtP]NtP
Soldado
avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 91
Reputación Reputación : 3
Monedas de oro : 198
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: Jass Dom Ene 07, 2018 8:38 pm

Hu, Ya veo cuantos tutos de jass hay ?
y aprovechando estaba editando un poder mediante el jass queria ver si es posible hacer que lo que te pasare a continuacion si es posible hacer un if getplayername para hacer que por ejemplo if getplayername  NtP en vez de ser Random sea una T en especifico

Dio T Funcion Random

Code:

[jass]function Trig_DioTActions takes nothing returns nothing
   local integer DioTRandom=GetRandomInt(1,Cool
   local timer ydl_timer
   local integer ydl_localvar_step=LoadInteger(YDHT,GetHandleId(GetTriggeringTrigger()),0xCFDE6C76)
   set ydl_localvar_step=ydl_localvar_step+3
   call SaveInteger(YDHT,GetHandleId(GetTriggeringTrigger()),0xCFDE6C76,ydl_localvar_step)
   call SaveInteger(YDHT,GetHandleId(GetTriggeringTrigger()),0xECE825E7,ydl_localvar_step)
   call SaveUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D,GetSpellAbilityUnit())
   call SavePlayerHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA3098AE2,GetOwningPlayer(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D)))
   call SaveGroupHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0x2C66B3D7,CreateGroup())
   call SaveInteger(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0x6C2DED4E,0)
   call SetUnitTimeScalePercent(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),45.00)
   call SetUnitInvulnerable(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),true)
   call SetUnitAnimationByIndex(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),6)
   call SaveLocationHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xF5F725A7,GetUnitLoc(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D)))
   if DioTRandom==1then
       call PlaySoundBJ(gg_snd_DioT1)
       call PauseUnit(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),true)
       call TriggerSleepAction(1.5)
       call PauseUnit(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),false)
   elseif DioTRandom==2then
       call PlaySoundBJ(gg_snd_DioT2)
       call PauseUnit(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),true)
       call SetUnitInvulnerable(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),true)
       call TriggerSleepAction(1.5)
       call PauseUnit(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),false)
       call SetUnitInvulnerable(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),false)
       call UnitResetCooldown(GetTriggerUnit())
   elseif DioTRandom==3then
       call PlaySoundBJ(gg_snd_DioT3)
       call PauseUnit(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),true)
       call SetUnitInvulnerable(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),true)
       call TriggerSleepAction(3)
       call PauseUnit(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),false)
       call SetUnitInvulnerable(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),false)
       call SetUnitMoveSpeed(GetTriggerUnit(),1000)
   elseif DioTRandom==4then
       call PlaySoundBJ(gg_snd_DioT4)
       call SetUnitLifeBJ(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger()),0xA1614B4D),1.00)
       call PauseUnit(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),true)
       call SetUnitInvulnerable(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),true)
       call TriggerSleepAction(10.5)
       call PauseUnit(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),false)
       call SetUnitInvulnerable(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),false)
       call SetUnitLifeBJ(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger()),0xA1614B4D),100)
       call SetUnitLifePercentBJ(GetTriggerUnit(),20)
       call SetUnitMoveSpeed(GetTriggerUnit(),150)
   elseif DioTRandom==5then
       call PlaySoundBJ(gg_snd_DioT5)
       call PauseUnit(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),true)
       call SetUnitInvulnerable(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),true)
       call TriggerSleepAction(2)
       call PauseUnit(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),false)
       call SetUnitInvulnerable(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),false)
       call UnitAddAbility(GetTriggerUnit(),'Apiv')
       call UnitRemoveAbility(GetTriggerUnit(),'A0KX')
       call UnitAddAbility(GetTriggerUnit(),'A0KX')
       call SetUnitAbilityLevel(GetTriggerUnit(),'A0KX',5)
   elseif DioTRandom==6then
       call PlaySoundBJ(gg_snd_DioT6)
       call PauseUnit(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),true)
       call SetUnitInvulnerable(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),true)
       call PauseUnit(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),false)
       call SetUnitInvulnerable(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),false)
   elseif DioTRandom==7then
       call PlaySoundBJ(gg_snd_DioT7)
       call PauseUnit(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),true)
       call TriggerSleepAction(2)
       call PauseUnit(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),false)
       call UnitAddAbility(GetTriggerUnit(),'A0AZ')
       call UnitAddAbility(GetTriggerUnit(),'A0L1')
   elseif DioTRandom==8then
       call PlaySoundBJ(gg_snd_DioT8)
       call PauseUnit(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),true)
       call SetUnitInvulnerable(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),true)
       call TriggerSleepAction(0.Cool
       call PauseUnit(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),false)
       call SetUnitInvulnerable(LoadUnitHandle(YDHT,GetHandleId(GetTriggeringTrigger())*ydl_localvar_step,0xA1614B4D),false)
       call UnitAddAbility(GetTriggerUnit(),'Apiv')
       call UnitRemoveAbility(GetTriggerUnit(),'A0KX')
       call UnitAddAbility(GetTriggerUnit(),'A0KX')
       call SetUnitAbilityLevel(GetTriggerUnit(),'A0KX',5)
   endif[/jass]
quisiera ver si la T Random #6 se podia cambiar a no random y que me tocara todo el tiempo si tengo el nombre NtP si me recomiendas a ver mas tutos de jass buscare en este foro haber  y gracias por responder .3
Volver arriba Ir abajo
Marcos_M

avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 3105
Reputación Reputación : 520
Monedas de oro : 9620
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: Jass Dom Ene 07, 2018 11:22 pm

Bastaría poner un If revisando el nombre del jugador
native GetPlayerName (player whichPlayer) returns string
Y dentro del if pones "set random = 6"

PD: no desvirtúes el tema, si tienes otra duda postea otro tema
PD2: Revisa la modificación que le hice a tu post, es para que pueda leer tu código sin tener dolor de ojos
Volver arriba Ir abajo
[NtP]NtP
Soldado
avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 91
Reputación Reputación : 3
Monedas de oro : 198
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: Jass Lun Ene 08, 2018 12:24 am

seria asi? ejemplo:
[jass]if [NtP]NtP set random = 6 native GetPlayerName(player wichplayer)return string[/jass]
Volver arriba Ir abajo
Marcos_M

avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 3105
Reputación Reputación : 520
Monedas de oro : 9620
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: Jass Lun Ene 08, 2018 12:55 am

No, la verdad que no. :\

Mira la sección de JASS del foro, ya usas if en el código que me pasaste, mira como son, una regla de las cadenas(o string) es que siempre van entre comillas.
Así que sí, lee tutoriales, revisa códigos simples de otra gente, porque yo no puedo explicarte la sintaxis. Es como preguntarle a un profesor de literatura qué palabra lleva acento
Volver arriba Ir abajo
[NtP]NtP
Soldado
avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 91
Reputación Reputación : 3
Monedas de oro : 198
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: Jass Lun Ene 08, 2018 1:47 am

Pues marcos-sempai y si hacemos un copy paste? ya que no me puedes explicar
pon mi nombre y ponlo terminado y ya simplemente me tocaría copiar y pegarlo o eso pienso pero si aun no cambias de parecer entonces no queda de otra ha si con el copy paste ya iría viendo donde lo pongo osea probando y viendo si no me da algún error en el jass.


En el caso que si hagas lo del copy paste
simplemente me dirías mira pon esto debajo de * y listo cada vez que juegues con el nombre* mi nombre tendrá esa T que dijiste y ya no nos compliquemos mucho, la verdad solo quería si me pudieras dar la linea jass de allí terminada y debajo de donde la iba a poner o eso pensé pero como hablamos decidí pedir ejemplos para hacerlo yo, por que no creo que entiendas que quise decir y que tengo que mejorar para poder explicarte bien lo que quiera desde un principio =/ pues bueno en el caso de que no iré la sección de tutoriales espero ver algo que tenga que ver con esto de todos modos y por ante mano muchas gracias por tomarte la molestia de leer mi post e intentar solucionarlo te conozco mi amigo se que eres el mejor y si no puedes tu es que no me explique bien y tengo que mejorar como había dicho Smile

Ejemplo 2:
[jass]if GetPlayerName(Player())=="Tobi" or GetPlayerName(Player())=="Madara" then set random==6[/jass]
Volver arriba Ir abajo
Marcos_M

avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 3105
Reputación Reputación : 520
Monedas de oro : 9620
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: Jass Lun Ene 08, 2018 10:57 am

Si fuera GUI no habría mayor problema de darte la respuesta, pero estás usando JASS y ni siquiera sabes escribirlo, deberías darte cuenta que no quiero entregarte la respuesta porque si hago eso mañana vendrás con otra duda similar.
No es que no quiera ayudar, y no es que soy incapaz de explicarte, es que no voy a hacerlo porque ya hay tutoriales para eso.

PD: la función que buscas para el jugador es "GetTriggerPlayer()"
PD2: Fijate cual es tu variable de número random y tienes que colocar eso
PD3: Al terminar de escribir"then" tienes que saltar la línea
Volver arriba Ir abajo
[NtP]NtP
Soldado
avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 91
Reputación Reputación : 3
Monedas de oro : 198
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: Jass Lun Ene 08, 2018 1:56 pm

Volver arriba Ir abajo
Marcos_M

avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 3105
Reputación Reputación : 520
Monedas de oro : 9620
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: Jass Lun Ene 08, 2018 2:06 pm

http://www.worldofeditors.net/t2673-camino-mas-facil-para-aprender-jass?highlight=Tutoriales+jass

En este post fijate los comentarios que hay varios links que son más básicos que saltar a structs
Volver arriba Ir abajo
Contenido patrocinado




Mensaje(#) Tema: Re: Jass

Volver arriba Ir abajo
 

Jass

Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.

Permisos de este foro:No puedes responder a temas en este foro.
Warcraft III - WorldEditor :: Zona de Aprendizaje(Dudas) :: Jass (Detonadores)-