Ir para conteúdo
  • Cadastre-se

Preciso de ajuda em alguns scripts


Posts Recomendados

Boa tarde galera !

 

Sistema Monsters x Monsters

 

Preciso de ajuda em um sistema de monstro vs monstros .. mais como assim

seria o seguinte estou desenvolvendo um servidor estilo league of legends onde as torres criei como monstros e tals... e os minions tanbem são monstros e queria o seguinte , que esses minions atacassem essas torres que tanbem sao monstros.

 

 

 

Alem disso tenho esse sistema de npc que reseta players mais alem do level queria que o npc resetasse as skills

local config = {
minlevel = 250, --- level inical para resetar
price = 0, --- preço inicial para resetar
newlevel = 100, --- level após reset
priceByReset = 0, --- preço acrescentado por reset
percent = 1, ---- porcentagem da vida/mana que você terá ao resetar (em relação à sua antiga vida total)
levelbyreset = 0 --- quanto de level vai precisar a mais no próximo reset
}
--- end config
 
 
 
function addReset(uid)
resets = getResets(uid)
setPlayerStorageValue(uid, 378378, resets+1) 
doTeleportThing(uid, getTownTemplePosition(getPlayerTown(uid)))
local hp = getCreatureMaxHealth(uid)
local resethp = hp*(config.percent/100)
setCreatureMaxHealth(uid, resethp)
local differencehp = (hp - resethp)
doCreatureAddHealth(uid, -differencehp)
local mana = getCreatureMaxMana(uid)
local resetmana = mana*(config.percent/100)
setCreatureMaxMana(uid, resetmana)
local differencemana = (mana - resetmana)
doCreatureAddMana(uid, -differencemana)
        doRemoveCreature(uid)
local description = resets+1
        db.executeQuery("UPDATE `players` SET `description` = ' [Reset: "..description.."]' WHERE `players`.`id`= ".. playerid .."")
db.executeQuery("UPDATE `players` SET `level`="..config.newlevel..",`experience`= 0 WHERE `players`.`id`= ".. playerid .."")
        return true
end
 
function getResets(uid)
resets = getPlayerStorageValue(uid, 378378)
  if resets < 0 then
            resets = 0
          end
return resets
end
 
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
 
 
function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
 
function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end
local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
 
 
local newPrice = config.price + (getResets(cid) * config.priceByReset)
local newminlevel = config.minlevel + (getResets(cid) * config.levelbyreset)
 
if msgcontains(msg, 'reset') then
if getResets(cid)  == resets then
selfSay('Voce deseja mesmo sair ?{yes}!', cid)
talkState[talkUser] = 1
else
selfSay('I couldnt acess your bank of acess!', cid)
end
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if getPlayerMoney(cid) < newPrice then
selfSay('Its necessary to have at least '..newPrice..' gp\'s for reseting!', cid)
elseif getPlayerLevel(cid) < newminlevel then
selfSay('O level minimo para resetar e '..newminlevel..'!', cid)
else
doPlayerRemoveMoney(cid,newPrice)
playerid = getPlayerGUID(cid)
addEvent(addReset, (5*1000), cid)
local number = getResets(cid)+1
local msg ="---[Partidas jogadas: "..number.."]-- Voce foi resetado!  Voce sera desconectado em 5 segundos."
doPlayerPopupFYI(cid, msg) 
talkState[talkUser] = 0
end
talkState[talkUser] = 0
elseif(msgcontains(msg, 'no')) and isInArray({1}, talkState[talkUser]) == TRUE then
talkState[talkUser] = 0
selfSay('Ok.', cid)
elseif msgcontains(msg, 'quantity') then
selfSay('You have a total of '..getResets(cid)..' reset(s).', cid)
talkState[talkUser] = 0
end
 
return true
end
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Estou procurando tambem um sistema de mata um player e ganha x item somente pois todos scripts que eu encontrei no forum sempre da um problema uma função para um item que eu criei para quando o player usa esse tal item desloga o player

Uma vez eu vi um sistema onde o player pegava level x e quando ele falava /mount ele abria uma janelinha (old cliente tibia) onde o players podia escolher entre 3 montarias algum sabe algum script desse ?

 

E por ultimo um sistema para nao tira o item de lugar (slot) de forma alguma 

 

 

"Somos educados pra sermos médios. Se vc tira 1 em português e 10 em matemática, te colocam pra estudar português.

 Mas se te colocassem pra estudar matemática, você seria um gênio! Lembre-se diariamente: a sociedade te conduz ao medíocre.."

 

FACEBOOK

 

"Deixar de fazer o que gosta é a mesma coisa de jogar 1 milhão de reais em um caminhão de lixo"

Link para o post
Compartilhar em outros sites

é mais facil você colocar as torres como npc '-', pois ai ela pode atacar tanto o player quanto o monstro :)

