ZI
pedido

Da look em si próprio e aparecer a msg falando sua patente

Por Zikaduh, 06 de jan. de 2014 em Scripts

script
23
2.7k
ZikaduhZ
06 de janeiro de 2014 às 15:15

No meu servidor você não upa seu level mas sim sua patente, ai eu to tendo esse problema.


quando da look em si próprio não amostra sua patente tipo:



Look em outro player:



14:52 Você ve Zikaduh.


[PT: Recruit III].


Ai ta certo mas quando se da look em si próprio não amostra a patente:


Look em si próprio:


14:52 Você se ver.


Eu quero que fique assim


14:52 Você se ver.

[PT: Recruit III].


Eu uso essas 2 script:



function getPT(player)


local storage = getPlayerStorageValue(player, 83922)


return storage == -1 and "" or storage

end


function onLook(cid, thing, position, lookDistance)

if isPlayer(thing.uid) then

doPlayerSetSpecialDescription(thing.uid, "\n[PT: " .. getPT(thing.uid) .."]")

end

return true

end





function onAdvance(cid, skill, oldLevel, newLevel)


local _PT = {

[1] = "Recruit",

[2] = "Recruit II",

[3] = "Recruit III"

}


local PT = _PT[newLevel]


if(skill == 8) then

if(PT) then

return setPlayerStorageValue(cid, 83922, PT)

end

end


return true

end



Tem como alguem me ajuda nisso

Editado Janeiro 6 por Zikaduh

BloxxB
06 de janeiro de 2014 às 15:47

Posso perguntar uma coisa? esse ot eh estilo FPS? qnd vi o recruit me lembrei do PB he.gif

ZikaduhZ
07 de janeiro de 2014 às 15:33

Eu to desenvolvendo um Servidor baseado em jogos de tiros como Count Strike,Point Black,Cross Fire,Combat Arms e outro ai to precisando terminar essa script


alguem pode me ajuda nessa script


@sobe

Editado Janeiro 7 por Zikaduh

07 de janeiro de 2014 às 16:41

 

function getPT(player)

local storage = getPlayerStorageValue(player, 83922)

return storage == -1 and "" or storage
end

function onLook(cid, thing, position, lookDistance)
if isPlayer(thing.uid) and thing.uid ~= cid then
doPlayerSetSpecialDescription(thing.uid, "\n[PT: " .. getPT(thing.uid) .."]")
elseif thing.uid == cid then
doPlayerSetSpecialDescription(cid, "\n[PT: " .. getPT(thing.uid) .."]")
end
return true
end

 

 

Testa ae Amiga

ZikaduhZ
07 de janeiro de 2014 às 17:17

não deu erro no distro mas ainda não aparecer a msg quando eu do look em min proprio so aparece quando eu do look em outro player.

zipter98Z
07 de janeiro de 2014 às 17:20

Você não tem outro código de look? Se sim (provável), poderia postá-lo?

ZikaduhZ
07 de janeiro de 2014 às 17:50

so tem esses 2 script que ta la em cima


essa:

 

function getPT(player)
local storage = getPlayerStorageValue(player, 83922)
return storage == -1 and "" or storage
end
function onLook(cid, thing, position, lookDistance)
if isPlayer(thing.uid) then
doPlayerSetSpecialDescription(thing.uid, "\n[PT: " .. getPT(thing.uid) .."]")
end
return true
end

e essa:

function onAdvance(cid, skill, oldLevel, newLevel)
local _PT = {
[1] = "Recruit",
[2] = "Recruit II",
[3] = "Recruit III"
}
local PT = _PT[newLevel]
if(skill == 8) then
if(PT) then
return setPlayerStorageValue(cid, 83922, PT)
end
end
return true
end

tem como vc ageitar ela pra que funcione tambem quando eu de look em min proprio

zipter98Z
07 de janeiro de 2014 às 18:15

Hm, definitivamente, só com esses dois códigos, não.

Tem certeza absoluta de que não há outro código de look? Se não houver outro, talvez (não é certeza) isso seja alterado nas sources (talvez).

Editado Janeiro 7 por zipter98

ZikaduhZ
07 de janeiro de 2014 às 18:23

olha aqui uma foto de como ta:

x9ln.png


eu n tirei o level eu so colokei pra quando upa ele muda o rank das patentes


se n conseguir tem outra script ai que sempre que upa tal level ele troca a patente.

mas amostre tanto dando look em outro player e em si proprio.


heuheuheu nas source eu so retirei aquela msg (level <blablabla).


mas ainda continua upando quando matar bixo (no meu caso player)

zipter98Z
07 de janeiro de 2014 às 18:38

Tenta esse look:

 

function onLook(cid, thing, position, lookDistance)
 
    if isPlayer(thing.uid) then
        local name = thing.uid == cid and "você mesmo" or getCreatureName(thing.uid)
        local sto = getPlayerStorageValue(thing.uid, 83922) 
        local patente = sto <= 0 and "" or sto
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você vê "..name..".\n"..patente..".")
        return false
    end
    return true
end

Editado Janeiro 7 por zipter98

ZikaduhZ
07 de janeiro de 2014 às 18:56

quando eu do look da erro na distro.

jaja posto uma imagem


é tambem agora quando da look não aparecer nada


5z4f.png

olha ai

zipter98Z
07 de janeiro de 2014 às 19:31

Substitui a variável patente por essa:

local patente = tonumber(sto) ~= nil and "" or sto

Editado Janeiro 7 por zipter98

ZikaduhZ
07 de janeiro de 2014 às 22:22

Sim agora funciono, venho com uns bugzinho por causa dos ^~.Mas funciono que com um problema nessa script que vc passo.

Agora eu preciso que aparece outro nome embaixo desse dependendo do seu skill de Fishing:

eu quero que fique assim agora:

22:13 Voce ve voce mesmo.
[PT:Recruit III].
[KILL:Matador].
-------------------------------------------
22:14 Voce ve Tests.
[PT:Recruit III].
[KILL:Matador].

Editado Janeiro 8 por Zikaduh

07 de janeiro de 2014 às 22:33

Se nao me engano nao da para fazer 2 look no player ( Pode ate funcionar so que nao vai fica do jeito que voce quer uma em baixo da outra) tem que ser no mesmo script do anterior que voce fez tipo se quiser adiciona outra coisa no look coloca assim:

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você vê "..name..".\n"..patente..".\n "..Outro look .."\n "..outro look etc.."")

 

a funçao \n pula a linha assim ficando do jeito que voce quer

ZikaduhZ
08 de janeiro de 2014 às 15:06

eu tentei fazer assim:

 

function onLook(cid, thing, position, lookDistance)

if isPlayer(thing.uid) then
local name = thing.uid == cid and "voce mesmo" or getCreatureName(thing.uid)
local sto = getPlayerStorageValue(thing.uid, 83922)
local stor = getPlayerStorageValue(thing.uid, 83923)
local patente = tonumber(sto) ~= nil and "" or sto
local kill = tonumber(stor) ~= nil and "" or stor
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce ve "..name..".\n[Patente:"..patente.."].\n[Kill:"..kill.."].")
return false
end
return true
end

 

 

aqui eu criei outra lua e coloquei isso

 

 

function onAdvance(cid, skill, oldLevel, newLevel)

local _PT = {
[10] = "aa",
[30] = "aaa",
[40] = "aaaa"
}

local PT = _PT[newLevel]

if(skill == 6) then
if(PT) then
return setPlayerStorageValue(cid, 83923, PT)
end
end

return true
end

 

 

mas so funciono a primeira

ai fico assim:

23:21 Voce ve voce mesmo.
[Patente:Recruit III].
[Kill:].

tem como alguem ageitar essa script pra que a segunda funcione também

Editado Janeiro 8 por Zikaduh