Mini Map 4.2 - color codes

Mini Map 4.2 - color codes


## Send Targets
import bge




def main():


    cont = bge.logic.getCurrentController()
    own = cont.owner
    scene = bge.logic.getCurrentScene()
    TList =[]
    if 'init' not in own:
        print('Checking')
        own['init']=True
        
        for objects in scene.objects:
            if 'Tracked' in objects:
                TList.append(objects)
        own['TList']=TList        
    else:
        SList=[['Player',[own.worldPosition.x,own.worldPosition.y,own.worldPosition.z],[own.worldOrientation.col[0].x,own.worldOrientation.col[0].y,own.worldOrientation.col[2].z]]]
        for objects in own['TList']:
            #print(objects.name)
            if own.getDistanceTo(objects)<50:
                Store = objects.worldPosition-own.worldPosition
                Store = own.worldOrientation.inverted()*Store
                D = objects.worldPosition.z-own.worldPosition.z
                if abs(D) <.5:
                    SList.append([objects.name,[Store.x,Store.y,Store.z],'Green']) 
                else:
                    if objects.worldPosition.z>own.worldPosition.z:
                        SList.append([objects.name,[Store.x,Store.y,Store.z],'Red'])
                    else:
                        SList.append([objects.name,[Store.x,Store.y,Store.z],'Blue'])    
        own.sendMessage('Map',str(SList))
        #print(SList)        
                
                            


main()




## Receive Targets
import bge
from mathutils import Vector


def main():


    cont = bge.logic.getCurrentController()
    own = cont.owner


    Message = cont.sensors['Message']
    
    if 'init' not in own:
        own['init']=True
        own['TList']=[]  
    if Message.positive:
        own['Text']=Message.bodies[0]
        Info = eval(Message.bodies[0])
        for Data in Info:
            if Data[0]!="Player":
                Added = bge.logic.getCurrentScene().addObject('Token',own,1)
                if Data[2]=='Red':
                    Added.color = [1,0,0,1]
                if Data[2]=='Blue':
                    Added.color = [0,0,1,1]     
                if Data[2]=='Green':
                    Added.color = [0,1,0,1]    
                    
                Added.worldPosition=own.worldPosition+Vector([Data[1][0]*.1,Data[1][1]*.1,Data[1][2]*.1])
                    
                
        
                            
    


main()


 

Attachments

MiniMapV4_2.blend (512 KB)

I like the minimap. :slight_smile: