47 lines
1.3 KiB
Python
47 lines
1.3 KiB
Python
|
import rxactor
|
||
|
import sys
|
||
|
import clr
|
||
|
import random
|
||
|
import math
|
||
|
|
||
|
asm = clr.LoadAssemblyByName('OpenSim.Region.ScriptEngine.Common')
|
||
|
Vector3 = asm.OpenSim.Region.ScriptEngine.Common.LSL_Types.Vector3
|
||
|
|
||
|
# Sample tree
|
||
|
class Tree(rxactor.Actor):
|
||
|
def GetScriptClassName():
|
||
|
return "samplespawner.Tree"
|
||
|
|
||
|
def EventCreated(self):
|
||
|
super(self.__class__,self).EventCreated()
|
||
|
self.GrowCount = 1
|
||
|
self.SetMesh("birch2")
|
||
|
self.SetMaterial(0,"oksa5")
|
||
|
self.SetMaterial(1,"lehtipuu_kuori")
|
||
|
self.SetTimer(0.05,True)
|
||
|
|
||
|
def EventTimer(self):
|
||
|
self.GrowCount += 1
|
||
|
if(self.GrowCount > 70):
|
||
|
self.SetTimer(0,False)
|
||
|
else:
|
||
|
self.Scale = Vector3(0.0175*self.GrowCount,0.03125*self.GrowCount,0.0375*self.GrowCount)
|
||
|
|
||
|
|
||
|
# Forest spawner
|
||
|
class Spawner(rxactor.Actor):
|
||
|
def GetScriptClassName():
|
||
|
return "samplespawner.Spawner"
|
||
|
|
||
|
def EventTouch(self,vAvatar):
|
||
|
for i in range(0, 3):
|
||
|
tempang = random.random()*2*math.pi
|
||
|
x = math.sin(tempang) * random.random() * 15
|
||
|
y = math.cos(tempang) * random.random() * 15
|
||
|
spawnloc = self.llGetPos() + Vector3(x,y,0)
|
||
|
self.SpawnActor(spawnloc,0,False,"samplespawner.Tree")
|
||
|
|
||
|
|
||
|
|
||
|
|