Ir para conteúdo
Entre para seguir isso  
hagrifield

Começe com os ekips sem estar na bp!

Recommended Posts

hagrifield    0
hagrifield

Bem, esse tutorial eh bem simples!

Ele foi feito para o server:

Yourots 8.3!!!!

E como você já percebeu, nesse Yourots(talvez só nesse), você começa com os seus ekips dentro da bp!!!

Então eu resolvi criar uma script fazendo com que a gente já começe com os itens já equipados e sem akela encheção de saco de você estar toda hora tendo de pegar os seus ekips dentro da bp.

Vamos ao que interessa!

Bem, esta é a script:

 

function onLogin(cid)

if getPlayerVocation(cid) == 1 then

doPlayerAddItem(cid, 8819, 1)

doPlayerAddItem(cid, 2190, 1)

doPlayerAddItem(cid, 2323, 1)

doPlayerAddItem(cid, 2643, 1)

doPlayerAddItem(cid, 2510, 1)

doPlayerAddItem(cid, 2468, 1)

doPlayerAddItem(cid, 1988, 1)

setPlayerStorageValue(cid, 300, 1)

elseif getPlayerVocation(cid) == 2 then

doPlayerAddItem(cid, 8819, 1)

doPlayerAddItem(cid, 2323, 1)

doPlayerAddItem(cid, 2643, 1)

doPlayerAddItem(cid, 2182, 1)

doPlayerAddItem(cid, 2510, 1)

doPlayerAddItem(cid, 2468, 1)

doPlayerAddItem(cid, 1988, 1)

setPlayerStorageValue(cid, 300, 1)

elseif getPlayerVocation(cid) == 3 then

doPlayerAddItem(cid, 2465, 1)

doPlayerAddItem(cid, 2389, 6)

doPlayerAddItem(cid, 2643, 1)

doPlayerAddItem(cid, 2510, 1)

doPlayerAddItem(cid, 2481, 1)

doPlayerAddItem(cid, 2468, 1)

doPlayerAddItem(cid, 1988, 1)

setPlayerStorageValue(cid, 300, 1)

elseif getPlayerVocation(cid) == 4 then

doPlayerAddItem(cid, 2465, 1)

doPlayerAddItem(cid, 2510, 1)

doPlayerAddItem(cid, 2481, 1)

doPlayerAddItem(cid, 8602, 1)

doPlayerAddItem(cid, 2643, 1)

doPlayerAddItem(cid, 2468, 1)

doPlayerAddItem(cid, 1988, 1)

setPlayerStorageValue(cid, 300, 1)

end

return TRUE

end

 

--------------------------------------------------------------------------------------------------------------------------------

Copie isso e substitua o seu firstitens.lua que está no:

data\creaturescripts\scripts.

O que eu fiz afinal de contas????;)

Primeiro, eu vi a ordem das vocações em números e coloquei getPlayerVocation e coloquei equipamentos de acordo com a sua vocação(não tinha a armor do paladin, então coloquei Brass Armor!) e aí, para não dar erro nos equips, tive que colocar alguns equips na ordem para não dar problema como:

Ex. :Os ekips ficavam fora da ordem como por exemplo, a calça ficava na mão e o escudo dentro da bp, então, olhei o que estava errado e arrumei(caso que você ache algum erro assim, é só achar o id do item e ver qual deles eu coloquei na ordem errada!).

Bem, o tutorial acaba por aqui, espero que tenham gostado dessa script

:)

Até mais!

 

Créditos a:

Dark - Tutorial de LuaSQL e o Banco de Funções do OT.

Lab Ora - Por ter ajudado o Dark no tutorial!

Eu - Por ter criado esta script.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Nord    2
Nord

Cara, perfeito, pra mim era um enchessão de saco mesmo os itens na BP principalmente num server que não salvava os chars dai pra colocar tudo de novo era chato.

 

Aprovado

Compartilhar este post


