Postado Novembro 5, 2012 12 anos 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 Novembro 5, 2012 12 anos por mateuslp (veja o histórico de edições)
Postado Novembro 5, 2012 12 anos Mano, espera até 24horas para que possa dar ''UP'' no seu topico. Ninguem é obrigado a ajuda-lo na hora que o senhor bem entender.
Postado Novembro 5, 2012 12 anos 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 Novembro 5, 2012 12 anos por EdsonJunior (veja o histórico de edições)
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.