diff --git a/ReallifeGamemode.Client/Ped/PedCreator.ts b/ReallifeGamemode.Client/Ped/PedCreator.ts index 600599be..0048c40b 100644 --- a/ReallifeGamemode.Client/Ped/PedCreator.ts +++ b/ReallifeGamemode.Client/Ped/PedCreator.ts @@ -741,28 +741,48 @@ u_m_y_tattoo_01: 0x94AE2B8C, u_m_y_zombie_01: 0xAC4B4506, } - var CreatedPeds = []; + var CreatedPeds: Array = []; mp.events.add("SERVER:CreateStaticPeds", (jsonVector3s, jsonHeadings, jsonCharHashes, jsonDimension) => { var vector3s = JSON.parse(jsonVector3s); var headings = JSON.parse(jsonHeadings); var charHashes = JSON.parse(jsonCharHashes); + var dimension = JSON.parse(jsonDimension); for (var i = 0; i < vector3s.length; i++) { - let p = mp.peds.new(Number(charHashes[i]), vector3s[i], headings[i], dimension[i]); + var hash = charHashes[i]; + + var tmpHash = getPedHashByName(hash); + if (tmpHash != -1) { + hash = tmpHash; + } + + //mp.gui.chat.push(`adding ped ${hash} (${charHashes[i]}`); + + let p = mp.peds.new(hash, vector3s[i], headings[i], dimension[i]); p.freezePosition(true); p.setInvincible(true); - p.setCollision(false, false); + //p.setCollision(false, false); CreatedPeds.push(p); } }); mp.events.add('entityStreamIn', (entity: EntityMp) => { CreatedPeds.forEach(function (p) { if (entity == p) { - + p.freezePosition(true); p.setInvincible(true); - p.setCollision(false, false); + //p.setCollision(false, false); } }); }); + + function getPedHashByName(name: string) { + var keys = Object.keys(PedHashes); + var idx = keys.indexOf(name) !== -1; + if (idx) { + return PedHashes[name]; + } + + return -1; + } } \ No newline at end of file diff --git a/ReallifeGamemode.Server/Managers/PedManager.cs b/ReallifeGamemode.Server/Managers/PedManager.cs index 0a176366..0bc860c9 100644 --- a/ReallifeGamemode.Server/Managers/PedManager.cs +++ b/ReallifeGamemode.Server/Managers/PedManager.cs @@ -68,7 +68,8 @@ namespace ReallifeGamemode.Server.Managers { WeponDealPed, DepartmentPed, - PrisonPed + PrisonPed, + } public class PedData