- Awards
- 38
Hola a todos,
Hoy veremos como convertir un script TFS 1.0, 1.2 a Revscript TFS 1.3.
En principal, TFS 1.x porqué si es de una version antigua, algunas funciones son totalmente cambiadas, entonces aquí suponemos que habéis encontrado un script por internet, en el caso del ejemplo cogeremos, la talkaction !bless para TFS 1.2,
En este caso, primero que todo, si lo queremos integrar a nuestro servidor y registrarlo en el mismo fichero, debemos primeramente saber de que se trata, en este caso es una talkaction, entonces para saber como empezar a modificarlo, iremos en nuestro servidor en data/scripts/talkaction y abriremos uno al azar.
Veremos que al principio del script tenemos:
Entonces esto sera la funcion que añadiremos arriba del todo de nuestro script, quedaría asi:
Luego iremos a buscar la función, donde empezara el script:
entonces después de la palabra
ya puede ser onSay, onUse u otros, añadiremos el nombre que hemos elegido al principio en
seguido de un punto antes del onSay;
Después nos iremos al final del script ( si no hay otra function en el script, porqué en este caso le añadiremos también esa palabra con un punto antes del onSay ) registraremos el script;
Y entonces quedaría así:
Y tendremos nuestro script registrado, haremos la prueba y funcionara, tomen nota como dicho eso es valido para un script TFS 1.0 o TFS 1.2 únicamente.
Siempre mirar de que se trata el script, Action, Movement, TalkAction u otro, coger un script de ejemplo en su propia carpeta y registrarlo idénticamente.
Puede que algún script no funcione, es muy raro, hasta aquí encontré solamente uno que no funcionaba, un estilo de scroll portal.
Esto es valido, también en el otro sentido, es decir si deseamos retrogradar un Revscript a Script, es possible hacerlo quitando todo lo que se ha añadido,
Hara falta únicamente, añadir las lineas en el fichero .xml en función del script elegido.
Otras funciones:
Para una Action será:
En , la función on, seguido de un término ejemplo
Y al final del script registraremos:
Lo mismo si es un creatureEvent, o globalEvent, lo mejor es fijarse en un script existente para saber las 4 partes que incorporar.
Pueden haber algunos cambios ejemplo:
En un script informará y nos dará error 'doplayer...' significa que la función en el archivo compat.lua no existe por lo cual nos da un error, en ese caso habría que buscar la nueva función en el compat.lua o bien agregarla en el compat.lua la vieja función.
Hoy veremos como convertir un script TFS 1.0, 1.2 a Revscript TFS 1.3.
En principal, TFS 1.x porqué si es de una version antigua, algunas funciones son totalmente cambiadas, entonces aquí suponemos que habéis encontrado un script por internet, en el caso del ejemplo cogeremos, la talkaction !bless para TFS 1.2,
Código:
function onSay(cid)
local player = Player(cid)
local totalBlessPrice = getBlessingsCost(player:getLevel()) * 5 * 0.7
if player:getBlessings() == 5 then
player:sendCancelMessage("You already have been blessed!", cid)
elseif player:removeMoney(totalBlessPrice) then
player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have been blessed by all of eight gods!")
for b = 1, 8 do
player:addBlessing(b, 1)
end
player:getPosition():sendMagicEffect(CONST_ME_HOLYAREA)
else
player:sendCancelMessage("You don't have enough money. You need " .. totalBlessPrice .. " to buy bless.", cid)
end
end
En este caso, primero que todo, si lo queremos integrar a nuestro servidor y registrarlo en el mismo fichero, debemos primeramente saber de que se trata, en este caso es una talkaction, entonces para saber como empezar a modificarlo, iremos en nuestro servidor en data/scripts/talkaction y abriremos uno al azar.
Veremos que al principio del script tenemos:
Código:
local zBless = TalkAction ("!Bless")
Código:
local zBless = TalkAction ("!Bless")
function onSay(cid)
local player = Player(cid)
Luego iremos a buscar la función, donde empezara el script:
Código:
function onSay(cid)
local player = Player(cid)
entonces después de la palabra
Código:
function
Código:
local zBless
Código:
function zBless.onSay(cid)
Después nos iremos al final del script ( si no hay otra function en el script, porqué en este caso le añadiremos también esa palabra con un punto antes del onSay ) registraremos el script;
Código:
zBless:separator(" ")
zBless:register()
Y entonces quedaría así:
Código:
local zBless TalkAction = ("!Bless")
function zBless.onSay(cid)
local player = Player(cid)
local totalBlessPrice = getBlessingsCost(player:getLevel()) * 5 * 0.7
if player:getBlessings() == 5 then
player:sendCancelMessage("You already have been blessed!", cid)
elseif player:removeMoney(totalBlessPrice) then
player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have been blessed by all of eight gods!")
for b = 1, 8 do
player:addBlessing(b, 1)
end
player:getPosition():sendMagicEffect(CONST_ME_HOLYAREA)
else
player:sendCancelMessage("You don't have enough money. You need " .. totalBlessPrice .. " to buy bless.", cid)
end
end
zBless:separator(" ")
zBless:register()
Y tendremos nuestro script registrado, haremos la prueba y funcionara, tomen nota como dicho eso es valido para un script TFS 1.0 o TFS 1.2 únicamente.
Siempre mirar de que se trata el script, Action, Movement, TalkAction u otro, coger un script de ejemplo en su propia carpeta y registrarlo idénticamente.
Puede que algún script no funcione, es muy raro, hasta aquí encontré solamente uno que no funcionaba, un estilo de scroll portal.
Esto es valido, también en el otro sentido, es decir si deseamos retrogradar un Revscript a Script, es possible hacerlo quitando todo lo que se ha añadido,
Hara falta únicamente, añadir las lineas en el fichero .xml en función del script elegido.
Otras funciones:
Para una Action será:
local nombreAction = Action()
En , la función on, seguido de un término ejemplo
onUse
, pondremos nombreAction.onUse
Y al final del script registraremos:
nombreAction:id(itemId)
-- itemId el número del item nombreAction:register()
Lo mismo si es un creatureEvent, o globalEvent, lo mejor es fijarse en un script existente para saber las 4 partes que incorporar.
Pueden haber algunos cambios ejemplo:
En un script informará y nos dará error 'doplayer...' significa que la función en el archivo compat.lua no existe por lo cual nos da un error, en ese caso habría que buscar la nueva función en el compat.lua o bien agregarla en el compat.lua la vieja función.
Última edición: