Skip to main content
O notepad é um item de inventário que abre uma folha de papel (NUI) onde o jogador digita um texto livre (até 1500 caracteres). O conteúdo fica vinculado ao ID único do item (notepad:<id>), então cada bloco guarda seu próprio texto.

Funcionalidades

Bloco de notas pessoal

Folha de papel em NUI para escrever texto livre de até 1500 caracteres.

Texto por item

O conteúdo é vinculado ao ID único do item (notepad:<id>), um texto por bloco.

Persistência no banco

O texto é salvo no sistema SrvData/entitydata do vRP.

Salvar ao fechar

Pressionar ESC grava o texto automaticamente via itemdata:Save.

Como funciona

1

Usar o item

O jogador usa o item notepad.
2

Carregar o texto

O servidor (recurso inventory) lê o texto salvo e dispara notepad:Open com o texto atual.
3

Editar

O jogador edita e pressiona ESC.
4

Salvar

Ao fechar, o cliente envia o texto via callback Save, que dispara itemdata:Save para gravar.

Dependências

vrp

GetSrvData / SetSrvData.

PolyZone

Suporte de zonas.

inventory

Uso do item + itemdata:Save.

hud

hud:Active.

Eventos

A gravação efetiva ocorre no recurso inventory (evento itemdata:Save), via vRP.SetSrvData(Item, Text, true).

Banco de Dados

Sem tabela própria, usa o sistema SrvData/entitydata do vRP. vRP.SetSrvData("notepad:<id>", texto, true) grava na tabela entitydata (Name/Information JSON via entitydata/SetData). Leitura inicial: vRP.GetSrvData("notepad:<id>", true).

Customização

  • Limite de caracteres: maxlength="1500" no textarea (web-side/index.html).
  • Aparência: web-side/css.css + background.png.
  • Tecla de fechar/salvar: Escape em web-side/script.js.
  • Item/uso: definido no recurso inventory (server-side/itens.lua).