Ir para conteúdo
  • Cadastre-se

DÚVIDAS (Destroy Field e Promotion onLogin)


Posts Recomendados

Olá, minha primeira dúvida é a respeito da promotion. Uso sistema VIP por premium accounts, e gostaria que players premium fossem automaticamente promovidos, e quando a premium acabar, voltarem a voc original, através do login.lua.

Estou utilizando esta função, que não dá erros, mas nao faz o prometido... (creaturescripts/login.lua)

EDIT: Substituí o script a seguir por

if isPremium(cid) == FALSE and (isInArray({5, 6, 7, 8}, getPlayerVocation(cid))) then -- id das voc promotion

doPlayerSetVocation(cid,getPlayerVocation(cid)-4) -- aqui ele vai perde promotion

elseif isPremium(cid) == TRUE and (isInArray({1, 2, 3, 4}, getPlayerVocation(cid))) then

doPlayerSetVocation(cid,getPlayerVocation(cid)+4) -- aqui ele ganha promotion

end

e funcionou perfeitamente! Mais uma do Vodkart!

Ainda tenho dúvida, e já testei vários scripts, acerca de Destroy Field Rune.

function onLogin(cid)

local msg = {

msg1 = "Você foi promovido e agora ganha 50% mais exp.",

msgerro = "Você precisa ser VIP para ganhar mais exp.",

msg2 = "Acabou seus dias de VIP account, sua exp extra acabou."

}

if isPremium(cid) == true and getPlayerVocation(cid) >= 5 then

doPlayerSendTextMessage(cid,25,msg.msg1)

doPlayerSetVocation(cid,(getPlayerVocation(cid)+4))

elseif isPremium(cid) == true and getPlayerVocation(cid) <= 4 then

doPlayerSendTextMessage(cid,25,msg.msgerro)

elseif isPremium(cid) == false and getPlayerVocation(cid) >= 9 then

doPlayerSetVocation(cid,(getPlayerVocation(cid)-4))

doPlayerSendTextMessage(cid,25,msg.msg2)

end

end

2- Dúvida a respeito do destroy field rune, que dá um erro no console e não apaga o field.

Aqui está o erro:

[5/11/2012 0:55:2] [Error - Spell Interface]

[5/11/2012 0:55:2] data/spells/scripts/support/destroy field rune.lua:onCastSpell

[5/11/2012 0:55:2] Description:

[5/11/2012 0:55:2] data/spells/scripts/support/destroy field rune.lua:2: attempt to call global 'getTileItemByType' (a nil value)

[5/11/2012 0:55:2] stack traceback:

[5/11/2012 0:55:2] data/spells/scripts/support/destroy field rune.lua:2: in function <data/spells/scripts/support/destroy field rune.lua:1>

[5/11/2012 0:55:2] (tail call): ?

E aqui está o script da spell.

local function doRemoveField(cid, pos)

local field = getTileItemByType(pos, ITEM_TYPE_MAGICFIELD)

if(field.itemid ~=0) then

doRemoveItem(field.uid)

doSendMagicEffect(pos, CONST_ME_POFF)

return true

end

doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

return false

end

function onCastSpell(cid, var)

local pos = variantToPosition(var)

if(pos.x == CONTAINER_POSITION) then

pos = getThingPos(cid)

end

if(pos.x ~= 0 and pos.y ~= 0) then

return doRemoveField(cid, pos)

end

doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

return false

end

Obrigado pela ajuda :)

Editado por mateuslp (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Mano, espera até 24horas para que possa dar ''UP'' no seu topico.

Ninguem é obrigado a ajuda-lo na hora que o senhor bem entender.

Link para o post
Compartilhar em outros sites

Atrapalhando não mano, só estou avisando uma regra do fórum.

Relaxa ;)

regras do fórum.

Dar "UP" para subir tópicos:

Não é proibido da "UP" em seus tópicos para ele subir na listagem, porém você só poderá usar deste beneficio dentro de um período de 24h, ou seja, se você deu "UP" agora só poderá dar novamente daqui 24h, caso ao contrário seu tópico será fechado. Lembre-se que isto é um exceção da regra do double post, tanto é que você só poderá usar deste beneficio de 48 em 48 horas.

Sobre a fire field, testa esse aqui

UNREMOVABLE_FIELDS = {1497, 1498, 1499, 1505, 1506, 1507, 1508, 7465, 7466, 7467, 7468, 7469, 7470, 7471, 7472, 7473, 11094, 11095}

local function doRemoveField(cid, pos)

local field = getTileItemByType(pos, ITEM_TYPE_MAGICFIELD)

if(not isInArray(UNREMOVABLE_FIELDS, field.itemid)) then

doRemoveItem(field.uid)

doSendMagicEffect(pos, CONST_ME_POFF)

return true

end

doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

return false

end

function onCastSpell(cid, var)

local pos = variantToPosition(var)

if(pos.x == CONTAINER_POSITION) then

pos = getThingPos(cid)

end

if(pos.x ~= 0 and pos.y ~= 0) then

return doRemoveField(cid, pos)

end

doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

return false

end

Editado por EdsonJunior (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Com seu script...

Isso nao é problema na lib nao?

[5/11/2012 20:58:59] [Error - Spell Interface]

[5/11/2012 20:58:59] data/spells/scripts/support/destroy field rune.lua:onCastSpell

[5/11/2012 20:58:59] Description:

[5/11/2012 20:58:59] data/spells/scripts/support/destroy field rune.lua:4: attempt to call global 'getTileItemByType' (a nil value)

[5/11/2012 20:58:59] stack traceback:

[5/11/2012 20:58:59] data/spells/scripts/support/destroy field rune.lua:4: in function <data/spells/scripts/support/destroy field rune.lua:3>

[5/11/2012 20:58:59] (tail call): ?

Link para o post
Compartilhar em outros sites

Manow, vo tentar em spells/suportt vai la onde ta o destroy field e bota isso

UNREMOVABLE_FIELDS = {1497, 1498, 1499, 1505, 1506, 1507, 1508, 7465, 7466, 7467, 7468, 7469, 7470, 7471, 7472, 7473, 11094, 11095}

local function doRemoveField(cid, pos)

local field = getTileItemByType(pos, ITEM_TYPE_MAGICFIELD)

if(not isInArray(UNREMOVABLE_FIELDS, field.itemid)) then

doRemoveItem(field.uid)

doSendMagicEffect(pos, CONST_ME_POFF)

return true

end

doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

return false

end

function onCastSpell(cid, var)

local pos = variantToPosition(var)

if(pos.x == CONTAINER_POSITION) then

pos = getThingPos(cid)

end

if(pos.x ~= 0 and pos.y ~= 0) then

return doRemoveField(cid, pos)

end

doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

return false

end

Em Spells.xml coloca isso \/

<rune name="Destroy Field" id="2261" allowfaruse="1" charges="3" lvl="17" maglv="3" exhaustion="1000" aggressive="0" range="5" event="script" value="support/Nomedoseuarquivo.lua"/>

Em Actions/scripts/ crie uma pasta chamado others se não tiver, copie e cole um arquivo.lua e bote o nome destroy e coloke isso

function onUse(cid, item, fromPosition, itemEx, toPosition)

return destroyItem(cid, itemEx, toPosition)

end

Em Actions.XML bote isso

<action fromid="2406" toid="2419" event="script" value="other/destroy.lua"/>

Editado por xxxcrimsxxx (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Deve ser erro do teu OT, já que você testou mais de 5 e não funcionou >.<

Sign's


r6z42f.png
Feito por: Anne Motta

dxo51e.png
Feito por: Mim! kk ' Primeira Sign *-*




Link para o post
Compartilhar em outros sites

xxxcrimsxxx ->

[9/11/2012 23:58:52] [Error - Spell Interface]

[9/11/2012 23:58:52] data/spells/scripts/support/destroy field rune.lua:onCastSpell

[9/11/2012 23:58:52] Description:

[9/11/2012 23:58:52] data/spells/scripts/support/destroy field rune.lua:4: attempt to call global 'getTileItemByType' (a nil value)

[9/11/2012 23:58:52] stack traceback:

[9/11/2012 23:58:52] data/spells/scripts/support/destroy field rune.lua:4: in function <data/spells/scripts/support/destroy field rune.lua:3>

[9/11/2012 23:58:52] (tail call): ?

E eu imagino que o erro seja com o OT, mas ainda sem descartar o problema com as LIBS... alguem pode ajudar ainda? =\

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo