Ir para conteúdo
  • 0

Item Q Da Vocaçao


nbb147

Pergunta

gente to com um problema em um script de item q da vocaçao, é assim ele funciona blz, eu queria mudar ele para so o sorcerer poder usar ele, script abaixo:

 

 

 

local voc = 5 --mude para o id da vocaçao que o player sera transformado----

 

 

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

doPlayerSetVocation(cid, voc)

doCreatureSay(cid, Shippuden, 1)

doRemoveItem(item.uid)

return true

end

Link para o comentário
Compartilhar em outros sites

  • Respostas 51
  • Created
  • Última resposta

Top Posters For This Question

Posts Recomendados

  • 0

@newton

erro:

 

 

 

[09/08/2012 16:06:43] [Error - LuaScriptInterface::loadFile] data/actions/scripts/vocation.lua:7: 'then' expected near 'doPlayerSetVocation'

[09/08/2012 16:06:43] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/vocation.lua)

[09/08/2012 16:06:43] data/actions/scripts/vocation.lua:7: 'then' expected near 'doPlayerSetVocation'

Link para o comentário
Compartilhar em outros sites

  • 0

arrumei o do newton

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
if getPlayerStorageValue(cid,1992) == 1 then
doCreatureSay(cid, "Você ja recebeu a nova vocaçao", TALKTYPE_ORANGE_1)
else if getPlayerLevel(cid) >= 20 then
doCreatureSay(cid, "você recebeu uma nova vocaçao!", TALKTYPE_ORANGE_1)
if getPlayerVocation(cid) == 1 then
doPlayerSetVocation(cid,2)
end
doSendMagicEffect(fromPosition, 2)
doRemoveItem(item.uid)
setPlayerStorageValue(cid,1992,1)
return TRUE
else
doCreatureSay(cid, "Você deve ter level 20 ou mais para usar o Item!",TALKTYPE_ORANGE_1)
end
end
end

Link para o comentário
Compartilhar em outros sites

  • 0

editei o do jhon ver agr

 

function onUse(cid, item, fromPosition, itemEx, toPosition)  
local configs = {
   vocationid = {2,3}, -- id da vocação que pode usar o item, que quiser deixar apenas a 2 põe {2}.
   level = 20, -- lvl minimo para usar o item.
   voc = 1 -- id da vocation que o player vai virar
}
if doPlayerSetVocation(cid,configs.voc) and getPlayerVocation(cid,vocationid) then
   if getPlayerLevel(cid) >= configs.level then
    if getPlayerPromotionLevel(cid) < 1 then
	    setPlayerPromotionLevel(cid, 1)
	    doRemoveItem(item.uid, 1)
	    doPlayerSendTextMessage(cid, 19, "Você foi promovido para "..getPlayerVocation(cid)..".")
	    doSendMagicEffect(getPlayerPosition(cid), 29)
    else
	    doPlayerSendCancel(cid, "Voce ja é promoted.")
    end
   else
    doPlayerSendCancel(cid, "Voce precisa ser level " .. configs.level .. " ou maior para adiquirir a promotion.")
   end
else
   doPlayerSendCancel(cid, "Sua vocação não pode usar isso!")
end
return true
end

Link para o comentário
Compartilhar em outros sites

  • 0

@nbb147, se a vocation não for promotion de nenhuma acho que vai funcionar, mais se for quando o player deslogar vai retroceder a vocação.

 

function onUse(cid, item, fromPosition, itemEx, toPosition)   
local configs = {
   vocationid = 5, -- id da vocação que vai virar.
   vocationNeed = {2,3}, -- id's das vocações que podem usar este item.
   level = 20 -- lvl minimo para usar o item.
}
if isInArray(vocationNeed, getPlayerVocation(cid)) then
   if getPlayerLevel(cid) >= configs.level then
    doPlayerSetVocation(cid, configs.vocationid)
    doRemoveItem(item.uid, 1)
       doPlayerSendTextMessage(cid, 19, "Você recebeu a vocação "..getPlayerVocation(cid)..".")
       doSendMagicEffect(getPlayerPosition(cid), 29)
   else
    doPlayerSendCancel(cid, "Você precisa ser level " .. configs.level .. " ou maior para adiquirir a vocação.")
   end
else
   doPlayerSendCancel(cid, "Sua vocação não pode usar isto!")
end
return true
end

Link para o comentário
Compartilhar em outros sites

  • 0

ae o script:

 

 

 

local config = {

loginMessage = getConfigValue('loginMessage')

}

 

function onLogin(cid)

local loss = getConfigValue('deathLostPercent')

if(loss ~= nil) then

doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10)

end

 

local accountManager = getPlayerAccountManager(cid)

if(accountManager == MANAGER_NONE) then

local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage

if(lastLogin > 0) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)

str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."

else

str = str .. " Please choose your outfit."

doPlayerSendOutfitWindow(cid)

end

 

doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)

elseif(accountManager == MANAGER_NAMELOCK) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")

elseif(accountManager == MANAGER_ACCOUNT) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.")

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.")

end

 

if(not isPlayerGhost(cid)) then

doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)

end

 

registerCreatureEvent(cid, "Mail")

registerCreatureEvent(cid, "GuildMotd")

 

registerCreatureEvent(cid, "killer")

registerCreatureEvent(cid, "Idle")

 

registerCreatureEvent(cid, "attackguild")

registerCreatureEvent(cid, "advance")

registerCreatureEvent(cid, "FimVip")

registerCreatureEvent(cid, "SkullCheck")

registerCreatureEvent(cid, "ReportBug")

 

registerCreatureEvent(cid, VipReceive)

registerCreatureEvent(cid, "PlayerKill")

registerCreatureEvent(cid, "LookTypes")

if (InitArenaScript ~= 0) then

InitArenaScript = 1

-- make arena rooms free

for i = 42300, 42309 do

setGlobalStorageValue(i, 0)

setGlobalStorageValue(i+100, 0)

end

end

-- if he did not make full arena 1 he must start from zero

if getPlayerStorageValue(cid, 42309) < 1 then

for i = 42300, 42309 do

setPlayerStorageValue(cid, i, 0)

setPlayerStorageValue(cid, 14755, -1)

end

end

-- if he did not make full arena 2 he must start from zero

if getPlayerStorageValue(cid, 42319) < 1 then

for i = 42310, 42319 do

setPlayerStorageValue(cid, i, 0)

end

end

-- if he did not make full arena 3 he must start from zero

if getPlayerStorageValue(cid, 42329) < 1 then

for i = 42320, 42329 do

setPlayerStorageValue(cid, i, 0)

end

end

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

setPlayerStorageValue(cid, 42355, 0) -- did not arena level

end

setPlayerStorageValue(cid, 42350, 0) -- time to kick 0

setPlayerStorageValue(cid, 42352, 0) -- is not in arena

if getPlayerStorageValue(cid, 1992) ~= -1 then

doPlayerSetVocation(cid, getPlayerStorageValue(cid, 1992))

end

return true

end

Link para o comentário
Compartilhar em outros sites

  • 0

achei o erro, tira isso:

if getPlayerStorageValue(cid, 1992) ~= -1 then

doPlayerSetVocation(cid, getPlayerStorageValue(cid, 1992))

end

 

Cola esse script abaixo:

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

if getPlayerStorageValue(cid,1992) == 1 then

doCreatureSay(cid, "Você ja recebeu a nova vocaçao", TALKTYPE_ORANGE_1)

else if getPlayerLevel(cid) >= 20 then

doCreatureSay(cid, "você recebeu uma nova vocaçao!", TALKTYPE_ORANGE_1)

if getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 2 then

doPlayerSetVocation(cid, 6)

end

if getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 2 then

doPlayerSetVocation(cid, 6)

end

if getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 2 then

doPlayerSetVocation(cid, 6)

end

if getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 2 then

doPlayerSetVocation(cid, 6)

end

doSendMagicEffect(fromPosition, 2)

doRemoveItem(item.uid)

setPlayerStorageValue(cid,1992,1)

return TRUE

else

doCreatureSay(cid, "Você deve ter level 20 ou mais para usar o Item!",TALKTYPE_ORANGE_1)

end

end

end

Esse script só transforma vocação de id 2 para id 6 (como você me pediu), lembrando que pode ser editado (seguindo o tutorial que apresentei nesse mesmo tópico).

 

Obs: Se algum player usar sem ter a vocação 2 ele não ganha, mas o item some.

 

Pronto, agora me diz se funcionou.

 

@Jhon92

 

Desculpa, não vi direito e achei era outro script.

 

Malz.

Editado por Newtonnotwen
Link para o comentário
Compartilhar em outros sites


×
×
  • Criar Novo...