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.

[ALL]Script Quest

+2
ferretto
Lucas Roberto
6 participantes

Ir para baixo

[ALL]Script Quest Empty [ALL]Script Quest

Mensagem por Lucas Roberto Seg 31 Jan 2011, 18:27

~> Bom começando deis do Zero <~

Ola pessoal estou refazendo esse sistema para vocês não me matar kkk

Como Funciona ele e bem simples
Quando voce Digita /Quest1 ele vai pro mapa que voce fazer mais voce podera fazer essa quest 1 vez pra cada jogador pra evitar ficar pegando itens raros da Quest...

Vamos começar...

Abre sua pasta Elysium Diamond > Bilinarios > Server > Script > Principal e Procura:

Código:
    Case "/portal"
        If Portal > 0 Then
           mapnum = GetVar("Stats.ini", GetPlayerName(index), "map")
           y = GetVar("Stats.ini", GetPlayerName(index), "y")
           x = GetVar("Stats.ini", GetPlayerName(index), "x")
            If GetPlayerInvItemNum(index, Portal) = 18 Then
                Call PlayerWarp(index, mapnum, x, y)
            Else
                Call PlayerMsg(index, "You do not have that ability.", 4)
            End If
            Exit Sub
        End If
    Case "/bell"
        Call GlobalMsg("*ding* *ding* *ding*", 7)
        Exit Sub

Abaixo coloque:

Código:
Case "/quest1"
    If GetPlayerQuests(index) = 2 Then
    Call PlayerWarp(index, 125, 10, 13)
    Call SetPlayerQuests(index, GetPlayerQuests(index) + 1)
    Call SavePlayer(index)
          Call SendPOINTS(Index)
          Call SendStats(Index)
    Call PlayerMsg(index, "Você está na Quest 1!", 14)
      Else
    Call PlayerMsg(index, "Você não pode fazer essa Quest novamente!", 14)
      End If
      Exit Sub

Case "/quest2"
    If GetPlayerQuests(index) = 1 Then
    Call PlayerWarp(index, 131, 10, 6)
    Call SetPlayerQuests(index, GetPlayerQuests(index) + 1)
    Call SavePlayer(index)
          Call SendPOINTS(Index)
          Call SendStats(Index)
    Call PlayerMsg(index, "Você está na Quest 2!", 14)
      Else
    Call PlayerMsg(index, "Você não pode fazer essa Quest novamente!", 14)
      End If
      Exit Sub

Case "/quest3"
    If GetPlayerQuests(index) = 0 Then
    Call PlayerWarp(index, 136, 10, 0)
    Call SetPlayerQuests(index, GetPlayerQuests(index) + 1)
    Call SavePlayer(index)
          Call SendPOINTS(Index)
          Call SendStats(Index)
    Call PlayerMsg(index, "Você está na Quest 3!", 14)
      Else
    Call PlayerMsg(index, "Você não pode fazer essa Quest novamente!", 14)
      End If
      Exit Sub

Procure por:
Código:
    If GetPlayerLevel(index) => 1050 Then
    Call PlayerMsg(index, "Você resetou!", 14)
    Call SetPlayerExp(index, 1) 
      Call SetPlayerLevel(index, 1)
    Call SetPlayerPOINTS(index, GetPlayerPoints(index) + 200)
    Call SetPlayerResets(index, GetPlayerResets(index) + 1)
    Call SavePlayer(index)
          Call SendPOINTS(Index)
          Call SendStats(Index)
    End If

Abaixo em algumas Script vai tar isso:

Código:
If GetPlayerResets(index) = 13 Then

Se tiver coloque isso abaixo:

Código:
If PlayerQuests(index) = 0 Then

Bom sae não tiver coloque em baixo do resete automatico mesmo


Explicando

Case "/quest3" 'o comando que vai ser usando
If GetPlayerQuests(index) = 0 Then ' o numero da Quest
Call PlayerWarp(index, 136, 10, 0) 'Warp as cordenadas do mapa que vai
Call SetPlayerQuests(index, GetPlayerQuests(index) + 1) 'Registro da Quest pra não fazer denovo
Call SavePlayer(index) 'Salva a Quest
Call SendPOINTS(Index) 'Pontos que deve ter
Call SendStats(Index)
Call PlayerMsg(index, "Você está na Quest 3!", 14) 'Mesagem quando voce vai pra quest
Else
Call PlayerMsg(index, "Você não pode fazer essa Quest novamente!", 14) 'quando voce tenta usar esse comando mais de duas veses
End If

Parte de Script completa mais agora temos de declarar algumas coisinhas para que funcione esse sistema então vamos la

Abre seu Visual Basic
e abra o Server.cide


Procure no modTypes por:

Código:
Sub SetPlayerPassword(ByVal Index As Long, ByVal NewPassword As String)
    Player(Index).Password = NewPassword
End Sub

Abaixo coloque:

Código:
Function GetPlayerQuests(ByVal Index As Long) As Long
    GetPlayerQuests = Player(Index).Char(Player(Index).CharNum).Quests
End Function

Sub SetPlayerQuests(ByVal Index As Long, _
  ByVal Quests As Long)
    Player(Index).Char(Player(Index).CharNum).Quests = Quests
End Sub

Procure por:

Código:
Player(Index).Char(i).Resets = Val(GetVar(FileName, "CHAR" & i, "Resets"))

abaixo coloque:

Código:
Player(Index).Char(i).Quests = Val(GetVar(FileName, "CHAR" & i, "Quests"))

em ' General tem essa linha

Código:
Resets As Long

abaixo coloque:

Código:
Quests As Long

Procure no clsCommands por:

Código:
Sub SetPlayerPassword(ByVal Index As Long, ByVal NewPassword As String)
    Player(Index).Password = NewPassword
End Sub

abaixo coloque:

Código:
Function GetPlayerQuests(ByVal Index As Long) As Long
    GetPlayerQuests = Player(Index).Char(Player(Index).CharNum).Quests
End Function

Sub SetPlayerQuests(ByVal Index As Long, _
  ByVal Quests As Long)
    Player(Index).Char(Player(Index).CharNum).Quests = Quests
End Sub

procure por:

Código:
Call PutVar(FileName, "CHAR" & i, "Resets", STR(Player(Index).Char(i).Resets))

abaixo coloque:

Código:
Call PutVar(FileName, "CHAR" & i, "Quests", STR(Player(Index).Char(i).Quests))

Bom acho que e isso agora esta funcionando



Última edição por Lucas Roberto em Sáb 09 Abr 2011, 17:43, editado 2 vez(es)
Lucas Roberto
Lucas Roberto
Membro Veterano
Membro Veterano

Mensagens : 1794

http://universogamesmmo.forumeiros.com/forum

Ir para o topo Ir para baixo

[ALL]Script Quest Empty Re: [ALL]Script Quest

Mensagem por ferretto Seg 31 Jan 2011, 18:33

pergunta e se a pessoa falhar na quest tem como fazer um comando que se a pessoa falhar possa fazer novamente e que os que passaram nao possam voltar?
ferretto
ferretto
Novato
Novato

Mensagens : 18

Ir para o topo Ir para baixo

[ALL]Script Quest Empty Re: [ALL]Script Quest

Mensagem por Lucas Roberto Seg 31 Jan 2011, 19:17

ae no caso tem que fazer no vb

pq tipo

ae pom o NPC da Quest a se não caso matar o o NPC da Quest Mata o Player ae tem como voltar

pois não registra a Quest

Código:
Call SetPlayerQuests(index, GetPlayerQuests(index) + 1)
Lucas Roberto
Lucas Roberto
Membro Veterano
Membro Veterano

Mensagens : 1794

http://universogamesmmo.forumeiros.com/forum

Ir para o topo Ir para baixo

[ALL]Script Quest Empty Re: [ALL]Script Quest

Mensagem por mariomoral Sáb 05 Fev 2011, 09:52

Esse script serve para o Elysium Engine Brasil?
mariomoral
mariomoral
Membro Junior
Membro Junior

Mensagens : 51

Ir para o topo Ir para baixo

[ALL]Script Quest Empty Re: [ALL]Script Quest

Mensagem por Lucas Roberto Sáb 05 Fev 2011, 10:12

Esse script serve para o Elysium Engine Brasil?

sim!!!
Lucas Roberto
Lucas Roberto
Membro Veterano
Membro Veterano

Mensagens : 1794

http://universogamesmmo.forumeiros.com/forum

Ir para o topo Ir para baixo

[ALL]Script Quest Empty Re: [ALL]Script Quest

Mensagem por mariomoral Sáb 05 Fev 2011, 10:14

blz, então vou testar
mariomoral
mariomoral
Membro Junior
Membro Junior

Mensagens : 51

Ir para o topo Ir para baixo

[ALL]Script Quest Empty Re: [ALL]Script Quest

Mensagem por Kryx Qui 10 Fev 2011, 17:35

Tenta arrumar ae cara, esse script será muito útil. affraid
Kryx
Kryx
Novato
Novato

Mensagens : 3

http://www.lemon-designer.com

Ir para o topo Ir para baixo

[ALL]Script Quest Empty Re: [ALL]Script Quest

Mensagem por MrMota Qui 10 Fev 2011, 19:16

To esperando ser concertado
MrMota
MrMota
Membro Veterano
Membro Veterano

Mensagens : 918

Ir para o topo Ir para baixo

[ALL]Script Quest Empty Re: [ALL]Script Quest

Mensagem por SkyZero Sex 11 Fev 2011, 12:52

Lembrete Muitos Scripts não funcionam no Elysium , não aconselho usar script no TXT , faça algo mais avançado no Visual Basic.
SkyZero
SkyZero
Membro Veterano
Membro Veterano

Mensagens : 890

Ir para o topo Ir para baixo

[ALL]Script Quest Empty ~> Bom começando deis do Zero <~

Mensagem por Lucas Roberto Sáb 09 Abr 2011, 17:40

~> Bom começando deis do Zero <~

Ola pessoal estou refazendo esse sistema para vocês não me matar kkk

Como Funciona ele e bem simples
Quando voce Digita /Quest1 ele vai pro mapa que voce fazer mais voce podera fazer essa quest 1 vez pra cada jogador pra evitar ficar pegando itens raros da Quest...

Vamos começar...

Abre sua pasta Elysium Diamond > Bilinarios > Server > Script > Principal e Procura:

Código:
    Case "/portal"
        If Portal > 0 Then
           mapnum = GetVar("Stats.ini", GetPlayerName(index), "map")
           y = GetVar("Stats.ini", GetPlayerName(index), "y")
           x = GetVar("Stats.ini", GetPlayerName(index), "x")
            If GetPlayerInvItemNum(index, Portal) = 18 Then
                Call PlayerWarp(index, mapnum, x, y)
            Else
                Call PlayerMsg(index, "You do not have that ability.", 4)
            End If
            Exit Sub
        End If
    Case "/bell"
        Call GlobalMsg("*ding* *ding* *ding*", 7)
        Exit Sub

Abaixo coloque:

Código:
Case "/quest1"
    If GetPlayerQuests(index) = 2 Then
    Call PlayerWarp(index, 125, 10, 13)
    Call SetPlayerQuests(index, GetPlayerQuests(index) + 1)
    Call SavePlayer(index)
          Call SendPOINTS(Index)
          Call SendStats(Index)
    Call PlayerMsg(index, "Você está na Quest 1!", 14)
      Else
    Call PlayerMsg(index, "Você não pode fazer essa Quest novamente!", 14)
      End If
      Exit Sub

Case "/quest2"
    If GetPlayerQuests(index) = 1 Then
    Call PlayerWarp(index, 131, 10, 6)
    Call SetPlayerQuests(index, GetPlayerQuests(index) + 1)
    Call SavePlayer(index)
          Call SendPOINTS(Index)
          Call SendStats(Index)
    Call PlayerMsg(index, "Você está na Quest 2!", 14)
      Else
    Call PlayerMsg(index, "Você não pode fazer essa Quest novamente!", 14)
      End If
      Exit Sub

Case "/quest3"
    If GetPlayerQuests(index) = 0 Then
    Call PlayerWarp(index, 136, 10, 0)
    Call SetPlayerQuests(index, GetPlayerQuests(index) + 1)
    Call SavePlayer(index)
          Call SendPOINTS(Index)
          Call SendStats(Index)
    Call PlayerMsg(index, "Você está na Quest 3!", 14)
      Else
    Call PlayerMsg(index, "Você não pode fazer essa Quest novamente!", 14)
      End If
      Exit Sub

Procure por:
Código:
    If GetPlayerLevel(index) => 1050 Then
    Call PlayerMsg(index, "Você resetou!", 14)
    Call SetPlayerExp(index, 1) 
      Call SetPlayerLevel(index, 1)
    Call SetPlayerPOINTS(index, GetPlayerPoints(index) + 200)
    Call SetPlayerResets(index, GetPlayerResets(index) + 1)
    Call SavePlayer(index)
          Call SendPOINTS(Index)
          Call SendStats(Index)
    End If

Abaixo em algumas Script vai tar isso:

Código:
If GetPlayerResets(index) = 13 Then

Se tiver coloque isso abaixo:

Código:
If PlayerQuests(index) = 0 Then

Bom sae não tiver coloque em baixo do resete automatico mesmo


Explicando

Case "/quest3" 'o comando que vai ser usando
If GetPlayerQuests(index) = 0 Then ' o numero da Quest
Call PlayerWarp(index, 136, 10, 0) 'Warp as cordenadas do mapa que vai
Call SetPlayerQuests(index, GetPlayerQuests(index) + 1) 'Registro da Quest pra não fazer denovo
Call SavePlayer(index) 'Salva a Quest
Call SendPOINTS(Index) 'Pontos que deve ter
Call SendStats(Index)
Call PlayerMsg(index, "Você está na Quest 3!", 14) 'Mesagem quando voce vai pra quest
Else
Call PlayerMsg(index, "Você não pode fazer essa Quest novamente!", 14) 'quando voce tenta usar esse comando mais de duas veses
End If

Parte de Script completa mais agora temos de declarar algumas coisinhas para que funcione esse sistema então vamos la

Abre seu Visual Basic
e abra o Server.cide


Procure no modTypes por:

Código:
Sub SetPlayerPassword(ByVal Index As Long, ByVal NewPassword As String)
    Player(Index).Password = NewPassword
End Sub

Abaixo coloque:

Código:
Function GetPlayerQuests(ByVal Index As Long) As Long
    GetPlayerQuests = Player(Index).Char(Player(Index).CharNum).Quests
End Function

Sub SetPlayerQuests(ByVal Index As Long, _
  ByVal Quests As Long)
    Player(Index).Char(Player(Index).CharNum).Quests = Quests
End Sub

Procure por:

Código:
Player(Index).Char(i).Resets = Val(GetVar(FileName, "CHAR" & i, "Resets"))

abaixo coloque:

Código:
Player(Index).Char(i).Quests = Val(GetVar(FileName, "CHAR" & i, "Quests"))

em ' General tem essa linha

Código:
Resets As Long

abaixo coloque:

Código:
Quests As Long

Procure no clsCommands por:

Código:
Sub SetPlayerPassword(ByVal Index As Long, ByVal NewPassword As String)
    Player(Index).Password = NewPassword
End Sub

abaixo coloque:

Código:
Function GetPlayerQuests(ByVal Index As Long) As Long
    GetPlayerQuests = Player(Index).Char(Player(Index).CharNum).Quests
End Function

Sub SetPlayerQuests(ByVal Index As Long, _
  ByVal Quests As Long)
    Player(Index).Char(Player(Index).CharNum).Quests = Quests
End Sub

procure por:

Código:
Call PutVar(FileName, "CHAR" & i, "Resets", STR(Player(Index).Char(i).Resets))

abaixo coloque:

Código:
Call PutVar(FileName, "CHAR" & i, "Quests", STR(Player(Index).Char(i).Quests))

Bom acho que e isso agora esta funcionando

Lucas Roberto
Lucas Roberto
Membro Veterano
Membro Veterano

Mensagens : 1794

http://universogamesmmo.forumeiros.com/forum

Ir para o topo Ir para baixo

[ALL]Script Quest Empty Re: [ALL]Script Quest

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