Ir para conteúdo

[Pedido] Scrpt Que Faz Com Que Vc Use A Talkaction So Em Um Lugar


AndreAmaral

Posts Recomendados

Tipo do script: action,movements ..Qual Quer coisa que funcione!

Protocolo (versão do Tibia): 8.60

Servidor utilizado: The Forgotten Server 0.7.5

Nível de experiência: Intermediario

 

Adicionais/Informações:

 

Bom Galera ,eu queria um scrpt que tipo vc so poderia usar talkaction em um certo local do mapa ,

ou seja vc so poderia usar a talkaction naquele local do mapa!..

Quem Ajudar do Rep +++++++++++++++++

 

Vlw aê!!

Link para o comentário
Compartilhar em outros sites

cara se teria que passa qual a talktion que se que,dai é facim, principalmente usamdo umas function que podem ser encontradas aki no xtibia mesmo

Link para o comentário
Compartilhar em outros sites

Opa A Talkaction é isso ai mano! Queria que os players usasses esses comandos de Cs War dentro de uma area pra n ficar usando nas hunts nas wars na city etc...

 

 

function buy(cid,numero)

return getPlayerStorageValue(cid,numero)

end

 

function onSay(cid,words,param)

-- [nao mexa] = {distancia maxima,velocidade,delay entre os tiros, "msg animada" , math.random(min,max)}

 

local arsenal = {

[13251] = {4,200,2,"no Pé",math.random(1,8),"9X19MM SIDEARM"},

[13252] = {4,215,2,"no Braço",math.random(1,10),"KM .45 TACTICAL"},

[13253] = {4,215,2,"no Braço",math.random(1,10),"228 COMPACT "},

[13254] = {5,170,2,"na Perna",math.random(15,35),"NIGHT WALK .50C"},

[13255] = {5,175,2,"na Perna",math.random(15,35),"ES FIVE-SEVEN"},

[13261] = {6,220,5,"UGHHH",math.random(23,35),"LEONE 12 GALGUE SUPER"},

[13262] = {6,220,3,"UGHHH",math.random(15,30),"LEONE IG1265 AUTO"},

[13271] = {7,175,2,"no Pé",math.random(1,8),"SCHMIDT MACHINE"},

[13272] = {7,170,2,"no Braço",math.random(1,10),"KM SUB-MACHINE GUN"},

[13273] = {7,170,2,"no Pé",math.random(1,8),"KM UMP45"},

[13274] = {7,160,2,"no Braço",math.random(1,10),"ES C90"},

[13281] = {5,180,1.5,"no Peito",math.random(25,65),"CLARION 5.56"},

[13282] = {7,186,2,"no Peito",math.random(25,65),"SCHMIDT SCOUT"},

[13283] = {6,170,1.5,"Nut Shot",math.random(25,75),"MAVERICK M4A1"},

[13284] = {5,160,1.5,"no Peito",math.random(25,65),"BULLPUP"},

[13285] = {6,170,2,"Nut Shot",math.random(25,75),"KRIEG 550 COMMANDO"},

[13286] = {8,145,3,"Head Shot",math.random(80,100),"MAGNUM SNIPER RIFLE"},

[13291] = {7,165,8,"Errou",0,"M249"},

}

local armamento = arsenal[getPlayerStorageValue(cid,13245)]

 

 

if words == "!b" then

doPlayerPopupFYI(cid, "Sell:" ..

"\n1 - PISTOLS" ..

"\n2 - SHOTGUNS" ..

"\n3 - SMG" ..

"\n4 - RIFLES" ..

"\n5 - MACHINE GUNS" ..

"\n" ..

"\nSay '!b + number' -> example:" ..

"\n!b1 for open PISTOLS Sellers." )

end

 

if words == "!b1" then -- PISTOLS

doPlayerPopupFYI(cid, "Sell:" ..

"\n11 - 9X19MM SIDEARM --- 4000 GOLD COINS" ..

"\n12 - KM .45 TACTICAL --- 5000 GOLD COINS" ..

"\n13 - 228 COMPACT --- 6000 GOLD COINS" ..

"\n14 - NIGHT WALK .50C --- 6500 GOLD COINS" ..

"\n15 - ES FIVE-SEVEN --- 7500 GOLD COINS" ..

"\n" ..

"\nSay '!b + number' -> example:" ..

"\n!b14 for buy NIGHT WALK .50C (DESERT EAGLE)." )

end

 

if words == "!b2" then -- SHOTGUNS

doPlayerPopupFYI(cid, "Sell:" ..

"\n21 - LEONE 12 GALGUE SUPER --- 17000 GOLD COINS" ..

"\n22 - LEONE IG1265 AUTO --- 30000 GOLD COINS" ..

"\n" ..

"\nSay '!b + number' -> example:" ..

"\n!b21 for buy LEONE 12 GALGUE SUPER." )

end

 

if words == "!b3" then -- SMG

doPlayerPopupFYI(cid, "Sell:" ..

"\n31 - SCHMIDT MACHINE --- 12500 GOLD COINS" ..

"\n32 - KM SUB-MACHINE GUN --- 15000 GOLD COINS" ..

"\n33 - KM UMP45 --- 17000 GOLD COINS" ..

"\n34 - ES C90 --- 23500 GOLD COINS" ..

"\n" ..

"\nSay '!b + number' -> example:" ..

"\n!b34 for buy ES C90." )

end

 

if words == "!b4" then -- RILES

doPlayerPopupFYI(cid, "Sell:" ..

"\n41 - CLARION 5.56 --- 22500 GOLD COINS" ..

"\n42 - SCHMIDT SCOUT --- 27500 GOLD COINS" ..

"\n43 - MAVERICK M4A1 --- 31000 GOLD COINS" ..

"\n44 - BULLPUP --- 35000 GOLD COINS" ..

"\n45 - KRIEG 550 COMMANDO --- 42000 GOLD COINS" ..

"\n46 - MAGNUM SNIPER RIFLE --- 47500 GOLD COINS" ..

"\n" ..

"\nSay '!b + number' -> example:" ..

"\n!b46 for buy MAGNUM SNIPER RIFLE(AWP)." )

end

 

if words == "!b5" then -- RILES

doPlayerPopupFYI(cid, "Sell:" ..

"\n51 - M249 --- 57500 GOLD COINS" ..

"\n" ..

"\nSay '!b + number' -> example:" ..

"\n!b51 for buy M249(RAMBO)." )

end

 

 

 

local comprar = {

["!b11"] = {13251,4000},

["!b12"] = {13252,5000},

["!b13"] = {13253,6000},

["!b14"] = {13254,6500},

["!b15"] = {13255,7500},

["!b21"] = {13261,17000},

["!b22"] = {13262,30000},

["!b31"] = {13271,12500},

["!b32"] = {13272,15000},

["!b33"] = {13273,17000},

["!b34"] = {13274,23500},

["!b41"] = {13281,22500},

["!b42"] = {13282,27500},

["!b43"] = {13283,31000},

["!b44"] = {13284,35000},

["!b45"] = {13285,42000},

["!b46"] = {13286,47500},

["!b51"] = {13291,57500},

}

 

local buyarmas = comprar[words]

 

if buyarmas ~= nil then

if buy(cid,13251) >= 1 or buy(cid,13252) >= 1 or buy(cid,13253) >= 1 or buy(cid,13254) >= 1 or buy(cid,13255) >= 1

or buy(cid,13261) >= 1 or buy(cid,13262) >= 1

or buy(cid,13271) >= 1 or buy(cid,13272) >= 1 or buy(cid,13273) >= 1 or buy(cid,13274) >= 1

or buy(cid,13281) >= 1 or buy(cid,13282) >= 1 or buy(cid,13283) >= 1 or buy(cid,13284) >= 1 or buy(cid,13285) >= 1 or buy(cid,13286) >= 1

or buy(cid,13291) >= 1 then

 

return doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"Voce nao pode comprar mais armas estando com uma. digite !g para se livrar de sua arma.")

end

 

if doPlayerRemoveMoney(cid, buyarmas[1]) == FALSE then

return doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"Você tem que ter "..buyarmas[2].." gold coins.")

end

 

setPlayerStorageValue(cid,buyarmas[1],1)

-- teste --

setPlayerStorageValue(cid,13245,buyarmas[1])

doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"Você comprou uma arma.")

 

end

 

if words == "!g" then

if buy(cid,13251) >= 1 or buy(cid,13252) >= 1 or buy(cid,13253) >= 1 or buy(cid,13254) >= 1 or buy(cid,13255) >= 1

or buy(cid,13261) >= 1 or buy(cid,13262) >= 1

or buy(cid,13271) >= 1 or buy(cid,13272) >= 1 or buy(cid,13273) >= 1 or buy(cid,13274) >= 1

or buy(cid,13281) >= 1 or buy(cid,13282) >= 1 or buy(cid,13283) >= 1 or buy(cid,13284) >= 1 or buy(cid,13285) >= 1 or buy(cid,13286) >= 1

or buy(cid,13291) >= 1 then

 

setPlayerStorageValue(cid,13251,-1)

setPlayerStorageValue(cid,13252,-1)

setPlayerStorageValue(cid,13253,-1)

setPlayerStorageValue(cid,13254,-1)

setPlayerStorageValue(cid,13255,-1)

setPlayerStorageValue(cid,13261,-1)

setPlayerStorageValue(cid,13262,-1)

setPlayerStorageValue(cid,13271,-1)

setPlayerStorageValue(cid,13272,-1)

setPlayerStorageValue(cid,13273,-1)

setPlayerStorageValue(cid,13274,-1)

setPlayerStorageValue(cid,13281,-1)

setPlayerStorageValue(cid,13282,-1)

setPlayerStorageValue(cid,13283,-1)

setPlayerStorageValue(cid,13284,-1)

setPlayerStorageValue(cid,13285,-1)

setPlayerStorageValue(cid,13286,-1)

setPlayerStorageValue(cid,13291,-1)

 

setPlayerStorageValue(cid,13245,-1)

 

doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"Você se livrou de sua arma.")

else

return doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"Você não tinha arma.")

end

end

 

 

if words == "!atirar" then

 

local storage = 13243

 

if armamento == nil then

return doPlayerSendCancel(cid,"Voce precisa comprar uma arma, digite !b")

end

 

if getTilePzInfo(getCreaturePosition(cid)) == TRUE then

return doPlayerSendCancel(cid,"Voce só pode atirar fora da protection zone.")

end

 

if os.time() - getPlayerStorageValue(cid,storage) <= armamento[3] then

return doSendAnimatedText(getCreaturePosition(cid), "Reloading", math.random(1,255))

end

 

setPlayerStorageValue(cid,storage,os.time())

 

 

-- SCRIPT BY DRAKY LUCAS --

-- [de 1 a 10] = {"fala",math.random(dano minimo,dano maximo) em percentagens},

local falas = {

[1] = {"Head Shot",math.random(80,100)},

[2] = {"Nut Shot",math.random(25,35)},

[3] = {"na Perna",math.random(10,25)},

[4] = {"no Peito",math.random(50,75)},

[5] = {"no Pé",math.random(1,10)},

}

 

local i = 1

local tempo = armamento[2]

local max = armamento[1] -- numero de repetiçoes

repeat

local direction = getPlayerLookDir(cid)

position = getCreaturePosition(cid)

if(direction == NORTH) then

position.y = position.y - (i/tempo)

elseif(direction == SOUTH) then

position.y = position.y + (i/tempo) + 1

elseif(direction == WEST) then

position.x = position.x - (i/tempo)

elseif(direction == EAST) then

position.x = position.x + (i/tempo) + 1

end

position.stackpos = 253

local pos = {x = position.x,y = position.y, z = position.z}

pos.stackpos = 253

if getTilePzInfo(pos) == TRUE then

break

end

 

if getThingfromPos(pos).itemid > 0 then

local fala = falas[math.random(1,10)]

if fala == nil then

if addEvent(isPlayer,i,getThingfromPos(pos).uid) then

addEvent(doCreatureAddHealth,i,getThingfromPos(pos).uid,-(getCreatureMaxHealth(getThingfromPos(pos).uid)/100)* armamento[5])

addEvent(doSendMagicEffect,i,pos,64)

addEvent(doSendAnimatedText,i,pos, armamento[4], math.random(1,255))

break

end

end

if addEvent(isPlayer,i,getThingfromPos(pos).uid) then

addEvent(doCreatureAddHealth,i,getThingfromPos(pos).uid,-(getCreatureMaxHealth(getThingfromPos(pos).uid)/100)* fala[2])

addEvent(doSendMagicEffect,i,pos,64)

addEvent(doSendAnimatedText,i,pos, fala[1], math.random(1,255))

break

end

break

end

 

addEvent(doSendMagicEffect,i,pos, 4)

 

i = i + tempo

until i >= tempo * max

end -- do if word == atirar..

 

if words == "!arma" then

if getPlayerStorageValue(cid,13245) <= 0 then

return doPlayerSendTextMessage(cid,25,"Você não tem arma.")

end

doPlayerSendTextMessage(cid,25,"Você está usando uma "..armamento[6]..".")

end

 

return TRUE

end

 

 

 

Obrigado por responder.!

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...