- SykoModerador
- Mensajes : 27
[Talkactions] Castigar al jugador sin moverse ni hablar.
Vie Jul 27, 2012 7:10 pm
Hola, encontré un script que tenía en mi PC, no es mío, estaba en un server y en ese server me acordé que mucha gente insultaba a los gods, y gracias a esta action, los castigaba sin dejar que se muevan, ni que hablen y que hagan magia hasta que yo quiera, lo edité un poco pero aquí va el script, pero para hacerlo tienes que ir a tuot/data/talkations y copiarlo con el nombre de "castigo".
Después vamos a tuot/data/talkations y abrimos el .LUA que aparece y colocamos esto:
Para utilizar este comando debes de decir:
- /castigar PLAYER NAME (Castiga al jugador)
- /castigar PLAYER NAME (Descastiga al jugador)
- Código:
--Editado por Syko --
local condition1 = createConditionObject(CONDITION_INFIGHT)
local condition2 = createConditionObject(CONDITION_EXHAUST)
local condition3 = createConditionObject(CONDITION_MUTED)
setConditionParam(condition1, CONDITION_PARAM_TICKS, -1)
setConditionParam(condition2, CONDITION_PARAM_TICKS, -1)
setConditionParam(condition3, CONDITION_PARAM_TICKS, -1)
function onSay(cid, words, param)
if(param == "") then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Name required.")
return TRUE
end
local player = getPlayerByNameWildcard(param)
local pos = getCreaturePosition(player)
local nha = {x = pos.x, y = pos.y - 3, z = pos.z, stackpos = 255}
local sha = {x = pos.x, y = pos.y + 3, z = pos.z, stackpos = 255}
local wha = {x = pos.x - 3, y = pos.y, z = pos.z, stackpos = 255}
local eha = {x = pos.x + 3, y = pos.y, z = pos.z, stackpos = 255}
local nwa = {x = pos.x - 2, y = pos.y - 2, z = pos.z, stackpos = 255}
local nea = {x = pos.x + 2, y = pos.y - 2, z = pos.z, stackpos = 255}
local sea = {x = pos.x + 2, y = pos.y + 2, z = pos.z, stackpos = 255}
local swa = {x = pos.x - 2, y = pos.y + 2, z = pos.z, stackpos = 255}
if getPlayerGroupId(cid) >= getPlayerGroupId(player) then
if getPlayerStorageValue(player, 12346) < 0 then
if((doCreatureSetNoMove(player, 1))== LUA_ERROR) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Error.")
end
setPlayerStorageValue(player, 12346, 1)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "El jugador ya no se puede mover.")
doSendAnimatedText(getCreaturePosition(player), "Castigado!", 64)
doSendDistanceShoot(nha, pos, 28)
doSendDistanceShoot(sha, pos, 28)
doSendDistanceShoot(wha, pos, 28)
doSendDistanceShoot(eha, pos, 28)
doSendDistanceShoot(nwa, pos, 28)
doSendDistanceShoot(nea, pos, 28)
doSendDistanceShoot(sea, pos, 28)
doSendDistanceShoot(swa, pos, 28)
doSendMagicEffect(pos, 52)
doAddCondition(player, condition1)
doAddCondition(player, condition2)
doAddCondition(player, condition3)
elseif getPlayerStorageValue(player, 12346) >= 0 then
if((doCreatureSetNoMove(player, 0))== LUA_ERROR) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Error.")
end
setPlayerStorageValue(player, 12346, -1)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "El jugador puede volver a moverse denuevo..")
doSendAnimatedText(getCreaturePosition(player), "Descastigado!", 168)
doSendDistanceShoot(pos, nha, 37)
doSendDistanceShoot(pos, sha, 37)
doSendDistanceShoot(pos, wha, 37)
doSendDistanceShoot(pos, eha, 37)
doSendDistanceShoot(pos, nwa, 37)
doSendDistanceShoot(pos, nea, 37)
doSendDistanceShoot(pos, sea, 37)
doSendDistanceShoot(pos, swa, 37)
doSendMagicEffect(pos, 49)
doRemoveCondition(cid, CONDITION_INFIGHT)
doRemoveCondition(cid, CONDITION_EXHAUST)
doRemoveCondition(cid, CONDITION_MUTED)
end
end
return TRUE
end
Después vamos a tuot/data/talkations y abrimos el .LUA que aparece y colocamos esto:
- Código:
<talkaction log="yes" access="3" words="/castigar" event="script" value="other/castigo.lua"/>
Para utilizar este comando debes de decir:
- /castigar PLAYER NAME (Castiga al jugador)
- /castigar PLAYER NAME (Descastiga al jugador)
Permisos de este foro:
No puedes responder a temas en este foro.