Postado Julho 28, 2016 8 anos Autor Em 27/07/2016 at 13:46, Wakon disse: local condition = createConditionObject(CONDITION_ENERGY) setConditionParam(condition, CONDITION_PARAM_DELAYED, 1) addDamageCondition(condition, 0, 0, 0) function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, 378378) < 1 then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Mensagem caso não tenha a storage.') and true end if getPlayerLevel(cid) == 8 then if getPlayerVocation(cid) == 8 then doPlayerSetVocation(cid, 16) doPlayerSendTextMessage(cid,22, "Você será enviado ao templo em 3 segundos.") doTargetCombatCondition(0, cid, condition, CONST_ME_MAGIC_BLUE) doRemoveItem(item.uid, 1) addEvent(doTeleportThing, 2900, cid, getTownTemplePosition(getPlayerTown(cid))) addEvent(doRemoveCreature, 3000, cid) else doPlayerSendTextMessage(cid,22,"Fail VOC.") end else doPlayerSendTextMessage(cid,22,"Fail LEVEL.") end return true end Desculpe a demora, adicionei o que você pediu, mas já deixo avisado que provavelmente esse script irá falhar. Para sua ideia funcionar normalmente será necessário utilizar creaturescript. Outra coisa, atualmente utilizar "UP" é proibido, peço que leia as regras: http://www.tibiaking.com/forum/forums/topic/1281-regras-gerais/ Obrigado por me avisar sobre o "UP" eu nao tava sabendo disso xD E sobre o script realmente nao funcionou da forma que eu desejo, caso o jogador deslogue antes do tempo do script ele nao ganha a vocation e fica como se nao tivesse usado o item. Caso eu fizer essa parte de deslogar pelo creaturescripts esse bug nao acontece ? Se sim, voce poderia me ajudar com isso ?
Postado Julho 31, 2016 8 anos Em 20/07/2016 at 14:41, yolocaust disse: Funcionou perfeitamente, agora voce poderia só colocar um time de 3 segundos pro jogador deslogar e ser mandado pro templo se ele tiver a quantidade correta da storage ? Spoiler local condition = createConditionObject(CONDITION_ENERGY) setConditionParam(condition, CONDITION_PARAM_DELAYED, 1) addDamageCondition(condition, 0, 0, 0) function onUse(cid, item, frompos, item2, topos) Voc = getPlayerVocation(cid) PlayerLevel = getPlayerLevel(cid) if PlayerLevel == 8 then if Voc == 8 then if item.itemid == 12918 then local stor = getPlayerStorageValue(cid, 378378) if stor <= 0 then doPlayerSendTextMessage(cid,22,"Voce nao tem a storage.") return false end addEvent(function() doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doRemoveCreature(cid) end, 3000) doPlayerSetVocation(cid, 16) doPlayerSendTextMessage(cid,22,"Message.") doTargetCombatCondition(0, cid, condition, CONST_ME_MAGIC_BLUE) doRemoveItem(item.uid,1) end else doPlayerSendTextMessage(cid,22,"Fail VOC.") end else doPlayerSendTextMessage(cid,22,"Fail LEVEL.") end end testa e me diz se funciona, se nao funcionar amanha eu já arrumo Toda terça-feira um tópico novo: Descanso para curar mana (Spell): https://tibiaking.com/forums/topic/94615-spell-descanso-para-curar-mana/ Peça sua spell (Suporte): https://tibiaking.com/forums/topic/84162-peça-sua-spell/ Chuva de flechas (Spell): https://tibiaking.com/forums/topic/72232-chuva-de-flechas-spell/ Doom (Spell): https://tibiaking.com/forums/topic/51622-doom-spell/ Utilização do VS Code (Infra): https://tibiaking.com/forums/topic/94463-utilizando-o-visual-studio-code-notepad-nunca-mais/ SD com Combo (Spell): https://tibiaking.com/forums/topic/94520-sd-modificada/ Alteração attack speed (C++): https://tibiaking.com/forums/topic/94714-c-attack-speed-spells-itens-e-onde-você-quiser/ Bônus de Speed (NPC): https://tibiaking.com/forums/topic/94809-npc-concede-bônus-aos-players/
Postado Agosto 1, 2016 8 anos Autor 5 horas atrás, Reds disse: Ocultar conteúdo local condition = createConditionObject(CONDITION_ENERGY) setConditionParam(condition, CONDITION_PARAM_DELAYED, 1) addDamageCondition(condition, 0, 0, 0) function onUse(cid, item, frompos, item2, topos) Voc = getPlayerVocation(cid) PlayerLevel = getPlayerLevel(cid) if PlayerLevel == 8 then if Voc == 8 then if item.itemid == 12918 then local stor = getPlayerStorageValue(cid, 378378) if stor <= 0 then doPlayerSendTextMessage(cid,22,"Voce nao tem a storage.") return false end addEvent(function() doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doRemoveCreature(cid) end, 3000) doPlayerSetVocation(cid, 16) doPlayerSendTextMessage(cid,22,"Message.") doTargetCombatCondition(0, cid, condition, CONST_ME_MAGIC_BLUE) doRemoveItem(item.uid,1) end else doPlayerSendTextMessage(cid,22,"Fail VOC.") end else doPlayerSendTextMessage(cid,22,"Fail LEVEL.") end end testa e me diz se funciona, se nao funcionar amanha eu já arrumo @Reds Desculpa, eu estou fazendo de outra forma mais simples só que ta dando um problema nesse script: local condition = createConditionObject(CONDITION_ENERGY) setConditionParam(condition, CONDITION_PARAM_DELAYED, 1) addDamageCondition(condition, 0, 0, 0) function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, 378378) < 2 then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Mensagem caso nao tenha a storage.') and true end Voc = getPlayerVocation(cid) PlayerLevel = getPlayerLevel(cid) if PlayerLevel == 8 and Voc == 1 then doPlayerSetVocation(cid, 9) doPlayerSendTextMessage(cid,22,"Message.") doTargetCombatCondition(0, cid, condition, CONST_ME_MAGIC_BLUE) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doRemoveItem(item.uid,1) elseif PlayerLevel == 8 and Voc == 2 then doPlayerSetVocation(cid, 10) doPlayerSendTextMessage(cid,22,"Message.") doTargetCombatCondition(0, cid, condition, CONST_ME_MAGIC_BLUE) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doRemoveItem(item.uid,1) elseif PlayerLevel == 8 and Voc == 3 then doPlayerSetVocation(cid, 11) doPlayerSendTextMessage(cid,22,"Message.") doTargetCombatCondition(0, cid, condition, CONST_ME_MAGIC_BLUE) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doRemoveItem(item.uid,1) elseif PlayerLevel == 8 and Voc == 4 then doPlayerSetVocation(cid, 12) doPlayerSendTextMessage(cid,22,"Message.") doTargetCombatCondition(0, cid, condition, CONST_ME_MAGIC_BLUE) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doRemoveItem(item.uid,1) elseif PlayerLevel == 8 and Voc == 5 then doPlayerSetVocation(cid, 13) doPlayerSendTextMessage(cid,22,"Message.") doTargetCombatCondition(0, cid, condition, CONST_ME_MAGIC_BLUE) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doRemoveItem(item.uid,1) elseif PlayerLevel == 8 and Voc == 6 then doPlayerSetVocation(cid, 14) doPlayerSendTextMessage(cid,22,"Message.") doTargetCombatCondition(0, cid, condition, CONST_ME_MAGIC_BLUE) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doRemoveItem(item.uid,1) elseif PlayerLevel == 8 and Voc == 7 then doPlayerSetVocation(cid, 15) doPlayerSendTextMessage(cid,22,"Message.") doTargetCombatCondition(0, cid, condition, CONST_ME_MAGIC_BLUE) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doRemoveItem(item.uid,1) elseif PlayerLevel == 8 and Voc == 8 then doPlayerSetVocation(cid, 16) doPlayerSendTextMessage(cid,22,"Message.") doTargetCombatCondition(0, cid, condition, CONST_ME_MAGIC_BLUE) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doRemoveItem(item.uid,1) else doPlayerSendTextMessage(cid,22,"Desculpe, você não tem vocação necessaria ou nível necessario.") end return true end O item no geral funciona mas quando eu relogo o personagem ele volta pra vocação em que estava, como se nao atualizasse na database ou sei lá, poderia me ajudar com isso ? É isso e eu termino essa dor de cabeça xD @EDIT Consegui resolver esse problema, é só mudar o " fromvoc=" " " da proxima vocação que o personagem vai ser no vocations.xml, se a vocação for id 12 é só colocar ali " fromvoc="12" " Muito obrigado @Wakon e @Reds pela ajuda Editado Agosto 1, 2016 8 anos por yolocaust (veja o histórico de edições)
Postado Agosto 1, 2016 8 anos putz, eu ja tentei fazer um codigo com isso, n manjo mt de db, entao nao vai ter como eu te ajudar ;s Toda terça-feira um tópico novo: Descanso para curar mana (Spell): https://tibiaking.com/forums/topic/94615-spell-descanso-para-curar-mana/ Peça sua spell (Suporte): https://tibiaking.com/forums/topic/84162-peça-sua-spell/ Chuva de flechas (Spell): https://tibiaking.com/forums/topic/72232-chuva-de-flechas-spell/ Doom (Spell): https://tibiaking.com/forums/topic/51622-doom-spell/ Utilização do VS Code (Infra): https://tibiaking.com/forums/topic/94463-utilizando-o-visual-studio-code-notepad-nunca-mais/ SD com Combo (Spell): https://tibiaking.com/forums/topic/94520-sd-modificada/ Alteração attack speed (C++): https://tibiaking.com/forums/topic/94714-c-attack-speed-spells-itens-e-onde-você-quiser/ Bônus de Speed (NPC): https://tibiaking.com/forums/topic/94809-npc-concede-bônus-aos-players/
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.