Difference between revisions of "Emuera/eramavar"

From Era Wiki
Jump to: navigation, search
(page created)
 
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<B>eramaker era basic変数リスト(暫定版)</B>
+
<B>eramaker era basic variable list (provisional version)</B><BR>
<BR>
+
I think <em><b>it's hard to get a picture just by looking at this file.</b></em> It is easier to understand if you play the sample game first, and then look at the ERB files of the sample game while looking at it.<BR>
  
<em><b>このファイルの説明を見るだけではイメージが沸きづらい</b></em>と思います。まずサンプルゲームをプレイし、その後でサンプルゲームのERBファイルをながめながら見ていくとわかりやすいです。<BR>
+
==Basic Variables==
 +
===Generic Variables===
 +
====A-Z====
 +
* The variable is a single letter of the alphabet, from A to Z.<BR>
 +
* You can use it as a disposable data container as you like. However, it is not suitable for long time data storage because it is not known where it is rewritten.<BR>
  
==基本変数==
 
===汎用変数===
 
====A-Z====
 
* AからZまで、アルファベット一文字の変数です。<BR>
 
* 使い捨てのデータ入れとして、好きなように使ってください。ただし、どこで書き換えられるかわからないので長い時間のデータ記憶には向きません。<BR>
 
<BR>
 
 
====COUNT====
 
====COUNT====
* REPEAT命令を使うとき、繰り返した回数を数える変数です。<BR>
+
* This variable counts the number of times it is repeated when using the REPEAT instruction.<BR>
* 誤動作につながるので、REPEAT~RENDの内部でCOUNTの中身を書き換えることは避けてください。<BR>
+
* Do not rewrite the contents of COUNT between REPEAT and REND, as this may lead to a malfunction.<BR>
<BR>
 
 
====RESULT====
 
====RESULT====
* さまざまな結果を記録する変数です。<BR>
+
* A variable that records various results.<BR>
* どこで書き換えられるかわからないので、その場で使うときを除くと別の変数にデータを移して扱うのが望ましいです。<BR>
+
* Since you don't know where it could be rewritten, it is preferable to move the data to another variable unless it is used on the spot.<BR>
<BR>
+
====RESULTS (String Variable)====
====RESULTS(文字列変数)====
+
* A string variable that records various results.<BR>
* さまざまな結果を記録する文字列変数です。<BR>
+
* Since you don't know where it could be rewritten, it is preferable to move the data to another variable unless it is used on the spot.<BR>
* どこで書き換えられるかわからないので、その場で使うときを除くと別の変数にデータを移して扱うのが望ましいです。<BR>
 
<BR>
 
  
 
+
===Basic Information Variables===
===基礎情報変数===
 
 
====DAY====
 
====DAY====
* 日付を記録します。単位などは決まっていないので、自由に扱ってかまいません。<BR>
+
* Records the date. Feel free to handle it as you wish.<BR>
 
====TIME====
 
====TIME====
* 時刻を記録します。単位などは決まっていないので、自由に扱ってかまいません。<BR>
+
* Records the time. Feel free to handle it as you wish.<BR>
 
====MONEY====
 
====MONEY====
* お金を記録します。ショップでの買い物のときにプログラムが参照するので、お金を手に入れたり失ったとき以外はむやみに書き換えないでください。<BR>
+
* Keeps track of your money. The program will refer to it when you shop, so don't rewrite it unless you've gained or lost money.<BR>
  
===調教基礎情報変数===
+
===Basic Training Information Variables===
 
====MASTER====
 
====MASTER====
* 主人公の[[#enroll|キャラの登録番号]]を指します。CharaXX.csvで指定した番号とは違うことがあるので注意してください。通常は0です。<BR>
+
* It refers to the protagonist's [[#enroll|Character Registration Number]], which may be different from the number specified in CharaXX.csv. It is usually 0.<BR>
 
====TARGET====
 
====TARGET====
* 調教中の[[#enroll|キャラの登録番号]]を指します。CharaXX.csvで指定した番号とは違うことがあるので注意してください。<BR>
+
* This is the [[#enroll|Character Registration Number]] of the trainee, which may be different from the number specified in CharaXX.csv.<BR>
 
====ASSI====
 
====ASSI====
* 助手の[[#enroll|キャラの登録番号]]を指します。CharaXX.csvで指定した番号とは違うことがあるので注意してください。<BR>
+
* It refers to the assistant's [[#enroll|Character Registration Number]], which may be different from the number specified in CharaXX.csv.<BR>
 
====PLAYER====
 
====PLAYER====
* 調教している人間の[[#enroll|キャラの登録番号]]を指します。通常はMASTERかASSIと一致するはずです。CharaXX.csvで指定した番号とは違うことがあるので注意してください。<BR>
+
* Refers to the [[#enroll|Character Registration Number]] of the person doing the training. Normally it should match MASTER or ASSI, but be aware that the number may be different from the one specified in CharaXX.csv.<BR>
 
====CHARANUM====
 
====CHARANUM====
* 現在登録されているキャラの数を指します。主人公を含みます。この変数はユーザーが変更できません。<BR>
+
* The number of characters currently registered. Includes the protagonist. This variable cannot be changed by the user.<BR>
<BR>
 
 
====ASSIPLAY====
 
====ASSIPLAY====
* 助手が現在調教しているかどうかです。1なら助手が調教しており、0ならそうではありません。<BR>
+
* If it's a 1, the assistant is doing the training, if it's a 0, it's not.<BR>
 
====SELECTCOM====
 
====SELECTCOM====
* 選択されたコマンドです。TRAIN.CSVで登録したコマンド番号と同じものが入っています。<BR>
+
* The selected command is the same command number as the one registered in TRAIN.CSV.<BR>
 
====PREVCOM====
 
====PREVCOM====
* 前回選択されたコマンドです。同じコマンドを連続で実行することによるペナルティなどに使用します。<BR>
+
* This is the previous selected command. This is used for example for penalties for executing the same command in succession.<BR>
  
===調教変数===
+
===Training Variables===
====LOSEBASE(配列、0~999)====
+
====LOSEBASE (Array, 0-999)====
* 調教コマンドによって基礎パラメータがどれだけ失われるかです。通常はLOSEBASE:0が体力の消耗、LOSEBASE:1が気力の消耗です。<BR>
+
* It's how much of the basic parameters are lost by the training command. Normally, LOSEBASE:0 is for physical exhaustion and LOSEBASE:1 is for energy exhaustion.<BR>
====UP(配列、0~999)====
+
====UP (Array, 0-999)====
* 調教コマンドによって調教中パラメータがどれだけ上がるかです。UP:AのAがPALAM.CSVで指定したパラメータ番号になります。<BR>
+
* This is how much the training parameters are raised by the training command. A in UP:A is the parameter number specified in PALAM.CSV.<BR>
====DOWN(配列、0~999)====
+
====DOWN (Array, 0-999)====
* 調教コマンドによって調教中パラメータがどれだけ下がるかです。DOWN:AのAがPALAM.CSVで指定したパラメータ番号になります。<BR>
+
* This is how much the training parameters are lowered by the training command. A of DOWN:A is the parameter number specified in PALAM.CSV.<BR>
<BR>
+
====PALAMLV (Array, 0-999)====
====PALAMLV(配列、0~999)====
+
* This is the boundary value of the level of the parameter in training. If the training parameters exceed this threshold, the number of gems you receive after training will increase dramatically.<BR>
* 調教中パラメータのレベルわけの境界値です。調教中パラメータがこの境界値を越えると、調教終了後にもらえる珠の数が飛躍的に多くなります。<BR>
+
====EXPLV (Array, 0-999)====
====EXPLV(配列、0~999)====
+
* This is the boundary value for the level of experience. If your experience exceeds this threshold, your training may be more effective (especially with V and A experience).<BR>
* 経験のレベルわけの境界値です。経験がこの境界値を超えると、調教の効果が上がることがあります(特にV経験やA経験)。<BR>
 
<BR>
 
 
====EJAC====
 
====EJAC====
* 射精チェックのときに使う一時変数です。可読性のために独立した変数にしてありますが、実質はただのデータ入れです。<BR>
+
* This is a temporary variable that is used for ejaculation checks. It's an independent variable for readability, but it's really just a data entry.
 +
===Flags===
 +
====FLAG (Array, 0-9999)====
 +
* Record the various states of the game. In the sample game, FLAG:0 is used to determine if a character in training has been rested or not. It's also frequently used to see if an event has occurred or not.<BR>
 +
====TFLAG (Array, 0-999)====
 +
* Record the various states of the game. Think of it as a Temporary Flag, or Training Flag, which is used in the sample game to record how you ejaculated and whether you performed the service training. In short, it is a flag for temporary use rather than FLAG.<BR>
  
 +
===Character Data===
 +
* Most of the character data is double-arranged and is accessed as EXP:1:2 (looking at the second experience of the first character).<BR>
 +
* However, it can also be written as EXP:0. In this case, it will be interpreted as EXP:TARGET:0. In other words, you don't need to write TARGET: to access the data of the character being trained.<BR>
 +
====NO (Array, 0-99)====
 +
* Character number. Since it is not a double array, it is accessed as NO:TARGET or NO:ASSI.<BR>
 +
====BASE (Double Array, 0-99)====
 +
* These are the basic parameters of the character. In the sample game, BASE:0 represents health, BASE:1 represents energy and BASE:2 represents ejaculation gauge.<BR>
 +
====MAXBASE (Double Array, 0-99)====
 +
* This is the maximum value of the basic parameters of the character.<BR>
 +
====ABL (Double Array, 0-99)====
 +
* The ability of your character, which is accessed by the ability number registered in ABL.CSV.<BR>
 +
====TALENT (Double Array, 0-999)====
 +
* The qualities of the character. It is accessed by the quality number registered in TALENT.CSV.<BR>
 +
====EXP (Double Array, 0-99)====
 +
* The experience of the character, which is accessed by the experience number registered in EXP.CSV.<BR>
 +
====MARK (Double Array, 0-99)====
 +
* This is the engraving of the character. It is accessed by the mark number registered in MARK.CSV.<BR>
 +
====RELATION (Double Array, 0-99)====
 +
* RELATION:TARGET:3 indicates the compatibility of the character in training with the character number 3. Note that I'm not referring to the compatibility with the characters with [[#enroll|Character Registration Number]] 3.<BR>
 +
====JUEL (Double Array, 0-199)====
 +
* This is the gems that character has. Access by the parameter number registered in PALAM.CSV.<BR>
 +
====CFLAG (Double Array, 0-999)====
 +
* This is a flag for each character. You can record a variety of data for each character. In the sample game, a character whose CFLAG:0 is 1 is considered an SP character.<BR>
 +
====ISASSI (Array, 0-99)====
 +
* If it's a 0, it's not an assistant. If it's a 1, it's an assistant. Since it is not a double array, it is accessed as ISASSI:TARGET or ISASSI:ASSI.<BR>
 +
====NAME (Array, 0-99) (String Variable)====
 +
* The name of the character. Since it is not a double array, it is accessed as NAME:TARGET or NAME:ASSI.<BR>
 +
====CALLNAME (Array, 0-99) (String Variable)====
 +
* This is the name of the character. Since it is not a double array, it is accessed as CALLNAME:TARGET or CALLNAME:ASSI.<BR>
 +
====TEQUIP (Double Array, 0-99)====
 +
* This is the item that Chara is wearing. You can use this when you're putting in vibrators during training, but you can also use it for character enhancement items. In the sample game, we also used it to judge the use of aphrodisiacs.<BR>
 +
====PALAM (Double Array, 0-99)====
 +
* Character's training parameters, accessed by the parameter numbers registered in PALAM.CSV.<BR>
 +
====STAIN (Double Array, 0-99)====
 +
* This is the "dirt" generated by training. It changes when you ejaculate from a blow job or have anal sex. In the sample game, STAIN:0 refers to the mouth, STAIN:1 to the hand, STAIN:2 to the penis, STAIN:3 to the vagina, and STAIN:4 to the anal stain. See [[#stain|here]] for details of the stain notation.<BR>
 +
====EX (Double Array, 0-99)====
 +
* This is how many times climaxed during this training. In the sample game, EX:0 is a C climax, EX:1 is a V climax, and EX:2 is an A climax.<BR>
 +
====SOURCE (Double Array, 0-99)====
 +
* This is the training source generated by executing commands. If you look at the COMxx.ERB and SOURCE.ERB, you will see the flow from the training source to the UP of the training parameters.<BR>
 +
====NOWEX (Double Array, 0-99)====
 +
* This is how many times climaxed during this command alone. In the sample game, NOWEX:0 is a C climax, NOWEX:1 is a V climax, and NOWEX:2 is an A climax.<BR>
 +
====GOTJUEL (Double Array, 0-99)====
 +
* This is the gems received after this training, which is accessed by the parameter number registered in PALAM.CSV.<BR>
  
===フラグ===
+
===Item Data===
====FLAG(配列、0~9999)====
+
====ITEM (Array, 0-99)====
* ゲームのさまざまな状態を記録します。サンプルゲームではFLAG:0が調教中のキャラを休ませたかどうかの判定に使われています。他にも、イベントが発生したかどうかなどで頻繁に使います。<BR>
+
* This is the number of each item you have, accessed by the item number registered in ITEM.CSV.<BR>
====TFLAG(配列、0~999)====
+
====ITEMSALES (Array, 0-99)====
* ゲームのさまざまな状態を記録します。サンプルゲームではどのように射精させたかの記録や、奉仕系調教を実行したかどうかの記録に使われています。Temporary Flag、もしくはTraining Flagと考えてください。要するに、FLAGよりも一時的な用途に使うフラグです。<BR>
+
* It' s whether the item is available in the shop or not. If it's a 1, it's for sale. If it's a 0, it's not for sale. The item number registered in ITEM.CSV is used to access it.<BR>
 
 
===キャラデータ===
 
* キャラデータはほとんどが二重配列であり、EXP:1:2のようにしてアクセスします(1番目のキャラの2番目の経験をみる)。<BR>
 
* しかし、EXP:0のように書くこともできます。この場合、EXP:TARGET:0として解釈されます。すなわち、調教中のキャラのデータにアクセスするにはTARGET:を書かなくてもよいということです。<BR>
 
<BR>
 
====NO(配列、0~99)====
 
* キャラ番号です。二重配列ではないので、NO:TARGETやNO:ASSIのようにしてアクセスします。<BR>
 
====BASE(二重配列、0~99)====
 
* キャラの基礎パラメータです。サンプルゲームではBASE:0が体力、BASE:1が気力、BASE:2が射精ゲージを表しています。<BR>
 
====MAXBASE(二重配列、0~99)====
 
* キャラの基礎パラメータの最大値です。<BR>
 
====ABL(二重配列、0~99)====
 
* キャラの能力です。ABL.CSVで登録された能力番号でアクセスします。<BR>
 
====TALENT(二重配列、0~999)====
 
* キャラの素質です。TALENT.CSVで登録された素質番号でアクセスします。<BR>
 
====EXP(二重配列、0~99)====
 
* キャラの経験です。EXP.CSVで登録された経験番号でアクセスします。<BR>
 
====MARK(二重配列、0~99)====
 
* キャラの刻印です。MARK.CSVで登録された刻印番号でアクセスします。<BR>
 
====RELATION(二重配列、0~99)====
 
* キャラの刻印です。RELATION:TARGET:3は調教中キャラとキャラ番号3のキャラの相性を指します。[[#enroll|キャラの登録番号]]3のキャラとの相性を指すわけではないことに注意してください。<BR>
 
====JUEL(二重配列、0~199)====
 
* キャラの持っている珠です。PALAM.CSVで登録されたパラメータ番号でアクセスします。<BR>
 
====CFLAG(二重配列、0~999)====
 
* キャラごとのフラグです。キャラごとにさまざまなデータを記録できます。サンプルゲームではCFLAG:0が1であるキャラをSPキャラとしています。<BR>
 
====ISASSI(配列、0~99)====
 
* 助手かどうかです。0なら助手ではなく、1なら助手です。二重配列ではないので、ISASSI:TARGETやISASSI:ASSIのようにしてアクセスします。<BR>
 
<BR>
 
====NAME(文字列変数、配列、0~99)====
 
* キャラの名前です。二重配列ではないので、NAME:TARGETやNAME:ASSIのようにしてアクセスします。<BR>
 
====CALLNAME(文字列変数、配列、0~99)====
 
* キャラの呼び名です。二重配列ではないので、CALLNAME:TARGETやCALLNAME:ASSIのようにしてアクセスします。<BR>
 
<BR>
 
====TEQUIP(二重配列、0~99)====
 
* キャラのつけているアイテムです。調教中バイブを入れるなどしているときに使いますが、キャラ強化アイテムなどにも使えるでしょう。サンプルゲームでは、媚薬を使ったことの判定にも使用しています。<BR>
 
====PALAM(二重配列、0~99)====
 
* キャラの調教中パラメータです。PALAM.CSVで登録されたパラメータ番号でアクセスします。<BR>
 
====STAIN(二重配列、0~99)====
 
* 調教により発生した「汚れ」です。フェラチオで射精したり、アナルセックスをしたりすると変化します。サンプルゲームではSTAIN:0は口、STAIN:1は手、STAIN:2はペニス、STAIN:3はヴァギナ、STAIN:4はアナルの汚れを指しています。汚れ表記の詳細は[[#stain|こちら]]を参照してください。<BR>
 
====EX(二重配列、0~99)====
 
* この調教の間に何回絶頂に達したかです。サンプルゲームではEX:0がC絶頂、EX:1がV絶頂、EX:2がA絶頂です。<BR>
 
<BR>
 
====SOURCE(二重配列、0~99)====
 
* このコマンドを実行することによって発生した調教ソースです。内部処理で使っています。COMxx.ERBとSOURCE.ERBを見れば、調教ソースから調教パラメータのUPにつながる流れがわかるでしょう。<BR>
 
====NOWEX(二重配列、0~99)====
 
* このコマンドの間に何回絶頂に達したかです。サンプルゲームではNOWEX:0がC絶頂、NOWEX:1がV絶頂、NOWEX:2がA絶頂です。<BR>
 
====GOTJUEL(二重配列、0~99)====
 
* この調教を終えて獲得した珠です。PALAM.CSVで登録されたパラメータ番号でアクセスします。<BR>
 
 
 
===アイテムデータ===
 
====ITEM(配列、0~99)====
 
* 所持しているアイテムの数です。ITEM.CSVで登録されたアイテム番号でアクセスします。<BR>
 
====ITEMSALES(配列、0~99)====
 
* そのアイテムがショップで売っているかどうかです。1なら売っており、0なら売っていません。ITEM.CSVで登録されたアイテム番号でアクセスします。<BR>
 
<BR>
 
 
====BOUGHT====
 
====BOUGHT====
* 今何のアイテムを買ったかです。@EVENTBUYで今買ったアイテムをショップから消す場合などに使います。<BR>
+
* Here's what items were bought. You can use this if you want to delete the item you just bought at @EVENTBUY from the shop.<BR>
<BR>
 
 
====NOITEM====
 
====NOITEM====
* GAMEBASE.CSVでアイテムなしを指定すると1になります。その場合、コマンドの実行判定でアイテムの有無を無視するようにします。<BR>
+
* If NO ITEM is specified in GAMEBASE.CSV, it will be set to 1. In this case, the execution of the command will ignore the presence or absence of the item.<BR>
 
====PBAND====
 
====PBAND====
* ペニスバンドのアイテム番号です。最初は4になっています。ペニスバンドが調教の実行判定に絡むことが多いので独立した変数として扱っています。<BR>
+
* This is the item number for the strap-on. It is set to 4 by default. Strap-on is treated as an independent variable because it is often involved in training decisions.<BR>
 
 
===名称データ===
 
====ABLNAME(文字列変数、配列、0~99)====
 
* 能力の名前です。ABL.CSVで登録されたパラメータ番号でアクセスします。<BR>
 
====TALENTNAME(文字列変数、配列、0~99)====
 
* 素質の名前です。TALENT.CSVで登録されたパラメータ番号でアクセスします。<BR>
 
====EXPNAME(文字列変数、配列、0~99)====
 
* 経験の名前です。EXP.CSVで登録されたパラメータ番号でアクセスします。<BR>
 
====MARKNAME(文字列変数、配列、0~99)====
 
* 刻印の名前です。MARK.CSVで登録されたパラメータ番号でアクセスします。<BR>
 
====PALAMNAME(文字列変数、配列、0~199)====
 
* 調教中パラメータの名前です。PALAM.CSVで登録されたパラメータ番号でアクセスします。<BR>
 
====ITEMNAME(文字列変数、配列、0~99)====
 
* アイテムの名前です。ITEM.CSVで登録されたパラメータ番号でアクセスします。<BR>
 
 
 
===文字列データ===
 
====STR(文字列変数、配列、0~19999)====
 
* 文字列データです。STR.CSVのデータがここに格納されます。この変数を改変してもセーブはされないので注意が必要です。<BR>
 
====SAVESTR(文字列変数、配列、0~99)====
 
* 文字列データです。ここに記録したデータはセーブのときに保存されます。ずっと使いたい文字列変数はここに格納しましょう。<BR>
 
 
 
===文字列データ===
 
====RAND(擬似配列)====
 
* これは特殊な変数で、乱数を返します。たとえばPRINTV RAND:10とすると、0から9までの数がランダムに表示されます。<BR>
 
* 返されるのはRAND:Aの場合0からA-1までの整数であると覚えてください。<BR>
 
 
 
  
==<span id="enroll"></span>キャラの登録番号==
+
===Name Data===
===キャラの登録番号とキャラ番号の違い===
+
====ABLNAME (Array, 0-99) (String Variable)====
====実体のないキャラデータ====
+
* The name of the ability, accessed by the parameter number registered in ABL.CSV.<BR>
* CharaXX.CSVでは「番号」が指定されています。ここで指定された番号が「キャラ番号」です。<BR>
+
====TALENTNAME (Array, 0-99) (String Variable)====
* しかし、CharaXX.CSVにいるキャラが調教開始時にすべて実体を持っているわけではありません。ADDCHARAという命令が呼ばれることで、はじめて実体を持つのです。<BR>
+
* The name of the property, accessed by the parameter number registered in TALENT.CSV.<BR>
====キャラを登録する====
+
====EXPNAME (Array, 0-99) (String Variable)====
* ゲーム開始時、実体を持っているキャラは主人公のみです。そして、主人公の「キャラの登録番号」は0です。<BR>
+
* The name of the experience, which is accessed by the parameter number registered in EXP.CSV.<BR>
* ここにADDCHARAで「キャラ番号」が5であるキャラが登録されたとしましょう。このキャラの「キャラ番号」は5ですが、「キャラの登録番号」は主人公の次になるので1です。さらにもう1人「キャラ番号」が7のキャラが加われば、そのキャラの登録番号は2です。<BR>
+
====MARKNAME (Array, 0-99) (String Variable)====
====キャラを削除する====
+
* The name of the mark, accessed by the parameter number registered in MARK.CSV.<BR>
* さて、DELCHARAという命令で「キャラの登録番号」が1のキャラを削除したとしましょう。すると、後で加えた「キャラ番号」7のキャラの「登録番号」は1になるのです。<BR>
+
====PALAMNAME (Array, 0-199) (String Variable)====
* このように、今登録されているキャラに対して「キャラの登録番号」が0から隙間なく与えられていくということをしっかり覚えておいてください。
+
* The name of the parameter while training, which is accessed by the parameter number registered in PALAM.CSV.<BR>
 +
====ITEMNAME (Array, 0-99) (String Variable)====
 +
* The name of the item, which is accessed by the parameter number registered in ITEM.CSV.<BR>
  
 +
===String Data===
 +
====STR (Array, 0-19999) (String Variable)====
 +
* String data. The data of STR.CSV is stored here. Note that modifying this variable will not save it.<BR>
 +
====SAVESTR (Array, 0-99) (String Variable)====
 +
* String data. The data recorded here will be saved when you save it. You can store the string variables you want to use all the time here.<BR>
  
 +
===Other Data===
 +
====RAND (Pseudo-Array)====
 +
* This is a special variable that returns a random number. For example: PRINTV RAND:10 randomly displays a number from 0 to 9.<BR>
 +
* Remember that the return value is an integer from 0 to A-1 in the case of RAND:A.
 +
==<span id="enroll"></span>Character Registration Number==
 +
===The difference between a character registration number and a character number===
 +
====Unembodied Character Data====
 +
* The number (番号) specified in CharaXX.CSV. That's the "character number".<BR>
 +
* However, not all of the characters in CharaXX.CSV are real at the start of the game. They only become real when the ADDCHARA command is called.<BR>
 +
====Registering a character====
 +
* At the start of the game, the only character who is an entity is the main character. And the main character's "character registration number" is 0.<BR>
 +
* Let's assume that a character whose character number is 5 in ADDCHARA is registered here. The "character number" of this character is 5, but the "registration number of the character" is 1 because it is next to the main character. If you add one more character with a character number of 7, the registration number of that character is 2.<BR>
 +
====Removing a character====
 +
* Now, let's assume that the DELCHARA command deleted a character whose registration number is 1. Then, the "registration number" of the character with "character number 7" added later will become 1.<BR>
 +
* Keep in mind that the currently registered characters are given a "character registration number" from 0 without any gaps.
  
==<span id="stain"></span>汚れについて==
 
===汚れデータの特殊性===
 
====汚れの種類====
 
* 汚れデータはSTAINで管理します。STAIN:TARGET:0なら調教中キャラの口の汚れを指します。<BR>
 
* しかし、ここで考えられる汚れの種類は色々あります。フェラチオすれば精液の汚れが、レズ調教でクンニをすれば愛液の汚れがつくのです。<BR>
 
* サンプルゲームでは、「ヴァギナ(愛液)」「ペニス」「精液」「アナル」の4種類の汚れを想定しています。
 
====汚れデータの記述方法====
 
* さて、この汚れに、1,2,4,8という数値が割り当てられています。つまり、アナルと精液の汚れがあるなら4+8で12。愛液と精液の汚れがあるなら1+4で5といった具合です。<BR>
 
* このように表現すれば、ひとつの変数で4種類の汚れを上手く処理できます。しかし、「口に精液の汚れが加わった」「口に愛液の汚れがあるかどうか判定する」などは従来の+-*/%ではうまくいきません。<BR>
 
====汚れデータの判定方法====
 
* そこで、&と|という記号を使います。&&(かつ)と||(または)に似ていますが、これは単独で使います。<BR>
 
* たとえば、STAIN:TARGET:0が12だとしましょう。ここでSTAIN:TARGET:0 & 4とすると、4の部分だけが抽出されます。すなわち、STAIN:TARGET:0 & 4 == 4です。<BR>
 
* 次に、STAIN:TARGET:0が1+2+8=11だとしましょう。ここでSTAIN:TARGET:0 & 4とすると、4の部分だけが抽出されます。すなわち、STAIN:TARGET:0 & 4 == 0です。<BR>
 
* こうすれば、どの汚れがあるかどうか簡単に知ることができるわけです。
 
====汚れデータの追加方法====
 
* 次に、STAIN:TARGET:0が1+4=5だとしましょう。ここでSTAIN:TARGET:0 | 2とすると、2の部分が追加されます。すなわち、STAIN:TARGET:0 | 2 == 7です。<BR>
 
* そして、STAIN:TARGET:0が1+2+4=7だとしましょう。ここでSTAIN:TARGET:0 | 2とすると、2の部分が追加されます。しかし2の部分はすでに含まれているので、変化しません。すなわち、STAIN:TARGET:0 | 2 == 7です。<BR>
 
* なお、STAIN:TARGET:0 |= 2のように書くこともできます。<BR>
 
* こうすることで、すでに汚れが含まれているかどうかを気にせずに汚れの追加処理が出来ます。<BR>
 
  
  
==更新履歴==
+
==<span id="stain"></span>About Stain==
* 06/05/05 暫定版公開。
+
===Specifics of the stain data===
 +
====Types of Stains====
 +
* The stain data is managed by STAIN. STAIN:TARGET:0 means the dirt of the mouth of the character being trained.<BR>
 +
* However, there are many different types of stains that can be considered here. If you give a blow job, you'll get a smear of semen, and if you give a cunnilingus, you'll get a smear of love juice.<BR>
 +
* The sample game assumes four types of dirt: vagina, penis, semen, and anus.
 +
====How to describe the stain data====
 +
* Now, the numbers 1, 2, 4, and 8 have been assigned to this stain. In other words, if there are anal and seminal stains, 4+8 is 12, if there are love semen and seminal stains, 1+4 is 5, and so on.<BR>
 +
* If we express it this way, one variable can handle the four types of stains well. However, "added semen stains in the mouth" and "determining whether there is love semen stains in the mouth" do not work well with the conventional +-*/%.<BR>
 +
====How to get the stain data====
 +
* So, we use the & and | operators. It's similar to && (and) and || (or), but it's used alone.<BR>
 +
* For example, let's say that STAIN:TARGET:0 is 12. If we call STAIN:TARGET:0 & 4 here, only the part of 4 will be extracted. That is, STAIN:TARGET:0 & 4 == 4.<BR>
 +
* Next, let's assume that STAIN:TARGET:0 is 1+2+8=11. If we call STAIN:TARGET:0 & 4 here, only the part of 4 will be extracted. That is, STAIN:TARGET:0 & 4 == 0.<BR>
 +
* This way, you can easily tell which stains are present or not.
 +
====How to add stain data====
 +
* Next, let's say that STAIN:TARGET:0 is 1+4=5. If we type STAIN:TARGET:0 | 2, the 2 part will be added. That is, STAIN:TARGET:0 | 2 == 7.<BR>
 +
* And let's say that STAIN:TARGET:0 is 1+2+4=7. If we set STAIN:TARGET:0 | 2 here, the 2 part will be added. But part 2 is already included, so it doesn't change. That is, STAIN:TARGET:0 | 2 == 7.<BR>
 +
* It is also possible to write STAIN:TARGET:0 |= 2.<BR>
 +
* This way, additional dirt can be treated without worrying about whether it already contains dirt or not.
 +
==Update History==
 +
* 09/04/2020 Page fully translated.
 +
* 2006/05/05 Provisional version released.
 +
[[Category:EmuEra]] [[Category:Contributing]]

Latest revision as of 03:54, 2 July 2020

eramaker era basic variable list (provisional version)
I think it's hard to get a picture just by looking at this file. It is easier to understand if you play the sample game first, and then look at the ERB files of the sample game while looking at it.

Contents

Basic Variables[edit]

Generic Variables[edit]

A-Z[edit]

  • The variable is a single letter of the alphabet, from A to Z.
  • You can use it as a disposable data container as you like. However, it is not suitable for long time data storage because it is not known where it is rewritten.

COUNT[edit]

  • This variable counts the number of times it is repeated when using the REPEAT instruction.
  • Do not rewrite the contents of COUNT between REPEAT and REND, as this may lead to a malfunction.

RESULT[edit]

  • A variable that records various results.
  • Since you don't know where it could be rewritten, it is preferable to move the data to another variable unless it is used on the spot.

RESULTS (String Variable)[edit]

  • A string variable that records various results.
  • Since you don't know where it could be rewritten, it is preferable to move the data to another variable unless it is used on the spot.

Basic Information Variables[edit]

DAY[edit]

  • Records the date. Feel free to handle it as you wish.

TIME[edit]

  • Records the time. Feel free to handle it as you wish.

MONEY[edit]

  • Keeps track of your money. The program will refer to it when you shop, so don't rewrite it unless you've gained or lost money.

Basic Training Information Variables[edit]

MASTER[edit]

TARGET[edit]

ASSI[edit]

PLAYER[edit]

  • Refers to the Character Registration Number of the person doing the training. Normally it should match MASTER or ASSI, but be aware that the number may be different from the one specified in CharaXX.csv.

CHARANUM[edit]

  • The number of characters currently registered. Includes the protagonist. This variable cannot be changed by the user.

ASSIPLAY[edit]

  • If it's a 1, the assistant is doing the training, if it's a 0, it's not.

SELECTCOM[edit]

  • The selected command is the same command number as the one registered in TRAIN.CSV.

PREVCOM[edit]

  • This is the previous selected command. This is used for example for penalties for executing the same command in succession.

Training Variables[edit]

LOSEBASE (Array, 0-999)[edit]

  • It's how much of the basic parameters are lost by the training command. Normally, LOSEBASE:0 is for physical exhaustion and LOSEBASE:1 is for energy exhaustion.

UP (Array, 0-999)[edit]

  • This is how much the training parameters are raised by the training command. A in UP:A is the parameter number specified in PALAM.CSV.

DOWN (Array, 0-999)[edit]

  • This is how much the training parameters are lowered by the training command. A of DOWN:A is the parameter number specified in PALAM.CSV.

PALAMLV (Array, 0-999)[edit]

  • This is the boundary value of the level of the parameter in training. If the training parameters exceed this threshold, the number of gems you receive after training will increase dramatically.

EXPLV (Array, 0-999)[edit]

  • This is the boundary value for the level of experience. If your experience exceeds this threshold, your training may be more effective (especially with V and A experience).

EJAC[edit]

  • This is a temporary variable that is used for ejaculation checks. It's an independent variable for readability, but it's really just a data entry.

Flags[edit]

FLAG (Array, 0-9999)[edit]

  • Record the various states of the game. In the sample game, FLAG:0 is used to determine if a character in training has been rested or not. It's also frequently used to see if an event has occurred or not.

TFLAG (Array, 0-999)[edit]

  • Record the various states of the game. Think of it as a Temporary Flag, or Training Flag, which is used in the sample game to record how you ejaculated and whether you performed the service training. In short, it is a flag for temporary use rather than FLAG.

Character Data[edit]

  • Most of the character data is double-arranged and is accessed as EXP:1:2 (looking at the second experience of the first character).
  • However, it can also be written as EXP:0. In this case, it will be interpreted as EXP:TARGET:0. In other words, you don't need to write TARGET: to access the data of the character being trained.

NO (Array, 0-99)[edit]

  • Character number. Since it is not a double array, it is accessed as NO:TARGET or NO:ASSI.

BASE (Double Array, 0-99)[edit]

  • These are the basic parameters of the character. In the sample game, BASE:0 represents health, BASE:1 represents energy and BASE:2 represents ejaculation gauge.

MAXBASE (Double Array, 0-99)[edit]

  • This is the maximum value of the basic parameters of the character.

ABL (Double Array, 0-99)[edit]

  • The ability of your character, which is accessed by the ability number registered in ABL.CSV.

TALENT (Double Array, 0-999)[edit]

  • The qualities of the character. It is accessed by the quality number registered in TALENT.CSV.

EXP (Double Array, 0-99)[edit]

  • The experience of the character, which is accessed by the experience number registered in EXP.CSV.

MARK (Double Array, 0-99)[edit]

  • This is the engraving of the character. It is accessed by the mark number registered in MARK.CSV.

RELATION (Double Array, 0-99)[edit]

  • RELATION:TARGET:3 indicates the compatibility of the character in training with the character number 3. Note that I'm not referring to the compatibility with the characters with Character Registration Number 3.

JUEL (Double Array, 0-199)[edit]

  • This is the gems that character has. Access by the parameter number registered in PALAM.CSV.

CFLAG (Double Array, 0-999)[edit]

  • This is a flag for each character. You can record a variety of data for each character. In the sample game, a character whose CFLAG:0 is 1 is considered an SP character.

ISASSI (Array, 0-99)[edit]

  • If it's a 0, it's not an assistant. If it's a 1, it's an assistant. Since it is not a double array, it is accessed as ISASSI:TARGET or ISASSI:ASSI.

NAME (Array, 0-99) (String Variable)[edit]

  • The name of the character. Since it is not a double array, it is accessed as NAME:TARGET or NAME:ASSI.

CALLNAME (Array, 0-99) (String Variable)[edit]

  • This is the name of the character. Since it is not a double array, it is accessed as CALLNAME:TARGET or CALLNAME:ASSI.

TEQUIP (Double Array, 0-99)[edit]

  • This is the item that Chara is wearing. You can use this when you're putting in vibrators during training, but you can also use it for character enhancement items. In the sample game, we also used it to judge the use of aphrodisiacs.

PALAM (Double Array, 0-99)[edit]

  • Character's training parameters, accessed by the parameter numbers registered in PALAM.CSV.

STAIN (Double Array, 0-99)[edit]

  • This is the "dirt" generated by training. It changes when you ejaculate from a blow job or have anal sex. In the sample game, STAIN:0 refers to the mouth, STAIN:1 to the hand, STAIN:2 to the penis, STAIN:3 to the vagina, and STAIN:4 to the anal stain. See here for details of the stain notation.

EX (Double Array, 0-99)[edit]

  • This is how many times climaxed during this training. In the sample game, EX:0 is a C climax, EX:1 is a V climax, and EX:2 is an A climax.

SOURCE (Double Array, 0-99)[edit]

  • This is the training source generated by executing commands. If you look at the COMxx.ERB and SOURCE.ERB, you will see the flow from the training source to the UP of the training parameters.

NOWEX (Double Array, 0-99)[edit]

  • This is how many times climaxed during this command alone. In the sample game, NOWEX:0 is a C climax, NOWEX:1 is a V climax, and NOWEX:2 is an A climax.

GOTJUEL (Double Array, 0-99)[edit]

  • This is the gems received after this training, which is accessed by the parameter number registered in PALAM.CSV.

Item Data[edit]

ITEM (Array, 0-99)[edit]

  • This is the number of each item you have, accessed by the item number registered in ITEM.CSV.

ITEMSALES (Array, 0-99)[edit]

  • It' s whether the item is available in the shop or not. If it's a 1, it's for sale. If it's a 0, it's not for sale. The item number registered in ITEM.CSV is used to access it.

BOUGHT[edit]

  • Here's what items were bought. You can use this if you want to delete the item you just bought at @EVENTBUY from the shop.

NOITEM[edit]

  • If NO ITEM is specified in GAMEBASE.CSV, it will be set to 1. In this case, the execution of the command will ignore the presence or absence of the item.

PBAND[edit]

  • This is the item number for the strap-on. It is set to 4 by default. Strap-on is treated as an independent variable because it is often involved in training decisions.

Name Data[edit]

ABLNAME (Array, 0-99) (String Variable)[edit]

  • The name of the ability, accessed by the parameter number registered in ABL.CSV.

TALENTNAME (Array, 0-99) (String Variable)[edit]

  • The name of the property, accessed by the parameter number registered in TALENT.CSV.

EXPNAME (Array, 0-99) (String Variable)[edit]

  • The name of the experience, which is accessed by the parameter number registered in EXP.CSV.

MARKNAME (Array, 0-99) (String Variable)[edit]

  • The name of the mark, accessed by the parameter number registered in MARK.CSV.

PALAMNAME (Array, 0-199) (String Variable)[edit]

  • The name of the parameter while training, which is accessed by the parameter number registered in PALAM.CSV.

ITEMNAME (Array, 0-99) (String Variable)[edit]

  • The name of the item, which is accessed by the parameter number registered in ITEM.CSV.

String Data[edit]

STR (Array, 0-19999) (String Variable)[edit]

  • String data. The data of STR.CSV is stored here. Note that modifying this variable will not save it.

SAVESTR (Array, 0-99) (String Variable)[edit]

  • String data. The data recorded here will be saved when you save it. You can store the string variables you want to use all the time here.

Other Data[edit]

RAND (Pseudo-Array)[edit]

  • This is a special variable that returns a random number. For example: PRINTV RAND:10 randomly displays a number from 0 to 9.
  • Remember that the return value is an integer from 0 to A-1 in the case of RAND:A.

Character Registration Number[edit]

The difference between a character registration number and a character number[edit]

Unembodied Character Data[edit]

  • The number (番号) specified in CharaXX.CSV. That's the "character number".
  • However, not all of the characters in CharaXX.CSV are real at the start of the game. They only become real when the ADDCHARA command is called.

Registering a character[edit]

  • At the start of the game, the only character who is an entity is the main character. And the main character's "character registration number" is 0.
  • Let's assume that a character whose character number is 5 in ADDCHARA is registered here. The "character number" of this character is 5, but the "registration number of the character" is 1 because it is next to the main character. If you add one more character with a character number of 7, the registration number of that character is 2.

Removing a character[edit]

  • Now, let's assume that the DELCHARA command deleted a character whose registration number is 1. Then, the "registration number" of the character with "character number 7" added later will become 1.
  • Keep in mind that the currently registered characters are given a "character registration number" from 0 without any gaps.


About Stain[edit]

Specifics of the stain data[edit]

Types of Stains[edit]

  • The stain data is managed by STAIN. STAIN:TARGET:0 means the dirt of the mouth of the character being trained.
  • However, there are many different types of stains that can be considered here. If you give a blow job, you'll get a smear of semen, and if you give a cunnilingus, you'll get a smear of love juice.
  • The sample game assumes four types of dirt: vagina, penis, semen, and anus.

How to describe the stain data[edit]

  • Now, the numbers 1, 2, 4, and 8 have been assigned to this stain. In other words, if there are anal and seminal stains, 4+8 is 12, if there are love semen and seminal stains, 1+4 is 5, and so on.
  • If we express it this way, one variable can handle the four types of stains well. However, "added semen stains in the mouth" and "determining whether there is love semen stains in the mouth" do not work well with the conventional +-*/%.

How to get the stain data[edit]

  • So, we use the & and | operators. It's similar to && (and) and || (or), but it's used alone.
  • For example, let's say that STAIN:TARGET:0 is 12. If we call STAIN:TARGET:0 & 4 here, only the part of 4 will be extracted. That is, STAIN:TARGET:0 & 4 == 4.
  • Next, let's assume that STAIN:TARGET:0 is 1+2+8=11. If we call STAIN:TARGET:0 & 4 here, only the part of 4 will be extracted. That is, STAIN:TARGET:0 & 4 == 0.
  • This way, you can easily tell which stains are present or not.

How to add stain data[edit]

  • Next, let's say that STAIN:TARGET:0 is 1+4=5. If we type STAIN:TARGET:0 | 2, the 2 part will be added. That is, STAIN:TARGET:0 | 2 == 7.
  • And let's say that STAIN:TARGET:0 is 1+2+4=7. If we set STAIN:TARGET:0 | 2 here, the 2 part will be added. But part 2 is already included, so it doesn't change. That is, STAIN:TARGET:0 | 2 == 7.
  • It is also possible to write STAIN:TARGET:0 |= 2.
  • This way, additional dirt can be treated without worrying about whether it already contains dirt or not.

Update History[edit]

  • 09/04/2020 Page fully translated.
  • 2006/05/05 Provisional version released.