Monster Com Skull Randomicas

eduardo190696

Força de vontade ensina até os mortos
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 22/09/10Posts: 474

Descrição:

Nome : Monster Skull randomicas

Versão : 8.54

 

Bom abra as SOUCER e vai em: luascript.cpp e procure:

 

int32_t LuaScriptInterface::luaGetPlayersOnline(lua_State* L)
{
//getPlayersOnline()
ScriptEnviroment* env = getEnv();
AutoList<Player>::iterator it = Player::autoList.begin();

lua_newtable(L);
for(int32_t i = 1; it != Player::autoList.end(); ++it, ++i)
{
	lua_pushnumber(L, i);
	lua_pushnumber(L, env->addThing(it->second));
	pushTable(L);
}
return 1;
}

 

Embaixo disso Adicione isso :

 

int32_t LuaScriptInterface::luaCheckSpawnMonster(lua_State* L)
{
ScriptEnviroment* env = getEnv();
AutoList<Monster>::iterator it = Monster::autoList.begin();

lua_newtable(L);
for(int32_t i = 1; it != Monster::autoList.end(); ++it, ++i)
{
	lua_pushnumber(L, i);
	lua_pushnumber(L, env->addThing(it->second));
	pushTable(L);
}
return 1;
}

 

Agora Procure essas linhas

//getPlayersOnline()
lua_register(m_luaState, "getPlayersOnline", LuaScriptInterface::luaGetPlayersOnline);

 

E Adicione isso Abaixo delas

 

//checkSpawnMonster()
lua_register(m_luaState, "checkSpawnMonster", LuaScriptInterface::luaCheckSpawnMonster);

 

AGORA EM LUASCRIPT.H PROCURE ESSA LINHA:

 

static int32_t luaGetPlayersOnline(lua_State* L);

 

E bote isso embaixo dela:

static int32_t luaCheckSpawnMonster(lua_State* L);

 

Acabou o Sistema, Agora a 2 jeitos de você usar esse script

 

1° Talkactions ( quando você falar o comando ele vai dar um skull randomica para cada monster, mais caso ele morra quando voltar vai vir sem skull )

 

Data/Talkactions/Scripts

 

function onSay(cid, words, param, channel)
local m = checkSpawnMonster

for _, mid in ipairs(m) do
	local mpos = getThingPos(mid)
	doCreatureSetSkullType(mid, math.random(1, 5))
end
return 0
end

 

Agora crie uma tag e use o sistema.

 