Link para o post
Compartilhar em outros sites
ultimatearmor    0
ultimatearmor

Nord é muito bonzinho ..... Eu também gostei por ter usado uma função que eu mesmo não conhecia... seu script está bemmm pequeno (não digo no modo ruim), estando organizavel e compreencivel. O script (não falo A) está perfeito mais adicione cores no tutorial.. Mesmo assim me diga e se o player não for novato e não tiver ekips, todas as vezes que ele logar ganhará ekips?.

 

Me explique sobre o storage value... MESMO ASSIM TUTORIAL OTIMO

Compartilhar este post


Link para o post
Compartilhar em outros sites
godzinho    0
godzinho

Cara Vlww. muitas pessoas devem ver e falar magina isso e facil, isso não muda nada. e muitas pessoas não sabem, ou não sabiam graças a vc que ensinou isso, mais muda sim ate pq eu ja entrei nesse server 8.31 e é uma saco vc tem que por os ekips no corpo e como ja vem com akela leather armor o chão do server ficava lotaado de lixo e isso as vezes pode provocar lag.

Compartilhar este post


Link para o post
Compartilhar em outros sites
LordDarkk    0
LordDarkk

Ajudou bastante, brigado

Compartilhar este post


Link para o post
Compartilhar em outros sites
hagrifield    0
hagrifield

Hello people, eu estou aqui para consertar a script, pois essa deu um bug horrível:

SEMPRE QUANDO VOCÊ LOGAR E VOLTAR, O PLAYER VAI RECEBER TODA HORA OS ITENS!!!

Mas eu achei a solução e vou postar pra vocês, substituam o que eu fiz(caso você tenha substituído o firstitens.lua) por este:

function onLogin(cid)

if getPlayerStorageValue(cid, 300) == -1 then

vargotitens = getPlayerVocation(cid)

end

if vargotitens == 1 then

doPlayerAddItem(cid, 8819, 1)

doPlayerAddItem(cid, 2190, 1)

doPlayerAddItem(cid, 2662, 1)

doPlayerAddItem(cid, 2643, 1)

doPlayerAddItem(cid, 2510, 1)

doPlayerAddItem(cid, 2468, 1)

doPlayerAddItem(cid, 1988, 1)

vargotitens = 5

elseif vargotitens == 2 then

doPlayerAddItem(cid, 8819, 1)

doPlayerAddItem(cid, 2662, 1)

doPlayerAddItem(cid, 2643, 1)

doPlayerAddItem(cid, 2182, 1)

doPlayerAddItem(cid, 2510, 1)

doPlayerAddItem(cid, 2468, 1)

doPlayerAddItem(cid, 1988, 1)

vargotitens = 5

elseif vargotitens == 3 then

doPlayerAddItem(cid, 2465, 1)

doPlayerAddItem(cid, 2389, 6)

doPlayerAddItem(cid, 2643, 1)

doPlayerAddItem(cid, 2510, 1)

doPlayerAddItem(cid, 2481, 1)

doPlayerAddItem(cid, 2468, 1)

doPlayerAddItem(cid, 1988, 1)

vargotitens = 5

elseif vargotitens == 4 then

doPlayerAddItem(cid, 2465, 1)

doPlayerAddItem(cid, 2510, 1)

doPlayerAddItem(cid, 2481, 1)

doPlayerAddItem(cid, 8602, 1)

doPlayerAddItem(cid, 2643, 1)

doPlayerAddItem(cid, 2468, 1)

doPlayerAddItem(cid, 1988, 1)

vargotitens = 5

end

if vargotitens == 5 then

setPlayerStorageValue(cid, 300, 1)

end

return TRUE

end

------------------------------------------------------------------------

 

Mas, o que eu fiz que agora deu 100% certo???

1º - Eu criei variáveis como VARGOTITENS por exemplo, porque se ela estiver igual a 5, esse evento não ocorrerá mais se você já tiver logado com o char!

