hey freunde
irgendwie geht ditte nicht ein monster auf einer anderen map zu spawnen außer ich benutze den befehl "regen_in_map" was aber irgendwie dumm ist weil ich dafür .txt datein anlegen müsste. habe dann aber eine funktion vom guten ken (offlineshop junge mit 10 verdopplungsbugs) gefunden welche auch nicht funktioniert freunde
Beispielsquest:
Code
questfunktion sourcovic:
Code
- int _spawn_mob_in_map(lua_State * L)
- {
- if (!lua_isnumber(L, 1) || !lua_isnumber(L, 2) || !lua_isnumber(L, 3) || !lua_isnumber(L,4) || !lua_isnumber(L,5) || !lua_isboolean(L,6))
- {
- sys_err("Missing argument!");
- return 1;
- }
- long lMapIndex = static_cast<long>(lua_tonumber(L, 1));
- DWORD dwMobVnum = static_cast<DWORD>(lua_tonumber(L, 2));
- long x = static_cast<long>(lua_tonumber(L, 3));
- long y = static_cast<long>(lua_tonumber(L, 4));
- BYTE bSpawnCount = static_cast<BYTE>(lua_tonumber(L, 5));
- bool isAggressive = lua_toboolean(L, 6);
- const CMob * pMonster = CMobManager::instance().Get(dwMobVnum);
- if (pMonster)
- {
- for (BYTE i = 0; i < bSpawnCount; ++i)
- {
- LPCHARACTER pSpawnMonster = CHARACTER_MANAGER::instance().SpawnMobRange(
- lMapIndex,
- x - number(200, 750),
- y - number(200, 750),
- x + number(200, 750),
- y + number(200, 750),
- true,
- pMonster->m_table.bType == CHAR_TYPE_STONE,
- isAggressive);
- if (pSpawnMonster)
- ++bSpawnCount;
- }
- sys_log(0, "QUEST Spawn Monster: VNUM(%u) COUNT(%d) isAggressive(%d)", dwMobVnum, bSpawnCount, isAggressive);
- }
- lua_pushnumber(L, 0);
- return 1;
- }