IL

[Script] Duvida Reputation + Rep

Por Ilovemds, 09 de abr. de 2012 em Scripts

script
otserv
9
1.6k
IlovemdsI
09 de abril de 2012 às 03:47

eu queria saber se alguem sabe ou pode criar um script Que quantos mais frags voce ganhar voce vai virando um bicho, tipo...

mata 20 players vira um orc..

mata 50 players vira um pig

mata 100 players vira um Deer

mata 200 players vira um Orc berserker

mata 400 players vira um Diabolic Imp

mata 600 players vira uma butterfly ...

 

Isso é mto bom para Otserv de War... Alguem poderia me ajudar ? to com essa pequena Duvida.. + Rep se me ajudarem..

Fecharei o Topico assim Que me ajudarem .. Atts Itzmendes

HisashiitYamagutiH
09 de abril de 2012 às 08:51

Tópico movido para a área correcta, gostaria que procurasse antes de postar, obrigado :)

jhon992J
09 de abril de 2012 às 09:38

Em data/creaturescripts/scripts, duplique um arquivo e nomeia para "out_kill" sem as aspas e nele cole:

local KILL_TRANSFORM = {

   [20] = 100, -- [numero de mortes] = looktype
   [50] = 120,
   [100] = 130,
   [200] = 150,
   [400] = 190,
   [600] = 210

}

function onKill(cid, target, lastHit)

if (isPlayer(target) == true) then
   setPlayerStorageValue(cid, 102089, getPlayerStorageValue(cid, 102089)+1)
   doSendAnimatedText(getThingPos(cid), 'Frag+', 144)
   doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Você recebeu 1 frag por matar "..getCreatureName(target)..".")
end

local outfit = {lookType = KILL_TRANSFORM[getPlayerStorageValue(cid, 102089)]}
if (outfit.lookType > 0) then
   doSetCreatureOutfit(cid, outfit, -1)
end

return TRUE
end

 

Agora em creaturescripts.xml cole a tag:

<event type="kill" name="Out_Kill" event="script" value="out_kill.lua"/>

 

E em data/creaturescripts/scripts/login.lua, antes do último "return true" coloque isso:

if (getPlayerStorageValue(cid, 102091) ~= 1) then
       setPlayerStorageValue(cid, 102091, 1)
       setPlayerStorageValue(cid, 102089, 0)
end  
registerCreatureEvent(cid, "Out_Kill")

IlovemdsI
09 de abril de 2012 às 15:33

Eu procurei e não achei, Obrigado Jhon + REP ! ^^

 

só uma duvida, no meu ot pego... mais qnd morre volta com o outfit normal... keria que voce deixasse que qnd morre nao voltasse ... Pf +REP

jhon992J
09 de abril de 2012 às 16:31

Vai em creaturescripts/scripts, duplica outro arquivo e nomeia para "out_login", e cole:

local LOGIN_TRANSFORM = {

   [20] = 100, -- [numero de mortes] = looktype
   [50] = 120,
   [100] = 130,
   [200] = 150,
   [400] = 190,
   [600] = 210

}

function onLogin(cid)

local storage = getPlayerStorageValue(cid, 102089)
local cont = 10
addEvent(arredonda, 1, storage, cont, cid)

return TRUE
end

function arredonda(storage, cont, cid)
   if storage > cont and storage < cont+cont then
       local outfit = {lookType = LOGIN_TRANSFORM[cont]}
       doSetCreatureOutfit(cid, outfit, -1)
   else
   cont = cont+cont
   arredonda(storage, cont, cid)
   end    
end

 

Em creaturescripts.xml cole a tag:

<event type="login" name="Out_Login" event="script" value="out_login.lua"/>

 

Deu, só configura a parte do login_transform igual o do script de antes.

IlovemdsI
09 de abril de 2012 às 23:34

só uma duvida... voce testo isso ? dps que eu adicionei esse script da bug na life, o cara fika no preto pra morre e nao morre, ele nao toma mais hit...

e ta aparecendo assim quando o cara loga nao sei que la arredonda $: pf me ajuda ae .

jhon992J
10 de abril de 2012 às 11:31

Ta testado agora, mais pra funcionar tens que colocar os numeros de frags em 10 em 10, ali no login_transform, como jah ta ali.

E configura as partes que são configuraveis no script.

local LOGIN_TRANSFORM = {

[20] = 100, -- [numero de mortes] = looktype, os numeros de mortes tem que seguir de 10 em 10 para funcionar perfeitamente.
[30] = 120,
[40] = 120,
[50] = 130,
[60] = 130,
[70] = 130,
[80] = 140,
[90] = 140,
[100] = 140

}

function onLogin(cid)

local storage = getPlayerStorageValue(cid, 102089)
local cont = 10
addEvent(arredonda, 1, storage, cont, cid)

return TRUE
end

function arredonda(storage, cont, cid)
aux = 10
if storage < 20 then -- aqui vc coloca primeira quantidade de frag que o player deve ter, como exemplo na lista.
	return true
end
if storage >= 100 then -- aqui e na linha debaixo vc poem a ultima quantidade de frags que o player deve ter, como exemplo na lista..
	outfit = {lookType = LOGIN_TRANSFORM[100]}
	doSetCreatureOutfit(cid, outfit, -1)
	return true
end
if storage > cont and storage < cont+aux then
	outfit = {lookType = LOGIN_TRANSFORM[cont]}
	doSetCreatureOutfit(cid, outfit, -1)
else
cont = cont+aux
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,cont)
addEvent(arredonda, 1, storage, cont, cid)
end	
end

Editado Abril 10 por Jhon992

IlovemdsI
10 de abril de 2012 às 12:42

Precisa colocar isso no Login.lua ?

E em data/creaturescripts/scripts/login.lua, antes do último "return true" coloque isso:

if (getPlayerStorageValue(cid, 102091) ~= 1) then
	setPlayerStorageValue(cid, 102091, 1)
	setPlayerStorageValue(cid, 102089, 0)
end  
registerCreatureEvent(cid, "Out_Kill")

obrigado, vou testa e ja vou dar +REP vlw.

Editado Abril 10 por ItzMendes

jhon992J
10 de abril de 2012 às 12:46

coloca tudo, o primeiro scritp que te passei e esse tbm.