Guest Diegtiariow Posted June 9, 2023 Report Share Posted June 9, 2023 NAZWA: Zabranie pieniędzy ze zwłok [SoC] AUTOR: RETRIX POTRZEBNE PLIKI: Spoiler gamedata/scripts/treasure_manager.script gamedata/scripts/lootmoney.script (NOWY PLIK) OPERACJE NA PLIKACH: Spoiler Znajdujemy w rozpakowanym katalogu gamedata plik w ścieżce gamedata/scripts/treasure_manager.script. W pliku treasure_manager.script znajdujemy następującą konstrukcję kodu: --' Юзание инициатора (возможность выдать тайник) function CTreasure:use(npc) printf("TREASURE USE") end Po linii TREASURE USE piszemy następujący kod: if (npc and db.actor) then lootmoney.lootmoney(npc) end W efekcie wykonanej pracy otrzymujemy w pliku treasure_manager.script następującą konstrukcję: --' Юзание инициатора (возможность выдать тайник) function CTreasure:use(npc) printf("TREASURE USE") if (npc and db.actor) then lootmoney.lootmoney(npc) end Teraz w katalogu z grą względem ścieżki gamedata/scripts tworzymy nowy dokument tekstowy lootmoney.txt. Otwieramy plik za pomocą notatnika lub innego edytora tekstu i zapisujemy go jako lootmoney.script z kodowaniem ANSI. Możesz wziąć gotowy skrypt LUA, wyczyścić go i zmienić jego nazwę. To ma niewielkie znaczenie. W pliku gamedata/scripts/lootmoney.script piszemy taki kod: function lootmoney(npc) if npc ~= nil and not string.find(npc:section(),"arena") and npc:character_community()~="arena_enemy" then local money = npc:money() if money ~= nil and money ~=0 then local deadmoney = money local npc_rank npc_rank = ranks.get_obj_rank_name(npc) if npc_rank ~= nil then if npc_rank == "novice" and deadmoney >=400 then deadmoney=math.random(25,400) elseif npc_rank == "experienced" and deadmoney >=500 then deadmoney=math.random(50,500) elseif npc_rank == "veteran" and deadmoney >=600 then deadmoney=math.random(100,600) elseif npc_rank == "master" and deadmoney >=700 then deadmoney=math.random(200,700) end end local news_texti = "\\n%c[255,255,0,0]Martwy stalker: %c[default]"..npc:character_name().."\\n%c[255,255,0,0]Znaleziono pieniądze: %c[default]"..game.translate_string(tostring(deadmoney).."rub.") db.actor:give_game_news(news_texti, "ui\\ui_iconsTotal", Frect():set(0,0,83,47), 1, 4000) db.actor:give_money(deadmoney) game_stats.money_quest_update(deadmoney) npc:give_money(-money) game_stats.money_quest_update(-money) end end end Teraz wystarczy zapisać i zamknąć pliki. Sposób powinien zadziałać. Podczas przeszukiwania zwłok stalkerów automatycznie pobierana jest określona suma pieniędzy, podobnie jak otrzymuje się informacje o schowkach i artykułach w encyklopedii. Struktura tego ficzera została wzięta z LootMoney MOD. ŹRÓDŁO: https://ap-pro.ru/forums/topic/1583-soc-snyatie-deneg-s-trupov/ Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.