Ir para conteúdo

jhon992

Conde
  • Total de itens

    631
  • Registro em

  • Última visita

  • Dias Ganhos

    13

Tudo que jhon992 postou

  1. jhon992

    Pedidos Muito Simples

    function onAdvance(cid, oldLevel, newLevel) local pid = getPlayerGUID(cid) if (newLevel == 12 and getPlayerStorageValue(cid, 102089) <= 0) then if (getPlayerVocation(cid) == 4) then setPlayerStorageValue(cid, 102089, 1) local bp = doPlayerAddItem(cid, 1988, 1) doAddContainerItem(bp, 2395, 1) doAddContainerItem(bp, 2195, 1) doAddContainerItem(bp, 2519, 1) doAddContainerItem(bp, 2491, 1) doAddContainerItem(bp, 2488, 1) doAddContainerItem(bp, 2487, 1) doRemoveCreature(cid) db.executeQuery("UPDATE `player_skills` SET `value` = ".. 20 .." WHERE `player_id` = ".. pid .. " and `skillid` = ".. 5 ..";") db.executeQuery("UPDATE `player_skills` SET `value` = ".. 20 .." WHERE `player_id` = ".. pid .. " and `skillid` = ".. 3 ..";") db.executeQuery("UPDATE `player_skills` SET `value` = ".. 20 .." WHERE `player_id` = ".. pid .. " and `skillid` = ".. 1 ..";") db.executeQuery("UPDATE `player_skills` SET `value` = ".. 20 .." WHERE `player_id` = ".. pid .. " and `skillid` = ".. 2 ..";") return TRUE end if (getPlayerVocation(cid) == 3) then setPlayerStorageValue(cid, 102089, 1) local bp2 = doPlayerAddItem(cid, 1988, 1) doAddContainerItem(bp2, 8891, 1) doAddContainerItem(bp2, 2195, 1) doAddContainerItem(bp2, 8851, 1) doAddContainerItem(bp2, 6529, 1) doAddContainerItem(bp2, 2470, 1) doAddContainerItem(bp2, 2471, 1) doAddContainerItem(bp2, 7367, 1) doRemoveCreature(cid) db.executeQuery("UPDATE `player_skills` SET `value` = ".. 20 .." WHERE `player_id` = ".. pid .. " and `skillid` = ".. 4 ..";") db.executeQuery("UPDATE `player_skills` SET `value` = ".. 20 .." WHERE `player_id` = ".. pid .. " and `skillid` = ".. 5 ..";") return TRUE end if (getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 2) then setPlayerStorageValue(cid, 102089, 1) local bp3 = doPlayerAddItem(cid, 1988, 1) if (getPlayerVocation(cid) == 1) then doAddContainerItem(bp3, 2188, 1) doAddContainerItem(bp3, 2195, 1) doAddContainerItem(bp3, 7730, 1) doAddContainerItem(bp3, 2656, 1) doAddContainerItem(bp3, 2499, 1) else doAddContainerItem(bp3, 2185, 1) doAddContainerItem(bp3, 2195, 1) doAddContainerItem(bp3, 7730, 1) doAddContainerItem(bp3, 2656, 1) doAddContainerItem(bp3, 2499, 1) end doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `maglevel` = " .. 20 .. " WHERE `id` = "..pid) return TRUE end end if (newLevel == 200 and getPlayerStorageValue(cid, 102090) <= 0) then if (getPlayerVocation(cid) == 1) then doPlayerSetVocation(cid, getPlayerVocation(cid)+4) setPlayerStorageValue(cid, 102090, 1) doRemoveCreature(cid) return TRUE elseif (getPlayerVocation(cid) == 2) then doPlayerSetVocation(cid, getPlayerVocation(cid)+4) setPlayerStorageValue(cid, 102090, 1) doRemoveCreature(cid) return TRUE elseif (getPlayerVocation(cid) == 3) then doPlayerSetVocation(cid, getPlayerVocation(cid)+4) setPlayerStorageValue(cid, 102090, 1) doRemoveCreature(cid) return TRUE else doPlayerSetVocation(cid, getPlayerVocation(cid)+4) setPlayerStorageValue(cid, 102090, 1) doRemoveCreature(cid) return TRUE end end return TRUE end
  2. Isso fica compilado no executavel do seu otserv, para traduzir só usando as sources do seu server e traduzindo tudo para depois compilar novamente.
  3. Tinha viajado, coloquei para remover o item pelo uid e coloquei o id, saijda! agora ta arrumadinho la encima.
  4. function onUse(cid, item, frompos, item2, topos) if item.uid == 7475 then queststatus = getPlayerStorageValue(cid,7475) if queststatus == -1 then if getPlayerVocation(cid) == 1 or 2 then doPlayerSendTextMessage(cid,24,"Você ganhou skill.") doPlayerAddSkillTry(cid, SKILL__MAGLEVEL, 5) setPlayerStorageValue(cid,7475,1) elseif getPlayerVocation (cid) == 3 then doPlayerSendTextMessage(cid,24,"Você ganhou skill.") doPlayerAddSkillTry(cid, SKILL_DISTANCE, 1) setPlayerStorageValue(cid,7475,1) elseif getPlayerVocation (cid) == 4 then doPlayerSendTextMessage(cid,24,"Você ganhou skill.") doPlayerAddSkillTry(cid, SKILL_SWORD, 1) doPlayerAddSkillTry(cid, SKILL_AXE, 1) setPlayerStorageValue(cid,7475,1) end else doPlayerSendTextMessage(cid,24,"Você ja Feis essa quest.") end end return 1 end Acho que deve funcionar, e tenta organizar o teu codigo melhor quando for programar. Pelo que to vendo ja tais pegando as manha =). Lib Skills: SKILL_FIST = 0 SKILL_CLUB = 1 SKILL_SWORD = 2 SKILL_AXE = 3 SKILL_DISTANCE = 4 SKILL_SHIELD = 5 SKILL_FISHING = 6 SKILL__MAGLEVEL = 7 SKILL__LEVEL = 8
  5. function onUse(cid, item, fromPosition, itemEx, toPosition) local coinVip = 1234 -- id moeda vip local coinRemove = 1 -- quantdade de coin a remover local refuel = 42 * 60 * 1000 if(getPlayerStamina(cid) >= refuel) then doPlayerSendCancel(cid, "Voce esta com a stamina cheia.") elseif (getPlayerStamina(cid) < refuel and getPlayerStamina(cid) > (40 * 60 * 1000)) then doPlayerSendCancel(cid, "Voce só pode usar quando tiver 40h de stamina.") elseif(not isPremium(cid)) then doPlayerSendCancel(cid, "Você não é premium.") elseif (doPlayerRemoveItem(cid, coinVip, coinRemove) ) then doPlayerSetStamina(cid, refuel) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Your stamina has been refilled.") doRemoveItem(item.uid) else doPlayerSendCancel(cid, "Voce não possui "..coinRemove.." Coins Vip!") end return true end
  6. jhon992

    Pedidos Muito Simples

    function onAdvance(cid, oldLevel, newLevel) local pid = getPlayerGUID(cid) if (newLevel == 20 and getPlayerStorageValue(cid, 102088) <= 0) then if (getPlayerVocation(cid) == 4) then setPlayerStorageValue(cid, 102088, 1) local bp = doPlayerAddItem(cid, 1988, 1) doAddContainerItem(bp, 15414, 1) doAddContainerItem(bp, 15647, 1) doAddContainerItem(bp, 15404, 1) doRemoveCreature(cid) db.executeQuery("UPDATE `player_skills` SET `value` = ".. 20 .." WHERE `player_id` = ".. pid .. " and `skillid` = ".. 5 ..";") db.executeQuery("UPDATE `player_skills` SET `value` = ".. 20 .." WHERE `player_id` = ".. pid .. " and `skillid` = ".. 3 ..";") db.executeQuery("UPDATE `player_skills` SET `value` = ".. 20 .." WHERE `player_id` = ".. pid .. " and `skillid` = ".. 1 ..";") db.executeQuery("UPDATE `player_skills` SET `value` = ".. 20 .." WHERE `player_id` = ".. pid .. " and `skillid` = ".. 2 ..";") return TRUE end if (getPlayerVocation(cid) == 3) then setPlayerStorageValue(cid, 102088, 1) local bp2 = doPlayerAddItem(cid, 1988, 1) doAddContainerItem(bp2, 15643, 1) doAddContainerItem(bp2, 15648, 1) doAddContainerItem(bp2, 15649, 1) doAddContainerItem(bp2, 15644, 1) doRemoveCreature(cid) db.executeQuery("UPDATE `player_skills` SET `value` = ".. 20 .." WHERE `player_id` = ".. pid .. " and `skillid` = ".. 4 ..";") db.executeQuery("UPDATE `player_skills` SET `value` = ".. 20 .." WHERE `player_id` = ".. pid .. " and `skillid` = ".. 5 ..";") return TRUE end if (getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 2) then setPlayerStorageValue(cid, 102088, 1) local bp3 = doPlayerAddItem(cid, 1988, 1) if (getPlayerVocation(cid) == 1) then doAddContainerItem(bp3, 2187, 1) else doAddContainerItem(bp3, 2183, 1) end doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `maglevel` = " .. 20 .. " WHERE `id` = "..pid) return TRUE end end if (newLevel == 50 and getPlayerStorageValue(cid, 102089) <= 0) then setPlayerPromotionLevel(cid, 2) doSendMagicEffect(getCreaturePosition(cid), 30) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"You have been promoted!") return TRUE end return TRUE end
  7. Não, sóh 8.7+ depois da criação do mount no global.
  8. Agora vai de ctz... function onUse(cid, item, fromPosition, itemEx, toPosition) pid = getPlayerGUID(cid) if getPlayerVocation(cid) == 13 and getPlayerLevel(cid) ~= 510 then doPlayerSetVocation(cid, 22) doPlayerSetMaxCapacity(cid, 435) doSendMagicEffect(getCreaturePosition(cid), 13) doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `level` = ".. 8 ..", `experience` = ".. 4200 ..",`manamax` = ".. 35 ..",`healthmax` = ".. 185 ..",`health` = ".. 185 ..",`mana` = ".. 35 .." WHERE `id` = "..pid) for id=0, 8 do db.executeQuery("UPDATE `player_skills` SET `value` = ".. 10 .." WHERE `player_id` = ".. pid .. " and `skillid` = ".. id ..";") end doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "A força dos Deuses te acompanham e você concluiu seu primeiro reset.") elseif getPlayerVocation(cid) == 14 and getPlayerLevel(cid) ~= 510 then doPlayerSetVocation(cid, 21) doPlayerAddExp(cid, -(getPlayerExperience(cid)-getExperienceForLevel(8))) doPlayerAddHealth(cid, -getPlayerHealth(cid)+185) doPlayerAddMana(cid, -getPlayerMana(cid)+35) setCreatureMaxHealth(cid, -setCreatureMaxHealth(cid)+185) setCreatureMaxMana(cid, -setCreatureMaxMana(cid)+35) doPlayerSetMaxCapacity(cid, 435) doSendMagicEffect(getCreaturePosition(cid), 13) doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `level` = ".. 8 ..", `experience` = ".. 4200 ..",`manamax` = ".. 35 ..",`healthmax` = ".. 185 ..",`health` = ".. 185 ..",`mana` = ".. 35 .." WHERE `id` = "..pid) for id=0, 8 do db.executeQuery("UPDATE `player_skills` SET `value` = ".. 10 .." WHERE `player_id` = ".. getPlayerGUID(cid) .. " and `skillid` = ".. id ..";") end return TRUE elseif getPlayerVocation(cid) == 15 and getPlayerLevel(cid) ~= 250 then doPlayerSetVocation(cid, 22) doPlayerAddExp(cid, -(getPlayerExperience(cid)-getExperienceForLevel(8))) doPlayerAddHealth(cid, -getPlayerHealth(cid)+185) doPlayerAddMana(cid, -getPlayerMana(cid)+35) setCreatureMaxHealth(cid, -setCreatureMaxHealth(cid)+185) setCreatureMaxMana(cid, -setCreatureMaxMana(cid)+35) doPlayerSetMaxCapacity(cid, 435) doSendMagicEffect(getCreaturePosition(cid), 13) doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `level` = ".. 8 ..", `experience` = ".. 4200 ..",`manamax` = ".. 35 ..",`healthmax` = ".. 185 ..",`health` = ".. 185 ..",`mana` = ".. 35 .." WHERE `id` = "..pid) for id=0, 8 do db.executeQuery("UPDATE `player_skills` SET `value` = ".. 10 .." WHERE `player_id` = ".. getPlayerGUID(cid) .. " and `skillid` = ".. id ..";") end return TRUE elseif getPlayerVocation(cid) == 16 and getPlayerLevel(cid) ~= 510 then doPlayerSetVocation(cid, 19) doPlayerAddExp(cid, -(getPlayerExperience(cid)-getExperienceForLevel(8))) doPlayerAddHealth(cid, -getPlayerHealth(cid)+185) doPlayerAddMana(cid, -getPlayerMana(cid)+35) setCreatureMaxHealth(cid, -setCreatureMaxHealth(cid)+185) setCreatureMaxMana(cid, -setCreatureMaxMana(cid)+35) doPlayerSetMaxCapacity(cid, 435) doSendMagicEffect(getCreaturePosition(cid), 13) doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `level` = ".. 8 ..", `experience` = ".. 4200 ..",`manamax` = ".. 35 ..",`healthmax` = ".. 185 ..",`health` = ".. 185 ..",`mana` = ".. 35 .." WHERE `id` = "..pid) for id=0, 8 do db.executeQuery("UPDATE `player_skills` SET `value` = ".. 10 .." WHERE `player_id` = ".. getPlayerGUID(cid) .. " and `skillid` = ".. id ..";") end return TRUE else doPlayerSendCancel(cid, "Você não pode mais Resetar!") end return TRUE end
  9. function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerVocation(cid) == 13 and getPlayerLevel(cid) ~= 510 then doPlayerSetVocation(cid, 22) doPlayerAddExp(cid, -(getPlayerExperience(cid)-getExperienceForLevel(8))) doPlayerAddHealth(cid, -getPlayerHealth(cid)+185) doPlayerAddMana(cid, -getPlayerMana(cid)+35) setCreatureMaxHealth(cid, -setCreatureMaxHealth(cid)+185) setCreatureMaxMana(cid, -setCreatureMaxMana(cid)+35) doPlayerSetMaxCapacity(cid, 435) doSendMagicEffect(getCreaturePosition(cid), 13) for id=0, 8 do db.executeQuery("UPDATE `player_skills` SET `value` = ".. 10 .." WHERE `player_id` = ".. getPlayerGUID(cid) .. " and `skillid` = ".. id ..";") end doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "A força dos Deuses te acompanham e você concluiu seu primeiro reset.") elseif getPlayerVocation(cid) == 14 and getPlayerLevel(cid) ~= 510 then doPlayerSetVocation(cid, 21) doPlayerAddExp(cid, -(getPlayerExperience(cid)-getExperienceForLevel(8))) doPlayerAddHealth(cid, -getPlayerHealth(cid)+185) doPlayerAddMana(cid, -getPlayerMana(cid)+35) setCreatureMaxHealth(cid, -setCreatureMaxHealth(cid)+185) setCreatureMaxMana(cid, -setCreatureMaxMana(cid)+35) doPlayerSetMaxCapacity(cid, 435) doSendMagicEffect(getCreaturePosition(cid), 13) for id=0, 8 do db.executeQuery("UPDATE `player_skills` SET `value` = ".. 10 .." WHERE `player_id` = ".. getPlayerGUID(cid) .. " and `skillid` = ".. id ..";") end doSendAnimatedText(getPlayerPosition(cid), "Downgraded!", TEXTCOLOR_ORANGE) doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "A força dos Deuses te acompanham e você concluiu seu primeiro reset.") elseif getPlayerVocation(cid) == 15 and getPlayerLevel(cid) ~= 250 then doPlayerSetVocation(cid, 22) doPlayerAddExp(cid, -(getPlayerExperience(cid)-getExperienceForLevel(8))) doPlayerAddHealth(cid, -getPlayerHealth(cid)+185) doPlayerAddMana(cid, -getPlayerMana(cid)+35) setCreatureMaxHealth(cid, -setCreatureMaxHealth(cid)+185) setCreatureMaxMana(cid, -setCreatureMaxMana(cid)+35) doPlayerSetMaxCapacity(cid, 435) doSendMagicEffect(getCreaturePosition(cid), 13) for id=0, 8 do db.executeQuery("UPDATE `player_skills` SET `value` = ".. 10 .." WHERE `player_id` = ".. getPlayerGUID(cid) .. " and `skillid` = ".. id ..";") end doSendAnimatedText(getPlayerPosition(cid), "Downgraded!", TEXTCOLOR_ORANGE) doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "A força dos Deuses te acompanham e você concluiu seu primeiro reset.") elseif getPlayerVocation(cid) == 16 and getPlayerLevel(cid) ~= 510 then doPlayerSetVocation(cid, 19) doPlayerAddExp(cid, -(getPlayerExperience(cid)-getExperienceForLevel(8))) doPlayerAddHealth(cid, -getPlayerHealth(cid)+185) doPlayerAddMana(cid, -getPlayerMana(cid)+35) setCreatureMaxHealth(cid, -setCreatureMaxHealth(cid)+185) setCreatureMaxMana(cid, -setCreatureMaxMana(cid)+35) doPlayerSetMaxCapacity(cid, 435) doSendMagicEffect(getCreaturePosition(cid), 13) for id=0, 8 do db.executeQuery("UPDATE `player_skills` SET `value` = ".. 10 .." WHERE `player_id` = ".. getPlayerGUID(cid) .. " and `skillid` = ".. id ..";") end doSendAnimatedText(getPlayerPosition(cid), "Downgraded!", TEXTCOLOR_ORANGE) doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "A força dos Deuses te acompanham e você concluiu seu primeiro reset.") else doPlayerSendCancel(cid, "Você não pode mais Resetar!") end return TRUE end
  10. tão por talk não tava funcionando... dei uma modificada, testa aew: function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerVocation(cid) == 13 and getPlayerLevel(cid) ~= 510 then doPlayerSetVocation(cid, 22) doPlayerAddExp(cid, -(getPlayerExperience(cid)-getExperienceForLevel(8))) doPlayerAddHealth(cid, -getPlayerHealth(cid)+185) doPlayerAddMana(cid, -getPlayerMana(cid)+35) setCreatureMaxHealth(cid, 185) setCreatureMaxMana(cid, 35) doPlayerSetMaxCapacity(cid, 435) doSendMagicEffect(getCreaturePosition(cid), 13) doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "A força dos Deuses te acompanham e você concluiu seu primeiro reset.") elseif getPlayerVocation(cid) == 14 and getPlayerLevel(cid) ~= 510 then doPlayerSetVocation(cid, 21) doPlayerAddExp(cid, -(getPlayerExperience(cid)-getExperienceForLevel(8))) doPlayerAddHealth(cid, -getPlayerHealth(cid)+185) doPlayerAddMana(cid, -getPlayerMana(cid)+35) setCreatureMaxHealth(cid, 185) setCreatureMaxMana(cid, 35) doPlayerSetMaxCapacity(cid, 435) doSendMagicEffect(getCreaturePosition(cid), 13) doSendAnimatedText(getPlayerPosition(cid), "Downgraded!", TEXTCOLOR_ORANGE) doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "A força dos Deuses te acompanham e você concluiu seu primeiro reset.") elseif getPlayerVocation(cid) == 15 and getPlayerLevel(cid) ~= 250 then doPlayerSetVocation(cid, 22) doPlayerAddExp(cid, -(getPlayerExperience(cid)-getExperienceForLevel(8))) doPlayerAddHealth(cid, -getPlayerHealth(cid)+185) doPlayerAddMana(cid, -getPlayerMana(cid)+35) setCreatureMaxHealth(cid, 185) setCreatureMaxMana(cid, 35) doPlayerSetMaxCapacity(cid, 435) doSendMagicEffect(getCreaturePosition(cid), 13) doSendAnimatedText(getPlayerPosition(cid), "Downgraded!", TEXTCOLOR_ORANGE) doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "A força dos Deuses te acompanham e você concluiu seu primeiro reset.") elseif getPlayerVocation(cid) == 16 and getPlayerLevel(cid) ~= 510 then doPlayerSetVocation(cid, 19) doPlayerAddExp(cid, -(getPlayerExperience(cid)-getExperienceForLevel(8))) doPlayerAddHealth(cid, -getPlayerHealth(cid)+185) doPlayerAddMana(cid, -getPlayerMana(cid)+35) setCreatureMaxHealth(cid, 185) setCreatureMaxMana(cid, 35) doPlayerSetMaxCapacity(cid, 435) doSendMagicEffect(getCreaturePosition(cid), 13) doSendAnimatedText(getPlayerPosition(cid), "Downgraded!", TEXTCOLOR_ORANGE) doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "A força dos Deuses te acompanham e você concluiu seu primeiro reset.") else doPlayerSendCancel(cid, "Você não pode mais Resetar!") end return TRUE end
  11. jhon992

    Pedidos Muito Simples

    Em data/creaturescripts/scripts, duplica um arquivo e nomeia para "upstats" se cole: function onAdvance(cid, oldLevel, newLevel) local pid = getPlayerGUID(cid) if (newLevel == 20 and getPlayerStorageValue(cid, 102088) <= 0) then if (getPlayerVocation(cid) == 4) then setPlayerStorageValue(cid, 102088, 1) local bp = doPlayerAddItem(cid, 1988, 1) doAddContainerItem(bp, 15414, 1) doAddContainerItem(bp, 15647, 1) doAddContainerItem(bp, 15404, 1) doRemoveCreature(cid,true) db.executeQuery("UPDATE `player_skills` SET `value` = ".. 20 .." WHERE `player_id` = ".. pid .. " and `skillid` = ".. 5 ..";") db.executeQuery("UPDATE `player_skills` SET `value` = ".. 20 .." WHERE `player_id` = ".. pid .. " and `skillid` = ".. 3 ..";") db.executeQuery("UPDATE `player_skills` SET `value` = ".. 20 .." WHERE `player_id` = ".. pid .. " and `skillid` = ".. 1 ..";") db.executeQuery("UPDATE `player_skills` SET `value` = ".. 20 .." WHERE `player_id` = ".. pid .. " and `skillid` = ".. 2 ..";") return TRUE end if (getPlayerVocation(cid) == 3) then setPlayerStorageValue(cid, 102088, 1) local bp2 = doPlayerAddItem(cid, 1988, 1) doAddContainerItem(bp2, 15643, 1) doAddContainerItem(bp2, 15648, 1) doAddContainerItem(bp2, 15649, 1) doAddContainerItem(bp2, 15644, 1) doRemoveCreature(cid,true) db.executeQuery("UPDATE `player_skills` SET `value` = ".. 20 .." WHERE `player_id` = ".. pid .. " and `skillid` = ".. 4 ..";") db.executeQuery("UPDATE `player_skills` SET `value` = ".. 20 .." WHERE `player_id` = ".. pid .. " and `skillid` = ".. 5 ..";") return TRUE end if (getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 2) then setPlayerStorageValue(cid, 102088, 1) local bp3 = doPlayerAddItem(cid, 1988, 1) if (getPlayerVocation(cid) == 1) then doAddContainerItem(bp3, 2187, 1) else doAddContainerItem(bp3, 2183, 1) end doRemoveCreature(cid,true) db.executeQuery("UPDATE `players` SET `maglevel` = " .. 20 .. " WHERE `id` = "..pid) return TRUE end end if (newLevel == 50 and getPlayerStorageValue(cid, 102089) <= 0) then if (getPlayerVocation(cid) == 1) then setPlayerPromotionLevel(cid, getPlayerVocation(cid)+4) setPlayerStorageValue(cid, 102089, 1) doRemoveCreature(cid,true) return TRUE elseif (getPlayerVocation(cid) == 2) then setPlayerPromotionLevel(cid, getPlayerVocation(cid)+4) setPlayerStorageValue(cid, 102089, 1) doRemoveCreature(cid,true) return TRUE elseif (getPlayerVocation(cid) == 3) then setPlayerPromotionLevel(cid, getPlayerVocation(cid)+4) setPlayerStorageValue(cid, 102089, 1) doRemoveCreature(cid,true) return TRUE else setPlayerPromotionLevel(cid, getPlayerVocation(cid)+4) setPlayerStorageValue(cid, 102089, 1) doRemoveCreature(cid,true) return TRUE end end return TRUE end Agora em creaturescripts.xml cole a tag: <event type="advance" name="UpStats" event="script" value="upstats.lua"/> E por ultimo em creaturescripts/scripts no arquivo login.lua antes do ultimo return true cole a tag: registerCreatureEvent(cid, "UpStats")
  12. Se o script funciona perfeitamente como talkaction, como action não sera o contrario: data/actions/script, duplica um arquivo e nomeia para "resetquest" e cole o comando alterado pelo @Duuh... function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerVocation(cid) == 13 and getPlayerLevel(cid) ~= 510 then doPlayerSetVocation(cid, 22) doPlayerAddExp(cid, -(getPlayerExperience(cid)-getExperienceForLevel(8))) setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+185) setCreatureMaxMana(cid, getCreatureMaxMana(cid)+35) doPlayerSetMaxCapacity(cid, 435) doPlayerAddHealth(cid, -getPlayerHealth(cid)+185) doPlayerAddMana(cid, -getPlayerMana(cid)+35) doSendMagicEffect(getCreaturePosition(cid), 13) doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "A força dos Deuses te acompanham e você concluiu seu primeiro reset.") elseif getPlayerVocation(cid) == 14 and getPlayerLevel(cid) ~= 510 then doPlayerSetVocation(cid, 21) doPlayerAddExp(cid, -(getPlayerExperience(cid)-getExperienceForLevel(8))) setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+185) setCreatureMaxMana(cid, getCreatureMaxMana(cid)+35) doPlayerSetMaxCapacity(cid, 435) doPlayerAddHealth(cid, -getPlayerHealth(cid)+185) doPlayerAddMana(cid, -getPlayerMana(cid)+35) doSendMagicEffect(getCreaturePosition(cid), 13) doSendAnimatedText(getPlayerPosition(cid), "Downgraded!", TEXTCOLOR_ORANGE) doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "A força dos Deuses te acompanham e você concluiu seu primeiro reset.") elseif getPlayerVocation(cid) == 15 and getPlayerLevel(cid) ~= 250 then doPlayerSetVocation(cid, 22) doPlayerAddExp(cid, -(getPlayerExperience(cid)-getExperienceForLevel(8))) setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+185) setCreatureMaxMana(cid, getCreatureMaxMana(cid)+35) doPlayerSetMaxCapacity(cid, 435) doPlayerAddHealth(cid, -getPlayerHealth(cid)+185) doPlayerAddMana(cid, -getPlayerMana(cid)+35) doSendMagicEffect(getCreaturePosition(cid), 13) doSendAnimatedText(getPlayerPosition(cid), "Downgraded!", TEXTCOLOR_ORANGE) doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "A força dos Deuses te acompanham e você concluiu seu primeiro reset.") elseif getPlayerVocation(cid) == 16 and getPlayerLevel(cid) ~= 510 then doPlayerSetVocation(cid, 19) doPlayerAddExp(cid, -(getPlayerExperience(cid)-getExperienceForLevel(8))) setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+185) setCreatureMaxMana(cid, getCreatureMaxMana(cid)+35) doPlayerSetMaxCapacity(cid, 435) doPlayerAddHealth(cid, -getPlayerHealth(cid)+185) doPlayerAddMana(cid, -getPlayerMana(cid)+35) doSendMagicEffect(getCreaturePosition(cid), 13) doSendAnimatedText(getPlayerPosition(cid), "Downgraded!", TEXTCOLOR_ORANGE) doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "A força dos Deuses te acompanham e você concluiu seu primeiro reset.") else doPlayerSendCancel(cid, "Você não pode mais Resetar!") end return TRUE end Em actions.xml cole a tag: <action actionid="2290" event="script" value="resetquest.lua"/> Agora com seu mapa editor coloque o actionid=2290 no baú desejado!
  13. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) function onCastSpell(cid, var) if (getPlayerStorageValue(cid, 103010) <= 0) then doCreatureAddHealth(cid, 100) setPlayerStorageValue(cid, 103010, 1) elseif (getPlayerStorageValue(cid, 103010) == 1) then doCreatureAddHealth(cid, 200) setPlayerStorageValue(cid, 103010, 2) else setPlayerStorageValue(cid, 103010, 0) doCreatureAddHealth(cid, 300) end return doCombat(cid, combat, var) end
  14. jhon992

    Ajuda Ae

    Se você precisa e ninguem pode ajudar, tente fazer você msm. Pesquise a aprenda a mexer pq chingando com certesa você só estara perdendo seu tempo!
  15. Acho que adicionando uma linha de comando que quando usa a sd cria outra funciona. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1.8, -19, -1, -28, 5, 4, 4.23, 7.34) function onCastSpell(cid, var) doPlayerAddItem(cid, 2268) return doCombat(cid, combat, var) end Só muda a sd pra vender em 1 carga e ja era =)
  16. Em action/script duplica um arquivo e nomeia para "mountquest1" nele cole: function onUse(cid, item, fromPosition, itemEx, toPosition) local effect = 30 -- efeito no char local storage = 34530 -- não mexa! if(getPlayerStorageValue(cid, 34530) > 0) then doPlayerSendTextMessage(cid, 25, "Voçê ja fez esta quest.") return TRUE end doPlayerAddMount(cid, ID) -- coloque o id da montaria desejada. doPlayerSendTextMessage(cid, 25, "Voçê ganhou uma nova montaria.") doSendMagicEffect(getPlayerPosition(cid), effect) return TRUE end Agora em action.xml cole a tag: <action actionid="2999" event="script" value="mountquest1.lua"/> E com o Mapa Editor, vai no baú desejado e poem o actionid=2999! Não esquece de alterar o id da mount no script mountquest1. ID's Mounts: ['widow queen'] = {id = 1} ['racing bird'] = {id = 2} ['war bear'] = {id = 3} ['black sheep'] = {id = 4} ['midnight panther'] = {id = 5} ['draptor'] = {id = 6} ['titanica'] = {id = 7} ['tin lizard'] = {id = 8} ['blazebringer'] = {id = 9} ['rapid boar'] = {id = 10} ['stampor'] = {id = 11} ['undead cavebear'] = {id = 12} E você pode fazer quantas quest's de mounts desejar tomando base nesse script.
  17. Que isso to aqui pra ajudar, precisar de alguma explicação é sóh da um toque.
  18. Acho que uma forma seria colocar outfil por vocação. Se quiser ta aew o script do Vodkart. Vai em data/creaturescripts/scripts, duplica um arquivo e nomeia para "vocation_out" sem as aspas e nele cole: --[[ By Vodkart ]]-- local config={ {outfit={138,130,140,132},voc={0,1,5},storage=40850}, -- sorcer {outfit={148,144,149,145},voc={0,2,6},storage=40851}, -- druid {outfit={156,152,150,146},voc={0,3,7},storage=40852}, -- pally {outfit={139,131,137,129},voc={0,4,8},storage=40853} -- knight } function onLogin(cid) for a =1,#config do if isInArray(config[a].voc, getPlayerVocation(cid)) and getPlayerStorageValue(cid, config[a].storage) == -1 then setPlayerStorageValue(cid, config[a].storage, 1) for i = 1, #config[a].outfit do doPlayerAddOutfit(cid, config[a].outfit[i], 3) end break end end return TRUE end E em data/creaturescripts/creaturescripts.xml cole a tag: <event type="login" name="Out" script="vocation_out.lua"/> Agora basta ir nas outfit desejado no arquivo outfit.xml e colocar a tag: <outfit id="1" quest="40851"> 40850 - sorcer 40851 - druid 40852 - pally 40853 - knight
  19. Da para usar esse tipo de código em um Creaturescript! Existem varios tipos posiveis de creaturescripts. Alguns tipos: onDeath -- executa ao morrer. onAttack -- executa ao atacar. onCombat -- semelhante ao onAttack. onLogin -- executa ao logar. Para criar esse tipo de script, primeiramente vai na pasta data/creaturescripts/scripts e duplica um arquivo e salve com "nomedesejado"; Você vai fazer uma função "onDeath"(ao morrer), para ativar esse seu script. Code vai ficar mais ou menos assim: 1 function onDeath(cid, corpse, killer) 2 if getPlayerLevel(cid) >= 1 then 3 mh = doPlayerAddItem(cid,5943,1) 4 doSetItemSpecialDescription(mh,"This is the heart of ".. getPlayerName(cid) ..", killed at level ".. getPlayerLevel(cid) .." by ".. getPlayerName(killer) ..".") 5 end 6 return true 7 end Numerei as linhas pare melhor intendimento. Linha 1 = Inicio da função onDeath, essa linha recebe algumas informações do player que morreu, como seu id, o id do player que matou e o corpse. '' 2 = Iniciase um if onde verifica se o level do player morto era maior ou igual a 1. Se for verdadeiro, o script executa as linhas 3 e 4, senão pula direto a linha 5. '' 3 = Adiciona um item com o id 5943 ao player morto e salva o uid do item na variavel "mh". '' 4 = Adiciona o texto ao item. "This is the heart of ".. retorna nome do morto ..", killed at level ".. retorna level do morto .." by ".. retorna nome do matador .."." '' 5 = Finaliza o if que se iniciou na linha 2. '' 6 = Retorna a função ao character, sempre use return no final dos seus scripts. '' 7 = Finaliza a função onDeath. Acho que esta bem explicadinho, por fim para funcionamento do seu script precisa adicionar 2 tags: 1º No "creaturescripts.xml" 2º No arquivo "login.lua" Vai em data/creaturescripts/creaturescripts.xml e cole a tag: <event type="death" name="QualquerNome" event="script" value="nomedesejado.lua"/> O nome desejado é o nome com qual você salvou o script. Agora em data/creaturescripts/scripts/login.lua, sempre antes do último return true: registerCreatureEvent(cid, "QualquerNome") QualquerNome é o nome que você adicionou na tag do creaturescripts.xml. Acho que é isso aew, espero ter ajudado. E para auciliar em seus scripts sempre use uma lista de funções como essa: http://www.xtibia.com/forum/topic/138081-lualista-de-funcoes/ E procure por tutoriais e scripts como sua base;
  20. Fiz pra 8.6, os ot's 8.00 não tem muitas das funções que o 8,6 possui e eu nem sei qual são essas funções, então nem posso te ajudar, malz =/
  21. Sky, se tu soube-se o tanto que eu demorei pra resolver isso se me dava um beijo! saduhada Passei trabalho, mais agora ta funfando e ja testei aqui! Vê se aew vai funfar néh. function onDeath(cid, corpse, deathList) array = {2160, 2160, 2160, 2160} pos = getCreaturePosition(cid) for i=1, #array do if (getPlayerVocation(cid) == i) then addEvent(removeCorpse,300,pos,array[i]) return true end end return true end function removeCorpse(pos,n) doCleanTile(pos, removeLoaded) doCreateItem(n, 1, pos) return true end
  22. jhon992

    Criaturas

    baixa outro otserv 8.7 que tenha esses monstros e substitui a pasta mosters do seu otserv.
  23. tenta assim: function onDeath(cid, corpse) local array = {2160, 2160, 2160, 2160} for i=1, #array do if (getPlayerVocation(cid) == i) then doTransformItem(corpse.uid, array[i], 1) doDecayItem(corpse.uid) return true end end return true end Obs: nem testei.
  24. saijdsajida, Tony precisar de alguma modificação é sóh falar!
  25. Vai em data/weapons/script duplica um arquivo e nomeia para "superwand", sem as aspas e nele cole: local iddowand = 2182 -- coloque o id do wand aqui local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HOLYDAMAGE) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ETHEREALSPEAR) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 0, -57, 0, -62) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat2, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_HOLYDAMAGE) setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ETHEREALSPEAR) setCombatFormula(combat2, COMBAT_FORMULA_SKILL, 1, 0, 1, 0) local area = createCombatArea({ {1, 1, 1}, {1, 3, 1}, {1, 1, 1} }) setCombatArea(combat2, area) function onUseWeapon(cid, var) if (getPlayerSlotItem(cid, CONST_SLOT_LEFT).itemid == iddowand) then return doCombat(cid, combat2, var) end return doCombat(cid, combat, var) end E em data/weapons/weapons.xml cole a tag: <wand id="2182" level="7" mana="2" min="1000" max="3000" script="superwand.lua"> <!-- Snakebite Rod Editado--> <vocation id="2"/> </wand> E configura como quiser, a vocation, o id do wand, não esqueça de mudar o id no script tbm. Mude a mana e os hits como desejar.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...