- Usei PlayerStorageValue para não dar erros, porque se o valor da ID 300 do PlayerStorage estiver = -1, então você irá ganhar os itens só uma vez, que é o correto.

- Para a VARGOTITENS funfar, eu criei um IF que faz com que ela pegue o valor da vocação do char como por exemplo:

Você criou um knight, então receberá equipamentos relacionados a sua vocação.

Mas, daí voce se cansa de só jogar com um char e resolve criar um Sorcerer, aí, essa var vai ter o valor 4 se o seu char for um kina e 1 se for sorcer!

Agora sim, a script irá funfar corretamente aí, no seu OT!

Flws!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites
hagrifield    0
hagrifield

E respondo sua pergunta ultimatearmor, StorageValue é um sistema interessante que armazena valores no evento como:

setPlayerStorageValue(CID, ID que você deseja colocar o valor, Valor que quer colocar como 0 neste exemplo).

 

E isso serve mais para quests se você olhar nos seus arquivos.lua feito para quests.

Mas, eu usei esta função para não ficar repetindo toda hora a mesma coisa!

^^

E na sua outra pergunta, sim, se o player for novato receberá ekips mas nessa nova script, ele va receber uma única vez(porque na outra script tem este bug de receber todahora os ekips :()

Editado por hagrifield

Compartilhar este post


Link para o post
Compartilhar em outros sites
ultimatearmor    0
ultimatearmor

Obrigado por responder minhas perguntas e de nada né(to zuando xD) obrigado por consertar seu script... Mas use e abuse do botão editar... faça que nem eu (tenho memoria fraca...) sempre edito meus tutoriais pois sempre esqueço de algokkk , coitado dos moderadores kk é triste... Obrigado!

Ultimatearmor

Compartilhar este post


Link para o post
Compartilhar em outros sites
ultimatearmor    0
ultimatearmor

Bom volto com outra duvida (so chato mesmo hduashduashd)com essa função onLogIn, mais tipo o player ganha item se ele logar em qualquer lugar? Porque você não coloca

if playerpos == xxxxxxxx then
entende ? Se não se ele logar em qualquer lugarele ganha esse itens e o certo é ganhar no templo não? Obrigado de novo (adoro amolar as pessoas xD)

Ultimatearmor

Compartilhar este post


Link para o post
Compartilhar em outros sites
Black Hood    0
Black Hood
Bom volto com outra duvida (so chato mesmo hduashduashd)com essa função onLogIn, mais tipo o player ganha item se ele logar em qualquer lugar? Porque você não coloca entende ? Se não se ele logar em qualquer lugarele ganha esse itens e o certo é ganhar no templo não? Obrigado de novo (adoro amolar as pessoas xD)

Ultimatearmor

 

uahauhaua acho q isso nao faz sentido... se vc vai ganhar os eqps apenas uma vez... (quando vc entra no char pela primeira vez) vc vai ganhar no templo q eh aonde nasce pela primeira vez :P dps nunca mais vai ganhar eles...entao nao tem praq por um determinado lugar pra se ganhar os eqps Oo

to errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites
hagrifield    0
hagrifield

Realmente isso não atrapalha nem um pouco, pois esta função onLogin, é justamente feita para quando o cara entrar no jogo(e o playerpos é mais pra templo, quest, e outros).

 

Agora, realmente deu um trabalho pra criar esta script, e eu devo editar uma coisinha, escrevi que era para Yourots 8.3 porque era a versão mais recente, agora é o 8.5 O.o.

 

Voltando a ativa agora, e a script era pra ser pequena pra não complicar a vida do scripter ou de quem quer entender, meu irmão vive falando que não quer que eu explice as coisas, mas depois acaba perguntando O QUE É, COMO FAZ ISSO?

 

Falei demais agora, kkkkkk!

 

Agora vou trabalhar nas scripts, falous!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
Entre para seguir isso  

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×