Me base un poco en el sistema de GRAN PODER de CarDiego:
Queria saber como hacer para que en zonas seguras NO este el GRAN PODER sin BUG´s.
La forma que se me ocurrio fue:
En el Sub WarpUserChar debajo de:
- 'Seguis invisible al pasar de mapa
- If (UserList(userindex).flags.Invisible = 1 Or UserList(userindex).flags.Oculto = 1) And (Not UserList(userindex).flags.AdminInvisible = 1) Then
- Call SendToUserArea(userindex, "NOVER" & UserList(userindex).char.CharIndex & ",1", EncriptarProtocolosCriticos)
- End If
poner:
- If MapInfo(UserList(UserIndex).Pos.Map).Pk = False And UserIndex = GranPoder Then
- Call OtorgarGranPoder(0)
- Call SendData(SendTarget.ToAll, 0, 0, "||" & UserList(UserIndex).name & " ha perdido el GRAN PODER estar en una zona segura" & FONTTYPE_ORO)
- End If
eso es para que cuando entre en una zona segura le quite el gran poder y lo vuelva a sortear, esto funciona de 10!
ahora el rompecabezas, para que cuando lo vuelva a sortear y no le toque a un usuario que este en zona segura:
en el Sub OtorgarGranPoder buscamos:
- If UserList(userindex).flags.Muerto = 1 Then
y lo reemplazamos por:
- If UserList(userindex).flags.Muerto = 1 or MapInfo(UserList(UserIndex).Pos.Map).Pk = False Then
Me funciona bien, pero si no hay nadie en una zona insegura, supongamos que estan todos en la ciudad y toca sortear el gran poder ¡CAE EL SV! ¿wtf?





47 ![Aprendiz [5] Aprendiz [5]](./images/ranks/Rango10.gif)

![Dragon Ancestral [2] Dragon Ancestral [2]](./images/ranks/Rango31.gif)


![Aprendiz [6] Aprendiz [6]](./images/ranks/Rango11.gif)
![Oraculo [5] Oraculo [5]](./images/ranks/Rango29.gif)
![Aprendiz [7] Aprendiz [7]](./images/ranks/Rango12.gif)
