MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!

Participe do fórum, é rápido e fácil

MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!
MMORPG Brasil
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

to com um problema gente

4 participantes

Ir para baixo

to com um problema gente  Empty to com um problema gente

Mensagem por CAIO Ter 21 Dez 2010, 14:27

Bom eu gostaria de saber se tem como por , quando o player morrer e for de level maior que 30 , ele nascer em um lugar diferente , pq o sistema do meu jogo é assim , existe um portal onde você podera passar e mudar de classe e quando mudar de classe ira pra outra cidade tambem , só que quando o player morrer , ele vai voltar no começo podendo mudar a classe de novo '-' , então eu até pensei em fazer transformação , mas ai se o player fosse mulher ia virar um homem , então alguem pff me ajuda a fazer isso , ou uma transformação , para ambos os sexos ? pllz =/
CAIO
CAIO
Membro Sênior
Membro Sênior

Mensagens : 337

Ir para o topo Ir para baixo

to com um problema gente  Empty Re: to com um problema gente

Mensagem por FilipeBS Qua 22 Dez 2010, 00:28

Tem sim!!!

Essa implantação será feita no Principal.txt(Main.txt). Primeiramente temos que inserir novas variaveis na conta do player, serão RespawnMap, RespawnX e RespawnY, mas apenas quando ele chegar no level 30. Para isso procure pelo código abaixo:

Código:
Sub PlayerLevelUp(index)
Dim I   
Dim D
Dim C
   
    C = 0
    Do While GetPlayerExp(index) => GetPlayerNextLevel(index)   
        D = GetPlayerExp(index) - GetPlayerNextLevel(index)
        Call SetPlayerLevel(index, GetPlayerLevel(index) + 1)
        I = Int(GetPlayerSPEED(index) / 10)
        If I < 1 Then I = 1
        If I > 3 Then I = 3
           
        Call SetPlayerPOINTS(index, GetPlayerPOINTS(index) + I)
        Call SetPlayerExp(index, D)     
        C = C + 1
    Loop
    If C > 1 Then
        'Call GlobalMsg(GetPlayerName(index) & " ganhou " & C & " níveis!", 6)
    Else
        'Call GlobalMsg(GetPlayerName(index) & " ganhou um nível!", 6)     
    End If   
    Call BattleMsg(index, "Você tem " & GetPlayerPOINTS(index) & " pontos para gastar.", 9, 0) 
End Sub

E substitua por esse:

Código:
Sub PlayerLevelUp(index)
Dim I   
Dim D
Dim C
   
    C = 0
    Do While GetPlayerExp(index) => GetPlayerNextLevel(index)   
        D = GetPlayerExp(index) - GetPlayerNextLevel(index)
        Call SetPlayerLevel(index, GetPlayerLevel(index) + 1)
        I = Int(GetPlayerSPEED(index) / 10)
        If I < 1 Then I = 1
        If I > 3 Then I = 3
           
        Call SetPlayerPOINTS(index, GetPlayerPOINTS(index) + I)
        Call SetPlayerExp(index, D)     
        C = C + 1
    Loop
    If C > 1 Then
        'Call GlobalMsg(GetPlayerName(index) & " ganhou " & C & " níveis!", 6)
    Else
        'Call GlobalMsg(GetPlayerName(index) & " ganhou um nível!", 6)     
    End If   
    Call BattleMsg(index, "Você tem " & GetPlayerPOINTS(index) & " pontos para gastar.", 9, 0) 

If GetPlayerLevel(Index) = 30 Then
    Call PutVar(App.Path & "\Contas" & GetPlayerLogin(index) & ".ini", "CHAR" & GetPlayerCharNum(index), "RespawnMap", Digite_o_numero_do_mapa)
    Call PutVar(App.Path & "\Contas" & GetPlayerLogin(index) & ".ini", "CHAR" & GetPlayerCharNum(index), "RespawnX", Digite_a_posicao_X_do_mapa)
    Call PutVar(App.Path & "\Contas" & GetPlayerLogin(index) & ".ini", "CHAR" & GetPlayerCharNum(index), "RespawnY", Digite_a_posicao_Y_do_mapa)
End If 
End Sub

Agora procure pelo código abaixo:
Código:
Sub OnDeath(index)
Dim mapnum
Dim x
Dim y
Dim i
i = GetPlayerClass(index)

mapnum = GetVar("Classes\Classe" & i & ".ini", "CLASS", "Map")
y = GetVar("Classes\Classe" & i & ".ini", "CLASS", "y")
x = GetVar("Classes\Classe" & i & ".ini", "CLASS", "x")

Call PlayerWarp(index, mapnum, x, y)
End Sub

E substitua por:
Código:
Sub OnDeath(index)
Dim mapnum
Dim x
Dim y
Dim i

If GetPlayerLevel(Index) < 30 Then
    i = GetPlayerClass(index)

    mapnum = GetVar("Classes\Classe" & i & ".ini", "CLASS", "Map")
    y = GetVar("Classes\Classe" & i & ".ini", "CLASS", "y")
    x = GetVar("Classes\Classe" & i & ".ini", "CLASS", "x")

    Call PlayerWarp(index, mapnum, x, y)
Else
    mapnum = GetVar(App.Path & "\Contas" & GetPlayerLogin(index) & ".ini", "CHAR" & GetPlayerCharNum(index), "RespawnMap")
    y = GetVar(App.Path & "\Contas" & GetPlayerLogin(index) & ".ini", "CHAR" & GetPlayerCharNum(index), "RespawnY")
    x = GetVar(App.Path & "\Contas" & GetPlayerLogin(index) & ".ini", "CHAR" & GetPlayerCharNum(index), "RespawnX")

    Call PlayerWarp(index, mapnum, x, y)
End Sub

Simples assim! Não esqueça de mudar o numero do mapa, da posição X e posição Y no Sub PlayerLevelUp!!

Vlw!!!
FilipeBS
FilipeBS
Novato
Novato

Mensagens : 32

http://www.filipesistemas.com.br

Ir para o topo Ir para baixo

to com um problema gente  Empty Re: to com um problema gente

Mensagem por juichi Qua 22 Dez 2010, 05:02

O.O

tava procurando por um script assim, mas sera q funfa no eclipse? ;D
juichi
juichi
Membro Sênior
Membro Sênior

Mensagens : 483

Ir para o topo Ir para baixo

to com um problema gente  Empty Re: to com um problema gente

Mensagem por DshFox Qua 22 Dez 2010, 05:55

Sub OnDeath(index)
Dim mapnum
Dim x
Dim y
Dim i
i = GetPlayerClass(index)

mapnum = GetVar("Classes\Classe" & i & ".ini", "CLASS", "Map")
y = GetVar("Classes\Classe" & i & ".ini", "CLASS", "y")
x = GetVar("Classes\Classe" & i & ".ini", "CLASS", "x")
if getplayerlevel(index) >= 30 then
Call PlayerWarp(index, MAPA, X, Y)
else
Call PlayerWarp(index, mapnum, x, y)
end if

End Sub

coloque a parte em negrito na tua sub ondeath
DshFox
DshFox
Membro Vitalicio
Membro Vitalicio

Mensagens : 614

Ir para o topo Ir para baixo

to com um problema gente  Empty Re: to com um problema gente

Mensagem por CAIO Qua 22 Dez 2010, 05:58

opa tenho qse ctz q funfa mas assim o cara so vai morrer no lv 30:,Olv 30 e o lv da primeira evoluça entao ants disso o cara nao morre;
CAIO
CAIO
Membro Sênior
Membro Sênior

Mensagens : 337

Ir para o topo Ir para baixo

to com um problema gente  Empty Re: to com um problema gente

Mensagem por DshFox Qua 22 Dez 2010, 06:33

if getplayerlevel(index) >= 30 then
Call PlayerWarp(index, MAPA, X, Y)
exit sub
end if

troque a parte em negrito por essa
DshFox
DshFox
Membro Vitalicio
Membro Vitalicio

Mensagens : 614

Ir para o topo Ir para baixo

to com um problema gente  Empty Re: to com um problema gente

Mensagem por FilipeBS Qua 22 Dez 2010, 07:06

DshFox escreveu:
if getplayerlevel(index) >= 30 then
Call PlayerWarp(index, MAPA, X, Y)
exit sub
end if

troque a parte em negrito por essa

Uma forma mais simples! Very Happy

Mas no script que eu fiz, você pode seperar por classes diferentes, bastando colocar as condições no sub playerlevelup, e tambem fazer um comando de respawn, para o player poder salvar o local onde ele quer voltar quando morrer, bastando pra isso criar o comando!

FilipeBS
FilipeBS
Novato
Novato

Mensagens : 32

http://www.filipesistemas.com.br

Ir para o topo Ir para baixo

to com um problema gente  Empty Re: to com um problema gente

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos