Jump to content

Scripting ALGUÉM SABE COMO COLOCAR CAST SYSTEM COM PORCENTAGEM DE EXP?


Recommended Posts

  • 1 month later...

Há esse tópico

https://tibiaking.com/forums/topic/92753-ganhar-mais-exp-com-cast-aberto/

 

o problema é que o sistema que eles colocaram da exp extra mesmo se o player colocar senha no cast

Link to post
Share on other sites

Estou utilizando o mesmo script de exp bônus para cast deste tópico mencionado pelo @Cricket , fiz apenas uma modificação para que apenas o player transmitindo cast sem senha ganhasse a exp bônus. Minha engine é TFS 1.2, não sei se funciona igual para OTX.

 

Ou seja, todas as outras partes são iguais, você só precisa colocar isto aqui no start_cast.lua em talkactions:

 

function onSay(player, words, param)
	if (param == "on") then
		param = nil
	end
	if (param == "") then
		param = nil
	end
	if (param == nil) then
		if player:startLiveCast(param) then
			player:sendTextMessage(MESSAGE_INFO_DESCR, "Você está transmitindo um cast sem senha do seu jogo. Mantenha o cast sem senha aberto por 10 minutos para começar a receber experiência bônus!")
			CASTEXP[player:getName()] = os.time() + CASTEXP_NEEDTIME	
		else
			player:sendCancelMessage("Você já está transmitindo um cast do seu jogo.")
		end
	else
		if player:startLiveCast(param) then
			player:sendTextMessage(MESSAGE_INFO_DESCR, "Você está transmitindo um cast do seu jogo.")
		else
			player:sendCancelMessage("Você já está transmitindo um cast do seu jogo.")
		end
	end
return false
end

Basicamente o que eu fiz foi adicionar um if, onde ele só coloca o player recebendo exp extra se o player usar "!cast" apenas ou "!cast on". Se ele utilizar o "!cast 'senha' " ele não vai ganhar exp extra.

Edited by MatCollier (see edit history)
Link to post
Share on other sites

mano to com um script aqui que da 5% de exp a mais para quem estiver com cast ligado sem senha, o problema e que ele esta dando mais de 5%. 

Exemplo: mato um monstro com 4200 de exp, e recebo mais 2000 de exp do cast..., esta dando quase 50% a mais de exp.

poderia me ajudar?

Edited by wendel (see edit history)
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By doido
      Ola eu tenho uma spell de attack que deveria ter uma chnce de falhar mas ela nao falha alguem pode editar pramin colocar a chance 50% de pegar!
       
      local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_DEATH) function onCastSpell(cid, var) local target = getCreatureTarget(cid) if (isPlayer(target)) then if (getCreatureHealth(target) > getCreatureMaxHealth(target) * 0.20) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "O alvo tem que estar com menos de 20% da vida.") return false end else doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Voce so pode usar em jogadores.") return false end doSendMagicEffect(getPlayerPosition(cid), 49) local storage = 23011 local spellname = "Execute" local hp = -10000 if exhaustion.check(cid, storage) == false then doCreatureAddHealth(target, hp) return doCombat(cid, combat, var) else doSendAnimatedText(getThingPos(cid), "MISS!", 180) end end  
    • By daniel.braga989
      Galera seguinte, Passei serv para OTX e agora os monsters nao estão atacando os players,  os monsters so ataca  os players somente se eles atacar, fora isso nao ataca.
      Obs: Nao aparece erro no console, e nem os monsters estao como ''passivo''
       
    • By doido
      Olaa eu tenho um script de respaw de monster aleatorio, mas esse script repete o mesmo respaw, queria que isso nao acontecesse para nao repetir o respaw do mesmo monster,  e um global event.
      @Vodkart
      local pozycje = { {x = 661, y = 396, z = 15, mob="smaug"}, {x = 1712, y = 449, z = 14, mob="ancalagon"}, {x = 2286, y = 462, z = 9, mob="Scatha"}, {x = 1241, y = 498, z = 11, mob="Adramelech"}, {x = 1208, y = 734, z = 7, mob="Emelianenko"}, {x = 614, y = 478, z = 0, mob="The Necromancer"}, } function onThink(interval, lastExecution, thinkInterval) if(math.random(1, 1000) < 900) then -- 1000 = 100%, np. 500 to 50% local potwor = pozycje[math.random(1, #pozycje)] if(type(doCreateMonster(potwor.mob, {x=potwor.x, y=potwor.y, z=potwor.z}, false)) == "number") then end end return true end  
    • By doido
      Ola tenho um scrip de teleport e uma talkaction. mas queria colocar se o player estiver com a storage 1234 ele nao conseguir teleportar!
       
      local config = { pz = false, -- false battle = true, -- trues custo = false, -- false need_level = false, -- false premium = true, -- true exhaust = 5, -- tempo em segundos storage, value = 1110102, 1 -- key da storage, e seu valor } local free = { ["azeroth"] ={ pos = {x=613, y=1056, z=7}, price = 0}, ["esdra"] ={ pos = {x=1091, y=2272, z=4}, price = 0}, ["elsera"] ={ pos = {x=342, y=101, z=6}, price = 0}, ["saragoka"] ={ pos = {x=628, y=879, z=7}, price = 0}, ["gloria"] ={ pos = {x=797, y=821, z=7}, price = 0}, ["avalon"] ={ pos = {x=2096, y=949, z=7}, price = 0}, ["edileia"] ={ pos = {x=581, y=2327, z=6}, price = 0}, ["khalarar"] ={ -- pos = {x=1369, y=1122, z=7}, price = 0}, ["varmor"] ={ -- pos = {x=407, y=633, z=7}, price = 0}, ["nevasta"] ={ -- pos = {x=2431, y=1337, z=7}, price = 0}, ["shurima"] ={ -- pos = {x=1833, y=2183, z=5}, price = 0}, ["orcpromo"] ={ -- pos = {x=2569, y=2186, z=5}, price = 0}, ["arena"] ={ pos = {x=2129, y=925, z=10}, price = 0}, ["midgarde"] ={ pos = {x=3630, y=1870, z=6}, price = 0}, ["formagor"] ={ -- pos = {x=2619, y=2086, z=4}, price = 0}, } local premium = { ["behemoth2"] ={ pos = {x=230, y=478, z=0}, price = 0}, ["behemoth3"] ={ pos = {x=1616, y=2236, z=8}, price = 0}, ["behemoth4"] ={ pos = {x=738, y=896, z=7}, price = 0}, ["behemoth5"] ={ pos = {x=708, y=962, z=10}, price = 0}, ["dragon6"] ={ pos = {x=1585, y=992, z=7}, price = 0}, ["pirate"] ={ pos = {x=147, y=935, z=7}, price = 0}, ["macacos"] ={ pos = {x=775, y=2105, z=7}, price = 0}, ["hellhound3"] ={ pos = {x=866, y=2358, z=6}, price = 0}, } function onSay(cid, words, param) local param, str, var = param:lower(),"", isPremium(cid) and premium or free if param == "" or param == "list" then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "--=[ FREE ]=--") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "CIDADES: azeroth, avalon, gloria, saragoka, elsera, edileia, khalarar, varmor, nevasta, shurima, formagor, esdra, midgarde. ( orcpromo, arena )") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "--=[ VIPS ]=--") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "HUNT LEVEL 8 a 30: troll, amazon, mino1, mino2, elf1, dworc, barbarian1, barbarian2, bonelord, orc1, orc2. ( treineroff )") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "HUNT LEVEL 30 a 50: cyclops1, cyclops2, cyclops3, cyclops4, pirate, vamp1, vamp2, lightvale, macacos, scarab, dwarf1, dwarf2, dragonhatchling1, dragonhatchling2.") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "HUNT LEVEL 50 a 80: banshee, wyvern, hero1, hero2, dragon1, dragon2, dragon3, dragon4, dragon5, dragon6, dragon7, blacknight1, blacknight2, hydra1, hydra2, hydra3, hydra4, spider1, spider2, icespider1, icespider2.") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "HUNT LEVEL 80 a 100: behemoth1, behemoth2, behemoth3, behemoth4, behemoth5, northland, frost1, frost2, frost3, frost4, frost5, volcan, rhun, defiler1, defiler2, bograider1, bograider2, nightmare1, nightmare2, quaras.") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "HUNT LEVEL 100 a 200: hellhound1, hellhound2, hellhound3, fury, warlock1, warlock2, warlock3, demon1, demon2, demon3, undead1, undead2, deathvale, erediunvale, serpent1, serpent2, spiritfire, wyrm, dark, erechvale, behedemon, higelf.") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "HUNT LEVEL 200+: northen, elemental, lizard1, lizard2, lizard3, medusa1, medusa2, oxyurus, terminator1, terminator2, jugger1, jugger2, solarian, bloodboil, valemordor, demonictoad.") return true end local a = var[param] if not(a) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Use comando /ir veja os lugares onde você pode ir.") doSendMagicEffect(getCreaturePosition(cid), 2) return true elseif config.pz == true and getTilePzInfo(getCreaturePosition(cid)) == FALSE then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Você precisa estar em protection zone pra poder teleportar.") return true elseif getCreatureCondition(cid, CONDITION_INFIGHT) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você não pode se teleportar em uma batalha.") return true elseif config.custo == true and doPlayerRemoveMoney(cid, a.price) == FALSE then doPlayerSendTextMessage(cid, 22, "Desculpe,voce nâo tem dinheiro suficiente. Voce precisa "..a.price.." gp para ser teleportado.") return true end if (getPlayerStogageValue(cid, 1110101) - os.time()) > os.time() then doPlayerSendTextMessage(cid, 22, "Aguarde alguns segundos para usar teletransporte novamente.") return true end setPlayerStorageValue(cid, 1110101, os.time() + exhaust) setPlayerStorageValue(cid, storage, value) doSendMagicEffect(getCreaturePosition(cid), 27) doTeleportThing(cid, a.pos) doSendMagicEffect(a.pos, CONST_ME_BIGCLOUDS) return true end  
    • By doido
      Ola preciso de um script simples que bloqueia o player falar a palavra  /ir se ele estiver com a storage 1234
       
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...