# callback\_ReceivedMessage

After a successful message send on your server, the callback function **callback\_ReceivedMessage()** is called. So under Scripts/Rocket Networking/Callback Functions , you can edit this to do whatever you want…

### Example Implementation of callback

<figure><img src="https://1224219250-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvYO9I4EKmgDF783aI7J4%2Fuploads%2FzHCa7UsSIONzZoBhisPv%2Fimage.png?alt=media&#x26;token=dbbe165a-3aea-46e5-a710-1117a0b44d00" alt=""><figcaption></figcaption></figure>

* In a shooter game, if you hit another player, you want to inform them that their health reduced right?
* You can send a message called "damage"
* The receiver can see the message and use the switch statement to reude their player's health by 10 if the message is "damage"

```

function callback_ReceivedMessage(theMessage , senderClientId){
	switch(theMessage){
		case "damage":
		oPlayer.myHealth -= 10
		if(oPlayer.myHealth <= 0){
			show_message("YOU DIED")
		}
		break;
	}

}
```

## More Complex Systems

As I talked about a switch statement here, you can make a full event based system encoded in the message.

To do that, you can make a struct and stringify it and send it over to the reciever.

```
var structToSend = {
    eventName : "damage",
    value : 10
}
SendMessageToClient(5 , json_stringify(structToSend))
//this sends a strigified version of that struct to client id 5
```

On any reciever's screen, you have to reduce the health right? So you can do this in the **calback\_ReceivedMessage()** script

```

function callback_ReceivedMessage(theMessage , senderClientId){
	var realData = json_parse(theMessage)
	switch(realData.eventName){
		case "damage":
		oPlayer.myHealth -= realData.value
		if(oPlayer.myHealth <= 0){
			show_message("YOU DIED")
		}
		break;
	}

}
```
