1. 程式人生 > >【資源分享】Gmod-Expression2 - 自定義像素畫生成

【資源分享】Gmod-Expression2 - 自定義像素畫生成

entity disable bubuko 像素 video print ont erl ima

*作者:BUI*

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

可自定義制作屬於你的像素畫(默認為Sans)

第77行的COLOR可編輯你想要的顏色(RGB值)

1,2,3,4分別代表第77行所定義的顏色(0代表不顯示)

視頻地址:傳送鏈接

技術分享圖片
  1 @name Pixel painting ByBUI
  2 @persist MAX_X MAX_Y POS:array COLOR:array Size Angle:angle STP:vector K HC 
  3 runOnTick(1)
  4 if(first())
  5 {
  6     entity():propNotSolid(1)
7 function number v2p(V:vector2) 8 { 9 X=V:x()+1 10 Y=V:y() 11 return Y*MAX_X+X 12 } 13 function vector2 p2v(N:number) 14 { 15 return vec2((K-1)%MAX_X,int((K-1)/MAX_X) ) 16 } 17 function vector2 maxholo(V:vector2)
18 { 19 local C=POS[v2p(V),number] 20 local X=0 21 local MAXX=10 22 local MAXY=10 23 local Y=0 24 while(POS[v2p(V+vec2(0,Y)),number]==C) 25 { 26 X=0 27 while(POS[v2p(V+vec2(X,Y)),number]==C&&X<=MAXX)
28 { 29 X++ 30 } 31 if(X<MAXX) 32 { 33 MAXX=X 34 } 35 Y++ 36 } 37 MAXY=Y 38 return vec2(MAXX-1,MAXY-1) 39 } 40 41 MAX_X=23 42 MAX_Y=30 43 Size=30 44 Angle=ang(0,90,0) 45 POS=array( 46 0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0, 47 0,0,0,0,0,1,1,2,2,2,2,2,2,2,2,2,1,1,0,0,0,0,0, 48 0,0,0,0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0,0,0, 49 0,0,0,0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0,0,0, 50 0,0,0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0,0, 51 0,0,0,1,2,2,1,1,1,2,2,2,2,2,1,1,1,2,2,1,0,0,0, 52 0,0,0,1,2,2,1,1,1,2,2,2,2,2,1,1,1,2,2,1,0,0,0, 53 0,0,0,1,2,2,1,1,1,2,2,1,2,2,1,1,1,2,2,1,0,0,0, 54 0,0,0,0,1,2,2,2,2,2,1,1,1,2,2,2,2,2,1,0,0,0,0, 55 0,0,0,1,1,2,1,2,2,2,2,2,2,2,2,2,1,2,1,1,0,0,0, 56 0,0,0,1,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,0,0,0, 57 0,0,0,1,2,2,2,1,2,1,2,1,2,1,2,1,2,2,2,1,0,0,0, 58 0,0,0,0,1,1,2,2,1,1,1,1,1,1,1,2,2,1,1,0,0,0,0, 59 0,0,0,1,1,1,1,1,2,2,2,2,2,2,2,1,1,1,1,1,0,0,0, 60 0,0,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,0,0, 61 0,1,1,3,1,4,4,1,2,2,2,1,2,2,2,1,4,4,1,3,1,1,0, 62 0,1,3,3,3,1,4,4,1,1,1,2,1,1,1,4,4,1,3,3,3,1,0, 63 1,3,3,1,1,3,1,1,1,2,2,1,2,2,1,1,1,3,1,1,3,3,1, 64 1,3,3,3,3,1,3,3,1,2,2,2,2,2,1,3,3,1,3,3,3,3,1, 65 1,3,3,3,3,3,1,3,1,1,2,2,2,1,1,3,1,3,3,3,3,3,1, 66 0,1,3,3,3,1,3,3,1,2,2,2,2,2,1,3,3,1,3,3,3,1,0, 67 0,0,1,1,3,1,3,3,1,1,1,1,1,1,1,3,3,1,3,1,1,0,0, 68 0,0,0,1,1,1,3,3,1,1,1,1,1,1,1,3,3,1,1,1,0,0,0, 69 0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0, 70 0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0, 71 0,0,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,0,0, 72 0,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,0,0, 73 0,0,1,1,1,2,2,2,2,1,0,0,0,1,2,2,2,2,1,1,1,0,0, 74 0,0,1,2,2,2,2,2,1,1,0,0,0,1,1,2,2,2,2,2,1,0,0, 75 0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0 76 ) 77 COLOR=array(vec(0),vec(255),vec(0,176,255),vec(211)) 78 STP=entity():pos()+(Angle:up()*(MAX_Y)+Angle:right()*(-MAX_X/2+0.5))*Size 79 K=0 80 holoCreate(1) 81 holoPos(1,entity():pos()) 82 holoAlpha(1,0) 83 HC=1 84 } 85 if(holoCanCreate()&&HC<=250&&K<=MAX_X*MAX_Y) 86 { 87 K++ 88 if(POS[K,number]) 89 { 90 local VV=p2v(K) 91 local HV=maxholo(VV) 92 local V=STP+(Angle:right()*(VV:x()+HV:x()/2)+Angle:up()*(-VV:y()-HV:y()/2))*Size 93 HC++ 94 holoCreate(HC) 95 holoModel(HC,"models/hunter/blocks/cube4x4x4.mdl") 96 holoMaterial(HC,"models/debug/debugwhite") 97 holoScale(HC,vec(Size,Size*(1+HV:x()),Size*(1+HV:y()))/holoEntity(HC):boxSize()) 98 holoPos(HC,V) 99 holoAng(HC,Angle) 100 holoDisableShading(HC,1) 101 holoShadow(HC,0) 102 holoColor(HC,COLOR[POS[K,number],vector]) 103 holoParent(HC,1) 104 for(I=0,HV:y()) 105 { 106 for(J=0,HV:x()) 107 { 108 POS[v2p(VV+vec2(J,I)),number]=0 109 } 110 } 111 #print(HC) 112 } 113 } 114 if(K>MAX_X*MAX_Y&&1) 115 { 116 findByClass("player") 117 P=findClosest(entity():pos()) 118 A=(P:pos()-entity():pos()):toAngle() 119 holoAng(1,ang(0,A:yaw()+90,0)) 120 121 122 123 124 125 }
瀏覽代碼

供學習使用,切勿未經作者BUI同意私自外流代碼。

【資源分享】Gmod-Expression2 - 自定義像素畫生成