Bueno, antes que todo les quiero avisar que estoy conciente de que el Codigo este se encuentra ya en el foro. El problema es que no es funcional debido a que estaba alojado en un lugar donde no debia ir y ademas que se le asignaban dos cabezas diferentes y si salias, al logear nuevamente tenias otra cabeza (Ni la de la cirujia, tampoco la que ya tenian).
El codigo lo dejare tanto para 0.11.5 como para 0.11.2
Arrancamos con 0.11.5
Todo en el servidor:
Buscamos:
Y debajo colocamos:
Buscamos:
Y agregamos
(*) La X sera igual al ultimo que este dentro del enum +1. Ejemplo: El ultimo es Gobernador = 11 entonces X = 12 (Cirujano = 12)
Listo Terminado 0.11.5
Ahora 0.11.2
Buscamos:
Y le agregamos abajo:
Buscamos:
Y Debajo agregamos:
(*) X es igual al ultimo Tipo de NPC mas 1. En este caso seria 12
Terminamos 0.11.2
Ahora Vamos a crear el NPC:
Este paso es el mismo para ambas verciones.
NPC:
Reemplazen la X por el ultimo NPC que tienen en el archivo NPC.dat y recuerden modificar el maximo de NPC...
Bueno eso es to, eso es to, eso es todo amigos!
Saludos!
El codigo lo dejare tanto para 0.11.5 como para 0.11.2
Arrancamos con 0.11.5
Todo en el servidor:
Buscamos:
- Select Case UCase$(Left$(rData, 8))
Y debajo colocamos:
- Case "/CIRUJIA"
- If UserList(UserIndex).flags.Muerto = 1 Then
- Call SendData(SendTarget.ToIndex, UserIndex, 0, "||¡¡Estas muerto!!" & FONTTYPE_INFO)
- ElseIf UserList(UserIndex).flags.TargetNPC = 0 Then
- Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Primero tenes que seleccionar un personaje, hace click izquierdo sobre el." & FONTTYPE_INFO)
- ElseIf Distancia(Npclist(UserList(UserIndex).flags.TargetNPC).Pos, UserList(UserIndex).Pos) > 10 Then
- Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Estas demasiado lejos." & FONTTYPE_INFO)
- ElseIf Npclist(UserList(UserIndex).flags.TargetNPC).NPCtype <> eNPCType.Cirujano Then
- Exit Sub
- Else
- Call SendData(SendTarget.ToIndex, UserIndex, 0, "||" & vbWhite & "°" & "Espero que te guste tu nueva cara!" & "°" & str(Npclist(UserList(UserIndex).flags.TargetNPC).Char.CharIndex))
- End If
- Select Case UserList(UserIndex).Raza
- Case "Humano"
- Select Case UserList(UserIndex).Genero
- Case "Hombre"
- UserList(UserIndex).Char.Head = RandomNumber(1, 30)
- UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
- Case "Mujer"
- UserList(UserIndex).Char.Head = RandomNumber(1, 7) + 69
- UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
- End Select
- Case "Elfo"
- Select Case UserList(UserIndex).Genero
- Case "Hombre"
- UserList(UserIndex).Char.Head = RandomNumber(1, 13) + 100
- UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
- Case "Mujer"
- UserList(UserIndex).Char.Head = RandomNumber(1, 7) + 169
- UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
- End Select
- Case "Elfo oscuro"
- Select Case UserList(UserIndex).Genero
- Case "Hombre"
- UserList(UserIndex).Char.Head = RandomNumber(1, 8) + 201
- UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
- Case "Mujer"
- UserList(UserIndex).Char.Head = RandomNumber(1, 11) + 269
- UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
- End Select
- Case "Enano"
- Select Case UserList(UserIndex).Genero
- Case "Hombre"
- UserList(UserIndex).Char.Head = RandomNumber(1, 5) + 300
- UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
- Case "Mujer"
- UserList(UserIndex).Char.Head = RandomNumber(1, 3) + 369
- UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
- End Select
- Case "Gnomo"
- Select Case UserList(UserIndex).Genero
- Case "Hombre"
- UserList(UserIndex).Char.Head = RandomNumber(1, 6) + 400
- UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
- Case "Mujer"
- UserList(UserIndex).Char.Head = RandomNumber(1, 5) + 469
- UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
- End Select
- End Select
- Call WriteVar(CharPath & UCase(UserList(UserIndex).name) & ".chr", "INIT", "Head", str(UserList(UserIndex).OrigChar.Head))
- Call ChangeUserChar(SendTarget.ToMap, 0, UserList(UserIndex).Pos.Map, UserIndex, UserList(UserIndex).Char.Body, UserList(UserIndex).Char.Head, UserList(UserIndex).Char.Heading, UserList(UserIndex).Char.WeaponAnim, UserList(UserIndex).Char.ShieldAnim, UserList(UserIndex).Char.CascoAnim)
- Exit Sub
Buscamos:
- Public Enum eNPCType
Y agregamos
- Cirujano = X
(*) La X sera igual al ultimo que este dentro del enum +1. Ejemplo: El ultimo es Gobernador = 11 entonces X = 12 (Cirujano = 12)
Listo Terminado 0.11.5
Ahora 0.11.2
Buscamos:
- Select Case UCase$(Left$(rdata, 8))
Y le agregamos abajo:
- Case "/CIRUJIA"
- If UserList(UserIndex).flags.Muerto = 1 Then
- Call SendData(ToIndex, UserIndex, 0, "||¡¡Estas muerto!!" & FONTTYPE_INFO)
- ElseIf UserList(UserIndex).flags.TargetNPC = 0 Then
- Call SendData(ToIndex, UserIndex, 0, "||Primero tenes que seleccionar un personaje, hace click izquierdo sobre el." & FONTTYPE_INFO)
- ElseIf Distancia(Npclist(UserList(UserIndex).flags.TargetNPC).Pos, UserList(UserIndex).Pos) > 10 Then
- Call SendData(ToIndex, UserIndex, 0, "||Estas demasiado lejos." & FONTTYPE_INFO)
- ElseIf Npclist(UserList(UserIndex).flags.TargetNPC).NPCtype <> eNPCType.Cirujano Then
- Exit Sub
- Else
- Call SendData(ToIndex, UserIndex, 0, "||" & vbWhite & "°" & "Espero que te guste tu nueva cara!" & "°" & str(Npclist(UserList(UserIndex).flags.TargetNPC).Char.charindex))
- End If
- Select Case UserList(UserIndex).Raza
- Case "Humano"
- Select Case UserList(UserIndex).Genero
- Case "Hombre"
- UserList(UserIndex).Char.Head = RandomNumber(1, 30)
- UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
- Case "Mujer"
- UserList(UserIndex).Char.Head = RandomNumber(1, 7) + 69
- UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
- End Select
- Case "Elfo"
- Select Case UserList(UserIndex).Genero
- Case "Hombre"
- UserList(UserIndex).Char.Head = RandomNumber(1, 13) + 100
- UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
- Case "Mujer"
- UserList(UserIndex).Char.Head = RandomNumber(1, 7) + 169
- UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
- End Select
- Case "Elfo oscuro"
- Select Case UserList(UserIndex).Genero
- Case "Hombre"
- UserList(UserIndex).Char.Head = RandomNumber(1, 8) + 201
- UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
- Case "Mujer"
- UserList(UserIndex).Char.Head = RandomNumber(1, 11) + 269
- UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
- End Select
- Case "Enano"
- Select Case UserList(UserIndex).Genero
- Case "Hombre"
- UserList(UserIndex).Char.Head = RandomNumber(1, 5) + 300
- UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
- Case "Mujer"
- UserList(UserIndex).Char.Head = RandomNumber(1, 3) + 369
- UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
- End Select
- Case "Gnomo"
- Select Case UserList(UserIndex).Genero
- Case "Hombre"
- UserList(UserIndex).Char.Head = RandomNumber(1, 6) + 400
- UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
- Case "Mujer"
- UserList(UserIndex).Char.Head = RandomNumber(1, 5) + 469
- UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
- End Select
- End Select
- Call WriteVar(CharPath & UCase(UserList(UserIndex).Name) & ".chr", "INIT", "Head", str(UserList(UserIndex).OrigChar.Head))
- Call ChangeUserChar(ToMap, 0, UserList(UserIndex).Pos.Map, UserIndex, UserList(UserIndex).Char.Body, UserList(UserIndex).Char.Head, UserList(UserIndex).Char.Heading, UserList(UserIndex).Char.WeaponAnim, UserList(UserIndex).Char.ShieldAnim, UserList(UserIndex).Char.CascoAnim)
- Exit Sub
Buscamos:
- Public Const NPCTYPE_PIRATA = 11
Y Debajo agregamos:
- Public Const NPCTYPE_CIRUJANO = X
(*) X es igual al ultimo Tipo de NPC mas 1. En este caso seria 12
Terminamos 0.11.2
Ahora Vamos a crear el NPC:
Este paso es el mismo para ambas verciones.
NPC:
[NPCX]
Name=Cara
NpcType=12
Desc=Oye, tu cara es fea, hacete una cirujia. Escribe /CIRUJIA y yo escojere la mejor para ti
Head=11
Body=49
Heading=3
Attackable=0
Comercia=0
Hostile=0
Reemplazen la X por el ultimo NPC que tienen en el archivo NPC.dat y recuerden modificar el maximo de NPC...
Bueno eso es to, eso es to, eso es todo amigos!
Saludos!