ARK: Survival Evolved Wiki
探索
メインページ
全ページ
インタラクティブな地図
navigation
メインページ
コミュニティ・ポータル
最近の更新
おまかせ表示
Admin noticeboard
Gamepedia
Gamepedia support
Report a bad ad
Help Wiki
Contact us
FANDOM
ゲーム
映画
テレビ
Wiki
Wikiを探索
コミュニティセントラル
Wikiを はじめよう
アカウントをお持ちでない場合
登録
ログイン
FANDOM
Explore
Current Wiki
Wikiを はじめよう
アカウントをお持ちでない場合
登録
ログイン
ログイン
登録
ARK: Survival Evolved Wiki
2,858
ページ
探索
メインページ
全ページ
インタラクティブな地図
navigation
メインページ
コミュニティ・ポータル
最近の更新
おまかせ表示
Admin noticeboard
Gamepedia
Gamepedia support
Report a bad ad
Help Wiki
Contact us
「
モジュール:Infobox spawn command section
」を編集中
ページに戻る
ソースを編集
履歴表示
トーク(0件)
ページの編集
モジュール:Infobox spawn command section
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。
スパム攻撃防止用のチェックです。 けっして、ここには、値の入力は
しない
でください!
local p = {} function copyClipboard( contents ) return '<span class="copy-clipboard"><span class="copy-content" style="font-family:Courier,monospace;">' .. contents .. '</span></span>' end function getExampleShortCommand( isEntity, identifier ) if isEntity then return 'cheat summon ' .. identifier else return 'cheat gfi ' .. identifier .. ' 1 0 0' end end function getExampleBPCommand( isEntity, identifier, short ) if isEntity then return 'cheat SpawnDino {{BlueprintPath|' .. identifier .. '}} 500 0 0 35' else return 'cheat giveitem {{BlueprintPath|' .. identifier .. '}} 1 0 0' end end function getTekgramUnlockCommand( bp ) return 'cheat unlockengram {{BlueprintPath|' .. bp .. '}}' end function getIdBasedItemCommand( identifier ) return 'cheat giveitemnum ' .. identifier .. ' 1 0 0' end function makeCommandSet (isEntity, blueprintPath, entityClassName, shortItemName, tekgramBP, itemId) local OR = '<br/><b>or</b><br/>' local commands = '' local canShowSummon = isEntity and entityClassName ~= nil local canShowGFI = not isEntity and shortItemName ~= nil -- ID-based item command if not isEntity and itemId then commands = copyClipboard(getIdBasedItemCommand(itemId)) if blueprintPath or shortItemName then commands = commands .. OR end end -- Loose, short commands if canShowSummon then commands = commands .. copyClipboard(getExampleShortCommand(true, entityClassName)) elseif canShowGFI then commands = commands .. copyClipboard(getExampleShortCommand(false, shortItemName)) end -- "or" between the two forms if blueprintPath and (canShowSummon or canShowGFI) then commands = commands .. OR end -- Strict, BP-reliant command if blueprintPath then commands = commands .. copyClipboard(getExampleBPCommand(isEntity, blueprintPath)) end if tekgramBP then commands = commands .. '<br/><b>Unlock [[Tekgram]]</b><br/>' .. copyClipboard(getTekgramUnlockCommand(tekgramBP)) end return commands end function guardStringArgument( args, name ) local v = args[name] or nil if v ~= nil then v = mw.text.trim(v) if #v == 0 then v = nil end end return v end function p.spawnCommand( f ) local args = f.args local parentArgs = f:getParent().args -- Infobox arguments local blueprintPath = guardStringArgument(parentArgs, 'blueprintpath') local entityClassName = guardStringArgument(parentArgs, 'entityId') local shortItemName = guardStringArgument(parentArgs, 'gfi') local tekgram = guardStringArgument(parentArgs, 'tekgram') local itemId = guardStringArgument(parentArgs, 'itemid') local isBaseClassIncomplete = parentArgs.incompleteBaseClass == 'yes' or parentArgs.incompleteData == 'yes' or false -- Check if type is specified if args.type == nil then return 'error: "type" has to be specified (creature or item) for spawn command section to be generated' end -- Own hardcoded arguments local isEntity = args.type == 'creature' local captionLinkTarget = args.linkTarget or '' local variantOrderList = args.variantOrder or '' -- Fill in info from variables set by Dv if creature if isEntity then if blueprintPath == nil then blueprintPath = f:preprocess('{{#var:blueprintpath}}') end if entityClassName == nil then entityClassName = f:preprocess('{{#var:entityId}}') end end -- Display flags local canShowSummon = isEntity and entityClassName ~= nil local canShowGFI = not isEntity and shortItemName ~= nil -- Variable for generated commands text local commands = '' -- Main class if (not isBaseClassIncomplete) and (blueprintPath or entityId or shortItemName) then commands = makeCommandSet(isEntity, blueprintPath, entityClassName, shortItemName, tekgram, itemId) end -- Initialize variants from variantOrderList -- We use an external list provided by the template to retain order of the -- variants. local variants = {} local variantOrder = {} if variantOrderList ~= '' then for _, variantName in ipairs(mw.text.split(variantOrderList, ';')) do if variants[variantName] == nil then variants[variantName] = {} table.insert(variantOrder, variantName) end end end -- Collect variants (and their details) from arguments for argName, argValue in pairs(parentArgs) do argName = mw.text.trim(argName) local variantName = nil local isBP = false -- Detect if this parameter is a BP/short ID if mw.ustring.find(argName, 'blueprintpath ', 0, true) == 1 then variantName = mw.ustring.sub(argName, 14) isBP = true elseif isEntity and mw.ustring.find(argName, 'entityId ', 0, true) == 1 then variantName = mw.ustring.sub(argName, 9) elseif (not isEntity) and mw.ustring.find(argName, 'gfi ', 0, true) == 1 then variantName = mw.ustring.sub(argName, 4) end if variantName ~= nil then variantName = mw.text.trim(variantName) if #variantName > 0 then -- Ensure the variant is initialized. if variants[variantName] == nil then variants[variantName] = {} table.insert(variantOrder, variantName) end -- Save the value. if isBP then variants[variantName]['bp'] = mw.text.trim(argValue) else variants[variantName]['short'] = mw.text.trim(argValue) end end end end -- Generate commands for variants for _, variantName in ipairs(variantOrder) do local spawnInfo = variants[variantName] if spawnInfo['bp'] or spawnInfo['short'] then commands = commands .. '<br/><span style="font-size:1.1em;font-weight:bold;">Variant ' .. variantName .. '</span><br/>' commands = commands .. makeCommandSet(isEntity, spawnInfo['bp'], spawnInfo['short'], spawnInfo['short']) end end -- Return nothing if no command was generated if #commands == 0 then return '' end local out = '<div class="info-arkitex info-module">' .. '<div class="info-arkitex info-unit">' .. '<div class="info-arkitex info-X1-100">' .. '<div style="text-align:left; padding:0 8px 0 8px;" class="mw-collapsible mw-collapsed">' .. "'''[[" .. captionLinkTarget .. "|Spawn Command]]'''" .. '<div class="mw-collapsible-content" style="text-align:left;font-size:0.8em;word-wrap:break-word;width:310px">' .. commands .. '</div>' .. '</div>' .. '</div>' .. '</div>' .. '</div>' return f:preprocess(out) end return p
編集内容の要約:
ARK: Survival Evolved Wikiへの投稿はすべて、「CC BY-NC-SA」に従って公開されるものとしてみなされます
編集を中止
編集の仕方
(新しいウィンドウで開きます)
このページで使用されているテンプレート:
モジュール:Infobox spawn command section/doc
(
編集
)
Follow on IG
TikTok
Join Fan Lab