FA
script

[Creaturescripts] Auto Promote

Por Farathor, 21 de ago. de 2016 em Globalevents e Spells

5
2k
FarathorF
21 de agosto de 2016 às 19:31

Esse script, funciona da seguinte forma. Quando o jogador atinge o level configurado dentro do script, ele ganha promote automaticamente, não sei se isso irá servir para alguma coisa, mas estou disponibilizando pra vocês.

 

Em creaturescripts/scripts crie um arquivo chamado autoPromote.lua e cole o script abaixo dentro dele

local level = 20local storage = 52641function onAdvance(cid, oldLevel, newLevel)    if getPlayerStorageValue(cid, storage) == -1 and getPlayerLevel(cid) >= level then        setPlayerPromotionLevel(cid, 1)        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você atingiu o level "..level.." e o servidor te presenteou com uma promote!")        setPlayerStorageValue(cid, storage, 1)    end    return trueend

Em creaturescripts.xml adicione a seguinte tag:

<event type="advance" name="autoPromote" event="script" value="autoPromote.lua"/> 

Em creaturescripts/scripts no arquivo login.lua, registre isso:

registerCreatureEvent(cid, "autoPromote")


 

Editado Agosto 25 por Farathor

PoccnnP
21 de agosto de 2016 às 21:17

Boa idéia. 

Só por uma questão de conhecimento; a função onadvance contém quatro parâmetros:

cid - criatura que avançou de nível. 

skill - habilidade que foi avançada de nível. 

oldLevel - valor anterior da habilidade que avançou de nível. 

newLevel - novo valor da habilidade que avançou de nível. 

 

Skill, contém nove números que representam suas devidas habilidades:

Citar

[0]="First", 
[1]="Club", 
[2]="Sword", 
[3]="Axe", 
[4]="Distance", 
[5]="Shield", 
[6]="Fishing", 
[7]="Magic Level", 
[8]="Level" 

 

Continua assim garoto que você vai se tornar um bom scripter lua.

 

21 de agosto de 2016 às 21:19

Tá fazendo pra estudar? Tá bacana, mas tem uns errinhos.
Quando tu chamou a variavel storage tu chamou uma variavel de uma tabela, e no lvl tu não chamou da tabela. Olha, vou destacar com aspas duplas:

if getPlayerStorageValue(cid, ""config.storage"") == -1 and getPlayerLevel(cid) >= ""level"" then

Tu não criou uma tabela chamada config para chamar algo dela usando "config.blabla". 

 

 

Faço as palavras do Poccnn as minhas xD

 

Editado Agosto 21 por Gabriel Netto

FarathorF
25 de agosto de 2016 às 17:00

KK, eu me enrolei, vou corrigir

@EDIT Corrigido

6 meses depois...
Dri IohD
28 de fevereiro de 2017 às 11:03
Em 25/08/2016 at 17:00, Farathor disse:

KK, eu me enrolei, vou corrigir

@EDIT Corrigido

Como corrigiu? isso funciona em TFS 1.2?