![]() |
[კოდი] Custom Model Changer CS2-სთვის - Printable Version +- Prince of Hell (https://princeofhell.lol) +-- Forum: პროგრამირება (https://princeofhell.lol/forumdisplay.php?fid=7) +--- Forum: რევერს ინჟინერია/თამაშების ჩეთები (https://princeofhell.lol/forumdisplay.php?fid=9) +--- Thread: [კოდი] Custom Model Changer CS2-სთვის (/showthread.php?tid=6) |
Custom Model Changer CS2-სთვის - zero - 03-06-2025 როგორც ხედავთ ჩვენ შეგვიძლია ჩავტვირთოთ Custom მოდელები და დავუყენოთ ის ნებისმიერ მოთამაშეს(ობიექტს, დანებს და ასე შემდეგ). CS:GO-ში იყო precache რითიც თამაში ტვირთავდა მოდელებს მეხსიერებაში წინასწარ რათა გამოეყენებინა მომავალში და ნუ თავისთავად ჩვენ შეგვეძლო ეგ precache ფუნქცია გვეპოვა და გამოგვეყენებინა Custom მოდელებისთვის. precache CS2-შიც არსებობს ResourceManager-ში რასაც გამოვიყენებთ ჩვენ რომ ჩავტვირთოთ შემდგომ მოდელი. ![]() თქვენ დაგჭირდებათ CBufferString, აქ კი დავპოსტავდი მაგრამ სამწუხაროდ გამაფრთხილეს რომ არ გამეზიარებინა ამიტომაც ამ პოსტში განვიხილავ ალტერნატივას. ![]() ![]() პირველ რიგში ჩვენ დაგვჭირდება CS2-დან ResourceSystem013-ის ამოღება. Code: c_resource_system* resource_system = get_interface<c_resource_system>("resourcesystem.dll", "ResourceSystem013"); Code: template <typename typet = cinterface> რადგანაც ინტერფეისი ამოვიღეთ მოდი ახლა გადავიდეთ მთავარ საქმეზე ანუ მოდელის მეხსიერებაში ჩატვირთვაზე, ჩვენ ამისთვის შეგვიძლია გამოვიყენოთ ResourceSystem013-ში 48 ნომერი VTable რომელიც პასუხისმგებელია ჩატვირთვაზე. Code: class c_resource_system { ![]() ![]() ახლა ჩვენ გვესაჭიროება ფუნქცია რომ დავაყენოთ მოდელი, ეს კოდი შეგიძლიათ მოათავსოთ Base_Entity-ს კლასში სადაც გექნებათ სიცოცხლის, ფლეგების და სხვა მნიშვნელოვანი სქემები: Code: void set_model( const char* model_name ) { ახლა გადავდივართ ჩატვირთვაში და მოდელის დაყენებაში, ეგზემპლად გამოვიყენებ ლოკალურ მოთამაშის Pawn-ს ანუ აგენტს. Code: auto local_player = /*LOCALPLAYER_PAWN*/; გაითვალისწინეთ რომ ფაილებში .vmdl_c იქნება მაგრამ აქ ისე უნდა ჩავტვირთოთ როგორც .vmdl. გაგიზიარებთ მოდელების ნაკრებს: https://cdn.princeofhell.lol/u/characters.rar characters ფოლდერი უნდა ჩააგდოთ Steam\steamapps\common\Counter-Strike Global Offensive\game\csgo-ში ![]() წესით სულ ეს არის და მეტი მგონი არაფერი გამომრჩა მაგრამ სხვა ლოგიკას როგორ დასახავთ როგორც შემოწმებას, მენიუში ჩაშენებას და ასე შემდეგ არის დამოკიდებული თქვენზე. ![]() |