em relação ao script de remover o skill tenta fazeer o seguinte...

 

doPlayerRemoveSkill(cid, skillId)

Link para o post
Compartilhar em outros sites

é mais facil você colocar as torres como npc '-', pois ai ela pode atacar tanto o player quanto o monstro :)

em relação ao script de remover o skill tenta fazeer o seguinte...

 

doPlayerRemoveSkill(cid, skillId)

de qualquer forma eu não saberei criar npc que ataca monstros .... e essa função acho que não daria certo pois acho alem disso deveria especificar qual skill resetar e tals... se puder me ajudar um pouco mais agradeço...

"Somos educados pra sermos médios. Se vc tira 1 em português e 10 em matemática, te colocam pra estudar português.

 Mas se te colocassem pra estudar matemática, você seria um gênio! Lembre-se diariamente: a sociedade te conduz ao medíocre.."

 

FACEBOOK

 

"Deixar de fazer o que gosta é a mesma coisa de jogar 1 milhão de reais em um caminhão de lixo"

Link para o post
Compartilhar em outros sites

Bom amigo.. você pode criar um NPC.

 

Nas funções no NPC, ele permite você fazer algo, sempre que aparecer uma criatura na tela.

Você poderia fazer para quando aparecer, ele checar se é inimigo ou aliado, caso seja inimigo, rodar um loop para ataca-lo.

Quando esta criatura sumir, faça o loop parar, para não dar lag.

 

Bom.. não vou fazer, porque estou com preguiça, mas dei uma ideia, espero que ajude.

Tony Araújo  ;D 

 

Link para o post
Compartilhar em outros sites

 

Bom amigo.. você pode criar um NPC.

 

Nas funções no NPC, ele permite você fazer algo, sempre que aparecer uma criatura na tela.

Você poderia fazer para quando aparecer, ele checar se é inimigo ou aliado, caso seja inimigo, rodar um loop para ataca-lo.

Quando esta criatura sumir, faça o loop parar, para não dar lag.

 

Bom.. não vou fazer, porque estou com preguiça, mas dei uma ideia, espero que ajude.

 

Tendi foda que eu não tenho a minima ideia de como posso começar a desenvolve essa script.... será que essa script de npc atacar pk pode pega de base... mais mesmo assim não saberei o que fazer para por para atacar o player mesmo sem pk e monstros e tals...

local target = 0
local prevTarget = 0
local maxChaseDistance = 20
local origPos = 0
local lastAttack = 0
local followTimeout = 10

local function isSkulled(cid)
	if(getPlayerSkullType(cid) >= 3 and isPlayerPzLocked(cid) == TRUE) then
		return true
	end

	return false
end

local function goToOrigPos()
	target = 0
	lastAttack  = 0
	selfFollow(0)
	doTeleportThing(getNpcCid(), origPos)
end

local function updateTarget()
	if(isPlayer(target) == FALSE) then
		goToOrigPos()
	elseif(not isSkulled(target)) then
		selfSay("Now, behave in the future.")
		goToOrigPos()
	end

	if(target == 0) then
		local list = getSpectators(getNpcPos(), 9, 9, false)
		for i = 1, table.getn(list) do
			local _target = list[i]
			if(_target ~= 0) then
				if(isPlayer(_target) == TRUE and isSkulled(_target)) then
					if(getTilePzInfo(getCreaturePosition(_target)) == FALSE) then
						if(selfFollow(_target)) then
							target = _target
							if(target ~= prevTarget) then
								selfSay("We do not tolerate people like you here!")
							end

							prevTarget = target
							break
						end
					end
				end
			end
		end
	end
end

function onCreatureAppear(cid)
	if(cid == getNpcCid()) then
		origPos = getNpcPos()
	end
end

function onCreatureDisappear(cid)
	if(cid == target) then
		goToOrigPos()
	end
end

function onCreatureMove(creature, oldPos, newPos)
	--
end

function onThink()
	updateTarget()

	if(target == 0) then
		return
	end

	local playerPos = getCreaturePosition(target)
	local myPos = getNpcPos()

	if(myPos.z ~= playerPos.z) then
		goToOrigPos()
		return
	end

	if(math.abs(myPos.x - origPos.x) > maxChaseDistance or math.abs(myPos.y - origPos.y) > maxChaseDistance) then
		selfSay("I'll catch you next time.")
		goToOrigPos()
		return
	end

	if(lastAttack == 0) then
		lastAttack = os.clock()
	end

	if(os.clock() - lastAttack > followTimeout) then
		selfSay("You got me this time, but just wait.")
		goToOrigPos()
		return
	end

	if((math.abs(playerPos.x - myPos.x) <= 1) and (math.abs(playerPos.y - myPos.y) <= 1)) then
		doTargetCombatHealth(getNpcCid(), target, COMBAT_LIFEDRAIN, -500, -800, CONST_ME_EXPLOSIONAREA)
		lastAttack = os.clock()
	end
end

"Somos educados pra sermos médios. Se vc tira 1 em português e 10 em matemática, te colocam pra estudar português.

 Mas se te colocassem pra estudar matemática, você seria um gênio! Lembre-se diariamente: a sociedade te conduz ao medíocre.."

 

FACEBOOK

 

"Deixar de fazer o que gosta é a mesma coisa de jogar 1 milhão de reais em um caminhão de lixo"

Link para o post
Compartilhar em outros sites

Se fizer por npc não vai dar, afinal vc não consegue atacar npc até onde eu sei. O ideal seria fazer um sisteminha em creaturescript pelo nome dos bixos num esquema de:

T1 Tower -- se o cara for do t1 retorna false e procura outro target.
T2 Tower -- se o cara for do t2 retorna false e procura outro target.

Sobre eles andarem até a torre e atacá-la, bem, isso é complicado fazer e acho que iria requerer alteração na source.

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

tinha um sistema q qdo era pk ou redskull poderia atacar o npc x '-' eu lembro q vi isso aki no forum :D

esse sistema ai eu tenho rsrs'

Se fizer por npc não vai dar, afinal vc não consegue atacar npc até onde eu sei. O ideal seria fazer um sisteminha em creaturescript pelo nome dos bixos num esquema de:

T1 Tower -- se o cara for do t1 retorna false e procura outro target.

T2 Tower -- se o cara for do t2 retorna false e procura outro target.

Sobre eles andarem até a torre e atacá-la, bem, isso é complicado fazer e acho que iria requerer alteração na source.

entendi ... poxa complicado .... vo deixa isso de lado as torres tão atacando todo mundo(menos minions) agora queria criar monstros para ataca elas 

"Somos educados pra sermos médios. Se vc tira 1 em português e 10 em matemática, te colocam pra estudar português.

 Mas se te colocassem pra estudar matemática, você seria um gênio! Lembre-se diariamente: a sociedade te conduz ao medíocre.."

 

FACEBOOK

 

"Deixar de fazer o que gosta é a mesma coisa de jogar 1 milhão de reais em um caminhão de lixo"

Link para o post
Compartilhar em outros sites

faz os minions serem summons, daí as torres atacaria eles também.. só que iria requerer um source editing básico pra permitir que os minions andem na direção do nexus inimigo

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

faz os minions serem summons, daí as torres atacaria eles também.. só que iria requerer um source editing básico pra permitir que os minions andem na direção do nexus inimigo

sim .. verdade... mais pra frente se eu conseguir alguem que me ajude e tals ai vai ser gg enquanto isso estou testando os champions e balanceando e tals

"Somos educados pra sermos médios. Se vc tira 1 em português e 10 em matemática, te colocam pra estudar português.

 Mas se te colocassem pra estudar matemática, você seria um gênio! Lembre-se diariamente: a sociedade te conduz ao medíocre.."

 

FACEBOOK

 

"Deixar de fazer o que gosta é a mesma coisa de jogar 1 milhão de reais em um caminhão de lixo"

Link para o post
Compartilhar em outros sites

Muito boa essa ideia de criar um TIBIA - LOL mano , tava com essa ideia a um ano atras , comecei mais parei pois tinha algumas coisas como torre qe me deixaram doido.

 

kkk

 

mais é isso ai , Sucesso !

kkkkk as torres ja tão atacando players o problema agora é o minions ataca as torres kk

faz os minions serem summons, daí as torres atacaria eles também.. só que iria requerer um source editing básico pra permitir que os minions andem na direção do nexus inimigo

so voltei pra da uma palavra pro xWhiteWolf mlk é pica mesmo eu penso assim... eu acho que o tibia king é como se fosse uma partida de league of legends onde o xWhiteWolf seria um draven e seu time seria todos nois do TK e xWhiteWolf era um cara feedado que levava todas duvidas nas costas ajudando todo seu time mano parabens mano continue assim que tu vai longe  (y)  :palmas:  :palmas:  :palmas:  :palmas:  :palmas:  :palmas:  :palmas:  :palmas:  :palmas:  :palmas:  :palmas:  :palmas:  :palmas:  :palmas:  :palmas:  :palmas:

"Somos educados pra sermos médios. Se vc tira 1 em português e 10 em matemática, te colocam pra estudar português.

 Mas se te colocassem pra estudar matemática, você seria um gênio! Lembre-se diariamente: a sociedade te conduz ao medíocre.."

 

FACEBOOK

 

"Deixar de fazer o que gosta é a mesma coisa de jogar 1 milhão de reais em um caminhão de lixo"

Link para o post
Compartilhar em outros sites

Hauahauahau eu faço oque dá na medida do possivel. Draven feedado kkkkk qualquer dia a gente joga uma partida no lol pra vc mudar de ideia

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo