Ir para conteúdo
  • 0

Ajuda Com Bug Tv System - Pda


PedroSouza

Pergunta

Olá amigos, estou com o PDA e meu TV System está bugado:

1. O espectador toma o hit que quem abriu o canal toma também.

2. Ao fechar o Chat não sai do canal.

3. Se você relogar você é clonado e fica um clone em frente a tv.

 

Poderiam me ajudar?

 

data/lib/tvsystem.lua:

 

 

 

function doPlayerWatchOther(cid, target)

 

if not isCreature(cid) then return true end

 

local hasOutfitCond = getCreatureCondition(cid, CONDITION_OUTFIT) and getCreatureOutfit(cid).lookType or -1

setPlayerStorageValue(cid, 99282, getCreatureSpeed(cid))

setPlayerStorageValue(cid, 99283, hasOutfitCond)

 

setPlayerStorageValue(cid, 99285, target)

doCreatureSetNick(cid, "") --, " ")

 

local o = getCreatureOutfit(cid)

local olddir = getCreatureLookDir(cid)

local oldpos = getThingPos(cid)

 

doCreatureSetHideHealth(cid, true)

doPlayerLock(cid)

 

local dir = "data/npc/TVNPC.xml"

local a = io.open(dir, "a+")

local b = a:read("*all")

a:close()

 

local npcname = 'name="'..getCreatureName(cid)..' "'

local npchealth = 'health now="'..getCreatureHealth(cid)..'" max="'..getCreatureMaxHealth(cid)..'"'

local npcoutfit = 'look type="'..o.lookType..'" head="'..o.lookHead..'" body="'..o.lookBody..'" legs="'..o.lookLegs..'" feet="'..o.lookFeet..'"'

 

b = string.gsub(b, 'name="(.-)"', npcname)

b = string.gsub(b, 'health now="(.-)" max="(.-)"', npchealth)

b = string.gsub(b, 'look type="(.-)" head="(.-)" body="(.-)" legs="(.-)" feet="(.-)"', npcoutfit)

 

local c = io.open(dir, "w")

c:write(b)

c:close()

 

o.lookType = 5

 

doCreatureSetOutfit(cid, o, -1)

doTeleportThing(cid, getThingPos(target), false)

 

local n = doCreateNpc("TVNPC", oldpos)

doCreatureSetLookDir(n, olddir)

setPlayerStorageValue(n, 9891, getPlayerSex(cid))

doPlayerSetVocation(cid, 1)

doChangeSpeed(cid, -getCreatureSpeed(cid))

doChangeSpeed(cid, getCreatureSpeed(target))

 

end

 

function doPlayerStopWatching(cid)

 

if not isCreature(cid) then return true end

 

doPlayerUnlock(cid)

doCreatureSetNick(cid, "") --, getCreatureName(cid))

 

local pos = {}

local speed = getPlayerStorageValue(cid, 99282)

local npc = getCreatureByName(getCreatureName(cid).." ")

local olddir = 0

if isCreature(npc) then

olddir = getCreatureLookDir(npc)

local pos = getThingPos(npc)

doRemoveCreature(npc)

doTeleportThing(cid, pos, false)

end

doChangeSpeed(cid, -getCreatureSpeed(cid))

doChangeSpeed(cid, speed)

doCreatureSetHideHealth(cid, false)

doCreatureSetLookDir(cid, olddir)

doCreatureSetNick(cid, getCreatureName(cid))

setPlayerStorageValue(cid, 99285, -1)

 

local outfit = getPlayerStorageValue(cid, 99283)

if outfit >= 1 then

local newOutfit = getCreatureOutfit(cid)

newOutfit.lookType = outfit

doCreatureSetOutfit(cid, newOutfit, -1)

else

doCreatureRemoveCondition(cid, CONDITION_OUTFIT)

end

 

end

 

 

function getWatchingPlayersFromPos(cid, pos)

local ret = {}

 

local cp = {}

cp.x = pos.x

cp.y = pos.y

cp.z = pos.z

 

for a = 0, 255 do

cp.stackpos = a

local b = getTileThingByPos(cp).uid

if isCreature(b) and getCreatureOutfit(b).lookType == 5 and getPlayerStorageValue(b, 99285) == cid then

table.insert(ret, b)

end

end

return ret

end

 

 

 

Grato

 

Alguém?

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Ta errado nessas partes:

 

o.lookType = 5

 

e

 

getCreatureOutfit(b).lookType == 5

 

o outfit não é 5, isso foi feito em c++ e pra tudo funcionar a outfit obrigatoriamente deve ser 814 (a outfit transparente)

Link para o comentário
Compartilhar em outros sites

  • 0

A outfit 5 também é transparente, mudei pois no cliente que uso a 814 da debug. Poderia me auxiliar na manutenção? Obrigado pelo contato

Editado por PedroSouza
Link para o comentário
Compartilhar em outros sites

  • 0

Se dá debug é porque tem algo errado nela ou ela não existe, use um dat editor e se ela não existir, vai criando outfit por outfit até chegar no ID 814.

É só copiar a outfit 5 e colar na 814, porque teria que recompilar as sources do server pra reajustar as outfits, é mais fácil editar o dat/spr

Link para o comentário
Compartilhar em outros sites

  • 0

Certo, estou tentando mas meu Dat Editor está travando. Tem algum ai que funcione pra indicar?

 

Se dá debug é porque tem algo errado nela ou ela não existe, use um dat editor e se ela não existir, vai criando outfit por outfit até chegar no ID 814.

É só copiar a outfit 5 e colar na 814, porque teria que recompilar as sources do server pra reajustar as outfits, é mais fácil editar o dat/spr

 

Amigo, coloquei o 5 como 814, e mesmo assim continua dando debug (inclusive em /newtype 814 ) e os bugs citados acima.

Link para o comentário
Compartilhar em outros sites

  • 0

Você deu copy no 5 e depois paste no 814?

O 5 dá debug também?

Não era pra estar dando debug, verifica se tá tudo certo, se tem 4 direções, se não tem nenhum item marcado que não era pra estar marcado...

 

se puder tira print da outfit 5 e da 814 e posta aqui para dar uma analisada

Link para o comentário
Compartilhar em outros sites

  • 0

Apenas a 814 da Debug. Eu exportei as outfits, peguei a 5, mudei o nome, e importei para 814. Eu não mexo com isso, por isso é bem difícil pra mim. A outfit 5 o carinha fica transparente

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...