Pode explicar oq isso faz?
- Fórum
- OTServ
- Recursos
- Linguagens de Programação
- [Creaturescripts]Function onSpawn(cid)
[Creaturescripts]Function onSpawn(cid)
Por PostadorHunter, 25 de fev. de 2013 em Linguagens de Programação
info
Grupo: Cavaleiro
Registrado: 20/09/12
Posts: 153
Reputação: +31

info
Grupo: Conde
Registrado: 10/12/11
Posts: 962
Reputação: +99
Gênero: Masculino

é um creature event que executa quando o monstro da respawn
info
Grupo: Cavaleiro
Registrado: 20/09/12
Posts: 153
Reputação: +31

é um creature event que executa quando o monstro da respawn
Isso eu sei mais quero saber oq faz ele?
Tipo monstro da mais exp, fica mais forte, o tempo fica mais rapido do spawn, sei lá....
info
Grupo: Conde
Registrado: 10/12/11
Posts: 962
Reputação: +99
Gênero: Masculino

depende do seu scripté um creature event que executa quando o monstro da respawn
Isso eu sei mais quero saber oq faz ele?
Tipo monstro da mais exp, fica mais forte, o tempo fica mais rapido do spawn, sei lá....
aqui um exemplo do criador do código
function onSpawn(cid)
doBroadcastMessage("Monster ".. getCreatureName(cid).." was created.")
return true
end
info
Grupo: Cavaleiro
Registrado: 20/09/12
Posts: 153
Reputação: +31

Hum tipo o sistema de raspawn de shiny aleatório de poketibia?
info
Grupo: Conde
Registrado: 10/12/11
Posts: 962
Reputação: +99
Gênero: Masculino

sim
info
Grupo: Cavaleiro
Registrado: 20/09/12
Posts: 153
Reputação: +31

sim
Legal gostei REP+
info
Grupo: Conde
Registrado: 14/02/13
Posts: 702
Reputação: +196
Gênero: Masculino

Muito bom o conteúdo usuário reputado.
info
Grupo: Marquês
Registrado: 25/09/10
Posts: 1.3k
Reputação: +446
Gênero: Masculino

é uma função que faz o script executar quando ouver um spawn.
Exemplo :
function onCastSpell.
function onUse.
function onSay.
Todo script precisa de uma para ser executado.
Bem isso dava pra ter sido feito em lua, mas parabens gostei ^^.
info
Grupo: Conde
Registrado: 10/12/11
Posts: 962
Reputação: +99
Gênero: Masculino

não dava nãoBem isso dava pra ter sido feito em lua, mas parabens gostei ^^.
info
Grupo: Cavaleiro
Registrado: 20/09/12
Posts: 153
Reputação: +31

não dava nãoBem isso dava pra ter sido feito em lua, mas parabens gostei ^^.
Olha não quero discordar mais fiz o evento Spawn funcionar tranquilamente em LUA '-'
info
Grupo: Conde
Registrado: 14/02/13
Posts: 702
Reputação: +196
Gênero: Masculino

Acabei de perceber quando tava tentando instalar esse código nas minhas source que ele tem um erro, Vá aonde você pegou ele e confira o tutorial de instalação.




info
Grupo: Conde
Registrado: 10/12/11
Posts: 962
Reputação: +99
Gênero: Masculino
Créditos: Doggynub(Otland)
Testado em tfs 0.4
creatureEvent.h:
procure por:
em baixo coloque:
procure por:
substitua a linha debaixo por:
creatureevent.cpp
procure por:
em baixo coloque:
procure por:
em baixo coloque
procure por:
embaixo coloque:
procure por:
embaixo coloque:
Va até o final do arquivo e coloque
uint32_t CreatureEvent::executeOnSpawn(Creature* creature) { //onSpawn(cid) if(m_interface->reserveEnv()) { ScriptEnviroment* env = m_interface->getEnv(); if(m_scripted == EVENT_SCRIPT_BUFFER) { env->setRealPos(creature->getPosition()); std::stringstream scriptstream; scriptstream << "local cid = " << env->addThing(creature) << std::endl; if(m_scriptData) scriptstream << *m_scriptData; bool result = true; if(m_interface->loadBuffer(scriptstream.str())) { lua_State* L = m_interface->getState(); result = m_interface->getGlobalBool(L, "_result", true); } m_interface->releaseEnv(); return result; } else { #ifdef __DEBUG_LUASCRIPTS__ std::stringstream desc; desc << creature->getName(); env->setEvent(desc.str()); #endif env->setScriptId(m_scriptId, m_interface); env->setRealPos(creature->getPosition()); lua_State* L = m_interface->getState(); m_interface->pushFunction(m_scriptId); lua_pushnumber(L, env->addThing(creature)); bool result = m_interface->callFunction(1); m_interface->releaseEnv(); return result; } } else { std::clog << "[Error - CreatureEvent::executeCast] Call stack overflow." << std::endl; return 0; } }monster.cpp
procure por:
void Monster::onCreatureAppear(const Creature* creature) { Creature::onCreatureAppear(creature); if(creature == this) { //We just spawned lets look around to see who is there. if(isSummon()) isMasterInRange = canSee(master->getPosition());embaixo de uns 2 Enters e coloque:
Editado Maio 1 por PostadorHunter