Ir para conteúdo
Entre para seguir isso  
Capaverde

[8.1] test

Recommended Posts

Capaverde    1
Capaverde

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

Nome: test

Versão: 8.1

Tipo do script: talkaction

Servidor testado: The Forgotten Server 0.2.11.693 (Mystic Spirit)

Autor: Capaverde

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

 

Essa talkaction usa loadstring para transformar o texto de seu param (que deve estar em linguagem lua) em uma função que é em seguida executada no servidor.

function onSay(cid, words, param)
local t = _G
t.cid = cid
local f = assert(loadstring(param))
setfenv(f, t)
f()
end

<talkaction words="test" script="test.lua" />

Pra não virar putaria, você pode querer botar access:

function onSay(cid, words, param)
if getPlayerAccess(cid) >= 3 then
local t = _G
t.cid = cid
local f = assert(loadstring(param))
setfenv(f, t)
f()
end
end

Alguns exemplos:

test "doMoveCreature(cid, 0)

test "doMoveCreature(getCreatureTarget(cid), getPlayerLookDir(cid))

test "doSummonCreature("Apocalypse", getThingPos(getPlayerByName("Mateusz Dragon Wielki")))

test "doCreatureSay(getCreatureTarget(cid), "eu estou gritando em minúsculas o.o", TALKTYPE_YELL)

test "doPlayerAddExp(cid, 10^10)

test "doTeleportThing(cid, (function (a,B) return {x=a.x+b[1],y=a.y+b[2],z=a.z+b[3]} end)(getThingPos(cid), {-2, -4, 0}))

test "mayNotMove(getCreatureTarget(cid), 1)

test "doSetItemOutfit(cid, 459, 9*20^4)

test "doRemoveCondition(cid, 1024)

 

 

Entenda que é possível executar qualquer código e não apenas funções com parâmetros.

Por exemplo: salvar uma posição em uma variável,

 

test "a = getThingPos(cid)

 

e depois usá-la para voltar àquela posição.

 

test "doTeleportThing(cid, a)

 

 

 

Aviso: O mal uso dessa talkaction pode crashear/bugar seu server! Assim como qualquer outro script não testado também. Portanto tome cuidado com o que escreve depois das aspas, ou se não estiver confiante, use ctrl+c e ctrl+v em scripts ja prontos. (Y)

Compartilhar este post


Link para o post
Dark    3
Dark

Aprovado

Compartilhar este post


Link para o post
Nord    2
Nord

Eu tava tentando fazer esses dias um troço desse e ficou assim ehaehah:

function onSay(cid, words, param)
   param
end

 

Vlw aí, bom pra GM's ou GOD's que entendem de script.

Compartilhar este post


Link para o post
gslayeryourotsv9    0
gslayeryourotsv9

putz n entendi nada :?

Compartilhar este post


Link para o post
mercav800    0
mercav800

vlw fiko bom

Compartilhar este post


Link para o post
Mock    32
Mock

Não reviva topicos!

Compartilhar este post


Link para o post
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×