Ramaraunt
I am trying to make a custom script for my sub-mod. When a player clicks a special button in the money bag presentation, they now drop exactly 20% of their gold. I want to broadcast this in local chat. How would I do this?
I added this to game_recieve_network_message
This is the presentation code:
It drops the 20% just fine, but the local message never displays.
I added this to game_recieve_network_message
Code:
(else_try), #posting local message about dropping 20 percent RAMARAUNT ADD
(eq, ":event_type", client_event_local_twenty),
(store_script_param, ":my_gold", 3),
(try_begin),
(neq, ":my_gold", 0),
(str_store_player_username, s15, ":sender_player_id"),
(str_store_string, s0, "str_drops_twenty_percent"),
(else_try),
(eq, ":my_gold", 0),
(str_store_player_username, s15, ":sender_player_id"),
(str_store_string, s0, "str_has_no_gold"),
(try_end),
(player_get_agent_id, ":sender_agent_id",":sender_player_id"),
(agent_get_position, pos1, ":sender_agent_id"),
(position_move_z, pos1, 160),
(try_for_agents, ":other_agent_id"), # send the chat message to other players whoose agents are close enough
(agent_is_alive, ":other_agent_id"),
(neg|agent_is_non_player, ":other_agent_id"),
(agent_get_player_id, ":other_player_id", ":other_agent_id"),
(player_is_active, ":other_player_id"),
(agent_get_position, pos2, ":other_agent_id"),
(position_move_z, pos2, 160),
(get_sq_distance_between_positions, ":sq_distance", pos1, pos2),
(le, ":sq_distance", sq(max_distance_local_chat)),
(this_or_next|le, ":sq_distance", sq(ambient_distance_local_chat)),
(position_has_line_of_sight_to_position, pos1, pos2),
(multiplayer_send_string_to_player, ":other_player_id", server_event_local_chat, s0),
(try_end),
This is the presentation code:
Code:
(else_try),#RAMARAUNT ADD ELSE TRY BOOKMARK
(eq, ":object", "$g_presentation_obj_money_drop_twenty"),
(multiplayer_get_my_player, ":my_player_id"),
(player_get_gold, ":my_gold", ":my_player_id"),
(val_div, ":my_gold", 5),
(player_get_agent_id, ":agent_id", ":my_player_id"),
(agent_is_alive, ":agent_id"),
(try_begin),
(neq, ":my_gold", 0),
(multiplayer_send_int_to_server, client_event_drop_money_bag, ":my_gold"),
(multiplayer_send_int_to_server, client_event_local_twenty, ":my_gold"),
(else_try),
(eq, ":my_gold", 0),
(multiplayer_send_int_to_server, client_event_local_twenty, ":my_gold"),
(try_end),
It drops the 20% just fine, but the local message never displays.