How to tutorial mini shop
How to: Display a message when a player buys an item in devshop
To display a message when the player buys something in the developer shop, we use the Developer.BuyItem event and we put it in the handler function, this event returns the eventobjid (The id of the player who triggered the event) and the id of the item that was bought (id of the item in the developer shop, not itemid)
We then add the Chat:sendSystemMsg() method with the message that we want to send to the player, in this case we will use the color codes, in this case, B for blue, and this will make our message appear in blue, instead of the normal orange
ScriptSupportEvent:registerEvent([=[Developer.BuyItem]=], function(e) local playerid = e['eventobjid'] local itembought = e['itemid'] Chat:sendSystemMsg( "#B Thanks for your purchase! :)", playerid) end)
This should work, but what if we want to create a message with for example, the name of the player? then we can use the Player:getNickname() method to do so, it returns the ErrorCode and the nickname of the player, this also opens a new window of opportunity because we can also create custom messages for each item
ScriptSupportEvent:registerEvent([=[Developer.BuyItem]=], function(e) local playerid = e['eventobjid'] local itembought = e['itemid'] local _,playernick = Player:getNickname(playerid) Chat:sendSystemMsg( "#B Thanks for your purchase, "..playernick, playerid) end)
Now, if we want to create custom messages for each item, we can get the id using the game's built-in id library
Example
ScriptSupportEvent:registerEvent([=[Developer.BuyItem]=], function(e) local playerid = e['eventobjid'] local itembought = e['itemid'] local _,playernick = Player:getNickname(playerid) if itembought == 4098 then Chat:sendSystemMsg( "#B Thanks for your purchase, "..playernick, playerid) end if itembought == 4097 then Chat:sendSystemMsg( "#B Thanks for donating, "..playernick, playerid) end end)