38 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
| """
 | |
| reputation_trigger_connect.py -- trigger connections based on reputation
 | |
| 
 | |
| Use in a check_inv trigger with a event_trigger.
 | |
| 
 | |
| Arguments:
 | |
|     faction - name of faction to check against
 | |
|     threshold - number between -100 and 100
 | |
|     conn_geq - connection to trigger if reputation greater or equal than thresh
 | |
|     conn_lt - connection to trigger if reputation less than thresh
 | |
| 
 | |
| If any connection is 0, the connection will not be used.
 | |
| """
 | |
| 
 | |
| import CFReputation
 | |
| import Crossfire
 | |
| 
 | |
| def check():
 | |
|     player = Crossfire.WhoIsActivator()
 | |
|     if player.Type != Crossfire.Type.PLAYER:
 | |
|         return
 | |
|     params = Crossfire.ScriptParameters()
 | |
|     args = params.split()
 | |
|     faction = args[0]
 | |
|     thresh = int(args[1])
 | |
|     conn_geq = int(args[2])
 | |
|     conn_lt = int(args[3])
 | |
|     
 | |
|     rep = CFReputation.reputation(player.Name, faction)
 | |
|     if len(rep) > 0:
 | |
|         if rep[0][1] >= thresh:
 | |
|             if conn_geq != 0:
 | |
|                 player.Map.TriggerConnected(conn_geq, 1, player)
 | |
|         elif conn_lt != 0:
 | |
|             player.Map.TriggerConnected(conn_lt, 1, player)
 | |
| 
 | |
| check()
 |