2° jeito, Globalevents ( Agora a cada respow ele ja vem com skull, + demora cerca de 1 milezimo de segundo pra adicionar a skull.

 

Data/globalevents/scripts

 

function onThink(interval, lastExecution, thinkInterval)
   local m = checkSpawnMonster()
   local sex = {1, 2} -- numero da skull ou seja, desenho do sexo

for _, mid in ipairs(m) do
	local mpos = getThingPos(mid)
	if (getCreatureSkullType(mid) == 1) or (getCreatureSkullType(mid) == 2) then
	else
	    doCreatureSetSkullType(mid, math.random(1, #sex))
	end
end
return 0
end

 

Data/Globalevents/Globalevents.xml

 

	<globalevent name="sex" interval="0" event="script" value="sex.lua"/> 

 

Bom galerinha esse script um amigo fez pra mim e se eu não tivese postado só eu teria, não sei se é o lugar certo mais se não for por favor mova o tópico.

 

Se for usar de ++rep

 

ESTE SCRIPT ESTA PROIBIDO DE SER POSTADO EM OUTROS FÓRUM !!!!!

Demonbholder

avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 13/10/08Posts: 1551Char no Tibia: Demonbholder

Boa rapaz. Continue contribuindo para a seção!

 

Rep+, abraços.

Oie :D

brun123

vash
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 24/09/06Posts: 512

essa função já existe: getWorldCreatures(type) (0 para players, 1 para monsters, 2 para npcs, 3 pra todos)

 

--

edit:

deixa pra lá, falei cagada...

5303fg1.png

eduardo190696

Força de vontade ensina até os mortos
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 22/09/10Posts: 474

brun123, ai ja não sei pq foi meu amigo que fez pra mim e deixo eu posta, e aqui pega certinho assim xD

Demonbholder

avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 13/10/08Posts: 1551Char no Tibia: Demonbholder

essa função já existe: getWorldCreatures(type) (0 para players, 1 para monsters, 2 para npcs, 3 pra todos)

 

Na verdade, essa função retorna o número de criaturas, diferente da função dele.

Oie :D

fake123

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 29/07/10Posts: 8Char no Tibia: Druid Of Kundun

Quero fala mau nao mais ta bom sim.

Mais podia ser feito por outro jeito implantado no go/back e por uma configuração de 1 para female e 2 para male e assim no momento que o player solta o pokemon ja é adicionado a skull.

Seria mais facil pelo menos eu axo ;S

Talvez eu faça mais a preguiça complica.

REP+

eduardo190696

Força de vontade ensina até os mortos
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 22/09/10Posts: 474

OBG a todos que dão mais ++rep, acho que muita gente não vai conseguir usar pq n tem acesso as soucer do seu poke ot

3145288

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 09/02/08Posts: 82

man, tenho outra aqui,

diferente da que eu te mandei, essa aqui ja vem com cada respaw, e nao "crasha" o server no global events ...

essa funcao ai eh otima pra varias coisas, exceto random skulls, faz essa aqui que ta perfeita.

 

em monster.CPP

 

troque essa linha

setSkull(mType->skull);

 

por essa aqui

 

if(!isSummon()){

setSkull((Skulls_t) random_range(2, 4));}

 

...

 

so isso, tods os respaws nasceram com skull.

 

abçs. FlpPar

DeCarvalho

Procurando Host
avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 28/10/10Posts: 206Char no Tibia: Mage Junkie

Muito bom, +rep pra tu que disponibilizou...

obrigado por compartilhar ^^

 

@edit

gostaria de saber como fica no caso dos monstros(no caso pkmns) que são summons?

como em pokemon os monstros capturados quando soltos ficariam com a skull fixa igual ao que estava no momento que foi pego?

 

tipo, se pego um pkmn com skull + quando eu for usar ele estará +?

meubk

@miillerdomingues
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 21/04/08Posts: 311

eu uso onSpawn no meu server, com ela consigo adicionar skull, o level do registras eventos, etc ...

victormoaz

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 12/02/08Posts: 95Gênero: Masculino

man, tenho outra aqui,

diferente da que eu te mandei, essa aqui ja vem com cada respaw, e nao "crasha" o server no global events ...

essa funcao ai eh otima pra varias coisas, exceto random skulls, faz essa aqui que ta perfeita.

 

em monster.CPP

 

troque essa linha

setSkull(mType->skull);

 

por essa aqui

 

if(!isSummon()){

setSkull((Skulls_t) random_range(2, 4));}

 

...

 

so isso, tods os respaws nasceram com skull.

 

abçs. FlpPar

 

 

Utilizei esse sistema que você postou Gender System.

Porém não conseguir fazer para o summon gravar o sexo do catch...

Toda vez que eu solto o pokemon ele sai com sexo diferente.

Teria como você criar um tuto pra ajudar? acredito que irá ajudar muita gente.

Trabalhos

 

 

 

PSDO - 24h - Exp Stages

 

 

*********No level pokemon******** *

*Aleatory Shiny

*Golden Arena (Meowth Coin)

*Saffari with saffari balls

*Duel System (Order)

*Npc Duel (Gym and others)

*Clan system with task and shinys clan

*Client with Pokebar and CooldownBar

*Rocket and Police System

*Map with constant change (Several Quests)

 

 

2cful5h.png

kosicki123

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 03/11/06Posts: 13

Mesma dúvida do amigo de cima! Será que alguém sabe gravar o sexo do catch?!

Valeu

bepokemon

Lo sono il accolito.
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 23/02/08Posts: 273Char no Tibia: Foxx Rookslayer

Gravar o sexo do CATCH eu acho que tem que fazer alguma coisa nas Sources para pegar o Corpse quando matar o Pokemon.

Mas pra improvisar voce pode na hora dar catch adicionar:

doItemSetAttribute(item.uid, "gender", math.random(0,1))

 

E no GoBack

doCreatureSetSkullType(creature.uid, getItemAttributte(item.uid, "gender"))

logo.png

Scripter

@MagicWorld

Ex: Colaborador de Scripting

Contato: bepokemon@hotmail.com