GS-Zone

Algun trigger para que el limpiarmundo no limpie casas? Ir al Indice

Moderadores: Moderadores de Argentum, Especialistas de Argentum, Especialistas de Programación

23

Nota » 11 May 2009 23:29

hola12345678 escribió:Pero en el servidor tenes que aclarar que si no hay trigger 9 que limpie sino no, xq sino no te va a andar solamente con el trigger en el WE :? ,
Atte Hola12345678 ^^


Estás usando mal el término "declarar". No tenés que declarar nada, solo poner ese If.

Does anybody remember laughter?
Licenciado en Cinismo
26
Oraculo [3]
Registrado: 5 Años de membresía!
Mensajes: 1557
Aportes: 1

Nota » 11 May 2009 23:55

Para mi seria asi para que te funcione a vos:

aca en el server:

  1. Public Enum eTrigger
  2.     NADA = 0
  3.     BAJOTECHO = 1
  4.     trigger_2 = 2
  5.     POSINVALIDA = 3
  6.     ZONASEGURA = 4
  7.     ANTIPIQUETE = 5
  8.     ZONAPELEA = 6
  9. End Enum
  10.  
  11. ''
  12. ' constantes para el trigger 6
  13. '
  14. ' @see eTrigger
  15. ' @param TRIGGER6_PERMITE TRIGGER6_PERMITE
  16. ' @param TRIGGER6_PROHIBE TRIGGER6_PROHIBE
  17. ' @param TRIGGER6_AUSENTE El trigger no aparece
  18. '
  19. Public Enum eTrigger6
  20.     TRIGGER6_PERMITE = 1
  21.     TRIGGER6_PROHIBE = 2
  22.     TRIGGER6_AUSENTE = 3
  23. End Enum


Lo tendrias que tener asi:

  1. Public Enum eTrigger
  2.     NADA = 0
  3.     BAJOTECHO = 1
  4.     trigger_2 = 2
  5.     POSINVALIDA = 3
  6.     ZONASEGURA = 4
  7.     ANTIPIQUETE = 5
  8.     ZONAPELEA = 6
  9.     LIMPIARM = 7
  10. End Enum
  11.  
  12. ''
  13. ' constantes para el trigger 6
  14. '
  15. ' @see eTrigger
  16. ' @param TRIGGER6_PERMITE TRIGGER6_PERMITE
  17. ' @param TRIGGER6_PROHIBE TRIGGER6_PROHIBE
  18. ' @param TRIGGER6_AUSENTE El trigger no aparece
  19. '
  20. Public Enum eTrigger6
  21.     TRIGGER6_PERMITE = 1
  22.     TRIGGER6_PROHIBE = 2
  23.     TRIGGER6_AUSENTE = 3
  24. End Enum


Y para el limpiar mundo:

  1. Sub LimpiarMundo()
  2. '***************************************************
  3. 'Author: MaxTus
  4. '***************************************************
  5. On Error GoTo Errhandler
  6.  
  7. Dim Mapas As Integer
  8. Dim X As Integer
  9. Dim Y As Integer
  10. Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("Servidor> Limpiando el mundo... (Por favor, quedece quieto)", FontTypeNames.FONTTYPE_CENTINELA))
  11. For Mapas = 1 To NumMaps
  12. For X = MinXBorder To MaxXBorder
  13. For Y = MinYBorder To MaxYBorder
  14. If MapData(Mapas, X, Y).ObjInfo.ObjIndex = 378 Then
  15. ElseIf MapData(Mapas, X, Y).Blocked = 0 Then
  16. Call EraseObj(10000, Mapas, X, Y)
  17. End If
  18. Next Y
  19. Next X
  20. Next Mapas
  21. Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("Servidor > Mundo limpiado Satifactoriamente, Gracias por esperar..", FontTypeNames.FONTTYPE_CENTINELA))
  22. Exit Sub
  23.  
  24. Errhandler:
  25.     Call LogError("Error producido en el sub LimpiarMundo: " & Err.description)
  26. End Sub



Fijate de tenerlo asi:

  1. Sub LimpiarMundo()
  2. '***************************************************
  3. 'Author: MaxTus
  4. '***************************************************
  5. On Error GoTo Errhandler
  6.  
  7. Dim Mapas As Integer
  8. Dim X As Integer
  9. Dim Y As Integer
  10. Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("Servidor> Limpiando el mundo... (Por favor, quedece quieto)", FontTypeNames.FONTTYPE_CENTINELA))
  11. For Mapas = 1 To NumMaps
  12. For X = MinXBorder To MaxXBorder
  13. For Y = MinYBorder To MaxYBorder
  14. If MapData(Mapas, X, Y).ObjInfo.ObjIndex = 378 Then
  15. ElseIf MapData(Mapas, X, Y).Blocked = 0 Then
  16. Call EraseObj(10000, Mapas, X, Y)
  17. End If
  18. If Not MapData(Mapas, X, Y).trigger = LIMPIARM Then
  19. Call LimpiarMundo
  20. Else
  21. LimpiarMundo = False
  22. End If
  23. Next Y
  24. Next X
  25. Next Mapas
  26. Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("Servidor > Mundo limpiado Satifactoriamente, Gracias por esperar..", FontTypeNames.FONTTYPE_CENTINELA))
  27. Exit Sub
  28.  
  29. Errhandler:
  30.     Call LogError("Error producido en el sub LimpiarMundo: " & Err.description)
  31. End Sub


Y en el WE tenes que agregar el Trigger LIMPIARM (7) en Triggers.ini Creo, fijate

Bueno Creo que eso seria todo, espero averte ayudado :D ,
Atte Hola12345678 ^^
Usuario Registrado
7
Newbie [5]
Registrado: Años de membresíaAños de membresíaAños de membresía
Mensajes: 162
Aportes: 2

Nota » 12 May 2009 03:49

hola12345678 escribió:Para mi seria asi para que te funcione a vos:

aca en el server:

  1. Public Enum eTrigger
  2.     NADA = 0
  3.     BAJOTECHO = 1
  4.     trigger_2 = 2
  5.     POSINVALIDA = 3
  6.     ZONASEGURA = 4
  7.     ANTIPIQUETE = 5
  8.     ZONAPELEA = 6
  9. End Enum
  10.  
  11. ''
  12. ' constantes para el trigger 6
  13. '
  14. ' @see eTrigger
  15. ' @param TRIGGER6_PERMITE TRIGGER6_PERMITE
  16. ' @param TRIGGER6_PROHIBE TRIGGER6_PROHIBE
  17. ' @param TRIGGER6_AUSENTE El trigger no aparece
  18. '
  19. Public Enum eTrigger6
  20.     TRIGGER6_PERMITE = 1
  21.     TRIGGER6_PROHIBE = 2
  22.     TRIGGER6_AUSENTE = 3
  23. End Enum


Lo tendrias que tener asi:

  1. Public Enum eTrigger
  2.     NADA = 0
  3.     BAJOTECHO = 1
  4.     trigger_2 = 2
  5.     POSINVALIDA = 3
  6.     ZONASEGURA = 4
  7.     ANTIPIQUETE = 5
  8.     ZONAPELEA = 6
  9.     LIMPIARM = 7
  10. End Enum
  11.  
  12. ''
  13. ' constantes para el trigger 6
  14. '
  15. ' @see eTrigger
  16. ' @param TRIGGER6_PERMITE TRIGGER6_PERMITE
  17. ' @param TRIGGER6_PROHIBE TRIGGER6_PROHIBE
  18. ' @param TRIGGER6_AUSENTE El trigger no aparece
  19. '
  20. Public Enum eTrigger6
  21.     TRIGGER6_PERMITE = 1
  22.     TRIGGER6_PROHIBE = 2
  23.     TRIGGER6_AUSENTE = 3
  24. End Enum


Y para el limpiar mundo:

  1. Sub LimpiarMundo()
  2. '***************************************************
  3. 'Author: MaxTus
  4. '***************************************************
  5. On Error GoTo Errhandler
  6.  
  7. Dim Mapas As Integer
  8. Dim X As Integer
  9. Dim Y As Integer
  10. Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("Servidor> Limpiando el mundo... (Por favor, quedece quieto)", FontTypeNames.FONTTYPE_CENTINELA))
  11. For Mapas = 1 To NumMaps
  12. For X = MinXBorder To MaxXBorder
  13. For Y = MinYBorder To MaxYBorder
  14. If MapData(Mapas, X, Y).ObjInfo.ObjIndex = 378 Then
  15. ElseIf MapData(Mapas, X, Y).Blocked = 0 Then
  16. Call EraseObj(10000, Mapas, X, Y)
  17. End If
  18. Next Y
  19. Next X
  20. Next Mapas
  21. Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("Servidor > Mundo limpiado Satifactoriamente, Gracias por esperar..", FontTypeNames.FONTTYPE_CENTINELA))
  22. Exit Sub
  23.  
  24. Errhandler:
  25.     Call LogError("Error producido en el sub LimpiarMundo: " & Err.description)
  26. End Sub



Fijate de tenerlo asi:

  1. Sub LimpiarMundo()
  2. '***************************************************
  3. 'Author: MaxTus
  4. '***************************************************
  5. On Error GoTo Errhandler
  6.  
  7. Dim Mapas As Integer
  8. Dim X As Integer
  9. Dim Y As Integer
  10. Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("Servidor> Limpiando el mundo... (Por favor, quedece quieto)", FontTypeNames.FONTTYPE_CENTINELA))
  11. For Mapas = 1 To NumMaps
  12. For X = MinXBorder To MaxXBorder
  13. For Y = MinYBorder To MaxYBorder
  14. If MapData(Mapas, X, Y).ObjInfo.ObjIndex = 378 Then
  15. ElseIf MapData(Mapas, X, Y).Blocked = 0 Then
  16. Call EraseObj(10000, Mapas, X, Y)
  17. End If
  18. If Not MapData(Mapas, X, Y).trigger = LIMPIARM Then
  19. Call LimpiarMundo
  20. Else
  21. LimpiarMundo = False
  22. End If
  23. Next Y
  24. Next X
  25. Next Mapas
  26. Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("Servidor > Mundo limpiado Satifactoriamente, Gracias por esperar..", FontTypeNames.FONTTYPE_CENTINELA))
  27. Exit Sub
  28.  
  29. Errhandler:
  30.     Call LogError("Error producido en el sub LimpiarMundo: " & Err.description)
  31. End Sub


Y en el WE tenes que agregar el Trigger LIMPIARM (7) en Triggers.ini Creo, fijate

Bueno Creo que eso seria todo, espero averte ayudado :D ,
Atte Hola12345678 ^^



We en tu server ¬¬ yo en 0.12.2 puse lo qe me dijieron y funciono perfecto
Puse una manzana en el lugar donde puse trigger

y una afuera
y la otra se borro y la qe estaba en trigger seguia ¬¬

Usuario Registrado
42
Oraculo [3]
Registrado: Años de membresíaAños de membresíaAños de membresíaAños de membresía
Ubicación: Río Gallegos
Mensajes: 1576
Aportes: 15
Premios: 1
Embajador (1)

Nota » 12 May 2009 14:25

hola12345678 escribió:Para mi seria asi para que te funcione a vos:

aca en el server:

  1. Public Enum eTrigger
  2.     NADA = 0
  3.     BAJOTECHO = 1
  4.     trigger_2 = 2
  5.     POSINVALIDA = 3
  6.     ZONASEGURA = 4
  7.     ANTIPIQUETE = 5
  8.     ZONAPELEA = 6
  9. End Enum
  10.  
  11. ''
  12. ' constantes para el trigger 6
  13. '
  14. ' @see eTrigger
  15. ' @param TRIGGER6_PERMITE TRIGGER6_PERMITE
  16. ' @param TRIGGER6_PROHIBE TRIGGER6_PROHIBE
  17. ' @param TRIGGER6_AUSENTE El trigger no aparece
  18. '
  19. Public Enum eTrigger6
  20.     TRIGGER6_PERMITE = 1
  21.     TRIGGER6_PROHIBE = 2
  22.     TRIGGER6_AUSENTE = 3
  23. End Enum


Lo tendrias que tener asi:

  1. Public Enum eTrigger
  2.     NADA = 0
  3.     BAJOTECHO = 1
  4.     trigger_2 = 2
  5.     POSINVALIDA = 3
  6.     ZONASEGURA = 4
  7.     ANTIPIQUETE = 5
  8.     ZONAPELEA = 6
  9.     LIMPIARM = 7
  10. End Enum
  11.  
  12. ''
  13. ' constantes para el trigger 6
  14. '
  15. ' @see eTrigger
  16. ' @param TRIGGER6_PERMITE TRIGGER6_PERMITE
  17. ' @param TRIGGER6_PROHIBE TRIGGER6_PROHIBE
  18. ' @param TRIGGER6_AUSENTE El trigger no aparece
  19. '
  20. Public Enum eTrigger6
  21.     TRIGGER6_PERMITE = 1
  22.     TRIGGER6_PROHIBE = 2
  23.     TRIGGER6_AUSENTE = 3
  24. End Enum


Y para el limpiar mundo:

  1. Sub LimpiarMundo()
  2. '***************************************************
  3. 'Author: MaxTus
  4. '***************************************************
  5. On Error GoTo Errhandler
  6.  
  7. Dim Mapas As Integer
  8. Dim X As Integer
  9. Dim Y As Integer
  10. Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("Servidor> Limpiando el mundo... (Por favor, quedece quieto)", FontTypeNames.FONTTYPE_CENTINELA))
  11. For Mapas = 1 To NumMaps
  12. For X = MinXBorder To MaxXBorder
  13. For Y = MinYBorder To MaxYBorder
  14. If MapData(Mapas, X, Y).ObjInfo.ObjIndex = 378 Then
  15. ElseIf MapData(Mapas, X, Y).Blocked = 0 Then
  16. Call EraseObj(10000, Mapas, X, Y)
  17. End If
  18. Next Y
  19. Next X
  20. Next Mapas
  21. Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("Servidor > Mundo limpiado Satifactoriamente, Gracias por esperar..", FontTypeNames.FONTTYPE_CENTINELA))
  22. Exit Sub
  23.  
  24. Errhandler:
  25.     Call LogError("Error producido en el sub LimpiarMundo: " & Err.description)
  26. End Sub



Fijate de tenerlo asi:

  1. Sub LimpiarMundo()
  2. '***************************************************
  3. 'Author: MaxTus
  4. '***************************************************
  5. On Error GoTo Errhandler
  6.  
  7. Dim Mapas As Integer
  8. Dim X As Integer
  9. Dim Y As Integer
  10. Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("Servidor> Limpiando el mundo... (Por favor, quedece quieto)", FontTypeNames.FONTTYPE_CENTINELA))
  11. For Mapas = 1 To NumMaps
  12. For X = MinXBorder To MaxXBorder
  13. For Y = MinYBorder To MaxYBorder
  14. If MapData(Mapas, X, Y).ObjInfo.ObjIndex = 378 Then
  15. ElseIf MapData(Mapas, X, Y).Blocked = 0 Then
  16. Call EraseObj(10000, Mapas, X, Y)
  17. End If
  18. If Not MapData(Mapas, X, Y).trigger = LIMPIARM Then
  19. Call LimpiarMundo
  20. Else
  21. LimpiarMundo = False
  22. End If
  23. Next Y
  24. Next X
  25. Next Mapas
  26. Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("Servidor > Mundo limpiado Satifactoriamente, Gracias por esperar..", FontTypeNames.FONTTYPE_CENTINELA))
  27. Exit Sub
  28.  
  29. Errhandler:
  30.     Call LogError("Error producido en el sub LimpiarMundo: " & Err.description)
  31. End Sub


Y en el WE tenes que agregar el Trigger LIMPIARM (7) en Triggers.ini Creo, fijate

Bueno Creo que eso seria todo, espero averte ayudado :D ,
Atte Hola12345678 ^^


Haciendo eso entrás en un loop infinito y se te tilda todo...

Does anybody remember laughter?
Licenciado en Cinismo
26
Oraculo [3]
Registrado: 5 Años de membresía!
Mensajes: 1557
Aportes: 1

Nota » 12 May 2009 16:48

We en tu server ¬¬ yo en 0.12.2 puse lo qe me dijieron y funciono perfecto
Puse una manzana en el lugar donde puse trigger

y una afuera
y la otra se borro y la qe estaba en trigger seguia ¬¬


We loco no quise armar bardo :? , parece que todos estan contra mi yo quise ayudar :?

Y aparte en 12.2, :S esto no es 12.1 digo....

Pone el trigger que se te cante y en loop del limpiarmundo mandale un if not mapdata(mapa,x,y).trigger = bla then limpia


Y aparte Miikinel vos diste la idea y yo la quise hacer no armar bardo :( :cry:
Usuario Registrado
7
Newbie [5]
Registrado: Años de membresíaAños de membresíaAños de membresía
Mensajes: 162
Aportes: 2

Nota » 12 May 2009 16:59

Jajajaj, está todo bien. El tema es que lo que hiciste vos llama al LimpiarMundo adentro del loop del mismo LimpiarMundo y se rompe todo cuando hacés eso (el que me grita "recursividad" le pego).

Para agregárselo al LimparMundo que postearon se podría cambiar el If existente por este:

  1. If MapData(Mapas, X, Y).ObjInfo.ObjIndex = 378 or MapData(Mapas, X, Y).Trigger = 7 Then
  2.  


De esa forma donde haya trigger 7 no limpia.

Does anybody remember laughter?
Licenciado en Cinismo
26
Oraculo [3]
Registrado: 5 Años de membresía!
Mensajes: 1557
Aportes: 1

Nota » 12 May 2009 17:20

Ok ok, jaj esque recien empiezo a programar y queria ver si lo sacaba =$ :mrgreen: , bueno salu2
Atte Hola12345678 ^^
Usuario Registrado
7
Newbie [5]
Registrado: Años de membresíaAños de membresíaAños de membresía
Mensajes: 162
Aportes: 2

Nota » 12 May 2009 17:24

hola12345678 escribió:Ok ok, jaj esque recien empiezo a programar y queria ver si lo sacaba =$ :mrgreen: , bueno salu2
Atte Hola12345678 ^^


Está perfecto, para aprender hay que ensuciarse.

Does anybody remember laughter?
Licenciado en Cinismo
26
Oraculo [3]
Registrado: 5 Años de membresía!
Mensajes: 1557
Aportes: 1

Anterior

Volver a AO 0.12.x

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados