Makers Brasil
Bem Vindos a Maker´s Brasil (um forum para criação de servidores 2D e 3D)Nos desejamos boa sorte no seu projeto!


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

Makers Brasil
Bem Vindos a Maker´s Brasil (um forum para criação de servidores 2D e 3D)Nos desejamos boa sorte no seu projeto!
Makers Brasil
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Aula de SadScript

2 participantes

Ir para baixo

Aula de SadScript Empty Aula de SadScript

Mensagem por thales12 Dom Jul 03, 2011 5:22 pm

Aula de >>>SadScript<<<


..::Introdução::..

Sadscript
é o baluarte de um Elysium jogo. É um simples mas poderoso recurso que
pode controlar apenas sobre cada aspecto de seu jogo. Sim, é melhor
HARDCODE o jogo, mas softcoding suas características facilita a edição e
para não falar que nem todos têm Visual Basic.
Primeiro de tudo,
gostaria de afirmar que é Sadscript infact VBSript. Tem todas as
capabilties de VBscripting e com ele vem uma lista de comandos básicos
para editar o seu leitor de caracteres. Vou listar os comandos para você
em breve.
Mesmo Sadscript é uma ferramenta simples, as pessoas têm
sido conhecidos para criar algumas coisas poderosas. Alguns exemplos de
scripts são aqueles, como um sistema de Fora e Voltar para aqueles
usuários que sempre precisam de sair da sala. E depois há o mais
avançado scripts e alguns, como um sistema para seu tradeskill
entediante trabalhadores ou mesmo um sistema de busca para os viajantes
aventureiros.

..scriptando::..

(:GetPlayerInfos:)

As
Player Info são as mais faceis, porem Tambem é muito Util para mostrar
ao player quantas coisas ele tem, tanto para pegar e fazer uma conta, ou
até para ver se ele passou de alguma regra.
No Sadscript, é muito
usado o GetPlayerInfo, pois ele tem mais GetPlayerInfo do que no Visual
Basic, porem se tivesse seria muito mais facil, pois o Sadscript seria
ativado um código atravez de Textsay.
As GetPlayerInfo Existem diversas como:

=|>GetPlayerName (Pega o nome do jogador)

=|>GetPlayerAccount (Pega a account do Player)

=|>GetPlayerLevel (Pega o Level do Player)

=|>GetPlayerSprite (Pega a Sprite do Player)

=|>GetPlayerAccess (Pega o Access do player, Admin, GM, VIP, Player Free, Etc...)

=|>GetPlayerHelmetSlot (Pega o Item usado no Capacete do player)

=|>GetPlayerArmorSlot (Pega o Item Usado na Armadura do Player)

=|>GetPlayerWeaponSlot (Pega o Item Usado na Arma do Player)

=|>GetPlayerShieldSlot (Pega o Item Usado no Escudo do Player)

=|>GetPlayerSTR (Pega os Pontos de força do Player)

=|>GetPlayerDEF (Pega os Pontos de Defesa do Player)

=|>GetPlayerMAGI (Pega os Pontos de Inteligencia do Player)

=|>GetPlayerSPEED (Pega os Pontos de Velocidade do Player)

=|>GetPlayerPOINTS (Pega os pontos reservados para gastar)

=|>GetPlayerExp (Pega os Pontos de Experiencia do Player)

=|>GetPlayerMapX (Pega a cordenada X do mapa em que o player esta)

=|>GetPlayerMapY (Pega a Cordenada Y Do mapa em que o player esta)

=|>GetPlayerClass (Pega a Classe do Player)

=|>GetPlayerMap (Pega o mapa em que o player está)

=|>GetPlayerInvItemNum (Pega o numero do slot que tal item está)

=|>GetPlayerGuild (Pega a guild do player Se ele tiver)

=|>GetPlayerResets (Pega os resets do player, se voce tiver o comando de reset)

(:SetPlayerInfo:)

O Comando de Setar o player é como um Adicionar, Ele Ao invés de Ver a informação como o GetPlayerInfo, ele Adiciona
O Comando de SetPlayerInfo na verdade são os mesmo comandos que GetPlayerInfo, mas aon invés de Get é Set.
Aqui um Exemplo de SetPlayerInfo:

SetPlayerPOINTS (index, GetPlayerPOINTS + 1)

Explicando, ele adiciona 1 ponto nos pontos para adicionar
e para que serve o GetPlayerPOINTS?
Ou Seja, se colocassemos SetPlayerPOINTS(index, + 1) Ele retiraria o + e ficaria 1, Resultado:
Se o player tivesse 200 pontos, ele ficaria com 1
Por isso o GetPlayerPOINTS seria substituido pelos pontos que o player ja tem, Resultado:
Se ele tivesse 200 pontos, o Resultado seria assim:
SetPlayerPOINTS(Index, 200 + 1)
E Nenhum besta não seria burro o suficiente para não saber quanto é 200 + 1 --'
Mas e se não fosse 200?
O GetPlayerPOINTS como todo GetPlayerInfo , é um Variavel, Se não fosse Variavel, ele seria um numero só.
Por
isso que serve o GetPlayerInfo, por que se ele não tiver aquilo, sairia
outra coisa, Mas como ele é variavel, ele pega oque o Player Tem.
Isto
é lógica, muito usada na programação de Visual Basic, E para aqueles
que a cabeça entrou em parafuso tem mais uma explicação de lógica:

Alfredinho Falou para Maria Que Joãozinho tinha comprado 4 laranjas.
Mas ele não sabe se Joãozinho comprou apenas 1.
Então se o Alfredinho tivesse perguntado a Joãozinho, ele saberia.
E o GetPlayerInfo é a mesma coisa, ele eprgunta ao player quanto ele tem e conta ao código.

Os SetPlayerInfo tem diversos comandos:

=|>SetPlayerName (Muda o nome do jogador)

=|>SetPlayerAccount (Muda a account do Player)

=|>SetPlayerLevel (Muda o Level do Player)

=|>SetPlayerSprite (Muda a Sprite do Player)

=|>SetPlayerAccess (Muda o Access do player, Admin, GM, VIP, Player Free, Etc...)

=|>SetPlayerHelmetSlot (Muda o Item usado no Capacete do player)

=|>SetPlayerArmorSlot (Muda o Item Usado na Armadura do Player)

=|>SetPlayerWeaponSlot (Muda o Item Usado na Arma do Player)

=|>SetPlayerShieldSlot (Muda o Item Usado no Escudo do Player)

=|>SetPlayerSTR (Muda os Pontos de força do Player)

=|>SetPlayerDEF (Muda os Pontos de Defesa do Player)

=|>SetPlayerMAGI (Muda os Pontos de Inteligencia do Player)

=|>SetPlayerSPEED (Muda os Pontos de Velocidade do Player)

=|>SetPlayerPOINTS (Muda os pontos reservados para gastar)

=|>SetPlayerExp (Muda os Pontos de Experiencia do Player)

=|>SetPlayerMapX (Muda a cordenada X do mapa em que o player esta)

=|>SetPlayerMapY (Muda a Cordenada Y Do mapa em que o player esta)

=|>SetPlayerClass (Muda a Classe do Player)

=|>SetPlayerMap (Muda o mapa em que o player está)

=|>SetPlayerInvItemNum (Muda o numero do slot que tal item está)

=|>SetPlayerGuild (Muda a guild do player Se ele tiver)

=|>SetPlayerResets (Muda os resets do player, se voce tiver o comando de reset)

(:Dims:)
Uma Dim é usada como se fosse interpretado
Para voce fazer um código Dim voce deve escrever

Dim (Letra de interpretação, Exemplo : i)

Dim i

Após isso voce presisa mostrar oque ele interpretara
Exemplo

i = "Eu"

O "Eu" é uma String ou seja, não é um código pois esta entre aspas
Mas voce pode entrepetar por algo como por exemplo o código GetPlayerName(index)

Dim i

i = GetPlayerName(index)

A dim serve para muitas coisas, tanto para abreviar um código grande quanto para fazer códigos presisos.
Um código presiso que eu usei foi no sub UsingStatPoint
Ele tinha o comando PointQuant que é a quantidade de pontos
Tive que fazer os pontos quando usados, perder 10 veses a quantidade de pontos usados.
Então usei a Dim

Dim p

p = PointQuant * 10

o * significa no Vb, Multiplicação.
Então eu coloquei quando adiciona pontos eu colocquei no lugar de pointQuant, coloquei a dim P

Isto é sobre as Dims

(:Subs:)

O Principal é dividido em partes onde voce usara codigos
Tanto
como voce pode criar novas subs, quando voce faz um código que é no
lugar errado, ele não funciona, mas tambem depende se o sub tem algo
como (TextSay etc...)

Então vou mostrar as Subs que ja vem no Principal

=|> Sub JoinGame(index)

*Quando voce entra no server quando fala o nome do jogo e MOTD

=|> Sub LeftGame(index)

*Quando entra no server falar boas vindas !

=|> Sub PlayerLevelUp(index)

*Quando o player Passa de level !

=|> Sub UsingStatPoints(index, PointType, PointQuant)

*Quando usa os pontos de status, PointType = Pontos, PointQuant = Quantidade de pontos usados

=|> Sub scriptedTile(index, script)

*Nessessário ter um script Sub feito.

=|> Sub PlayerPrompt(index, Prompt, Value)

*Perguntas ao player

=|> Sub Commands(index)

*Comandos, Que voce escreve no Text do chat e ele roda o comando

=|> Sub DropItems(index)

*Quando morrer dropar itens

=|> Sub OnDeath(index)

*Quando ele morrer o mapa que sera teleportado

(:Cor:)

Abrindo o Principal.txt voce ve os códigos de Cor de texto
Está cor de texto é usada em Msgs ou Etc...
Para usar uma cor é apenas ver o numero dela e colocar este numero.

(:Msg:)

As Mensagens do Principal são mandadas no Chat
Com elas pode se fazer muitas coisas
De informações a Alertas.

Existem 3 formas de Msgs:

=|> PlayerMsg

=|> GlobalMsg

=|> BattleMsg

A PlayerMsg é aquela que apenas o player pode ver, e ela aparece no chat

A GlobalMsg é aquela que todos os players podem ver e ela aparece no chat

A BattleMsg é aquela que aparece no canto do jogo, como Voce tirou tanto de danos no tal Monstro.

>Usando Msgs<

Para usar uma Msg Existe o comando

Call (MsgBox)
E então o resto dos códigos

Usando PlayerMsg

Call PlayerMsg(index, (Conteudo), Cor)

Usando GlobalMsg

Call GlobalMsg((Conteudo), Cor)

Usando BattleMsg

Call BattleMsg(index, (Conteudo), Cor, Local)

| 1 = Direita
Local => |
| 0 = Esquerda

(:GetVar e PutVar:)

A função GetVar é para pegar um arquivo do servidor, Voce a usa o seguinte.
GetVar( Arquivo, Seção do arquivo, Pergunta do arquivo)
A Função GetVar é para ler e PutVar para escrever
Esta função é usada por Arquivos .Ini, para quem sabe sobre isso, na Elysium O comando de ler e escrever INI é assim.
thales12
thales12
Moderador
Moderador

Mensagens : 184
Estrelas Makers : 406
Creditos : 55
Data de inscrição : 22/03/2011
Idade : 29
Localização : Rio de Janeiro

http://www.rdmgames.tk

Ir para o topo Ir para baixo

Aula de SadScript Empty Re: Aula de SadScript

Mensagem por Uchiha Ter Jul 05, 2011 7:42 pm

Aprendi mt com esse tuto coisa que eu não sabia + 1 cred por ter me ajudado ;D
Uchiha
Uchiha
Estagiário
Estagiário

Mensagens : 62
Estrelas Makers : 95
Creditos : 11
Data de inscrição : 03/07/2011
Localização : Vitoria Da Conquista - Ba

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