TI
pedido

deathBroadcast

Por tiuguedor, 03 de jun. de 2013 em Scripts

deathbroadcast
30
4k
tiuguedorT
03 de junho de 2013 às 12:13

quando o preyer morrese aparesese uma msg tipo asim

O

w

n

e

d

AdilsonHackerA
03 de junho de 2013 às 12:22

Vá em Pasta do seu OT/data/creaturescripts/scripts/playerdeath.lua, apague o quê está lá dentro e coloque isso:

 

 

dofile("./config.lua")

function onDeath(cid, corpse, killer)

doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Owned.")

if deathListEnabled == "yes" then

doSendAnimatedText(getPlayerPosition(cid),"OwNeD",35)

if sqlType == "mysql" then

env = assert(luasql.mysql())

con = assert(env:connect(mysqlDatabase, mysqlUser, mysqlPass, mysqlHost, mysqlPort))

else -- sqlite

env = assert(luasql.sqlite3())

con = assert(env:connect(sqliteDatabase))

end

local byPlayer = FALSE

if killer == FALSE then

killerName = "field item"

else

if isPlayer(killer) == TRUE then

byPlayer = TRUE

end

killerName = getCreatureName(killer)

end

assert(con:execute("INSERT INTO `player_deaths` (`player_id`, `time`, `level`, `killed_by`, `is_player`) VALUES (" .. getPlayerGUID(cid) .. ", " .. os.time() .. ", " .. getPlayerLevel(cid) .. ", '" .. escapeString(killerName) .. "', " .. byPlayer .. ");"))

local cursor = assert(con:execute("SELECT `player_id` FROM `player_deaths` WHERE `player_id` = " .. getPlayerGUID(cid) .. ";"))

local deathRecords = numRows(cursor)

if sqlType == "mysql" then

while deathRecords > maxDeathRecords do

delete = assert(con:execute("DELETE FROM `player_deaths` WHERE `player_id` = " .. getPlayerGUID(cid) .. " ORDER BY `time` LIMIT 1;"))

deathRecords = deathRecords - 1

end

else

while deathRecords > maxDeathRecords do

delete = assert(con:execute("DELETE FROM `player_deaths` WHERE `rowid` = (SELECT `rowid` FROM `player_deaths` WHERE `player_id` = " .. getPlayerGUID(cid) .. " ORDER BY `time` LIMIT 1);"))

deathRecords = deathRecords - 1

end

end

con:close()

env:close()

end

end

 

 

Vá em Pasta do seu OT/data/creaturescripts/scripts/login.lua e adicione:

registerCreatureEvent(cid, "PlayerDeath")

Agora em Pasta do seu OT/data/creaturescripts/creaturescripts.xml, adicione:

<event type="death" name="PlayerDeath" script="playerdeath.lua"/>

 

Abraços!

Editado Junho 3 por AdilsonHacker

tiuguedorT
03 de junho de 2013 às 12:26

a script nao ta ai

 

se kika em spolier nao abre ele

 

pera foi u vo testa aki si der vo da 2 rep

AdilsonHackerA
03 de junho de 2013 às 12:31

Aff meu pc ta uma merda , desculpa ai arrumei o topico :

sé não pega acima o script e esse ( é o mesmo de cima )

 

dofile("./config.lua")

function onDeath(cid, corpse, killer)

doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Owned.")

if deathListEnabled == "yes" then

doSendAnimatedText(getPlayerPosition(cid),"OwNeD",35)

if sqlType == "mysql" then

env = assert(luasql.mysql())

con = assert(env:connect(mysqlDatabase, mysqlUser, mysqlPass, mysqlHost, mysqlPort))

else -- sqlite

env = assert(luasql.sqlite3())

con = assert(env:connect(sqliteDatabase))

end

local byPlayer = FALSE

if killer == FALSE then

killerName = "field item"

else

if isPlayer(killer) == TRUE then

byPlayer = TRUE

end

killerName = getCreatureName(killer)

end

assert(con:execute("INSERT INTO `player_deaths` (`player_id`, `time`, `level`, `killed_by`, `is_player`) VALUES (" .. getPlayerGUID(cid) .. ", " .. os.time() .. ", " .. getPlayerLevel(cid) .. ", '" .. escapeString(killerName) .. "', " .. byPlayer .. ");"))

local cursor = assert(con:execute("SELECT `player_id` FROM `player_deaths` WHERE `player_id` = " .. getPlayerGUID(cid) .. ";"))

local deathRecords = numRows(cursor)

if sqlType == "mysql" then

while deathRecords > maxDeathRecords do

delete = assert(con:execute("DELETE FROM `player_deaths` WHERE `player_id` = " .. getPlayerGUID(cid) .. " ORDER BY `time` LIMIT 1;"))

deathRecords = deathRecords - 1

end

else

while deathRecords > maxDeathRecords do

delete = assert(con:execute("DELETE FROM `player_deaths` WHERE `rowid` = (SELECT `rowid` FROM `player_deaths` WHERE `player_id` = " .. getPlayerGUID(cid) .. " ORDER BY `time` LIMIT 1);"))

deathRecords = deathRecords - 1

end

end

con:close()

env:close()

end

end

Editado Junho 3 por AdilsonHacker

tiuguedorT
03 de junho de 2013 às 12:36

nao foi nao deu erro nenhum mais nao aparece a msg

AdilsonHackerA
03 de junho de 2013 às 12:40

Troca o que te passei por este :

 

 

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)

if isPlayer(cid) then

doSendMagicEffect(getCreaturePosition(cid),"OWNED!",math.random(1,255))

end

return true

end

tiuguedorT
03 de junho de 2013 às 12:48

ta dano erro ,o eu tenho um que aparece sp que td junto fraga e em deathbrodcast so que eu queria que aparecese daquele jeito de pe fraga vo passa ele pra vcs ver

 

local config = {

affected = 10, -- how many players (deathAssits) from table deathList should this script be executed for?

 

killStorageValue = 3943,

deathStorageValue = 3944,

 

-- commands for the texts (those inside of ||, example: |KILLS| to show skills): KILLS, KILLERNAME, TARGETNAME

rewardItem = {

use = false,

itemid = 2152,

minLevel = false, -- false if you don't want any level req

minLevelDiff = false, -- false if you don't want any level diff req (negative numbers allowed).

},

 

killMessage = {

use = true,

text = "You owned |TARGETNAME|! You have now |KILLERKILLS| kills!",

messageClass = MESSAGE_STATUS_CONSOLE_BLUE

},

 

broadcastMessage = {

use = false,

minLevel = false, -- false if you don't want any level req

minLevelDiff = false, -- false if you don't want any level diff req (negative numbers allowed).

text = "|KILLERNAME| [|KILLERLEVEL|] just killed |TARGETNAME| [|TARGETLEVEL|]!",

messageClass = MESSAGE_STATUS_WARNING

},

 

killerAnimation = {

use = false,

text = "Frag", -- Only 9 letters! No "commands" here.

color = 144

},

 

targetAnimation = {

use = true,

text = "O w n e d", -- Only 9 letters! No "commands" here.

color = 180

}

}

 

function onDeath(cid, corpse, deathList)

for i = 1, math.min(config.affected, getConfigInfo('deathAssistCount')) do

local killer = deathList

if(isPlayer(killer) == TRUE) then

local targetKills = math.max(0, getPlayerStorageValue(cid, config.killStorageValue)) + 1

local targetDeaths = math.max(0, getPlayerStorageValue(cid, config.deathStorageValue)) + 1

 

local killerKills = math.max(0, getPlayerStorageValue(killer, config.killStorageValue)) + 1

local killerDeaths = math.max(0, getPlayerStorageValue(killer, config.deathStorageValue)) + 1

 

setPlayerStorageValue(killer, config.killStorageValue, targetKills)

setPlayerStorageValue(cid, config.deathStorageValue, targetDeaths)

 

local killerLevel = getPlayerLevel(killer)

local targetLevel = getPlayerLevel(cid)

local levelDiff = targetLevel - killerLevel

 

local values = {

["KILLERKILLS"] = killerKills,

["KILLERDEATHS"] = killerDeaths,

["KILLERNAME"] = getCreatureName(killer),

["KILLERLEVEL"] = killerLevel,

 

["TARGETKILLS"] = targetKills,

["TARGETDEATHS"] = targetDeaths,

["TARGETNAME"] = getCreatureName(cid),

["TARGETLEVEL"] = targetLevel

}

 

function formateString(str)

return(str:gsub("|([A-Z]+)|", (function(a) return values[a] end)))

end

 

if(config.rewardItem.use and (not config.rewardItem.minLevel or targetLevel >= config.rewardItem.minLevel) and (not config.rewardItem.minLevelDiff or levelDiff >= config.rewardItem.minLevelDiff)) then

local uid = doPlayerAddItem(killer, config.rewardItem.itemid, 5)

end

if(config.killMessage.use) then

doPlayerSendTextMessage(killer, config.killMessage.messageClass, formateString(config.killMessage.text))

end

if(config.broadcastMessage.use and (not config.broadcastMessage.minLevel or getPlayerLevel(cid) >= config.broadcastMessage.minLevel) and (not config.broadcastMessage.minLevelDiff or levelDiff >= config.broadcastMessage.minLevelDiff)) then

broadcastMessage(formateString(config.broadcastMessage.text), config.broadcastMessage.messageClass)

end

if(config.killerAnimation.use) then

doSendAnimatedText(getCreaturePosition(killer), config.killerAnimation.text, config.killerAnimation.color)

end

if(config.targetAnimation.use) then

doSendAnimatedText(getCreaturePosition(cid), config.targetAnimation.text, config.targetAnimation.color)

end

end

end

 

return true

end

 

 

si pa tenho que faze um script pra cala letra que se me fala?

Editado Junho 3 por tiuguedor

AdilsonHackerA
03 de junho de 2013 às 12:48

Não entendi do jeito que vc quis pensava que era na hora que ele morre aparecer um nome no player "OWNED" , me explica mais ai !

tiuguedorT
03 de junho de 2013 às 12:56

vo mostra um video so fraga quando o 1 nego morre vi num ot que joguei >

v=zk1Qi_KweJM

 

aparece em cima do corpo dele

Editado Junho 3 por tiuguedor

AdilsonHackerA
03 de junho de 2013 às 12:57

Erro no video arruma ai !

tiuguedorT
03 de junho de 2013 às 12:59

ja seto o video

Editado Junho 3 por tiuguedor

AdilsonHackerA
03 de junho de 2013 às 13:02

Manda o link correto para mim saber como fazer !

tiuguedorT
03 de junho de 2013 às 13:05

Editado Junho 3 por tiuguedor

AdilsonHackerA
03 de junho de 2013 às 13:06

Manda o link do video na youtube pow para mim ver como é , para que eu possa te ajudar !

tiuguedorT
03 de junho de 2013 às 13:09

mandei o mlk entra aki e ve o video deu certo