Ir para conteúdo
Entre para seguir isso  
Mock

Multitoll (canivete do global)

Recommended Posts

Mock    32
Mock

Servidor testado: Matriz (acredito rodar em TFS)

Autor: Mock

Autor da idea: CIP

Versão: 1.0

-------------------------------------------------------------------------------------------

 

Este é o canivete que se ganha na quest secret service, que é rope, machete, pick e shovel em um item só Whacking_Driller_of_Fate.gif

-------------------------------------------------------------------------------------------

Vamos instala-lo...

O que realmente da mais problema é tag... o TFS inventou de mudar as tags nao sei pra que nao mudou nada para melhor só para pior entao vou postar os 2 metodos de TAG:

Matriz

<action itemid="10511" script="multitoll.lua"/>

TFS

<action actionid="10511" event="script" value="multitoll.lua"/>

-------------------------------------------------------------------------------------------

Ao colocar as tag em todos os items (tem 6 diferentes eu puis a tag so para um deles.) você cria o arquivo multitoll.lua e ponha o seguinte code:

----------------------------
------Script By mock--------
----------------------------
[email protected]
----------------------------
actionide = 2123 ---- actionid do ground que vai abrir a pick.
local tempo = 6000 ---- tempo até o curaco fexar em milisegundos
grounds = {351,352,353,354,355} --- ids do chao
OPEN_HOLE_SHOVEL = {[468]={469},[481]={482},[483]={484},[1335]={383},[293]={294}}
ROPE_SPOT = {384, 418, 8278, 8592}             
OPENED_HOLE = {294, 383, 469, 470, 482, 482, 485, 489}
DOWN_LADDER = {369, 370, 408, 409, 427, 428, 3135, 3136, 5545, 5763}
OPENED_TRAP = {462}
CONTAINER_POSITION = 65535

local function fechar(topos,id)
local npos = {x=topos.x, y=topos.y, z=topos.z, stackpos=0}
local grounditem = getThingfromPos(npos)
doRemoveItem(grounditem.uid,1) 
local itam = doCreateItem(id,1,npos)
doSetItemActionId(itam,2123) 
end

local function rope(cid,find)
   if (isInArray(ROPE_SPOT, find.itemid) == TRUE) then
       local np = getThingPos(find.uid)
       np.z = np.z -1
       np.y = np.y +1
	doTeleportThing(cid, np)
elseif (isInArray(OPENED_HOLE, find.itemid) == TRUE or
           isInArray(OPENED_TRAP, find.itemid) == TRUE or
        isInArray(DOWN_LADDER, find.itemid) == TRUE) then
        local np = getThingPos(find.uid)
        downPos = {x = topos.x, y = topos.y, z = topos.z + 1, stackpos = 255}
        downItem = getThingfromPos(downPos)
       if (downItem.itemid > 0) then
           np.z = np.z -1
           np.y = np.y +1
		doTeleportThing(downItem.uid, np)
	else
		doPlayerSendCancel(cid, "Sorry, not possible.")
	end	
	return TRUE
    end
    return FALSE
end  
local function pick(cid,find)
   if find.itemid == 0 then
	return FALSE
end 
if isInArray(grounds, find.itemid) and find.actionid == 2123 then
         doTransformItem(find.uid,383)
          doSendMagicEffect(getThingPos(find.uid),2)
          addEvent(fechar, tempo, getThingPos(find.uid),find.itemid)
       return TRUE
   end
   return FALSE
end  
local function shovel(cid,find)
 if OPEN_HOLE_SHOVEL[find.itemid] ~= nil then
    doTransformItem(find.uid,OPEN_HOLE_SHOVEL[find.itemid][1])
    doDecayItem(find.uid)
    return TRUE
 end
  return FALSE
end  
local function machete(cid,itemEx)
   if(itemEx.itemid == 2782) then
	doTransformItem(itemEx.uid, 2781)
	doDecayItem(itemEx.uid)
	return TRUE
elseif(isInArray({7538, 7539}, itemEx.itemid) == TRUE) then
	doTransformItem(itemEx.uid, (itemEx.itemid + 6))
	doDecayItem(itemEx.uid)
	return TRUE
elseif(itemEx.itemid == 1499) then
	doSendMagicEffect(toPosition, CONST_ME_POFF)
	doRemoveItem(itemEx.uid)
	return TRUE
end
   return FALSE 
end
------Script By mock--------
function onUse(cid, item, frompos, item2, topos)
if(topos.x == 0 and topos.y == 0 and topos.z == 0) then
	doPlayerSendCancel(cid, "Sorry, not possible.")
	return TRUE
end
if(topos.x == CONTAINER_POSITION) then
	doPlayerSendCancel(cid, "Sorry, not possible.")
	return TRUE
end
local find = getThingfromPos({x = topos.x, y = topos.y, z = topos.z, stackpos = 0})
   if rope(cid,find) == TRUE then
      return TRUE
   elseif pick(cid,find) == TRUE then
      return TRUE 
   elseif shovel(cid,find) == TRUE then
      return TRUE
   elseif machete(cid,item2) == TRUE then
      return TRUE   
   end

return TRUE
end

-------------------------------------------------------------------------------------------

Salve dê reload nas actions e divirta-se com esse script (essa é a primeira versão, foi testado parcialmente entao quaisquer bugs poste neste topico.)

Editado por Mock

Compartilhar este post


Link para o post
Fantom    1
Fantom

Mock,

Estou usando a última versão do TFS,

E nela não tem o Itemid: 10511

O que eu faço ?

 

Att.

Compartilhar este post


Link para o post
Mock    32
Mock

entao nao é a utima versão, a utima versão é 8.5, esse id nao tem nas 8.4

Compartilhar este post


Link para o post
KutyKutyx3    1
KutyKutyx3

No TFS o ItemId 10511 é um squeezing gear of girlpower, está certo?

 

E a tag para TFS:

 

<action actionid="1051" event="script" value="multitoll.lua"/>

 

por

 

<action actionid="10511" event="script" value="multitoll.lua"/>

Compartilhar este post


Link para o post
Mock    32
Mock

@KutyKutyx3

apenas um erro de digitação, faltou um 1 no final

Compartilhar este post


Link para o post
Fantom    1
Fantom
entao nao é a utima versão, a utima versão é 8.5, esse id nao tem nas 8.4

 

Sim Mock,

Estou usando o TFS 8.50,

Mais nos items não tem esse item,

Ja procurei e não tem esse id,

O que eu posso fazer ?

Obrigado!

 

Att.

Compartilhar este post


Link para o post
Kah~    0
Kah~

Dá pra fazer isso daí com um item inútil em um Server 8.42- né? só instala o script usando o id do item inútil?

Compartilhar este post


Link para o post
Mock    32
Mock

@lyu <del>

ler o topico é bom sabia?

ao inves de perugntar para que server e ganhar post apenas leia o topico.

@kah~

sim contanto que o item de para dar use with.

Compartilhar este post


Link para o post
kleyne    0
kleyne

cara amigo... eu baixei o ultimo da versao 8.5 e ot global full v.0.3.5

 

ta assim

<action fromid="10511" toid="10516" event="script" value="tools/all.lua"/>

 

intaum nem precisa coloca nada neh?

Compartilhar este post


Link para o post
Mock    32
Mock

@kleyne

não, quer dizer que seu ot ja veio com isso.

Compartilhar este post


Link para o post
Conde2    0
Conde2

Mock

 

Cara já vou dando um aviso para o pessoal =D

Nos TFS mais novos não vai funcionar...

Porque mudou algumas funções que na do mock tão antigas...

Se quiserem que funcione direito TIREM a parte que está em negrito

OBS: TIREM EM TODOS OS CASOS ASSIM:

 

isInArray(OPENED_TRAP, find.itemid) == TRUE or

isInArray(DOWN_LADDER, find.itemid) == TRUE) then

 

 

Ficando assim:

 

isInArray(OPENED_TRAP, find.itemid) or

isInArray(DOWN_LADDER, find.itemid)) then

Compartilhar este post


Link para o post
Mock    32
Mock

@conde

nao... no TFS eles mudaram TRUE = true

e quando se usa IF sem nem um parametro ele só continuara caso NAO retorne nil qualquer outro valor e valido ^^

Compartilhar este post


Link para o post
Pivizz    1
Pivizz

Isso merece mesmo ser exclusivo? ;x

Logo logo isso vai tá nas sources de todos servidores, e acho que não vai ser sua versão.

Compartilhar este post


Link para o post
rodrigoxt    0
rodrigoxt

Muito bom o scprit, Mock sempre inovando!

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×