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!






290 


![Dragon Ancestral [3] Dragon Ancestral [3]](./images/ranks/Rango32.gif)

![Oraculo [2] Oraculo [2]](./images/ranks/Rango26.gif)
