diff --git a/scpt/at.zsh b/scpt/at.zsh index 581aced..ec43e88 100755 --- a/scpt/at.zsh +++ b/scpt/at.zsh @@ -37,6 +37,18 @@ case $1 in profile|pro) at-profile ;; + download-character-icon) + source $d/ai/syui/game/character.zsh + download_character_icon + ;; + create-game-character) + source $d/ai/syui/game/character.zsh + create_game_character + ;; + ai-create-user) + source $d/ai/syui/game/character.zsh + ai_create_user + ;; *) echo "${help[@]}" echo "${host[@]}" diff --git a/scpt/src/ai/syui/game/character.zsh b/scpt/src/ai/syui/game/character.zsh new file mode 100755 index 0000000..7c7a11b --- /dev/null +++ b/scpt/src/ai/syui/game/character.zsh @@ -0,0 +1,302 @@ +character=( + ai + manny + quinn + chinese + kirin + leviathan + phoenix + wyvern + cerberus + dragon + kitsune + pegasus +) + +img=( + bafkreie34pjuc6coenzcdwrgrh4fbacq7bkhsz263g5vpbsqxwaz37kkwy + bafkreie34pjuc6coenzcdwrgrh4fbacq7bkhsz263g5vpbsqxwaz37kkwy + bafkreie34pjuc6coenzcdwrgrh4fbacq7bkhsz263g5vpbsqxwaz37kkwy + bafkreidlealfybajqzwv5eoz4jshnsijc2vnktlhpw4ph47krwj6aigqby + bafkreiegpqedlrfa4ljhssdnkrr5hyd5huy2xhh2zszj5wq2wuuzejggmq + bafkreig6vszkx3c4dcortjwfsz6sa6zwqgj7zpxj4lxfrrkwql4xhiu5ou + bafkreich7fsumke2yvumvixkruonzrcevk3f6g2cntzfwdn4n2c2vox5dm + bafkreiacjvagsekhiiljz3j237b6klrt6pkptxljt7kltprgg5276gv25q + bafkreihpni4lp55jysalcntulzal5rbhidtbseanlucpyucagzxmv6xj24 + bafkreia3huw2gdenqatoobx3hcft74chced46bw4znfgepo5aenegobkri + bafkreidy74aieb6ie646xhosginox5zbnbnrtd76cnt4pbn73hrxgfnple + bafkreifnbfj27fr6nv7qeqqmwdibf7qrw4lauvzoknw5hexbifmwqt6kmq +) + +function download_character_icon(){ + +t=( + "https://sketchfab.com/3d-models/super-9a80a6d6cf6f4b08906505c7f945d3ce" +) + +t=( +"https://sketchfab.com/3d-models/cerberus-quirky-series-4379b571b5a440119d1ebaddb0711142" +"https://sketchfab.com/3d-models/chinese-dragon-quirky-series-a383d3cf5b004978ac620806558b2924" +"https://sketchfab.com/3d-models/dragon-quirky-series-9a0989aae9b84ebdade28e84a0702a71" +"https://sketchfab.com/3d-models/kirin-quirky-series-b280c8bc5b87471eac1068acc91fdce1" +"https://sketchfab.com/3d-models/kitsune-quirky-series-4fc8b2ade43f4d4bb8a8e6e227f00a62" +"https://sketchfab.com/3d-models/leviathan-quirky-series-002200e1db2c461fbcaa8d2fdac2d766" +"https://sketchfab.com/3d-models/pegasus-quirky-series-a4488ae7a2d2405c927a50f5a8b2d6bb" +"https://sketchfab.com/3d-models/phoenix-quirky-series-1f0a01247b78441ab5b9cf8e9711e78e" +"https://sketchfab.com/3d-models/wyvern-quirky-series-7baad217325a45b4877514b3f5924be9" +) + +for i in $t; do + name=`echo $i|cut -d / -f 5|cut -d - -f 1` + tt=`curl -sL $i|tr ' ' '\n' |grep .jpeg|cut -d '"' -f 2` + normal=`echo $tt|awk "NR==1"` + min=`echo $tt|awk "NR==2"` + if [ ! -f $name.jpeg ];then + curl -sL $normal -o $name.jpeg + fi + if [ ! -f ${name}-min.jpeg ];then + #curl -sL $min -o ${name}-min.jpeg + fi + array+=(`echo $tt|sed "1,2d"|cut -d ";" -f 2|cut -d '&' -f 1|tr '\n' ' '`) + echo $name + for ((i=1; i<=$#array; i++)); do + echo "Index: $i, Value: ${array[$i]}" + #curl -sL ${array[$i]} -o ${name}-${i}.jpeg + done +done +} + + + +case $OSTYPE in + darwin*) + day=`gdate --iso-8601=seconds` + ;; + *) + day=`date --iso-8601=seconds` + ;; +esac + +function create_game_character() { + t=( + ai + chinese + kirin + leviathan + phoenix + wyvern + cerberus + dragon + kitsune + pegasus + ) + + for ((i=1; i<=$#t; i++)); do + created=2001-01-01T00:00:00+09:00 + col=ai.syui.game.character + req=com.atproto.repo.getRecord + url=https://$host/xrpc/$req + + id=$i + name=${t[$i]} + chara=$name + rkey=$chara + repo=$did_yui + json="{\"collection\":\"$col\", \"rkey\":\"$rkey\", \"repo\":\"$repo\"}" + if [ $((RANDOM % 2)) -eq 0 ];then + gender=male + else + gender=female + fi + + case $name in + ai) + gender=none + group=origin + season=0 + ;; + chinese|dragon|cerberus|pegasus|leviathan) + gender=male + group=fantasy + season=1 + ;; + kitsune|phoenix|kirin|wyvern) + gender=female + group=fantasy + season=1 + ;; + *) + continue ;; + esac + + jj=`curl -sL "$url?repo=$repo&collection=$col&rkey=$rkey"` + + link=`echo $jj|jq -r '.value.embed.external.thumb.ref.[]'` + size=`echo $jj|jq -r .value.embed.external.thumb.size` + mtype=`echo $jj|jq -r .value.embed.external.thumb.mimeType` + echo $name + echo $gender + echo https://cdn.bsky.app/img/feed_thumbnail/plain/did:plc:4hqjfn7m6n5hno3doamuhgef/$link + + ## upload img + #if [ -f ./${name}.jpeg ];then + # jj=`ai img-upload ./${name}.jpeg` + #elif [ -f ./${name}.png ];then + # jj=`ai img-upload ./${name}.png` + #fi + #link=`echo $jj|jq -r ".blob.ref.[]"` + #size=`echo $jj|jq -r .blob.size` + #mtype=`echo $jj|jq -r .blob.mimeType` + + req=com.atproto.repo.putRecord + url=https://$host/xrpc/$req + + nickname=$name + fullname=$name + uri=at://${did_yui}/$col/$chara + + +json="{ + \"repo\": \"$handle_yui\", + \"did\": \"$did_yui\", + \"collection\": \"$col\", + \"rkey\": \"$chara\", + \"record\": { + \"id\": $id, + \"name\": \"$name\", + \"fullname\": \"$fullname\", + \"nickname\": \"$nickname\", + \"gender\": \"$gender\", + \"season\": $season, + \"group\": \"$group\", + \"embed\": { + \"\$type\": \"app.bsky.embed.external\", + \"external\": { + \"uri\": \"$uri\", + \"thumb\": { + \"\$type\": \"blob\", + \"ref\": { + \"\$link\": \"$link\" + }, + \"mimeType\": \"$mtype\", + \"size\": $size +} } }, \"createdAt\": \"$created\", \"updatedAt\": \"$day\" } }" + + if echo $json|jq . ;then + curl -sL -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $token_yui" -d $json $url + fi + done + +} + +function ai_create_user() { + + col=ai.syui.game.user + rkey=ai + did=$did_yui + handle=$handle_yui + #rkey=syui + #img=https://cdn.bsky.app/img/feed_thumbnail/plain/did:plc:4hqjfn7m6n5hno3doamuhgef/bafkreie34pjuc6coenzcdwrgrh4fbacq7bkhsz263g5vpbsqxwaz37kkwy@jpeg + req=com.atproto.repo.putRecord + url=https://$host/xrpc/$req + + for ((i=1; i<=${#character}; i++)); do + + cname=${character[$i]} + cid=${img[$i]} + imguri=https://cdn.bsky.app/img/feed_thumbnail/plain/$did_yui/${cid}@jpeg + echo $imguri + echo $i $character $cname + season=1 + group=test + lv=1 + hp=100 + exp=0 + rank=0 + mode=0 + attack=0 + attack_post=0 + critical=0 + critical_d=0 + + case $cname in + ai) + group=origin + season=0 + mode=2 + ;; + manny|quinn) + group=test + ;; + *) + group=fantasy + ;; + esac + + jc="\"$cname\": { \"group\": \"$group\", \"season\": $season, \"img\": \"$imguri\", \"lv\": $lv, \"exp\": $exp, \"hp\": $hp, \"rank\": $rank, \"mode\": $mode, \"attack\": $attack, \"attack_post\": $attack_post, \"critical\": $critical, \"critical_d\": $critical_d }" + + if [ $#character -ne $i ];then + jc=${jc}, + fi + + json=${json}${jc} + + done + json=" + { + \"repo\": \"$handle_yui\", + \"did\": \"$did_yui\", + \"collection\": \"$col\", + \"rkey\": \"$rkey\", + \"record\": { + \"did\": \"$did\", + \"limit\": false, + \"login\": false, + \"handle\": \"$handle\", + \"aiten\": 10, + \"gender\": \"famale\", + \"character\": { + $json + }, + \"createdAt\": \"${created}\", + \"updatedAt\": \"${created}\" +} +}" + + +if echo $json|jq . ;then + echo $token_yui + echo y + read y + if [ "y" = "$y" ];then + curl -sL -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $token_yui" -d $json $url + fi +fi + +col=ai.syui.game +rkey=self +at_uri=at://did:plc:4hqjfn7m6n5hno3doamuhgef/ai.syui.game.user/ai + +json=" +{ + \"repo\": \"$handle_yui\", + \"did\": \"$did_yui\", + \"collection\": \"$col\", + \"rkey\": \"$rkey\", + \"record\": { + \"account\": \"$at_uri\", + \"username\": \"ai\", + \"createdAt\": \"$created\" +} +}" + +if echo $json|jq . ;then + echo y + read y + if [ "y" = "$y" ];then + curl -sL -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $token_yui" -d $json $url + fi +fi +} + +