Gość Diegtiariow Opublikowano 9 Czerwca 2023 Zgłoś Udostępnij Opublikowano 9 Czerwca 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/ Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.
Uwaga: Twój wpis zanim będzie widoczny, będzie wymagał zatwierdzenia moderatora.