Defined in macros/scripts/events.asm and engine/overworld/scripting.asm:ScriptCommandTable.
Until this document is filled out, the G/S Scripting Compendium has descriptions for most of these commands. It was written for G/S binary hacking and not Crystal assembly hacking, so it's not 100% accurate for pokecrystal.
$00: scall script$01: farscall script$02: memcall script$03: sjump script$04: farsjump script$05: memjump script$06: ifequal byte, script$07: ifnotequal byte, script$08: iffalse script$09: iftrue script$0A: ifgreater byte, script$0B: ifless byte, script$0C: jumpstd std_script$0D: callstd std_script$0E: callasm asm$0F: special special_pointer$10: memcallasm asm$11: checkmapscene map$12: setmapscene map, scene_id$13: checkscene$14: setscene scene_id$15: setval value[wScriptVar] = value
$16: addval value[wScriptVar] += value
$17: random value$18: checkver$19: readmem address[wScriptVar] = [address]
$1A: writemem address[address] = [wScriptVar]
$1B: loadmem address, value[address] = value
$1C: readvar variable[wScriptVar] = GetVarAction(variable)
$1D: writevar variableGetVarAction(variable) = [wScriptVar]
$1E: loadvar variable, valueGetVarAction(variable) = value
$1F: giveitem item_id[, quantity=1]$20: takeitem item_id[, quantity=1]$21: checkitem item_id$22: givemoney account, value$23: takemoney account, value$24: checkmoney account, value$25: givecoins value$26: takecoins value$27: checkcoins value$28: addcellnum contact_id$29: delcellnum contact_id$2A: checkcellnum contact_id$2B: checktime time$2C: checkpoke mon_id$2D: givepoke mon_id, level[, item=0[, ot_name, nickname]]$2E: giveegg mon_id, level$2F: givepokemail pointer$30: checkpokemail pointer$31: checkevent event_flag$32: clearevent event_flag$33: setevent event_flag$34: checkflag engine_flag$35: clearflag engine_flag$36: setflag engine_flag$37: wildon$38: wildoff$39: xycompare pointer$3A: warpmod warp_id, map$3B: blackoutmod map$3C: warp map, x, y$3D: getmoney string_buffer, accountGetStringBuffer(string_buffer) = PrintNum(GetMoneyAccount(account))
$3E: getcoins string_bufferGetStringBuffer(string_buffer) = PrintNum([wCoins])
$3F: getnum string_bufferGetStringBuffer(string_buffer) = PrintNum([wScriptVar])
$40: getmonname string_buffer, mon_idGetStringBuffer(string_buffer) = GetPokemonName(mon_id)
If mon_id = USE_SCRIPT_VAR, then it uses [wScriptVar] instead.
$41: getitemname string_buffer, item_idGetStringBuffer(string_buffer) = GetItemName(item_id)
If item_id = USE_SCRIPT_VAR, then it uses [wScriptVar] instead.
$42: getcurlandmarkname string_bufferGetStringBuffer(string_buffer) = GetLandmarkName(GetWorldMapLocation())
$43: gettrainername string_buffer, trainer_group, trainer_idGetStringBuffer(string_buffer) = GetTrainerName(trainer_group, trainer_id)
$44: getstring string_buffer, text_pointerGetStringBuffer(string_buffer) = CopyName1([wScriptBank], text_pointer)
$45: itemnotify$46: pocketisfull$47: opentext$48: reanchormap [dummy=0]$49: closetext$4A: writeunusedbyte byte[wUnusedScriptByte] = byte
$4B: farwritetext text_pointer$4C: writetext text_pointer$4D: repeattext byte1, byte2$4E: yesorno$4F: loadmenu menu_header$50: closewindow$51: jumptextfaceplayer text_pointer$52: farjumptext text_pointer$53: jumptext text_pointer$54: waitbutton$55: promptbutton$56: pokepic mon_id$57: closepokepic$58: _2dmenu$59: verticalmenu$5A: loadpikachudata$5B: randomwildmon$5C: loadtemptrainer[wOtherTrainer] = [wTempTrainer]
$5D: loadwildmon mon_id, level$5E: loadtrainer trainer_group, trainer_id$5F: startbattle$60: reloadmapafterbattle$61: catchtutorial byte$62: trainertext text_id$63: trainerflagaction action$64: winlosstext win_text_pointer, loss_text_pointer$65: scripttalkafter$66: endifjustbattled$67: checkjustbattled$68: setlasttalked object_id$69: applymovement object_id, data_pointer$6A: applymovementlasttalked data_pointer$6B: faceplayer$6C: faceobject object1, object2$6D: variablesprite variable_sprite_id, sprite_id$6E: disappear object_id$6F: appear object_id$70: follow object2, object1$71: stopfollow$72: moveobject object_id, x, y$73: writeobjectxy object_id$74: loademote emote_id$75: showemote emote_id, object_id, length$76: turnobject object_id, facing$77: follownotexact object2, object1$78: earthquake param$79: changemapblocks blockdata_pointerChangeMap(blockdata_pointer)
$7A: changeblock x, y, block$7B: reloadmap$7C: refreshmap$7D: writecmdqueue queue_pointer$7E: delcmdqueue byte$7F: playmusic music_id$80: encountermusic$81: musicfadeout music_id, length$82: playmapmusic$83: dontrestartmapmusic$84: cry mon_id$85: playsound sfx_id$86: waitsfx$87: warpsound$88: specialsound$89: autoinput input_pointer$8A: newloadmap which_method$8B: pause length$8C: deactivatefacing length$8D: sdefer script$8E: warpcheck$8F: stopandsjump script$90: endcallback$91: end$92: reloadend which_method$93: endall$94: pokemart mart_type, mart_id$95: elevator floor_list$96: trade trade_id$97: askforphonenumber contact_id$98: phonecall call_id$99: hangup$9A: describedecoration byte$9B: fruittree tree_id$9C: specialphonecall call_id$9D: checkphonecall$9E: verbosegiveitem item_id[, quantity=1]$9F: verbosegiveitemvar item_id, variable$A0: swarm swarm_id, map$A1: halloffame$A2: credits$A3: warpfacing facing, map, x, y$A4: battletowertext bttext_id$A5: getlandmarkname string_buffer, landmark_idGetStringBuffer(string_buffer) = GetLandmarkName(landmark_id)
$A6: gettrainerclassname string_buffer, trainer_groupGetStringBuffer(string_buffer) = GetName(TRAINER_NAME, trainer_group)
$A7: getname string_buffer, type, idGetStringBuffer(string_buffer) = GetName(type, id)
$A8: wait duration$A9: checksave