Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ptRate = 32
- ptSpacing = 8
- //Partnum 4
- //Partshape 277
- ptCur = "ptla"
- ptCurID = -1
- ptOldPosX = 0
- ptOldPosZ = 0
- ptOriginX = 0
- ptOriginZ = 0
- ptMarginL = 0
- ptWid = 0
- ptText = ""
- ptLen = 0
- ptRecordLetter = [
- ptCur = [ptl@arg1]
- ptMarginL = [ptlm@arg1]
- ptWid = [ptlw@arg1]
- $ptCur = []
- $ptMarginL = 0
- $ptWid = 0
- ptCurID = (entindex)
- ptOldPosX = (at (entgetpos $ptCurID) 0)
- ptOldPosZ = (at (entgetpos $ptCurID) 2)
- ptOriginX = $ptOldPosX
- echo Now recording letter $arg1 ! 'ptRecord' to finish
- ptRecord
- ]
- ptMoved = [
- result (? (&& (= (at (entgetpos $ptCurID) 0) $ptOldPosX) (= (at (entgetpos $ptCurID) 2) $ptOldPosZ)) 0 1)
- ]
- ptDrawLetter = [
- ptMove = (at $$ptCur $arg1)
- entmove (at $ptMove 0) 0 (at $ptMove 1) $ptCurID
- if (< $arg1 (listlen $$ptCur)) [ sleep $ptRate [ ptDrawLetter (+ @@arg1 1) ] ]
- ]
- ptDrawTextProc = [
- ptLetter = (substr $ptText $arg1 1)
- ptNext = (substr $ptText (+ $arg1 1) 1)
- ptNextMarg = 0
- if (! (strcmp $ptNext " ")) [ ptNextMarg = $[ptlm@@ptNext] ]
- if (! (strcmp $ptLetter " ")) [
- ptCur = [ptl@@ptLetter]
- ptCurWid = $[ptlw@@ptLetter]
- ptCurX = (at (entgetpos $ptCurID) 0)
- ptCurZ = (at (entgetpos $ptCurID) 2)
- ptCurSteps = (listlen $$ptCur)
- += ptCurSteps 10
- if $arg1 [ entmove (- $ptOriginX $ptCurX) 0 (- $ptOriginZ $ptCurZ) @@ptCurID ]
- ptDrawLetter
- += ptOriginX $ptCurWid
- ] [ += ptOriginX 10 ]
- if $ptNextMarg [ += ptOriginX $ptNextMarg ]
- += ptOriginX 4
- if (< $arg1 $ptLen) [ sleep (* $ptCurSteps $ptRate) [ ptDrawTextProc (+ @@arg1 1) ] ]
- ]
- ptDrawText = [
- ptCurID = (entindex)
- ptText = $arg1
- ptLen = (strlen $ptText)
- -- ptLen
- ptOriginX = (at (entgetpos $ptCurID) 0)
- ptOriginZ = (at (entgetpos $ptCurID) 2)
- echo ptDrawText $ptText $ptLen
- ptDrawTextProc
- ]
- se_togglealias ptRecord 16 [
- if (ptMoved) [
- ptNewPosX = (at (entgetpos $ptCurID) 0)
- ptNewPosZ = (at (entgetpos $ptCurID) 2)
- if (> (- $ptOriginX $ptNewPosX) $$ptMarginL) [ @ptMarginL = (- $ptOriginX $ptNewPosX); echo margin $@ptMarginL ]
- if (> (- $ptNewPosX $ptOriginX) $$ptWid) [ @ptWid = (- $ptNewPosX $ptOriginX); echo wid $@ptWid ]
- ptDiffX = (- $ptNewPosX $ptOldPosX)
- ptDiffZ = (- $ptNewPosZ $ptOldPosZ)
- ptOldPosX = $ptNewPosX
- ptOldPosZ = $ptNewPosZ
- $ptCur = (concat $$ptCur [[@@ptDiffX @@ptDiffZ]])
- ]
- ] [
- if (! $ptRecord_toggle) [
- echo Recording finished! Saved (listlen $$ptCur) steps!
- ]
- ]
Advertisement
Add Comment
Please, Sign In to add comment