hubbe-sdk 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/bin/.token +1 -0
  2. package/bin/build.js +94 -0
  3. package/bin/defaultHtml.html +23 -0
  4. package/bin/defaultJs.js +49 -0
  5. package/bin/deploy.js +130 -0
  6. package/bin/deployTs.js +157 -0
  7. package/bin/fetch.js +118 -0
  8. package/bin/htmlu.js +116 -0
  9. package/bin/index.js +77 -0
  10. package/bin/react-template/html/eslint.config.js +28 -0
  11. package/bin/react-template/html/index.html +7 -0
  12. package/bin/react-template/html/package.json +34 -0
  13. package/bin/react-template/html/postcss.config.js +6 -0
  14. package/bin/react-template/html/src/App.tsx +33 -0
  15. package/bin/react-template/html/src/hooks/index.ts +3 -0
  16. package/bin/react-template/html/src/hooks/useDraggable.ts +69 -0
  17. package/bin/react-template/html/src/hooks/useMessageEvent.ts +120 -0
  18. package/bin/react-template/html/src/hooks/useUserContext.ts +24 -0
  19. package/bin/react-template/html/src/index.css +5 -0
  20. package/bin/react-template/html/src/main.tsx +10 -0
  21. package/bin/react-template/html/src/vite-env.d.ts +1 -0
  22. package/bin/react-template/html/tailwind.config.js +12 -0
  23. package/bin/react-template/html/tsconfig.app.json +24 -0
  24. package/bin/react-template/html/tsconfig.json +7 -0
  25. package/bin/react-template/html/tsconfig.node.json +22 -0
  26. package/bin/react-template/html/vite.config.ts +10 -0
  27. package/bin/react-template/room/global.d.ts +4222 -0
  28. package/bin/react-template/room/room.ts +36 -0
  29. package/bin/react-template/room/tsconfig.json +9 -0
  30. package/bin/react.js +60 -0
  31. package/bin/rollup.js +67 -0
  32. package/bin/rollupTs.js +72 -0
  33. package/bin/script.js +131 -0
  34. package/bin/tsconfig_template.json +9 -0
  35. package/bin/utils.js +35 -0
  36. package/package.json +57 -0
@@ -0,0 +1,4222 @@
1
+ // --------------------------- Instances --------------------------- //
2
+
3
+ type Genders = "M" | "F";
4
+ type EntitiesType = "PLAYER" | "BOT" | "PET";
5
+ type DancesID = 0 | 1 | 2 | 3 | 4;
6
+ type ActionID = number;
7
+ type relationships = 1 | 2 | 3 | 4;
8
+ type WiredCallback = (entity?: ScriptEntity, furni?: ScriptFurni, entities?: ScriptEntity[], furnis?: ScriptFurni[]) => void
9
+ type BubblesID = number;
10
+ type AnimationTime = number;
11
+
12
+ declare enum keyCodes {
13
+ CTRL = 1,
14
+ ALT = 2,
15
+ SHIFT = 3,
16
+ UP = 4,
17
+ DOWN = 5,
18
+ LEFT = 6,
19
+ RIGHT = 7
20
+ }
21
+
22
+ declare enum ScriptVariableAvailabilityType {
23
+ USER_IN_ROOM = 0,
24
+ ROOM_ACTIVE = 1,
25
+ PERMANENT = 10,
26
+ PERMANENT_SHARED = 11,
27
+ REFERENCE = 20,
28
+ SMART = 21,
29
+ INTERNAL = 100,
30
+ ECHO = 101
31
+ }
32
+
33
+ declare enum ScriptVariableType {
34
+ FURNI = 0,
35
+ USER = 1,
36
+ GLOBAL = -10,
37
+ CONTEXT = -20
38
+ }
39
+
40
+ type VariableTextsEntry = Record<number, string>;
41
+
42
+ type ScriptVariableFurniEntry = Record<number, ScriptVariableFurni>;
43
+
44
+ interface ScriptFurnitureDefinition {
45
+
46
+ /**
47
+ * Verifica se o móvel é de anúncio.
48
+ */
49
+ isAdFurni(): boolean;
50
+
51
+ /**
52
+ * Verifica se é decoração de quarto (wall/floor/landscape).
53
+ */
54
+ isRoomDecor(): boolean;
55
+
56
+ /**
57
+ * Verifica se o móvel é um teleporte.
58
+ */
59
+ isTeleporter(): boolean;
60
+
61
+ /**
62
+ * Verifica se o móvel possui música.
63
+ */
64
+ isSong(): boolean;
65
+
66
+ /**
67
+ * Retorna o nome público do item.
68
+ */
69
+ getPublicName(): string;
70
+
71
+ /**
72
+ * Retorna o nome interno do item.
73
+ */
74
+ getItemName(): string;
75
+
76
+ /**
77
+ * Retorna a largura do item.
78
+ */
79
+ getWidth(): number;
80
+
81
+ /**
82
+ * Retorna o comprimento do item.
83
+ */
84
+ getLength(): number;
85
+
86
+ /**
87
+ * Retorna a altura do item.
88
+ */
89
+ getHeight(): number;
90
+
91
+ /**
92
+ * Retorna o sprite ID.
93
+ */
94
+ getSpriteId(): number;
95
+
96
+ /**
97
+ * Retorna o tipo de interação.
98
+ */
99
+ getInteraction(): string;
100
+
101
+ /**
102
+ * Retorna a quantidade de ciclos de interação.
103
+ */
104
+ getInteractionCycleCount(): number;
105
+
106
+ /**
107
+ * Retorna o ID do efeito.
108
+ */
109
+ getEffectId(): number;
110
+
111
+ /**
112
+ * Retorna os IDs de vending.
113
+ */
114
+ getVendingIds(): string[];
115
+
116
+ /**
117
+ * Verifica se pode empilhar.
118
+ */
119
+ canStack(): boolean;
120
+
121
+ /**
122
+ * Verifica se pode sentar.
123
+ */
124
+ canSit(): boolean;
125
+
126
+ /**
127
+ * Verifica se pode deitar.
128
+ */
129
+ canLay(): boolean;
130
+
131
+ /**
132
+ * Verifica se é caminhável.
133
+ */
134
+ canWalk(): boolean;
135
+
136
+ /**
137
+ * Verifica se pode ser trocado.
138
+ */
139
+ canTrade(): boolean;
140
+
141
+ /**
142
+ * Verifica se pode ser reciclado.
143
+ */
144
+ canRecycle(): boolean;
145
+
146
+ /**
147
+ * Verifica se pode ser deletado.
148
+ */
149
+ canDeletable(): boolean;
150
+
151
+ /**
152
+ * Verifica se pode ser escondido.
153
+ */
154
+ isHideable(): boolean;
155
+
156
+ /**
157
+ * Verifica se é wired.
158
+ */
159
+ isWired(): boolean;
160
+ }
161
+
162
+ interface ItemFakeSpawnData {
163
+ baseId: number;
164
+ x: number;
165
+ y: number;
166
+ z: number;
167
+ rotation: number;
168
+ }
169
+
170
+ interface ScriptVariable {
171
+ /**
172
+ * @description Retorna o nome da variável.
173
+ * @returns {string}
174
+ */
175
+ getVariableName(): string;
176
+
177
+ /**
178
+ * @description Retorna o ID da variável.
179
+ * @returns {number}
180
+ */
181
+ getVariableId(): number;
182
+
183
+ /**
184
+ * @description Retorna o ID do item associado à variável.
185
+ * @returns {number}
186
+ */
187
+ getItemId(): number;
188
+
189
+ /**
190
+ * @description Retorna o ID do quarto associado à variável.
191
+ * @returns {number}
192
+ */
193
+ getRoomId(): number;
194
+
195
+ /**
196
+ * @description Retorna o ID do proprietário associado à variável.
197
+ * @returns {number}
198
+ */
199
+ getOwnerId(): number;
200
+
201
+ /**
202
+ * @description Retorna o tipo de disponibilidade da variável.
203
+ * @returns {ScriptVariableAvailabilityType}
204
+ */
205
+ getAvailabilityType(): ScriptVariableAvailabilityType;
206
+
207
+ /**
208
+ * @description Retorna o tipo da variável.
209
+ * @returns {ScriptVariableType}
210
+ */
211
+ getVariableType(): ScriptVariableType;
212
+
213
+ /**
214
+ * @description Retorna o alvo da variável.
215
+ * @returns {ScriptVariableType}
216
+ */
217
+ getVariableTarget(): ScriptVariableType;
218
+
219
+ /**
220
+ * @description Retorna o item associado à variável.
221
+ * @returns {ScriptFurni}
222
+ */
223
+ getVariableItem(): ScriptFurni;
224
+
225
+ /**
226
+ * @description Retorna os textos associados à variável.
227
+ * @returns {VariableTextsEntry[]}
228
+ */
229
+ getVariableTexts(): VariableTextsEntry[];
230
+
231
+ /**
232
+ * @description Verifica se a variável está sempre disponível.
233
+ * @returns {boolean}
234
+ */
235
+ isAlwaysAvailable(): boolean;
236
+
237
+ /**
238
+ * @description Verifica se a variável está invisível.
239
+ * @returns {boolean}
240
+ */
241
+ isInvisible(): boolean;
242
+
243
+ /**
244
+ * @description Verifica se a variável tem um valor.
245
+ * @returns {boolean}
246
+ */
247
+ hasValue(): boolean;
248
+
249
+ /**
250
+ * @description Verifica se a variável tem textos associados.
251
+ * @returns {boolean}
252
+ */
253
+ hasTexts(): boolean;
254
+
255
+ /**
256
+ * @description Verifica se a variável pode ser escrita.
257
+ * @returns {boolean}
258
+ */
259
+ canWriteTo(): boolean;
260
+
261
+ /**
262
+ * @description Verifica se a variável pode ser criada e excluída.
263
+ * @returns {boolean}
264
+ */
265
+ canCreateAndDelete(): boolean;
266
+
267
+ /**
268
+ * @description Verifica se a variável pode interceptar mudanças.
269
+ * @returns {boolean}
270
+ */
271
+ canInterceptChanges(): boolean;
272
+ }
273
+
274
+ interface ScriptVariableData {
275
+ /**
276
+ * @description Retorna o valor da variável.
277
+ * @returns {number}
278
+ */
279
+ getValue(): number;
280
+
281
+ /**
282
+ * @description Retorna o timestamp de criação da variável.
283
+ * @returns {number}
284
+ */
285
+ getCreationTime(): number;
286
+
287
+ /**
288
+ * @description Retorna o timestamp da última atualização da variável.
289
+ * @returns {number}
290
+ */
291
+ getUpdateTime(): number;
292
+ }
293
+
294
+ interface ScriptVariableUserData extends ScriptVariableData {
295
+ /**
296
+ * @description Retorna o ID do jogador.
297
+ * @returns {number}
298
+ */
299
+ getPlayerId(): number;
300
+
301
+ /**
302
+ * @description Retorna o nome do jogador.
303
+ * @returns {string}
304
+ */
305
+ getUsername(): string;
306
+ }
307
+
308
+ interface ScriptVariableUser extends ScriptVariable {
309
+ /**
310
+ * @description Retorna todos os dados das variáveis dos usuários.
311
+ * @returns {ScriptVariableUserData[]}
312
+ */
313
+ getUserVariablesData(): ScriptVariableUserData[];
314
+
315
+ /**
316
+ * @description Retorna os dados da variável do usuário específico.
317
+ * @param {number} playerId - ID do usuário.
318
+ * @returns {ScriptVariableUserData}
319
+ */
320
+ getUserVariableData(playerId: number): ScriptVariableUserData;
321
+
322
+ /**
323
+ * @description Retorna os dados da variável do bot específico.
324
+ * @param {number} botId - ID do bot.
325
+ * @returns {ScriptVariableUserData}
326
+ */
327
+ getBotVariableData(botId: number): ScriptVariableUserData;
328
+
329
+ /**
330
+ * @description Retorna os dados da variável do pet específico.
331
+ * @param {number} petId - ID do pet.
332
+ * @returns {ScriptVariableUserData}
333
+ */
334
+ getPetVariableData(petId: number): ScriptVariableUserData;
335
+ }
336
+
337
+ interface ScriptVariableFurniData extends ScriptVariableData {
338
+ /**
339
+ * @description Retorna o ID do furni.
340
+ * @return {number}
341
+ */
342
+ getItemId(): number;
343
+ }
344
+
345
+ interface ScriptVariableFurni extends ScriptVariable {
346
+ /**
347
+ * @description Retorna os dados da variável do furni específico.
348
+ * @param {number} furniId - ID do furni.
349
+ * @return {ScriptVariableFurniData}
350
+ */
351
+ getFurniVariableData(furniId: number): ScriptVariableFurniData;
352
+
353
+ /**
354
+ * @description Retorna todos os dados das variáveis dos furnis.
355
+ * @return {ScriptVariableFurniEntry}
356
+ */
357
+ getFurniVariablesData(): ScriptVariableFurniEntry;
358
+ }
359
+
360
+ interface ScriptVariableGlobal extends ScriptVariable {
361
+ /**
362
+ * @description Retorna os dados da variável global.
363
+ * @returns {ScriptVariableData}
364
+ */
365
+ getValue(): number;
366
+
367
+ /**
368
+ * @description Retorna o timestamp de criação da variável global.
369
+ * @return {number}
370
+ */
371
+ getCreationTime(): number;
372
+
373
+ /**
374
+ * @description Retorna o timestamp da última atualização da variável global.
375
+ * @return {number}
376
+ */
377
+ getUpdatedTime(): number;
378
+ }
379
+
380
+
381
+ interface ScriptGroupMember {
382
+ /**
383
+ * Retorna o ID do usuário.
384
+ * @returns {number}
385
+ */
386
+ getPlayerId(): number;
387
+ /**
388
+ * Retorna o timestamp de quando o usuário entrou no Grupo.
389
+ * @returns {string}
390
+ */
391
+ getDateJoined(): string;
392
+ /**
393
+ * Retorna o acesso do usuário no Grupo.
394
+ * 0: membro
395
+ * 1: admin
396
+ * 2: dono
397
+ * @returns {string}
398
+ */
399
+ getAccessLevel(): string;
400
+ /**
401
+ * Retorna o id do Grupo.
402
+ * @returns {string}
403
+ */
404
+ getGroupId(): string;
405
+ }
406
+
407
+
408
+ interface ScriptGroup {
409
+ /**
410
+ * Retorna o ID do Grupo.
411
+ * @returns {number}
412
+ */
413
+ getId(): number;
414
+ /**
415
+ * Retorna o titulo do Grupo.
416
+ * @returns {string}
417
+ */
418
+ getTitle(): string;
419
+ /**
420
+ * Retorna o descrição do Grupo.
421
+ * @returns {string}
422
+ */
423
+ getDescription(): string;
424
+ /**
425
+ * Retorna o emblema do Grupo.
426
+ * @returns {number}
427
+ */
428
+ getBadge(): number;
429
+ /**
430
+ * Retorna o id do dono do Grupo.
431
+ * @returns {string}
432
+ */
433
+ getOwnerId(): string;
434
+ /**
435
+ * Retorna o ID do quarto do Grupo.
436
+ * @returns {number}
437
+ */
438
+ getRoomId(): number;
439
+ /**
440
+ * Retorna o timestamp de quando Grupo foi criado.
441
+ * @returns {number}
442
+ */
443
+ getCreatedTimestamp(): number;
444
+ /**
445
+ * Retorna o tipo do Grupo.
446
+ * 0: Regular
447
+ * 1: Exclusivo
448
+ * 2: Privado
449
+ * @returns {number}
450
+ */
451
+ getType(): number;
452
+ /**
453
+ * Retorna o color A do Grupo.
454
+ * @returns {number}
455
+ */
456
+ getColorA(): number;
457
+ /**
458
+ * Retorna o color B do Grupo.
459
+ * @returns {number}
460
+ */
461
+ getColorB(): number;
462
+ /**
463
+ * Retorna os membros do Grupo.
464
+ * @returns {ScriptGroupMember[]}
465
+ */
466
+ getMembers(): ScriptGroupMember[];
467
+ /**
468
+ * Retorna os adminstradores do Grupo.
469
+ * @returns {number[]}
470
+ */
471
+ getAdministrators(): number;
472
+ /**
473
+ * Retorna os dados do membro do Grupo.
474
+ * @param {number} playerId - ID do usuário
475
+ * @returns {ScriptGroupMember[]}
476
+ */
477
+ getMember(playerId: number): ScriptGroupMember;
478
+ /**
479
+ * Retorna se o membro pode decorar o quarto do Grupo.
480
+ * @returns {boolean}
481
+ */
482
+ canMemberDecorate(): boolean;
483
+ /**
484
+ * Retorna se o Grupo possui forum.
485
+ * @returns {boolean}
486
+ */
487
+ hasForum(): boolean;
488
+ }
489
+
490
+ interface Effect {
491
+ /**
492
+ * @description Retorna o ID do efeito.
493
+ * @returns {number}
494
+ */
495
+ getEffectId(): number;
496
+
497
+ /**
498
+ * @description Retorna quanto tempo resta para o efeito acabar.
499
+ * @returns {number}
500
+ */
501
+ getDuration(): number;
502
+ }
503
+
504
+ interface Counter { }
505
+
506
+ interface ScriptPosition {
507
+ /**
508
+ * @description Retorna a posição X
509
+ * @returns {number} A posição X
510
+ */
511
+ getX(): number;
512
+
513
+ /**
514
+ * @description Retorna a posição Y
515
+ * @returns {number} A posição Y
516
+ */
517
+ getY(): number;
518
+
519
+ /**
520
+ * @description Retorna a posição Z
521
+ * @returns {number} A posição Z
522
+ */
523
+ getZ(): number;
524
+
525
+ /**
526
+ * @description Retorna a posição R
527
+ * @returns {number} A posição R
528
+ */
529
+ equals(object: ScriptPosition): boolean;
530
+ }
531
+
532
+ interface RoomTile extends ScriptPosition {
533
+ /**
534
+ * @description Retorna o ID do Furni.
535
+ * @returns {number}
536
+ */
537
+ getId(): number;
538
+
539
+ /**
540
+ * @description Retorna o ID do furni da database.
541
+ * @returns {number}
542
+ */
543
+ getDefinitionId(): number;
544
+
545
+ /**
546
+ * @description Retorna a atual rotação do Furni.
547
+ * @returns {number}
548
+ */
549
+ getR(): number;
550
+
551
+ /**
552
+ * @description Retorna atual estado do furni.
553
+ * @returns {string}
554
+ */
555
+ getCurrentState(): string;
556
+
557
+ /**
558
+ * @description Retorna o ID do sprite do furni.
559
+ * @returns {number}
560
+ */
561
+ getSprite(): number;
562
+
563
+ /**
564
+ * @description Retorna o nome do furni.
565
+ * *O nome que está na database*
566
+ * @returns {string}
567
+ */
568
+ getName(): string;
569
+
570
+ /**
571
+ * @description Retorna o nome público do furni.
572
+ * *O nome que todos estão vendo no quarto*
573
+ * @returns {string}
574
+ */
575
+ getPublicName(): string;
576
+
577
+ /**
578
+ * @description Retorna todas as entidades que estão sobre o furni.
579
+ * @returns {ScriptEntity[]}
580
+ */
581
+ getEntities(): ScriptEntity[];
582
+
583
+ /**
584
+ * @description Retorna o tipo da interação do furni.
585
+ * @returns {string}
586
+ */
587
+ getInteractionType(): string;
588
+
589
+ /**
590
+ * @description Retorna quantidade de interações que o furni possui.
591
+ * @returns {number}
592
+ */
593
+ getInteractionModesCount(): number;
594
+
595
+ /**
596
+ * @description Retorna altura empilhável do furni.
597
+ * @returns {number}
598
+ */
599
+ getStackHeight(): number;
600
+
601
+ /**
602
+ * @description Retorna a largura do furni.
603
+ * @returns {number}
604
+ */
605
+ getItemWidth(): number;
606
+
607
+ /**
608
+ * @description Retorna o comprimento do Furni.
609
+ * @returns {number}
610
+ */
611
+ getItemLength(): number;
612
+
613
+ /**
614
+ * @description Retorna a altura do Furni.
615
+ * @returns {number}
616
+ */
617
+ getItemHeight(): number;
618
+
619
+ /**
620
+ * @description Retorna a unidade de lote atual do furni.
621
+ * @returns {number}
622
+ */
623
+ getLimitedUnit(): number;
624
+
625
+ /**
626
+ * @description Retorna o total de lotes que tem do furni.
627
+ * @returns {number}
628
+ */
629
+ getLimitedTotal(): number;
630
+
631
+ /**
632
+ * @description Retorna se a entidades a cima do furni.
633
+ * @returns {boolean} Se a entidades a cima do furni.
634
+ */
635
+ hasEntities(): boolean;
636
+
637
+ /**
638
+ * @description Retorna se o furni é sentável por uma entidade.
639
+ * @returns {boolean} Se o furni é sentável por uma entidade.
640
+ */
641
+ canSit(): boolean;
642
+
643
+ /**
644
+ * @description Retorna se entidades podem andar sobre o furni.
645
+ * @returns {boolean} Se entidades podem andar sobre o furni.
646
+ */
647
+ canWalk(): boolean;
648
+
649
+ /**
650
+ * @description Altera o estado do furni.
651
+ * @param {string} state - Valor do estado em que o furni será definido.
652
+ * @returns {void}
653
+ */
654
+ setState(state: string): void;
655
+
656
+ /**
657
+ * @description Altera o estado do furni.
658
+ * @param {number} state - Estado do furni.
659
+ * @returns {void}
660
+ */
661
+ setState(state: number): void;
662
+
663
+ /**
664
+ * @description Altera a cor de um mobi colorivel
665
+ * @param {string} colorHexA - Primeira cor.
666
+ * @param {string} colorHexB - Segunda cor.
667
+ * @returns {void}
668
+ */
669
+ setColor(colorHexA: string, colorHexB: string): void;
670
+
671
+ /**
672
+ * @description Mostra o furni.
673
+ * @returns {void}
674
+ */
675
+ show(): void;
676
+
677
+ /**
678
+ * @description Esconde o furni.
679
+ * @returns {void}
680
+ */
681
+ hide(): void;
682
+
683
+ /**
684
+ * @description Mostra o furni apenas para a entidade.
685
+ * @param {ScriptEntity | null} entity - Entidade que irá ver o furni.
686
+ * @returns {void}
687
+ */
688
+ show(entity: ScriptEntity): void;
689
+
690
+ /**
691
+ * @description Esconde o furni apenas para a entidade.
692
+ * @param {ScriptEntity | null} entity - Entidade que não irá ver o furni.
693
+ * @returns {void}
694
+ */
695
+ hide(entity: ScriptEntity): void;
696
+
697
+ /**
698
+ * @description Ativa a interação do furni.
699
+ * @returns {void}
700
+ */
701
+ toggleState(): void;
702
+
703
+ /**
704
+ * @description Move o furni de parede para a posição fornecida.
705
+ * @param {number} x - Posição X para onde o furni será movido.
706
+ * @param {number} y - Posição Y para onde o furni será movido.
707
+ * @param {number} z - Posição Z para onde o furni será movido. (Apenas inteiros)
708
+ * @param {number} r - Posição R para onde o furni será movido.
709
+ * @param {string} state
710
+ */
711
+ moveWall(x: number, y: number, z: number, r: number, state: string): void;
712
+
713
+ /**
714
+ * @description Move o furni para posição fornecida.
715
+ * @param {ScriptPosition} position - posição para o onde o furni será movido.
716
+ * @param {number} r - Rotação definida ao furni ao ser movido.
717
+ * @param {boolean} force - Se o furni deve ser movido mesmo que o caminho esteja bloqueado.
718
+ * @param {boolean} animation - Se o furni será movido com animacao.
719
+ */
720
+ move(position: ScriptPosition, r: number, force: boolean, animation: boolean): void;
721
+
722
+ /**
723
+ * @description Move o furni para posição fornecida.
724
+ * @param {ScriptPosition} position - posição para o onde o furni será movido.
725
+ * @param {number} r - Rotação definida ao furni ao ser movido.
726
+ * @param {boolean} force - Se o furni deve ser movido mesmo que o caminho esteja bloqueado.
727
+ */
728
+ move(position: ScriptPosition, r: number, force: boolean): void;
729
+
730
+ /**
731
+ * @description Move o furni para posição fornecida.
732
+ * @param {number} x - Posição X para onde o furni será movido.
733
+ * @param {number} y - Posição Y para onde o furni será movido.
734
+ * @param {number} z - Posição Z para onde o furni será movido.
735
+ * @param {number} r - Rotação definida ao furni ao ser movido.
736
+ * @param {boolean} force - Se o furni deve ser movido mesmo que o caminho esteja bloqueado.
737
+ * @param {boolean} animation - Se o furni será movido com animacao.
738
+ */
739
+ move(x: number, y: number, z: number, r: number, force: boolean, animation: boolean): void;
740
+
741
+ /**
742
+ * @description Move o furni para posição fornecida.
743
+ * @param {number} x - Posição X para onde o furni será movido.
744
+ * @param {number} y - Posição Y para onde o furni será movido.
745
+ * @param {number} z - Posição Z para onde o furni será movido.
746
+ * @param {number} r - Rotação definida ao furni ao ser movido.
747
+ * @param {boolean} force - Se o furni deve ser movido mesmo que o caminho esteja bloqueado.
748
+ * @param {boolean} animation - Se o furni será movido com animacao.
749
+ * @param {AnimationTime} animationTime - O tempo de animacao em que o furni sera movido do 50ms ate o 2000ms.
750
+ */
751
+ move(x: number, y: number, z: number, r: number, force: boolean, animation: boolean, animationTime: AnimationTime): void;
752
+
753
+ /**
754
+ * @description Move o furni para posição fornecida.
755
+ * @param {number} x - Posição X para onde o furni será movido.
756
+ * @param {number} y - Posição Y para onde o furni será movido.
757
+ * @param {number} z - Posição Z para onde o furni será movido.
758
+ * @param {number} r - Rotação definida ao furni ao ser movido.
759
+ * @param {boolean} force - Se o furni deve ser movido mesmo que o caminho esteja bloqueado.
760
+ */
761
+ move(x: number, y: number, z: number, r: number, force: boolean): void;
762
+
763
+ /**
764
+ * @description Move o item de parede para a posição fornecida.
765
+ * @param {number} x1 - Posição X1 para onde o item de parede será movido.
766
+ * @param {number} x2 - Posição X2 para onde o item de parede será movido.
767
+ * @param {number} y1 - Posição Y1 para onde o item de parede será movido.
768
+ * @param {number} y2 - Posição Y2 para onde o item de parede será movido.
769
+ * @param {string} side - Lado para onde o item de parede será movido.
770
+ */
771
+ moveWall(x1: number, x2: number, y1: number, y2: number, side: string): void;
772
+
773
+ /**
774
+ * @description Retorna a opacidade do furni. Entre 100 a 0.
775
+ */
776
+ getOpacity(): number;
777
+
778
+ /**
779
+ * @description Define a opacidade do furni.
780
+ * @param {number} opacity - Opacidade do furni. Entre 100 a 0.
781
+ * @returns {void}
782
+ */
783
+ setOpacity(opacity: number): void;
784
+ }
785
+
786
+ interface ScriptTile extends ScriptPosition {
787
+ /**
788
+ * @description Retorna todos os furnis que estão no piso.
789
+ * @returns {ScriptFurni[]}
790
+ */
791
+ getFurnis(): ScriptFurni[];
792
+
793
+ /**
794
+ * @description Retorna todas entidades que estão no piso.
795
+ * @returns {ScriptEntity[]}
796
+ */
797
+ getEntities(): ScriptEntity[];
798
+
799
+ /**
800
+ * @description Retorna o Furni que está mais alto no piso.
801
+ * @returns {ScriptFurni}
802
+ */
803
+ getTopFurni(): ScriptFurni;
804
+
805
+ /**
806
+ * @description Retorna a altura andável no piso.
807
+ * @returns {Number}
808
+ */
809
+ getWalkHeight(): Number;
810
+
811
+ /**
812
+ * @description Retorna se a um furni com interação de porta no piso.
813
+ * @returns {Boolean}
814
+ */
815
+ hasGate(): Boolean;
816
+
817
+ /**
818
+ * @description Retorna se tem algum furni no piso.
819
+ * @returns {Boolean}
820
+ */
821
+ hasFurni(): Boolean;
822
+
823
+ /**
824
+ * @description Retorna se tem entidades no piso.
825
+ * @returns {Boolean}
826
+ */
827
+ hasEntities(): Boolean;
828
+
829
+ /**
830
+ * @description Retorna se o piso pode ser empilhável.
831
+ * @returns {Boolean}
832
+ */
833
+ canStack(): Boolean;
834
+
835
+ /**
836
+ * @description Retorna se pode criar/posicionar furnis no piso.
837
+ * @returns {Boolean}
838
+ */
839
+ canPlaceItem(): Boolean;
840
+
841
+ /**
842
+ * @description Retorna se o piso tem os wireds desativados.
843
+ * @returns {boolean}
844
+ */
845
+ isDisableWired(): boolean;
846
+
847
+ /**
848
+ * @description Retorna se o piso existe no quarto.
849
+ * @return {boolean}
850
+ */
851
+ isValidTile(): boolean;
852
+
853
+ /**
854
+ * @description Retorna se o piso tem movimento limitado.
855
+ * @return {boolean}
856
+ */
857
+ hasMagicLimitedMovement(): boolean;
858
+
859
+ /**
860
+ * @description Retorna se o piso está invisível por um Esconder Área.
861
+ * @return {boolean}
862
+ */
863
+ isHiddenByAreaHide(): boolean;
864
+
865
+ /**
866
+ * @description Retorna se o piso está proibido de ser caminhável por um Esconder Área.
867
+ * @return {boolean}
868
+ */
869
+ isBlockedByAreaHide(): boolean;
870
+ }
871
+
872
+ interface ScriptAchievementProgress {
873
+ /**
874
+ * @description Retorna o progresso da conquista
875
+ * @returns {number}
876
+ */
877
+ getProgress(): number;
878
+
879
+ /**
880
+ * @description Retorna o nível da conquista do usuário
881
+ * @returns {number}
882
+ */
883
+ getLevel(): number;
884
+ }
885
+
886
+ interface ScriptPlayerData {
887
+ /**
888
+ * @description Retorna o ID do player.
889
+ * @returns {number}
890
+ */
891
+ getId(): number;
892
+
893
+ /**
894
+ * @description Retorna o nome do player.
895
+ * @returns {string}
896
+ */
897
+ getUsername(): string;
898
+
899
+ /**
900
+ * @description Retorna o apelido do player.
901
+ * @returns {string}
902
+ */
903
+ getNickname(): string;
904
+
905
+ /**
906
+ * @description Retorna a quantidade de Hubbe Coins do player.
907
+ * @returns {number}
908
+ */
909
+ getHubbeCoins(): number;
910
+
911
+ /**
912
+ * @description Retorna a quantidade de Promo Coins do player.
913
+ * @returns {number}
914
+ */
915
+ getPromoCoins(): number;
916
+
917
+ /**
918
+ * @description Retorna o balão de fala atual do player.
919
+ * @returns {BubblesID}
920
+ */
921
+ getBubbleId(): BubblesID;
922
+
923
+ /**
924
+ * @description Retorna o total de pontos de conquista do player.
925
+ * @returns {number}
926
+ */
927
+ getAchievementPoints(): number;
928
+
929
+ /**
930
+ * @description Retorna o gênero do player.
931
+ * @returns {Genders}
932
+ */
933
+ getGender(): Genders;
934
+
935
+ /**
936
+ * @description Retorna o visual do player.
937
+ * @returns {string}
938
+ */
939
+ getFigure(): string;
940
+
941
+ /**
942
+ * @description Retorna se o player é VIP.
943
+ * @returns {boolean}
944
+ */
945
+ isVip(): boolean;
946
+
947
+ /**
948
+ * @description Retorna a missão do player.
949
+ * @returns {string}
950
+ */
951
+ getMotto(): string;
952
+
953
+ /**
954
+ * @description Retorna o rank do player.
955
+ * @returns {number}
956
+ */
957
+ getRank(): number;
958
+
959
+ /**
960
+ * @description Retorna o total de diamantes do player.
961
+ * @returns {number}
962
+ */
963
+ getDiamonds(): number;
964
+
965
+ /**
966
+ * @description Retorna o total de duckets do player.
967
+ * @returns {number}
968
+ */
969
+ getDuckets(): number;
970
+
971
+ /**
972
+ * @description Retorna o total de moedas do player.
973
+ * @returns {number}
974
+ */
975
+ getCredits(): number;
976
+
977
+ /**
978
+ * @description Retorna o grupo favoritado do player.
979
+ * @returns {number}
980
+ */
981
+ getFavouriteGroup(): number;
982
+
983
+ /**
984
+ * @description Retorna o timestamp de registro do player.
985
+ * @returns {number}
986
+ */
987
+ getRegTimestamp(): number;
988
+
989
+ /**
990
+ * @description Retorna o timestamp da última vez que o player fez login no hotel.
991
+ * @returns {number}
992
+ */
993
+ getLastOnlineTimestamp(): number;
994
+
995
+ /**
996
+ * @description Retorna o total de pontos de promoção do player.
997
+ * @returns {number}
998
+ */
999
+ getPontosHallPromo(): number;
1000
+
1001
+ /**
1002
+ * @description Retorna o total de pontos de presença do player.
1003
+ * @returns {number}
1004
+ */
1005
+ getPontosHallPresenca(): number;
1006
+
1007
+ /**
1008
+ * @description Retorna o total de pontos de evento do player.
1009
+ * @returns {number}
1010
+ */
1011
+ getPontosHallEvento(): number;
1012
+
1013
+ /**
1014
+ * @description Retorna a definição do layout da organização dos wireds do jogador.
1015
+ * @returns {number[]}
1016
+ */
1017
+ getWiredLayout(): number[];
1018
+
1019
+ /**
1020
+ * @description Retorna se o comércio do player está bloqueado.
1021
+ * @returns {boolean}
1022
+ */
1023
+ isTradeLocked(): boolean;
1024
+
1025
+ /**
1026
+ * @description Retorna se o player é um beta tester.
1027
+ * @returns {boolean}
1028
+ */
1029
+ isBetaTester(): boolean;
1030
+ }
1031
+
1032
+ interface FakeFloorItem extends RoomTile {
1033
+
1034
+
1035
+ /**
1036
+ * @description Define altura empilhável do FakeFurni.
1037
+ * @param {number} height - Altura empilhável que será definida no FakeFurni.
1038
+ * @returns {void}
1039
+ */
1040
+ setStackHeight(height: number): void;
1041
+ }
1042
+
1043
+ interface BotEntity extends ScriptEntity { }
1044
+
1045
+ interface ScriptEntity extends ScriptPosition {
1046
+ /**
1047
+ * @description Retorna o Balão de fala atual da entidade.
1048
+ * @returns {BubblesID}
1049
+ */
1050
+ getBubbleId(): BubblesID;
1051
+
1052
+ /**
1053
+ * @description Retorna o ID da entidade.
1054
+ * @returns {number}
1055
+ */
1056
+ getId(): number;
1057
+
1058
+ /**
1059
+ * @description Retorna o ID do jogador.
1060
+ * @returns {number}
1061
+ */
1062
+ getPlayerId(): number;
1063
+
1064
+ /**
1065
+ * @description Retorna o nome da Entidade atual.
1066
+ * @returns {string}
1067
+ */
1068
+ getUsername(): string;
1069
+
1070
+ /**
1071
+ * @description Retorna a atual rotação da entidade.
1072
+ * @returns {number}
1073
+ */
1074
+ getR(): number;
1075
+
1076
+ /**
1077
+ * @description Retorna o tipo da entidade.
1078
+ * @returns {EntitiesType}
1079
+ */
1080
+ getType(): EntitiesType;
1081
+
1082
+ /**
1083
+ * @description Retorna o rank da entidade.
1084
+ * @returns {number}
1085
+ */
1086
+ getRank(): number;
1087
+
1088
+ /**
1089
+ * @description Retorna a missão da entidade.
1090
+ * @returns {string}
1091
+ */
1092
+ getMotto(): string;
1093
+
1094
+ /**
1095
+ * @description Retorna o genero da entidade
1096
+ * @returns {Genders}
1097
+ */
1098
+ getGender(): Genders;
1099
+
1100
+ /**
1101
+ * @description Retorna o código do atual visual da entidade.
1102
+ * *Não aplicável a Pets*
1103
+ * @returns {string}
1104
+ */
1105
+ getFigure(): string;
1106
+
1107
+ /**
1108
+ * @description Retorna o código do efeito atual da entidade.
1109
+ * @returns {Effect}
1110
+ */
1111
+ getEffect(): Effect;
1112
+
1113
+ /**
1114
+ * @description Retorna o código do atual item de mão que a entidade está segurando.
1115
+ * @returns {number}
1116
+ */
1117
+ getHandItem(): number;
1118
+
1119
+ /**
1120
+ * @description Retorna a atual dança da entidade.
1121
+ * @returns {DancesID}
1122
+ */
1123
+ getDance(): DancesID;
1124
+
1125
+ /**
1126
+ * @description Retorna objeto com status atual da conquista
1127
+ * @param {string} achievement - Código da conquista
1128
+ * @returns {ScriptAchievementProgress}
1129
+ */
1130
+ getAchievementProgress(achievement: string): ScriptAchievementProgress;
1131
+
1132
+ /**
1133
+ * @description Retorna a quantidade de *Diamantes* da entidade.
1134
+ * @returns {number}
1135
+ */
1136
+ getDiamonds(): number;
1137
+
1138
+ /**
1139
+ * @description Retorna a quantidade de *Duckets* da entidade.
1140
+ * @returns {number}
1141
+ */
1142
+ getDuckets(): number;
1143
+
1144
+ /**
1145
+ * @description Retorna a quantidade de *Moedas* da entidade.
1146
+ * @returns {number}
1147
+ */
1148
+ getCredits(): number;
1149
+
1150
+ /**
1151
+ * @description Retorna o total de *Ponto de Conquista* da entidade.
1152
+ * @returns {number}
1153
+ */
1154
+ getAchievementPoints(): number;
1155
+
1156
+ /**
1157
+ * @description Retorna o ID do quarto atual da entidade.
1158
+ * @returns {number}
1159
+ */
1160
+ getRoomId(): number;
1161
+
1162
+ /**
1163
+ * @description Retorna a tecla que a entidade está pressionando.
1164
+ * @description 1 - CTRL
1165
+ * @description 2 - ALT
1166
+ * @description 3 - SHIFT
1167
+ * @description 4 - Seta para cima
1168
+ * @description 5 - Seta para baixo
1169
+ * @description 6 - Seta para esquerda
1170
+ * @description 7 - Seta para direita
1171
+ * @returns {number}
1172
+ */
1173
+ getKeyPressing(): number;
1174
+
1175
+ /**
1176
+ * @description Retorna a distancia atual entre esta entidade e a posição fornecida.
1177
+ * @param {ScriptPosition} object - Posição a ser comparada.
1178
+ * @returns {number}
1179
+ */
1180
+ distanceTo(object: ScriptPosition): number;
1181
+
1182
+ /**
1183
+ * @description Retorna a distancia atual entre esta entidade e a posição fornecida.
1184
+ * @param {number} x - Posição X a ser comparada.
1185
+ * @param {number} y - Posição Y a ser comparada.
1186
+ * @param {number} z - Posição Z a ser comparada.
1187
+ * @returns {number}
1188
+ */
1189
+ distanceTo(x: number, y: number, z: number): number;
1190
+
1191
+ /**
1192
+ * @description Retorna se a entidade é um usuário.
1193
+ * @returns {boolean}
1194
+ */
1195
+ isPlayer(): boolean;
1196
+
1197
+ /**
1198
+ * @description Retorna se a entidade é um usuário falso (Fake Player).
1199
+ * @returns {boolean}
1200
+ */
1201
+ isFakePlayer(): boolean;
1202
+
1203
+ /**
1204
+ * @description Retorna se entidade é um Bot.
1205
+ * @returns {boolean}
1206
+ */
1207
+ isBot(): boolean;
1208
+
1209
+ /**
1210
+ * @description Retorna se a entidade é um Bot falso (Fake Bot).
1211
+ * @returns {boolean}
1212
+ */
1213
+ isFakeBot(): boolean;
1214
+
1215
+ /**
1216
+ * @description Retorna se a entidade é um Pet.
1217
+ * @returns {boolean}
1218
+ */
1219
+ isPet(): boolean;
1220
+
1221
+ /**
1222
+ * @description Retorna se a entidade está ausente.
1223
+ * @returns {boolean}
1224
+ */
1225
+ isIdle(): boolean;
1226
+
1227
+ /**
1228
+ * @description Retorna se o player é VIP.
1229
+ * @returns {boolean}
1230
+ */
1231
+ isVip(): boolean;
1232
+
1233
+ /**
1234
+ * @description Retorna se a entidade está andando para trás.
1235
+ * @returns {boolean}
1236
+ */
1237
+ isMoonwalking(): boolean;
1238
+
1239
+ /**
1240
+ * @description Retorna se a entidade está visível no quarto.
1241
+ * @returns {boolean}
1242
+ */
1243
+ isVisibleInRoom(): boolean;
1244
+ /**
1245
+ * @description Retorna se esta entidade é igual a entidade fornecida.
1246
+ * @param {ScriptEntity | null} entity - Entidade que será comparada.
1247
+ * @returns {boolean}
1248
+ */
1249
+ equals(entity: ScriptEntity): boolean;
1250
+
1251
+ /**
1252
+ * @description Retorna se esta entidade está sobre a mobilia fornecida.
1253
+ * @param {ScriptPosition} furni
1254
+ * @returns {boolean} Se esta entidade está sobre a mobilia fornecida.
1255
+ */
1256
+ in(furni: ScriptPosition): boolean;
1257
+
1258
+ /**
1259
+ * @description Retorna se a entidade está em alguma das mobilias fornecidas.
1260
+ * @param {ScriptPosition[]} furnis - Lista de mobilias a serem comparadas.
1261
+ * @returns {boolean}
1262
+ */
1263
+ inAny(furnis: ScriptPosition[]): boolean;
1264
+
1265
+ /**
1266
+ * @description Retorna se a entidade pode se mover.
1267
+ * @returns {boolean} Se a entidade pode se mover.
1268
+ */
1269
+ canWalk(): boolean;
1270
+
1271
+ /**
1272
+ * @description Retorna se a entidade está se movendo.
1273
+ * @returns {boolean}
1274
+ */
1275
+ isWalking(): boolean;
1276
+
1277
+ /**
1278
+ * @description Retorna se a entidade possui o emblema no inventário do usuário.
1279
+ * *Emblema não precisa estar equipado como favorito.*
1280
+ * @param {string} badge - Código do emblema a ser verificado.
1281
+ * @returns {boolean}
1282
+ */
1283
+ hasBadge(badge: string): boolean;
1284
+
1285
+ /**
1286
+ * @description Retorna se entidade possui o rank fornecido ou um maior.
1287
+ * @param {number} rank - Valor do rank a ser comparado.
1288
+ * @returns {boolean}
1289
+ */
1290
+ hasRank(rank: number): boolean;
1291
+
1292
+ /**
1293
+ * @description Retorna se entidade está próxima (tocando) a posição fornecida.
1294
+ * @param {number} x - Posição X a ser comparada.
1295
+ * @param {number} y - Posição Y a ser comparada.
1296
+ * @param {number} z - Posição Z a ser comparada.
1297
+ * @returns {boolean}
1298
+ */
1299
+ touching(x: number, y: number, z: number): boolean;
1300
+
1301
+ /**
1302
+ * @description Retorna se entidade está próxima (tocando) a posição fornecida pelo objeto.
1303
+ * @param {ScriptPosition} object
1304
+ * @returns {boolean}
1305
+ */
1306
+ touching(object: ScriptPosition): boolean;
1307
+
1308
+ /**
1309
+ * @description Retorna se entidade possui o item fornecido no inventário.
1310
+ * @param {number} spriteId - Código do item a ser verificado.
1311
+ * @returns {boolean}
1312
+ */
1313
+ hasItemBySpriteId(spriteId: number): boolean;
1314
+
1315
+ /**
1316
+ * @description Retorna se entidade possui a quantidade do item fornecido no inventário.
1317
+ * @param {number} spriteId - Código do item a ser verificado.
1318
+ * @param {number} quantity - Quantidade do item a ser verificado.
1319
+ * @returns {boolean}
1320
+ */
1321
+ hasItemBySpriteId(spriteId: number, quantity: number): boolean;
1322
+
1323
+ /**
1324
+ * @description Retorna a quantidade do item no inventário da entidade.
1325
+ * @param {number} spriteId - Código do item a ser verificado.
1326
+ * @returns {number}
1327
+ */
1328
+ getItemCountBySpriteId(spriteId: number): number;
1329
+
1330
+ /**
1331
+ * @description Adiciona pontos a uma conquista do usuário.
1332
+ * @param {string} code - Código da conquista.
1333
+ * @param {number} levels - Quantidade de pontos
1334
+ * @returns {void}
1335
+ */
1336
+ progressAchievement(code: string, levels: number): void;
1337
+
1338
+ /**
1339
+ * @description Define a entidade para andar virada para frente ou para trás.
1340
+ * @param {boolean} enabled - Se a entidade deve andar virada para trás.
1341
+ * @returns {void}
1342
+ */
1343
+ setMoonwalking(enabled: boolean): void;
1344
+
1345
+ /**
1346
+ * @description Define o balão de fala da entidade.
1347
+ * @param {BubblesID} bubbleId - Id do balão que será definido.
1348
+ * @returns {void}
1349
+ */
1350
+ setBubbleId(bubbleId: BubblesID): void;
1351
+
1352
+ /**
1353
+ * @description Define uma missão a entidade.
1354
+ * @param {string} motto - Missão que será definida na entidade.
1355
+ * @returns {void}
1356
+ */
1357
+ setMotto(motto: string): void;
1358
+
1359
+ /**
1360
+ * @description Define o visual para entidade.
1361
+ * *Não aplicável a Pets*
1362
+ * @param {string} gender - Gênero do visual.
1363
+ * @param {string} figure - Código do visual.
1364
+ * @returns {void}
1365
+ */
1366
+ setFigure(gender: string, figure: string): void;
1367
+
1368
+ /**
1369
+ * @description Define um item de mão para entidade segurar.
1370
+ * @param {number} item - Código do item de mão.
1371
+ * @param {number} time - Tempo em segundos que a entidade ficará com o item de mão.
1372
+ * @returns {void}
1373
+ */
1374
+ setHandItem(item: number, time?: number): void;
1375
+
1376
+ /**
1377
+ * @description Define um efeito a entidade.
1378
+ * @param {number} effect - Código do efeito.
1379
+ * @returns {void}
1380
+ */
1381
+ setEffect(effect: number): void;
1382
+
1383
+ /**
1384
+ * @description Define um efeito a entidade.
1385
+ * @param {number} effect - Código do efeito.
1386
+ * @param {number} duration - Duração do efeito em segundos.
1387
+ * @returns {void}
1388
+ */
1389
+ setEffect(effect: number, duration: number): void;
1390
+
1391
+ /**
1392
+ * @description Define a entidade pode ser mover.
1393
+ * @param {boolean} can - Se a entidade pode ser mover.
1394
+ * @param {boolean} effect - Se a entidade vai receber o efeito de congelado.
1395
+ * @returns {void}
1396
+ */
1397
+ setCanWalk(can: boolean, effect: boolean): void;
1398
+
1399
+ /**
1400
+ * @description Define uma dança para a entidade.
1401
+ * @argument 0: Parado.
1402
+ * @argument 1: Hap-Hop
1403
+ * @argument 2: Pogo-Mogo
1404
+ * @argument 3: Duck Funk
1405
+ * @argument 4: Rollie
1406
+ * @param {DancesID} danceId - Código da dança
1407
+ * @returns {void}
1408
+ */
1409
+ setDance(danceId: DancesID): void;
1410
+
1411
+ /**
1412
+ * @description Define a visibilidade da entidade no quarto.
1413
+ * @param {boolean} visible - Se a entidade será visível.
1414
+ * @returns {void}
1415
+ */
1416
+ setVisibleInRoom(visible: boolean): void;
1417
+
1418
+ /**
1419
+ * @description Retorna o valor da memoria padrao do usuario em formato string.
1420
+ * @returns {string}
1421
+ */
1422
+ getMemoryValue(): string;
1423
+
1424
+ /**
1425
+ * @description Retorna o valor da memoria padrao do usuario em formato double.
1426
+ * @returns {number}
1427
+ */
1428
+ getMemoryValueDouble(): number;
1429
+
1430
+ /**
1431
+ * @description Retorna o valor da chave buscada da memoria do usuario.
1432
+ * @param {string} key - Chave de busca.
1433
+ * @returns {string}
1434
+ */
1435
+ getMemoryValue(key: string): string;
1436
+
1437
+ /**
1438
+ * @description Seta um valor string na memoria do usuario.
1439
+ * @param {string} value - Valor que a memoria padrao do usuario recebera.
1440
+ * @returns {void}
1441
+ */
1442
+ setMemoryValue(value: string): void;
1443
+
1444
+ /**
1445
+ * @description Seta uma chave com um valor na memoria do usuario.
1446
+ * @param {string} key - A chave que tera o valor.
1447
+ * @param {string} value - Valor que a chave tera.
1448
+ * @returns {void}
1449
+ */
1450
+ setMemoryValue(key: string, value: string): void;
1451
+
1452
+ /**
1453
+ * @description - Seta um valor number na memoria do usuario.
1454
+ * @param value - Valor que a memoria padrao do usuario recebera.
1455
+ */
1456
+ setMemoryValue(value: number): void;
1457
+
1458
+ /**
1459
+ * @description Seta uma chave com um valor na memoria do usuario.
1460
+ * @param key - A chave que tera o valor.
1461
+ * @param value - Valor que a chave tera.
1462
+ */
1463
+ setMemoryValue(key: string, value: number): void;
1464
+
1465
+ /**
1466
+ * @description Envia um emblema a entidade apenas para o ScriptEntity.
1467
+ * @param {string} badge - Código do emblema a ser entregue.
1468
+ * @returns {void}
1469
+ */
1470
+ giveBadge(badge: string): void;
1471
+
1472
+ /**
1473
+ * @description Adiciona ao inventário da entidade um item.
1474
+ * @param {number} spriteId - Código do item.
1475
+ * @returns {void}
1476
+ */
1477
+ addItemBySpriteId(spriteId: number): void;
1478
+
1479
+ /**
1480
+ * @description Adiciona ao inventário da entidade um ou mais itens.
1481
+ * @param {number} spriteId - Código do item.
1482
+ * @param {number} quantity - Quantidade do item.
1483
+ * @returns {void}
1484
+ */
1485
+ addItemBySpriteId(spriteId: number, quantity: number): void;
1486
+
1487
+ /**
1488
+ * @description Adiciona ao inventário da entidade um ou mais itens.
1489
+ * @param {number} spriteId - Código do item.
1490
+ * @param {number} quantity - Quantidade do item.
1491
+ * @param {string} icon - Ícone personalizado da notificação.
1492
+ * @returns {void}
1493
+ */
1494
+ addItemBySpriteId(spriteId: number, quantity: number, icon: string): void;
1495
+
1496
+ /**
1497
+ * @description Remove um item do inventário da entidade.
1498
+ * @param {number} itemId - Código do item.
1499
+ * @returns {void}
1500
+ */
1501
+ removeItemByItem(itemId: number): void;
1502
+
1503
+ /**
1504
+ * @description Remove um ou mais itens do inventário da entidade.
1505
+ * @param {number} spriteId - Código do item.
1506
+ * @param {number} quantity - Quantidade do item.
1507
+ * @returns {void}
1508
+ */
1509
+ removeItemBySpriteId(spriteId: number, quantity: number): void;
1510
+
1511
+ /**
1512
+ * @description Remove o item de mão da entidade.
1513
+ * @returns {void}
1514
+ */
1515
+ removeHandItem(): void;
1516
+
1517
+ /**
1518
+ * @description Remove o efeito da entidade.
1519
+ * @returns {void}
1520
+ */
1521
+ removeEffect(): void;
1522
+
1523
+ /**
1524
+ * @description Remove um emblema de um usuário.
1525
+ * @param {string} badge - Código do emblema.
1526
+ * @returns {void}
1527
+ */
1528
+ removeBadge(badge: string): void;
1529
+
1530
+ /**
1531
+ * @description Faz a entidade dizer uma mensagem.
1532
+ * @param {string} message - Mensagem que será dita pela entidade.
1533
+ * @param {boolean} shout - Se o personagem deve gritar a mensagem. (Mensagem em negrito)
1534
+ * @param {BubblesID} bubbleId - Balão da mensagem
1535
+ * @returns {void}
1536
+ */
1537
+ say(message: string, shout: boolean, bubbleId: BubblesID): void;
1538
+
1539
+ /**
1540
+ * @description Faz a entidade dizer uma mensagem.
1541
+ * @param {string} message - Mensagem que será dita pela entidade.
1542
+ * @returns {void}
1543
+ */
1544
+ say(message: string): void;
1545
+
1546
+ /**
1547
+ * @description Faz a entidade dizer uma mensagem.
1548
+ * @param {string} message - Mensagem que será dita pela entidade.
1549
+ * @param {BubblesID} bubbleId - Balão da mensagem
1550
+ * @returns {void}
1551
+ */
1552
+ say(message: string, bubble: BubblesID): void;
1553
+
1554
+ /**
1555
+ * @description Envia uma mensagem que aparecerá somente para está entidade.
1556
+ * @param {string} message - Mensagem a ser enviada.
1557
+ * @returns {void}
1558
+ */
1559
+ message(message: string): void;
1560
+
1561
+ /**
1562
+ * @description Envia uma mensagem que aparecerá somente para está entidade.
1563
+ * @param {string} message - Mensagem a ser enviada.
1564
+ * @param {BubblesID} bubble - Balão da mensagem.
1565
+ * @returns {void}
1566
+ */
1567
+ message(message: string, bubble: BubblesID): void;
1568
+
1569
+ /**
1570
+ * @description Sussura uma mensagem para outra entidade.
1571
+ * @param {ScriptEntity | null} to - Entidade que receberá a mensagem.
1572
+ * @param {string} message - Mensagem que será enviada.
1573
+ * @param {BubblesID} bubbleId - Balão da mensagem.
1574
+ * @returns {void}
1575
+ */
1576
+ whisper(to: ScriptEntity, message: string, bubbleId: BubblesID): void;
1577
+
1578
+ /**
1579
+ * @description Envia um alerta ao usuário.
1580
+ * @param {string} text - Texto do alerta.
1581
+ * @returns {void}
1582
+ */
1583
+ alert(text: string): void;
1584
+
1585
+ /**
1586
+ * @deprecated
1587
+ * @description Envia um alerta longo ao usuário.
1588
+ * @param {string} text - Texto do alerta.
1589
+ * @returns {void}
1590
+ */
1591
+ alertLong(text: string): void;
1592
+
1593
+ /**
1594
+ * @description Entidade olha para o ponto definido.
1595
+ * @param {ScriptPosition} object
1596
+ * @param {boolean} moveHead = Se a entidade pode mover somente sua cabeça.
1597
+ * @returns {void}
1598
+ */
1599
+ lookTo(object: ScriptPosition, moveHead: boolean): void;
1600
+
1601
+ /**
1602
+ * @description Esta entidade olha para outra entidade.
1603
+ * @param {ScriptEntity | null} entity - Entidade que será o alvo.
1604
+ * @returns {void}
1605
+ */
1606
+ lookTo(entity: ScriptEntity): void;
1607
+
1608
+ /**
1609
+ * @description Entidade olha para o ponto definido.
1610
+ * @param {number} x - Posição X que entidade irá olhar.
1611
+ * @param {number} y - Posição Y que entidade irá olhar.
1612
+ * @param {boolean} moveHead - Se a entidade pode mover somente sua cabeça.
1613
+ * @returns {void}
1614
+ */
1615
+ lookTo(x: number, y: number, moveHead: boolean): void;
1616
+
1617
+ /**
1618
+ * @description Teletransporta a entidade para posição fornecida.
1619
+ * @param {number} x - Posição X em que entidade será levada.
1620
+ * @param {number} y - Posição Y em que entidade será levada.
1621
+ * @param {number} z - Posição Z em que entidade será levada.
1622
+ * @param {number} r - Rotação definida para a entidade.
1623
+ * @returns {void}
1624
+ */
1625
+ teleport(x: number, y: number, z: number, r: number): void;
1626
+
1627
+ /**
1628
+ * @description Teletransporta a entidade para posição fornecida.
1629
+ * @param {number} x - Posição X em que entidade será levada.
1630
+ * @param {number} y - Posição Y em que entidade será levada.
1631
+ * @param {number} r - Rotação definida para a entidade.
1632
+ * @returns {void}
1633
+ */
1634
+ teleport(x: number, y: number, r: number): void;
1635
+
1636
+ /**
1637
+ * @description Teletransporta a entidade para posição fornecida.
1638
+ * @param {number} x - Posição X em que entidade será levada.
1639
+ * @param {number} y - Posição Y em que entidade será levada.
1640
+ * @returns {void}
1641
+ */
1642
+ teleport(x: number, y: number): void;
1643
+
1644
+ /**
1645
+ * @description Teletransporta a entidade para posição fornecida no objeto.
1646
+ * @param {ScriptPosition} object - Posição em que entidade séra teleportada.
1647
+ * @returns {void}
1648
+ */
1649
+ teleport(object: ScriptPosition): void;
1650
+
1651
+ /**
1652
+ * @description Move a entidade até a posição fornecida no objeto.
1653
+ * @param {ScriptPosition} object - Posição em que entidade andará.
1654
+ * @returns {void}
1655
+ */
1656
+ walk(object: ScriptPosition): void;
1657
+
1658
+ /**
1659
+ * @description Move a entidade até a posição fornecida.
1660
+ * *Entidade só irá se mover caso o caminho esteja livre até o ponto fornecido*
1661
+ * @param {number} x - Posição X em que entidade andará.
1662
+ * @param {number} y - Posição Y em que entidade andará.
1663
+ */
1664
+ walk(x: number, y: number): void;
1665
+
1666
+ /**
1667
+ * @description Faz com que a entidade pare de andar.
1668
+ * @returns {void}
1669
+ */
1670
+ cancelWalk(): void;
1671
+
1672
+ /**
1673
+ * @description Entidade faz uma ação determinada
1674
+ * @argument 1: Acenar
1675
+ * @argument 2: Mandar Beijo
1676
+ * @abstract 3: Rir
1677
+ * @param {ActionID} action - Número da ação
1678
+ */
1679
+ action(action: ActionID): void;
1680
+
1681
+ /**
1682
+ * @description Faz a entidade se levantar.
1683
+ * @returns {void}
1684
+ */
1685
+ std(): void;
1686
+
1687
+ /**
1688
+ * @description Faz a entidade deitar.
1689
+ * @returns {void}
1690
+ */
1691
+ lay(): void;
1692
+
1693
+ /**
1694
+ * @description Faz a entidade sentar.
1695
+ * @returns {void}
1696
+ */
1697
+ sit(): void;
1698
+
1699
+ /**
1700
+ * @description Expulsa a entidade do quarto.
1701
+ * @returns {void}
1702
+ */
1703
+ kick(): void;
1704
+
1705
+ /**
1706
+ * @description Leva a entidade para outro quarto.
1707
+ * *Entidade será levada mesmo que haja campanhia/senha*
1708
+ * @param {number} roomId - ID do quarto alvo.
1709
+ * @returns {void}
1710
+ */
1711
+ goToRoom(roomId: number): void;
1712
+
1713
+ /**
1714
+ * @description Envia uma notificação para o usuário.
1715
+ * @param {string} icon - Código do icone para a notificação.
1716
+ * @param {string} message - Mensagem pra notificação.
1717
+ * @returns {void}
1718
+ */
1719
+ notification(icon: string, message: string): void;
1720
+
1721
+ /**
1722
+ * @description Exibe um video para este usuário
1723
+ * @param {string} url - Url do video no Youtube.
1724
+ * @param {boolean} force - Se o comando deve forçar a exibição do video, mesmo que o usuário tenha desabilitado.
1725
+ * @returns {void}
1726
+ */
1727
+ youtube(url: string, force: boolean): void;
1728
+
1729
+ /**
1730
+ * @description Remove a UI especificada da client do usuário.
1731
+ * @param {string} eventName - Nome do evento que está registrado.
1732
+ * @param {string} data - Dados que serão enviados (vazio)
1733
+ * @returns {void}
1734
+ */
1735
+ disposeUI(eventName: string, data: string): void;
1736
+
1737
+ /**
1738
+ * @description Remove todas as UIs da client do usuário.
1739
+ * @returns {void}
1740
+ */
1741
+ disposeUIAll(): void;
1742
+
1743
+ /**
1744
+ * @description Carrega a UI para o usuário.
1745
+ * @param {string} scriptName - Nome da pasta onde o arquivo está localizado.
1746
+ * @param {string} fileName - Nome do arquivo html que contém os dados da UI.
1747
+ * @returns {void}
1748
+ */
1749
+ loadUI(scriptName: string, fileName: string): void;
1750
+
1751
+ /**
1752
+ * @description Envia uma mensagem para a client do usuário.
1753
+ * @param {string} eventName - Nome do evento que está registrado
1754
+ * @param data - Dados que serão enviados
1755
+ * @returns {void}
1756
+ */
1757
+ sendUIMessage(eventName: string, data: string): void;
1758
+
1759
+ /**
1760
+ * @description Retorna se o user está utilizando um teletransporte ao entrar no quarto.
1761
+ * @returns {boolean}
1762
+ */
1763
+ isTeleporting(): boolean;
1764
+
1765
+ /**
1766
+ * @description Retorna se o user está utilizando um teletransporte.
1767
+ * @returns {boolean}
1768
+ */
1769
+ usingTeleportItem(): boolean;
1770
+
1771
+ /**
1772
+ * @description Retorna se o usuário pode interagir com mobis.
1773
+ * @returns {boolean}
1774
+ */
1775
+ canInteract(): boolean;
1776
+
1777
+ /**
1778
+ * @description Retorna se o usuário pode interagir com o mobi.
1779
+ * @param {number} itemId - ID do mobi
1780
+ */
1781
+ canInteract(itemId: number): boolean;
1782
+
1783
+ /**
1784
+ * @description Define se o usuário pode interagir com mobis.
1785
+ * @param {boolean} canInteract - Se o usuário pode interagir com mobis.
1786
+ */
1787
+ setCanInteract(canInteract: boolean): void;
1788
+
1789
+ /**
1790
+ * @description Define os mobis que o usuário não pode interagir.
1791
+ * @param {number[]} itemsId - ID dos mobis que o usuário não pode interagir.
1792
+ */
1793
+ setNonInteractableItems(itemsId: number[]): void;
1794
+
1795
+ /**
1796
+ * @description Retorna todos os códigos de emblemas que o usuário possui.
1797
+ * @returns {string[]}
1798
+ */
1799
+ getBadges(): string[];
1800
+
1801
+ /**
1802
+ * @description Retorna todos os amigos do usuário.
1803
+ * @returns {Friend[]}
1804
+ */
1805
+ getFriends(): Friend;
1806
+
1807
+ /**
1808
+ * @description Retorna se o usuário é amigo do ID fornecido.
1809
+ * @param {number} userId - ID do usuário a ser verificado.
1810
+ * @returns {boolean}
1811
+ */
1812
+ isFriend(userId: number): boolean;
1813
+
1814
+ /**
1815
+ * @description Retorna o apelido do usuário.
1816
+ * @returns {string}
1817
+ */
1818
+ getNickname(): string;
1819
+ }
1820
+
1821
+ interface Friend {
1822
+ /**
1823
+ * @description Retorna se o usuário está em algum quarto.
1824
+ * @returns {boolean}
1825
+ */
1826
+ isInRoom(): boolean;
1827
+
1828
+ /**
1829
+ * @description Retorna se o usuário está online.
1830
+ * @returns {boolean}
1831
+ */
1832
+ isOnline(): boolean;
1833
+
1834
+ /**
1835
+ * @description Retorna o PlayerData do usuário.
1836
+ * @returns {ScriptPlayerData}
1837
+ */
1838
+ getAvatar(): ScriptPlayerData;
1839
+
1840
+ /**
1841
+ * @description Retorna o id do usuário.
1842
+ * @returns {number}
1843
+ */
1844
+ getUserId(): number;
1845
+ }
1846
+
1847
+ interface ScriptFurniWall extends RoomTile { }
1848
+
1849
+ interface ScriptFurni extends RoomTile {
1850
+ /**
1851
+ * @description Altera a altura atual do mobi.
1852
+ * @param {number} height - Altura modificada do mobi.
1853
+ * @returns {void}
1854
+ */
1855
+ changeHeight(height: number): void;
1856
+
1857
+ /**
1858
+ * @description Altera se o mobi pode ser empilhado ou não.
1859
+ * @param {boolean} stackeable - Se o mobi pode ser empilhado.
1860
+ * @returns {void}
1861
+ */
1862
+ changeStackeable(stackeable: boolean): void;
1863
+
1864
+ /**
1865
+ * @description Altera se o mobi pode ser sentável ou não.
1866
+ * @param {boolean} seatable - Se o mobi pode ser sentável.
1867
+ * @returns {void}
1868
+ */
1869
+ changeSeatable(seatable: boolean): void;
1870
+
1871
+ /**
1872
+ * @description Altera se o mobi pode ser andável ou não.
1873
+ * @param {boolean} walkable - Se o mobi pode ser andável.
1874
+ * @returns {void}
1875
+ */
1876
+ changeWalkable(walkable: boolean): void;
1877
+
1878
+ /**
1879
+ * @description Altera a quantidade de estados que o mobi tem.
1880
+ * @param {number} cycleCount - Quantidade de estados que o mobi terá.
1881
+ * @returns {void}
1882
+ */
1883
+ changeCycleCount(cycleCount: number): void;
1884
+
1885
+ /**
1886
+ * @description Volta o mobi para a altura original.
1887
+ * @returns {void}
1888
+ */
1889
+ changeHeight(): void;
1890
+
1891
+ /**
1892
+ * @description Volta o mobi para o modo empilhável original.
1893
+ * @returns {void}
1894
+ */
1895
+ changeStackeable(): void;
1896
+
1897
+ /**
1898
+ * @description Volta o mobi para o modo sentável original.
1899
+ * @returns {void}
1900
+ */
1901
+ changeSeatable(): void;
1902
+
1903
+ /**
1904
+ * @description Volta o mobi para o modo andável original.
1905
+ * @returns {void}
1906
+ */
1907
+ changeWalkable(): void;
1908
+
1909
+ /**
1910
+ * @description Volta o mobi para a quantidade de estados original.
1911
+ * @returns {void}
1912
+ */
1913
+ changeCycleCount(): void;
1914
+ }
1915
+
1916
+ interface FakeEntity {
1917
+ /**
1918
+ * @description Adiciona relacionamento a entidade
1919
+ * @param {number} entityId - ID da entidade
1920
+ * 1: Coração (Heart)
1921
+ * 2: Sorriso (Smile)
1922
+ * 3: Bobba (Bobba)
1923
+ * 4: Merda (Poop)
1924
+ * @param {relationships} relationship - Relação entre entidade e FakeEntity
1925
+ * @returns {void}
1926
+ */
1927
+ addRelationship(entityId: number, relationship: relationships): void;
1928
+
1929
+ /**
1930
+ * @description Retorna ID da FakeEntity
1931
+ * @returns {number} ID da FakeEntity
1932
+ */
1933
+ getId(): number;
1934
+
1935
+ /**
1936
+ * @description Retorna username atual da entidade
1937
+ * @returns {string} Username atual da entidade
1938
+ */
1939
+ getUsername(): string;
1940
+
1941
+ /**
1942
+ * @description Retorna a posição x atual da FakeEntity.
1943
+ * @returns {number} A posição x atual da FakeEntity.
1944
+ */
1945
+ getX(): number;
1946
+
1947
+ /**
1948
+ * @description Retorna a posição Z atual da FakeEntity.
1949
+ * @returns {number} A posição Z atual da FakeEntity.
1950
+ */
1951
+ getZ(): number;
1952
+
1953
+ /**
1954
+ * @description Retorna a posição Y atual da FakeEntity.
1955
+ * @returns {number} A posição Y atual da FakeEntity.
1956
+ */
1957
+ getY(): number;
1958
+
1959
+ /**
1960
+ * @description Retorna a rotação atual do FakeEntity.
1961
+ * @returns {number} A rotação atual do FakeEntity.
1962
+ */
1963
+ getR(): number;
1964
+
1965
+ /**
1966
+ * @description Retorna o código do atual visual da entidade.
1967
+ * @returns {string} O código do atual visual da entidade.
1968
+ */
1969
+ getFigure(): string;
1970
+
1971
+ /**
1972
+ * @description Retorna missão atual da entidade
1973
+ * @returns {string} Missão atual da entidade
1974
+ */
1975
+ getMotto(): string;
1976
+
1977
+ /**
1978
+ * @description Retorna o código do efeito atual da entidade.
1979
+ * @returns {Effect} O código do efeito atual da entidade.
1980
+ */
1981
+ getEffect(): Effect;
1982
+
1983
+ /**
1984
+ * @description Retorna o código do atual item de mão que a entidade está segurando.
1985
+ * @returns {number} O código do atual item de mão que a entidade está segurando.
1986
+ */
1987
+ getHandItem(): number;
1988
+
1989
+ /**
1990
+ * @description Retorna a atual dança da entidade.
1991
+ * @returns {number} A atual dança da entidade.
1992
+ */
1993
+ getDance(): number;
1994
+
1995
+ /**
1996
+ * @description Retorna a quantidade de diamantes que a entidade possui.
1997
+ * @returns {number} A quantidade de diamantes que a entidade possui.
1998
+ */
1999
+ getDiamonds(): number;
2000
+
2001
+ /**
2002
+ * @description Retorna a quantidade de duckets que a entidade possui.
2003
+ * @returns {number} A quantidade de duckets que a entidade possui.
2004
+ */
2005
+ getDuckets(): number;
2006
+
2007
+ /**
2008
+ * @description Retorna a quantidade de créditos que a entidade possui.
2009
+ * @returns {number} A quantidade de créditos que a entidade possui.
2010
+ */
2011
+ getCredits(): number;
2012
+
2013
+ /**
2014
+ * @description Retorna a distancia entre a entidade e outra posição fornecida no objeto.
2015
+ * @param {ScriptPosition} object Posição a ser comparada.
2016
+ * @returns {number} A distancia entre a entidade e outra posição fornecida no objeto.
2017
+ */
2018
+ distanceTo(object: ScriptPosition): number;
2019
+
2020
+ /**
2021
+ * @description Retorna a distancia atual entre esta entidade e a posição fornecida.
2022
+ * @param {number} x - Posição X a ser comparada.
2023
+ * @param {number} y - Posição Y a ser comparada.
2024
+ * @param {number} z - Posição Z a ser comparada.
2025
+ * @returns {number} A distancia atual entre esta entidade e a posição fornecida.
2026
+ */
2027
+ distanceTo(x: number, y: number, z: number): number;
2028
+
2029
+ /**
2030
+ * @description Retorna se entidade é um FakeBot.
2031
+ * @returns {boolean} Se entidade é um FakeBot.
2032
+ */
2033
+ isBot(): boolean;
2034
+
2035
+ /**
2036
+ * @description Retorna se entidade está próxima (tocando) a posição fornecida.
2037
+ * @param {number} x - Posição X a ser comparada.
2038
+ * @param {number} y - Posição Y a ser comparada.
2039
+ * @param {number} z - Posição Z a ser comparada.
2040
+ * @returns {boolean} Se entidade está próxima (tocando) a posição fornecida.
2041
+ */
2042
+ touching(x: number, y: number, z: number): boolean;
2043
+
2044
+ /**
2045
+ * @description Retorna se entidade está próxima (tocando) a posição fornecida pelo objeto.
2046
+ * @param {ScriptPosition} object
2047
+ * @returns {boolean} Se entidade está próxima (tocando) a posição fornecida pelo objeto.
2048
+ */
2049
+ touching(object: ScriptPosition): boolean;
2050
+
2051
+ /**
2052
+ * @description Retorna se esta entidade está sobre a mobilia fornecida.
2053
+ * @param {ScriptPosition} object
2054
+ * @returns {boolean} Se esta entidade está sobre a mobilia fornecida.
2055
+ */
2056
+ in(object: ScriptPosition): boolean;
2057
+
2058
+ /**
2059
+ * @description Retorna se a entidade está se movendo.
2060
+ * @returns {boolean} Se a entidade está se movendo.
2061
+ */
2062
+ isWalking(): boolean;
2063
+
2064
+ /**
2065
+ * @description Define nome para a entidade
2066
+ * @param {string} username - Nome que será definido.
2067
+ * @returns {void}
2068
+ */
2069
+ setUsername(username: string): void;
2070
+
2071
+ /**
2072
+ * @description Define nova missão na entidade
2073
+ * @param {string} motto - Missão que será definida.
2074
+ * @returns {void}
2075
+ */
2076
+ setMotto(motto: string): void;
2077
+
2078
+ /**
2079
+ * @description Define um efeito a entidade.
2080
+ * @param {number} effect - Código do efeito.
2081
+ * @returns {void}
2082
+ */
2083
+ setEffect(effect: number): void;
2084
+
2085
+ /**
2086
+ * @description Define um item de mão para entidade segurar.
2087
+ * @param {number} item - Código do item de mão.
2088
+ * @returns {void}
2089
+ */
2090
+ setHandItem(item: number): void;
2091
+
2092
+ /**
2093
+ * @description Define uma dança para a entidade.
2094
+ * 0: Parado.
2095
+ * 1: Hap-Hop
2096
+ * 2: Pogo-Mogo
2097
+ * 3: Duck Funk
2098
+ * 4: Rollie
2099
+ * @param {DancesID} danceId - Código da dança
2100
+ * @returns {void}
2101
+ */
2102
+ setDance(danceId: DancesID): void;
2103
+
2104
+ /**
2105
+ * @description Remove efeito (:enable 0)
2106
+ * @returns {void}
2107
+ */
2108
+ removeEffect(): void;
2109
+
2110
+ /**
2111
+ * @description Remove o item de mão da entidade.
2112
+ * @returns {void}
2113
+ */
2114
+ removeHandItem(): void;
2115
+
2116
+ /**
2117
+ * @description Faz com que a entidade pare de andar.
2118
+ * @returns {void}
2119
+ */
2120
+ cancelWalk(): void;
2121
+
2122
+ /**
2123
+ * @description Adiciona um emblema no perfil do Bot
2124
+ * @param {string} badge - Código do emblema a ser adicionado.
2125
+ * @returns {void}
2126
+ */
2127
+ addBadge(badge: string): void;
2128
+
2129
+ /**
2130
+ * @description Entidade faz uma ação determinada
2131
+ * 1: Acenar
2132
+ * 2: Mandar Beijo
2133
+ * 3: Rir
2134
+ * @param {ActionID} action - Número da ação
2135
+ * @returns {void}
2136
+ */
2137
+ action(action: ActionID): void;
2138
+
2139
+ /**
2140
+ * @description Move a entidade até a posição fornecida.
2141
+ * @description Entidade só irá se mover caso o caminho esteja livre até o ponto fornecido*
2142
+ * @param {number} x - Posição X em que entidade andará.
2143
+ * @param {number} y - Posição Y em que entidade andará.
2144
+ * @returns {void}
2145
+ */
2146
+ walk(x: number, y: number): void;
2147
+
2148
+ /**
2149
+ * @param {ScriptPosition} object Posição em que a entidade andará.
2150
+ * @returns {void}
2151
+ */
2152
+ walk(object: ScriptPosition): void;
2153
+
2154
+ /**
2155
+ * @description Teletransporta a entidade para posição fornecida.
2156
+ * @param {number} x - Posição X em que entidade será teleportada.
2157
+ * @param {number} y - Posição Y em que entidade será teleportada.
2158
+ * @param {number} z - Posição Z em que entidade será teleportada.
2159
+ * @param {number} r - Rotação definida para a entidade.
2160
+ * @returns {void}
2161
+ */
2162
+ teleport(x: number, y: number, z: number, r: number): void;
2163
+
2164
+ /**
2165
+ * @description Teletransporta a entidade para posição fornecida no objeto.
2166
+ * @param {ScriptPosition} object Posição em que a entidade.
2167
+ * @returns {void}
2168
+ */
2169
+ teleport(object: ScriptPosition): void;
2170
+
2171
+ /**
2172
+ * @description Entidade olha para o ponto definido.
2173
+ * @param {number} x - Posição X que entidade irá olhar.
2174
+ * @param {number} y - Posição Y que entidade irá olhar.
2175
+ * @param {boolean} moveHead - Se a entidade pode mover somente sua cabeça.
2176
+ * @returns {void}
2177
+ */
2178
+ lookTo(x: number, y: number, moveHead: boolean): void;
2179
+
2180
+ /**
2181
+ * @description Entidade olha para o ponto definido.
2182
+ * @param {ScriptPosition} object Posição em que a entidade.
2183
+ * @returns {void}
2184
+ */
2185
+ lookTo(object: ScriptPosition): void;
2186
+
2187
+ /**
2188
+ * @description Faz a entidade dizer uma mensagem.
2189
+ * @param {string} message - Mensagem que será dita pela entidade.
2190
+ * @param {boolean} shout - Se o personagem deve gritar a mensagem. (Mensagem em Bold)
2191
+ * @param {BubblesID} bubbleId - Balão da mensagem
2192
+ * @returns {void}
2193
+ */
2194
+ say(message: string, shout: boolean, bubbleId: BubblesID): void;
2195
+
2196
+ /**
2197
+ * @description Faz a entidade dizer uma mensagem.
2198
+ * @returns {void}
2199
+ */
2200
+ say(message: string): void;
2201
+
2202
+ /**
2203
+ * @description Sussurra uma mensagem para outra entendide.
2204
+ * @param to - Entidade que receberá a mensagem.
2205
+ * @param {string} message - Mensagem que será enviada.
2206
+ * @param {BubblesID} bubbleId - Balão da mensagem.
2207
+ * @returns {void}
2208
+ */
2209
+ whisper(to: ScriptEntity, message: string, bubbleId: BubblesID): void;
2210
+
2211
+ /**
2212
+ * @description Faz a entidade levantar
2213
+ * @returns {void}
2214
+ */
2215
+ std(): void;
2216
+
2217
+ /**
2218
+ * @description Faz a entidade sentar
2219
+ * @returns {void}
2220
+ */
2221
+ sit(): void;
2222
+
2223
+ /**
2224
+ * @description Faz a entidade deitar
2225
+ * @returns {void}
2226
+ */
2227
+ lay(): void;
2228
+ }
2229
+
2230
+ interface WebhookMessage {
2231
+ /**
2232
+ * @description Define a mensagem que será enviada junto ao Webhook
2233
+ * @param {string} bodyMessage - Mensagem que será enviada junto ao Webhook
2234
+ * @returns {WebhookMessage}
2235
+ */
2236
+ setRawMessage(bodyMessage: string): WebhookMessage;
2237
+
2238
+ /**
2239
+ * @description Define o titulo no Embed do Webhook
2240
+ * @param {string} title - Titulo que será definido no Embed do Webhook
2241
+ * @returns {WebhookMessage}
2242
+ */
2243
+ setTitle(title: string): WebhookMessage;
2244
+
2245
+ /**
2246
+ * @description Define a descrição no Embed do Webhook
2247
+ * @param {string} description - Descrição que será definida no Embed do Webhook
2248
+ * @returns {WebhookMessage}
2249
+ */
2250
+ setDescription(description: string): WebhookMessage;
2251
+
2252
+ /**
2253
+ * @description Define a imagem no Embed do Webhook
2254
+ * @param {string} link - Link da imagem que será definida no Embed do Webhook
2255
+ * @returns {WebhookMessage}
2256
+ */
2257
+ setImageUrl(link: string): WebhookMessage;
2258
+
2259
+ /**
2260
+ * @description Define a imagem da Thumbnail no Embed do Webhook
2261
+ * @param {string} link - Link da Thumbnail que será definida no Embed do Webhook
2262
+ * @returns {WebhookMessage}
2263
+ */
2264
+ setThumbnailUrl(link: string): WebhookMessage;
2265
+
2266
+ /**
2267
+ * @description Define a cor no Embed do Webhook
2268
+ * @param {string} hexadecimal - Cor hexadecimal que será definida no Embed do Webhook
2269
+ * @returns {WebhookMessage}
2270
+ */
2271
+ setColor(hexadecimal: string): WebhookMessage;
2272
+
2273
+ /**
2274
+ * @description Adiciona um campo com titulo e descrição no Embed do Webhook
2275
+ * @param {string} titleField - Titulo do campo
2276
+ * @param {string} valueField - Descrição do campo
2277
+ * @param {boolean} inline - Se o campo será inline
2278
+ * @default inline = false
2279
+ * @returns {WebhookMessage}
2280
+ */
2281
+ addField(titleField: string, valueField: string, inline: boolean): WebhookMessage;
2282
+
2283
+ /**
2284
+ * @description Adiciona um campo com titulo e descrição no Embed do Webhook
2285
+ * @param {string} titleField - Titulo do campo
2286
+ * @param {string} valueField - Descrição do campo
2287
+ * @returns {WebhookMessage}
2288
+ */
2289
+ addField(titleField: string, valueField: string): WebhookMessage;
2290
+
2291
+ /**
2292
+ * @description Envia o Webhook.
2293
+ * @returns {void}
2294
+ */
2295
+ queue(): void;
2296
+ }
2297
+
2298
+ interface DelayTask {
2299
+ /**
2300
+ * @description Retorna quantidade de ticks que restam para o termino do temporizador.
2301
+ * @returns {Number}
2302
+ */
2303
+ getTicksRemain(): number;
2304
+ }
2305
+
2306
+ interface CommandCallback {
2307
+ /**
2308
+ * @description Função que será executada quando o comando for chamado.
2309
+ * @param {ScriptEntity | null} entity - Entidade que chamou o comando.
2310
+ * @param {string} message - Argumentos passados no comando.
2311
+ * @returns {void}
2312
+ */
2313
+ (entity: ScriptEntity, message: string): void;
2314
+ }
2315
+
2316
+ // --------------------------- Classes --------------------------- //
2317
+
2318
+ declare class Commands {
2319
+ /**
2320
+ * @description Registra um comando para ser executado.
2321
+ * @param {string | string[]} commandName - Nome do comando a ser registrado.
2322
+ * @param {boolean} needStart - Se o comando precisa iniciar na frase.
2323
+ * @param {CommandCallback} callback - Função a ser executada quando o comando for chamado.
2324
+ *
2325
+ * @example
2326
+ * // exemplo de uso:
2327
+ * Commands.register('comando', true, (entity, message) => {
2328
+ * entity.say('Olá, ' + entity.getUsername() + '!');
2329
+ * });
2330
+ * @returns {void}
2331
+ */
2332
+ static register(commandName: string | string[], needStart: boolean, callback: CommandCallback): void;
2333
+
2334
+ /**
2335
+ * @description Registra um comando para ser executado.
2336
+ * @param {string} commandName - Nome do comando a ser registrado.
2337
+ * @param {CommandCallback} callback - Função a ser executada quando o comando for chamado.
2338
+ *
2339
+ * @example
2340
+ * // exemplo de uso:
2341
+ * Commands.register('comando', (entity, message) => {
2342
+ * entity.say('Olá, ' + entity.getUsername() + '!');
2343
+ * });
2344
+ * @returns {void}
2345
+ */
2346
+ static register(commandName: string, callback: CommandCallback): void;
2347
+
2348
+ /**
2349
+ * @description Remove um comando registrado.
2350
+ * @param {string | string[]} commandName - Nome do comando a ser removido.
2351
+ *
2352
+ * @example
2353
+ * // exemplo de uso:
2354
+ * Commands.unregister('comando');
2355
+ * @returns {void}
2356
+ */
2357
+ static unregister(commandName: string | string[]): void;
2358
+ }
2359
+
2360
+ declare class Currency {
2361
+ /**
2362
+ * @description Adiciona a quantidade de Créditos a carteira do usuário.
2363
+ * @param {number} id - Id do usuário que receberá os Créditos.
2364
+ * @param {number} amount - Quantidade de Créditos a ser entregue.
2365
+ *
2366
+ * @example
2367
+ * // exemplo de uso (adicionar créditos):
2368
+ * Currency.giveCreditsById(1, 100);
2369
+ *
2370
+ * // exemplo de uso (subtrair créditos):
2371
+ * Currency.giveCreditsById(1, -100);
2372
+ * @returns {void}
2373
+ */
2374
+ static giveCreditsById(id: number, amount: number): void;
2375
+
2376
+ /**
2377
+ * @description Adiciona a quantidade de Créditos a carteira do usuário.
2378
+ * @param {string} username - Nome do usuário que receberá os Créditos.
2379
+ * @param {number} amount - Quantidade de Créditos a ser entregue.
2380
+ *
2381
+ * @example
2382
+ * // exemplo de uso (adicionar créditos):
2383
+ * Currency.giveCreditsByUsername('username', 100);
2384
+ *
2385
+ * // exemplo de uso (subtrair créditos):
2386
+ * Currency.giveCreditsByUsername('username', -100);
2387
+ * @returns {void}
2388
+ */
2389
+ static giveCreditsByUsername(username: string, amount: number): void;
2390
+
2391
+ /**
2392
+ * @description Adiciona a quantidade de Duckets a carteira do usuário.
2393
+ * @param {number} id - Id do usuário que receberá os Duckets.
2394
+ * @param {number} amount - Quantidade de Duckets a ser entregue.
2395
+ *
2396
+ * @example
2397
+ * // exemplo de uso (adicionar duckets):
2398
+ * Currency.giveDucketsById(1, 100);
2399
+ *
2400
+ * // exemplo de uso (subtrair duckets):
2401
+ * Currency.giveDucketsById(1, -100);
2402
+ * @returns {void}
2403
+ */
2404
+ static giveDucketsById(id: number, amount: number): void;
2405
+
2406
+ /**
2407
+ * @description Adiciona a quantidade de Duckets a carteira do usuário.
2408
+ * @param {string} username - Nome do usuário que receberá os Duckets.
2409
+ * @param {number} amount - Quantidade de Duckets a ser entregue.
2410
+ *
2411
+ * @example
2412
+ * // exemplo de uso (adicionar duckets):
2413
+ * Currency.giveDucketsByUsername('username', 100);
2414
+ *
2415
+ * // exemplo de uso (subtrair duckets):
2416
+ * Currency.giveDucketsByUsername('username', -100);
2417
+ * @returns {void}
2418
+ */
2419
+ static giveDucketsByUsername(username: string, amount: number): void;
2420
+
2421
+ /**
2422
+ * @description Adiciona a quantidade de Diamantes a carteira do usuário.
2423
+ * @param {number} id - Id do usuário que receberá os Diamantes.
2424
+ * @param {number} amount - Quantidade de Diamantes a ser entregue.
2425
+ *
2426
+ * @example
2427
+ * // exemplo de uso (adicionar diamantes):
2428
+ * Currency.giveDiamondsById(1, 100);
2429
+ *
2430
+ * // exemplo de uso (subtrair diamantes):
2431
+ * Currency.giveDiamondsById(1, -100);
2432
+ * @returns {void}
2433
+ */
2434
+ static giveDiamondsById(id: number, amount: number): void;
2435
+
2436
+ /**
2437
+ * @description Adiciona a quantidade de Diamantes a carteira do usuário.
2438
+ * @param {string} username - Nome do usuário que receberá os Diamantes.
2439
+ * @param {number} amount - Quantidade de Diamantes a ser entregue.
2440
+ *
2441
+ * @example
2442
+ * // exemplo de uso (adicionar diamantes):
2443
+ * Currency.giveDiamondsByUsername('username', 100);
2444
+ *
2445
+ * // exemplo de uso (subtrair diamantes):
2446
+ * Currency.giveDiamondsByUsername('username', -100);
2447
+ * @returns {void}
2448
+ */
2449
+ static giveDiamondsByUsername(username: string, amount: number): void;
2450
+
2451
+ /**
2452
+ * @description Adiciona a quantidade de Pontos Sazonais a carteira do usuário.
2453
+ * @param {string} username - Nome do usuário que receberá os Pontos Sazonais.
2454
+ * @param {number} amount - Quantidade de Pontos Sazonais a ser entregue.
2455
+ *
2456
+ * @example
2457
+ * // exemplo de uso (adicionar pontos sazonais):
2458
+ * Currency.giveSeasonalPointsByUsername('username', 100);
2459
+ *
2460
+ * // exemplo de uso (subtrair pontos sazonais):
2461
+ * Currency.giveSeasonalPointsByUsername('username', -100);
2462
+ * @returns {void}
2463
+ */
2464
+ static giveSeasonalPointsByUsername(username: string, amount: number): void;
2465
+
2466
+ /**
2467
+ * @description Adiciona a quantidade de Pontos Sazonais a carteira do usuário.
2468
+ * @param {number} id - Id do usuário que receberá os Pontos Sazonais.
2469
+ * @param {number} amount - Quantidade de Pontos Sazonais a ser entregue.
2470
+ *
2471
+ * @example
2472
+ * // exemplo de uso (adicionar pontos sazonais):
2473
+ * Currency.giveSeasonalPointsById(1, 100);
2474
+ *
2475
+ * // exemplo de uso (subtrair pontos sazonais):
2476
+ * Currency.giveSeasonalPointsById(1, -100);
2477
+ * @returns {void}
2478
+ */
2479
+ static giveSeasonalPointsById(id: number, amount: number): void;
2480
+
2481
+ /**
2482
+ * @description Faz o pagamento de evento ao usuario
2483
+ * @param {number} id - Id do usuário que receberá o pagamento.
2484
+ * @param {number} amount - Quantidade de créditos a ser entregue.
2485
+ * @returns {void}
2486
+ */
2487
+ static payById(id: number, amount: number): void;
2488
+
2489
+ /**
2490
+ * @description Faz o pagamento de evento ao usuario
2491
+ * @param {string} username - Nome do usuário que receberá o pagamento.
2492
+ * @param {number} amount - Quantidade de créditos a ser entregue.
2493
+ * @returns {void}
2494
+ */
2495
+ static payByUsername(username: string, amount: number): void;
2496
+ }
2497
+
2498
+ declare class Events {
2499
+ /**
2500
+ * @description Evento chamado quando uma entidade entra no quarto.
2501
+ * @example
2502
+ * // Exemplo de uso:
2503
+ * Events.on('userJoin', (user) => {
2504
+ * Engine.log(user.getUsername() + ' entrou no quarto!');
2505
+ * });
2506
+ * @returns {void}
2507
+ */
2508
+ static on(event: 'userJoin', callback: (user: ScriptEntity) => void): void;
2509
+
2510
+ /**
2511
+ * @description Evento chamado quando a client do usuário envia uma mensagem para o quarto.
2512
+ * @param {string} event
2513
+ * @param callback
2514
+ * @returns {void}
2515
+ */
2516
+ static on(event: 'uiMessage', callback: (user: ScriptEntity, eventName: string, data: string) => void): void;
2517
+
2518
+ /**
2519
+ * @description Evento chamado quando uma entidade sai do quarto.
2520
+ * @example
2521
+ * // Exemplo de uso:
2522
+ * Events.on('userLeave', (user) => {
2523
+ * Engine.log(user.getUsername() + ' saiu do quarto!');
2524
+ * });
2525
+ * @returns {void}
2526
+ */
2527
+ static on(event: 'userLeave', callback: (user: ScriptEntity) => void): void;
2528
+
2529
+ /**
2530
+ * @description Evento chamado quando uma entidade pisa em um mobi.
2531
+ * @example
2532
+ * // Exemplo de uso:
2533
+ * Events.on('stepOn', (user, furni) => {
2534
+ * Engine.log(user.getUsername() + ' pisou em ' + furni.getName());
2535
+ * });
2536
+ * @returns {void}
2537
+ */
2538
+ static on(event: 'stepOn', callback: (user: ScriptEntity, furni: ScriptFurni) => void): void;
2539
+
2540
+ /**
2541
+ * @description Evento chamado quando uma entidade sai de um mobi.
2542
+ * @example
2543
+ * // Exemplo de uso:
2544
+ * Events.on('stepOff', (user, furni) => {
2545
+ * Engine.log(user.getUsername() + ' saiu de ' + furni.getName());
2546
+ * });
2547
+ * @returns {void}
2548
+ */
2549
+ static on(event: 'stepOff', callback: (user: ScriptEntity, furni: ScriptFurni) => void): void;
2550
+
2551
+ /**
2552
+ * @description Evento chamado quando uma entidade fala algo.
2553
+ * @example
2554
+ * // Exemplo de uso:
2555
+ * Events.on('say', (user, message) => {
2556
+ * Engine.log(user.getUsername() + ' disse: ' + message);
2557
+ * });
2558
+ * @returns {void}
2559
+ */
2560
+ static on(event: 'say', callback: (user: ScriptEntity, message: string) => void): void;
2561
+
2562
+ /**
2563
+ * @description Evento chamado quando uma entidade interage com um mobi dando dois cliques.
2564
+ * @example
2565
+ * // Exemplo de uso:
2566
+ * Events.on('interact', (user, furni) => {
2567
+ * Engine.log(user.getUsername() + ' interagiu com ' + furni.getName());
2568
+ * });
2569
+ * @returns {void}
2570
+ */
2571
+ static on(event: 'interact', callback: (user: ScriptEntity, furni: ScriptFurni) => void): void;
2572
+
2573
+ /**
2574
+ * @description Evento chamado quando uma entidade interage com um mobi dando um clique.
2575
+ * @example
2576
+ * // Exemplo de uso:
2577
+ * Events.on('furniSelected', (user, furni) => {
2578
+ * Engine.log(user.getUsername() + ' clicou em ' + furni.getName());
2579
+ * });
2580
+ * @returns {void}
2581
+ */
2582
+ static on(event: 'furniSelected', callback: (user: ScriptEntity, furni: ScriptFurni) => void): void;
2583
+
2584
+ /**
2585
+ * @description Evento chamado a cada tick. (1 tick = 0.500 segundo)
2586
+ * @example
2587
+ * // Exemplo de uso:
2588
+ * Events.on('tick', () => {
2589
+ * Engine.log('tick executado');
2590
+ * });
2591
+ * @returns {void}
2592
+ */
2593
+ static on(event: 'tick', callback: Function): void;
2594
+
2595
+ /**
2596
+ * @description Evento chamado a cada tick. (1 tick = 0.50 segundo)
2597
+ * @example
2598
+ * // Exemplo de uso:
2599
+ * Events.on('shortTick', () => {
2600
+ * Engine.log('shortTick executado');
2601
+ * });
2602
+ * @returns {void}
2603
+ */
2604
+ static on(event: 'shortTick', callback: Function): void;
2605
+
2606
+ /**
2607
+ * @description Evento chamado quando o quarto é carregado.
2608
+ * @example
2609
+ * // Exemplo de uso:
2610
+ * Events.on('load', () => {
2611
+ * Engine.log('quarto carregado');
2612
+ * });
2613
+ * @returns {void}
2614
+ */
2615
+ static on(event: 'load', callback: Function): void;
2616
+
2617
+ /**
2618
+ * @description Evento chamado quando o quarto é descarregado.
2619
+ * @example
2620
+ * // Exemplo de uso:
2621
+ * Events.on('dispose', () => {
2622
+ * Engine.log('quarto descarregado');
2623
+ * });
2624
+ * @returns {void}
2625
+ */
2626
+ static on(event: 'dispose', callback: Function): void;
2627
+
2628
+ /**
2629
+ * @description Evento chamado quando um player é selecionado.
2630
+ * @param {ScriptEntity | null} user - Usuário que selecionou.
2631
+ * @param {ScriptEntity | null} target - Usuário que foi selecionado.
2632
+ * @example
2633
+ * // Exemplo de uso:
2634
+ * Events.on('playerSelected', (user, target) => {
2635
+ * Engine.log(user.getUsername() + ' clicou em ' + target.getUsername());
2636
+ * });
2637
+ * @returns {void}
2638
+ */
2639
+ static on(
2640
+ event: 'playerSelected',
2641
+ callback: (user: ScriptEntity, target: ScriptEntity) => void
2642
+ ): void;
2643
+
2644
+ /**
2645
+ * @description Evento chamado quando o usuário clica no chão.
2646
+ * @param {ScriptEntity | null} user - Usuário que selecionou.
2647
+ * @param {ScriptPosition} position - Posição do chão que foi clicada.
2648
+ * @example
2649
+ * // Exemplo de uso:
2650
+ * Events.on('floorClicked', (user, position) => {
2651
+ * Engine.log(user.getUsername() + ' clicou no chão');
2652
+ * });
2653
+ * @returns {void}
2654
+ */
2655
+ static on(
2656
+ event: 'floorClicked',
2657
+ callback: (user: ScriptEntity, position: ScriptPosition) => void
2658
+ ): void;
2659
+
2660
+ /**
2661
+ * @description Evento chamado quando um mobi é movido.
2662
+ * @param {ScriptEntity | null} user - Usuário que moveu.
2663
+ * @param {ScriptFurni} furni - Mobi que foi movido.
2664
+ * @param {boolean} rotation - Se o mobi foi rotacionado.
2665
+ * @example
2666
+ * // Exemplo de uso:
2667
+ * Events.on('floorItemMoved', (user, furni, rotation) => {
2668
+ * Engine.log(user.getUsername() + ' moveu ' + furni.getName());
2669
+ * });
2670
+ * @returns {void}
2671
+ */
2672
+ static on(
2673
+ event: 'floorItemMoved',
2674
+ callback: (user: ScriptEntity, furni: ScriptFurni, rotation: boolean) => void
2675
+ ): void;
2676
+
2677
+ static on(
2678
+ event: 'keyDown',
2679
+ callback: (user: ScriptEntity, key: keyCodes) => void
2680
+ ): void;
2681
+
2682
+ static on(
2683
+ event: 'keyUp',
2684
+ callback: (user: ScriptEntity, key: keyCodes) => void
2685
+ ): void;
2686
+
2687
+ static on(
2688
+ event: "userIdle",
2689
+ callback: (user: ScriptEntity) => void
2690
+ ): void;
2691
+
2692
+ static on(
2693
+ event: "userWakeUp",
2694
+ callback: (user: ScriptEntity) => void
2695
+ ): void;
2696
+
2697
+ static on(
2698
+ event: "walk",
2699
+ callback: (user: ScriptEntity) => void
2700
+ ): void;
2701
+
2702
+ /**
2703
+ * @description Evento chamado quando uma mensagem é enviada para o quarto atual.
2704
+ * @param roomId - ID do quarto que enviou.
2705
+ * @param event - Nome do evento.
2706
+ * @param data - Dados (Qualquer coisa em formato string).
2707
+ *
2708
+ * @example
2709
+ * // Exemplo de uso:
2710
+ * Events.on('serverMessage', (roomId, event, data) => {
2711
+ * Engine.log('Mensagem recebida do quarto ' + roomId);
2712
+ * Engine.log('Evento: ' + event);
2713
+ * Engine.log('Dados: ' + data);
2714
+ * });
2715
+ * @returns {void}
2716
+ */
2717
+ static on(
2718
+ event: 'serverMessage',
2719
+ callback: (roomId: number, event: string, data: string) => void
2720
+ ): void;
2721
+
2722
+ /**
2723
+ * @description Evento chamado quando um mobi é colocado no quarto.
2724
+ * @param {ScriptEntity | null} user - Usuário que colocou.
2725
+ * @param {ScriptFurni} furni - Mobi que foi colocado.
2726
+ * @example
2727
+ * // Exemplo de uso:
2728
+ * Events.on('floorItemPlaced', (user, furni) => {
2729
+ * Engine.log(user.getUsername() + ' colocou ' + furni.getName());
2730
+ * });
2731
+ * @returns {void}
2732
+ */
2733
+ static on(
2734
+ event: 'floorItemPlaced',
2735
+ callback: (user: ScriptEntity, furni: ScriptFurni) => void
2736
+ ): void;
2737
+
2738
+ /**
2739
+ * @description Evento chamado quando um mobi é removido do quarto.
2740
+ * @param {ScriptEntity | null} user - Usuário que removeu.
2741
+ * @param {ScriptFurni} furni - Mobi que foi removido.
2742
+ * @example
2743
+ * // Exemplo de uso:
2744
+ * Events.on('floorItemRemoved', (user, furni) => {
2745
+ * Engine.log(user.getUsername() + ' removeu ' + furni.getName());
2746
+ * });
2747
+ * @returns {void}
2748
+ */
2749
+ static on(
2750
+ event: 'floorItemPickedup',
2751
+ callback: (user: ScriptEntity, furni: ScriptFurni) => void
2752
+ ): void;
2753
+
2754
+ /**
2755
+ * @description Evento chamado quando um bot é selecionado.
2756
+ * @param event - Nome do evento.
2757
+ * @param callback - Função a ser executada quando o evento for chamado.
2758
+ * returns {void}
2759
+ * @example
2760
+ * // Exemplo de uso:
2761
+ * Events.on('botSelected', (user, bot) => {
2762
+ * Engine.log(user.getUsername() + ' clicou em ' + bot.getUsername());
2763
+ * });
2764
+ */
2765
+ static on(
2766
+ event: 'botSelected',
2767
+ callback: (user: ScriptEntity, bot: BotEntity) => void
2768
+ ): void;
2769
+
2770
+ /**
2771
+ * @description Envia uma mensagem para o quarto especificado.
2772
+ * @param roomId - ID do quarto que receberá a mensagem.
2773
+ * @param event - Nome do evento.
2774
+ * @param data - Dados (Qualquer coisa em formato string).
2775
+ *
2776
+ * @example
2777
+ * // Exemplo de uso:
2778
+ * Events.sendMessageToRoom(123, 'evento', 'dados');
2779
+ *
2780
+ * // Exemplo de uso:
2781
+ * Events.sendMessageToRoom(123, 'evento', JSON.stringify({ foo: 'bar' }));
2782
+ *
2783
+ * // Exemplo de uso:
2784
+ * Events.sendMessageToRoom(123, 'evento', JSON.stringify([{ foo: 'bar'}]));
2785
+ * @returns {void}
2786
+ */
2787
+ static sendMessageToRoom(roomId: number, event: string, data: string): void;
2788
+ }
2789
+
2790
+ declare class GlobalData {
2791
+ /**
2792
+ * @description Retorna a instância de um ScriptPlayerData.
2793
+ * @param {number} id - ID do player.
2794
+ *
2795
+ * @example
2796
+ * // Exemplo de uso:
2797
+ * const playerData = GlobalData.getPlayerDataById(1);
2798
+ * @returns {ScriptPlayerData | null} A instância de um ScriptPlayerData.
2799
+ */
2800
+ static getPlayerDataById(id: number): ScriptPlayerData | null
2801
+
2802
+ /**
2803
+ * @description Retorna a instância de um ScriptPlayerData.
2804
+ * @param {string} username - Nome do player.
2805
+ *
2806
+ * @example
2807
+ * // Exemplo de uso:
2808
+ * const playerData = GlobalData.getPlayerDataByName('username');
2809
+ * @returns {ScriptPlayerData | null} A instância de um ScriptPlayerData.
2810
+ */
2811
+ static getPlayerDataByName(username: string): ScriptPlayerData | null
2812
+
2813
+ /**
2814
+ * @description Retorna a instância de um ScriptEntity mesmo não estando no quarto.
2815
+ * @param {number} id - Id do player.
2816
+ *
2817
+ * @example
2818
+ * // Exemplo de uso:
2819
+ * const playerEntity = GlobalData.getPlayerEntityById(1);
2820
+ * @returns {ScriptEntity | null} A instância de um ScriptEntity.
2821
+ */
2822
+ static getPlayerEntityById(id: number): ScriptEntity | null
2823
+
2824
+ /**
2825
+ * @description Retorna a instância de um ScriptEntity mesmo não estando no quarto.
2826
+ * @param {string} username - Nome do player.
2827
+ *
2828
+ * @example
2829
+ * // Exemplo de uso:
2830
+ * const playerEntity = GlobalData.getPlayerEntityByName('username'); // null caso não exista
2831
+ * @returns {ScriptEntity | null} A instância de um ScriptEntity.
2832
+ */
2833
+ static getPlayerEntityByUsername(username: string): ScriptEntity | null
2834
+
2835
+ /**
2836
+ * @description Retorna se o player está online.
2837
+ * @param {number} id - Id do player.
2838
+ *
2839
+ * @example
2840
+ * // Exemplo de uso:
2841
+ * const isOnline = GlobalData.isPlayerOnlineById(1); // true ou false
2842
+ * @returns {boolean} Se o player está online.
2843
+ */
2844
+ static isOnlineById(id: number): boolean;
2845
+
2846
+ /**
2847
+ * @description Retorna se o player está online.
2848
+ * @param {string} username - Nome do player.
2849
+ *
2850
+ * @example
2851
+ * // Exemplo de uso:
2852
+ * const isOnline = GlobalData.isPlayerOnlineByUsername('username'); // true ou false
2853
+ * @returns {boolean} Se o player está online.
2854
+ */
2855
+ static isOnlineByUsername(username: string): boolean;
2856
+
2857
+ /**
2858
+ * @description Retorna a instância de um quarto
2859
+ * @param {number} id - Id do quarto.
2860
+ * @returns {Room | null} A instância de um quarto.
2861
+ */
2862
+ static getRoomById(id: number): RoomInstance | null
2863
+
2864
+ /**
2865
+ * @description Retorna todos os raros e preços.
2866
+ * @returns {Map<number, number>} Todos os raros e preços.
2867
+ * @example
2868
+ * // Exemplo de uso:
2869
+ * const rares = GlobalData.getAllRares();
2870
+ * for (const [definitionId, price] of rares) {
2871
+ * Engine.log('Raro: ' + definitionId + ' Preço: ' + price);
2872
+ * }
2873
+ */
2874
+ static getAllRares(): Map<number, number>;
2875
+
2876
+ /**
2877
+ * @description Retorna o preço de um raro.
2878
+ * @param definitionId - ID definitivo do mobi.
2879
+ * @returns {number} Preço do raro.
2880
+ * @example
2881
+ * // Exemplo de uso:
2882
+ * const price = GlobalData.getRarePriceByDefinitionId(1);
2883
+ * Engine.log('Preço do raro: ' + price);
2884
+ */
2885
+ static getRarePriceByDefinitionId(definitionId: number): number;
2886
+
2887
+ /**
2888
+ * @description Retorna a definição de um mobi. Todo mobi tem sua própria definição.
2889
+ * @param definitionId - ID definitivo do mobi.
2890
+ * @returns {ScriptFurnitureDefinition | null} A definição do mobi ou null se não encontrado.
2891
+ * @example
2892
+ * // Exemplo de uso:
2893
+ * const definition = GlobalData.getFurnitureDefinition(1);
2894
+ * Engine.log('Definição do mobi: ' + definition);
2895
+ */
2896
+ static getFurnitureDefinition(definitionId: number): ScriptFurnitureDefinition | null;
2897
+ }
2898
+
2899
+ interface RoomInstance {
2900
+ /**
2901
+ * @description Retorna o ID do quarto
2902
+ * @returns {number} o ID do quarto
2903
+ */
2904
+ getId(): number;
2905
+
2906
+ /**
2907
+ * @description Retorna o nome atual do quarto.
2908
+ * @returns {number} o nome atual do quarto.
2909
+ */
2910
+ getName(): string;
2911
+
2912
+ /**
2913
+ * @description Retorna o nome do dono do quarto
2914
+ * @returns {number} o nome do dono do quarto
2915
+ */
2916
+ getOwnerUsername(): string;
2917
+
2918
+ /**
2919
+ * @description Retorna o ID do dono do quarto
2920
+ * @returns {number} o ID do dono do quarto
2921
+ */
2922
+ ownerId(): number;
2923
+
2924
+ /**
2925
+ * @description Retorna o nome do grupo do quarto
2926
+ * @returns {number} a quantidade de usuários do quarto
2927
+ */
2928
+ userCount(): number;
2929
+
2930
+ /**
2931
+ * @description Retorna o usuário correspondente ao ID.
2932
+ * @param {number} id - ID do usuário buscado.
2933
+ * @returns {ScriptEntity | null} o usuário correspondente ao ID.
2934
+ */
2935
+ getPlayerById(id: number): ScriptEntity | null
2936
+
2937
+ /**
2938
+ * @description Retorna o usuário correspondente ao Nome.
2939
+ * @param {string} name - Nome do usuário buscado.
2940
+ * @returns {ScriptEntity | null} o usuário correspondente ao Nome.
2941
+ */
2942
+ getPlayerByName(name: string): ScriptEntity | null
2943
+
2944
+ /**
2945
+ * @description Retorna o bot correspondente ao Nome.
2946
+ * @param {string} name - Nome do Bot a ser buscado.
2947
+ * @returns {ScriptEntity | null} o bot correspondente ao nome.
2948
+ */
2949
+ getBotByName(name: string): ScriptEntity | null
2950
+
2951
+ /**
2952
+ * @description Retorna uma lista com todos os usuários do quarto..
2953
+ * @returns {ScriptEntity[]} uma lista com todos os usuários do quarto.
2954
+ */
2955
+ getAllPlayers(): ScriptEntity[];
2956
+
2957
+ /**
2958
+ * @description Retorna o temporizador correspondente ao ID. Caso não exista, será retornado null.
2959
+ * @returns {Counter | null} o temporizador correspondente ao ID.
2960
+ */
2961
+ getCounter(furniId: number): Counter | null
2962
+
2963
+ /**
2964
+ * @description Retorna uma lista com todos as entidades na posição fornecida.
2965
+ * @param {number} x - Posição X buscada.
2966
+ * @param {number} y - Posição Y buscada.
2967
+ * @returns {ScriptEntity[]} todas entidades que estão na posição fornecida.
2968
+ */
2969
+ getEntitiesByCoord(x: number, y: number): ScriptEntity[];
2970
+
2971
+ /**
2972
+ * @description Retorna uma lista com todas as entidades presentes na mobilia.
2973
+ * @param {ScriptFurni} furni - Mobilia a ser consultada.
2974
+ * @returns {ScriptEntity[]} uma lista com todas as entidades presentes na mobilia.
2975
+ */
2976
+ getEntitiesByFurni(furni: ScriptFurni): ScriptEntity[];
2977
+
2978
+ /**
2979
+ * @description Retorna uma lista com todas as entidades presentes nas mobilias.
2980
+ * @param {ScriptFurni[]} furnis - Mobilias a serem consultadas.
2981
+ * @returns uma lista de todas as entidades presentes nas mobilias.
2982
+ */
2983
+ getEntitiesByFurnis(furnis: ScriptFurni[]): ScriptFurni[];
2984
+
2985
+ /**
2986
+ * @description Retorna o piso da posição fornecida.
2987
+ * @param {number} x - Posição X do piso.
2988
+ * @param {number} y - Posição y do piso.
2989
+ * @returns {ScriptTile} o Piso da posição fornecida.
2990
+ */
2991
+ getTile(x: number, y: number): ScriptTile | null
2992
+
2993
+ /**
2994
+ * @param {number} id - ID da mobilia a ser buscada.
2995
+ * @description Retorna a mobilia correspondente ao ID.
2996
+ */
2997
+ getFurniById(id: number): ScriptFurni | null
2998
+
2999
+ /**
3000
+ * @description Retorna uma lista de mobilias que estão no piso
3001
+ * @param {number} x - Posição X do piso.
3002
+ * @param {number} y - Posição y do piso.
3003
+ * @returns {ScriptFurni[]} uma lista de mobilias que estão no piso
3004
+ */
3005
+ getFurniByTile(x: number, y: number): ScriptFurni[];
3006
+
3007
+ /**
3008
+ * @description Retorna uma lista com todos as mobilias do tipo definido.
3009
+ * @param {number} sprite - Código base da mobilia buscada.
3010
+ * @returns {ScriptFurni[]} uma lista com todos as mobilias do tipo definido.
3011
+ */
3012
+ getAllFurnisBySpriteId(sprite: number): ScriptFurni[];
3013
+
3014
+ /**
3015
+ * @description Retorna se o floor existe
3016
+ * @param {number} x - Posição X do piso.
3017
+ * @param {number} y - Posição X do piso.
3018
+ * @returns {boolean} se o floor existe
3019
+ */
3020
+ tileExists(x: number, y: number): Boolean;
3021
+
3022
+ /**
3023
+ * @description Retorna se o usuário tem direitos no quarto.
3024
+ * @param {number} id - Id da entidade a ser verificada.
3025
+ * @returns {boolean} se o usuário tem direitos no quarto.
3026
+ */
3027
+ hasRights(id: number): boolean;
3028
+
3029
+ /**
3030
+ * @description Dá Direitos ao usuário *ID*.
3031
+ * @param {number} id - Id do usuário que receberá Direitos.
3032
+ * @returns {void}
3033
+ */
3034
+ addRights(id: number): void;
3035
+
3036
+ /**
3037
+ * @description Retira os Direitos do usuário *ID*.
3038
+ * @param {number} id - Id do usuário que perderá Direitos.
3039
+ * @returns {void}
3040
+ */
3041
+ removeRights(id: number): void;
3042
+
3043
+ /**
3044
+ * @description Retorna estado atual do atravessar.
3045
+ * @returns {boolean} estado atual do atravessar.
3046
+ */
3047
+ getWalkThrough(): boolean;
3048
+
3049
+ /**
3050
+ * @description Retorna estado atual da diagonal.
3051
+ * @returns {boolean} estado atual da diagonal.
3052
+ */
3053
+ getDiagonal(): boolean;
3054
+
3055
+ /**
3056
+ * @description Retorna o atual estado do mute no quarto.
3057
+ * @returns {boolean} o atual estado do mute no quarto.
3058
+ */
3059
+ getRoomMute(): boolean;
3060
+
3061
+ /**
3062
+ * @description Define o nome do quarto
3063
+ * @param {string} name - Novo nome que será definido ao quarto.
3064
+ * @returns {void}
3065
+ */
3066
+ setName(name: string): void;
3067
+
3068
+ /**
3069
+ * @description Desliga/liga a luz do quarto.
3070
+ * @param {boolean} activated - Se a luz deve ser desligada ou ligada.
3071
+ * @returns {void}
3072
+ */
3073
+ setMoodLight(activated: boolean): void;
3074
+
3075
+ /**
3076
+ * @description Altera a cor e estado da luz do quarto.
3077
+ * @param {boolean} activated - Se a luz deve ser desligada ou ligada.
3078
+ * @param {string} hex - Cor em hexadecimal que a luz deve ficar.
3079
+ * @param {number} intensity - Valor da intensidade que a cor. *(0: Opaco a 255: Transparente)*
3080
+ * @param {boolean} wallOnly - Se a luz deve ficar só nas paredes.
3081
+ * @returns {void}
3082
+ */
3083
+ setMoodLight(activated: boolean, hex: string, intensity: number, wallOnly: boolean): void;
3084
+
3085
+ /**
3086
+ * @description Altera a cor do plano de fundo do quarto. Formato em HSL.
3087
+ * @param {string} hex - Cor em hexadecimal que o plano de fundo deve ficar.
3088
+ * @returns {void}
3089
+ */
3090
+ setBackgroundTonerColor(hex: string): void;
3091
+
3092
+ /**
3093
+ * @description Define a velocidade dos Rollers no quarto.
3094
+ * @param {number} speed - Velocidade dos rollers.
3095
+ * @returns {void}
3096
+ */
3097
+ setRollerSpeed(speed: number): void;
3098
+
3099
+ /**
3100
+ * @description Define a diagonal
3101
+ * @param {boolean} allow - Valor que irá definir se será habilitado ou desabilitado.
3102
+ * @returns {void}
3103
+ */
3104
+ setDiagonal(allow: boolean): void;
3105
+
3106
+ /**
3107
+ * @description Define o atravessar
3108
+ * @param {boolean} allow - Valor que irá definir se será habilitado ou desabilitado.
3109
+ * @returns {void}
3110
+ */
3111
+ setWalkThrough(allow: boolean): void;
3112
+
3113
+ /**
3114
+ * @description Define mute do quarto
3115
+ * @param {boolean} mute - Valor que irá definir se será mutado ou desmutado.
3116
+ * @returns {void}
3117
+ */
3118
+ setRoomMute(mute: boolean): void;
3119
+
3120
+ /**
3121
+ * @description Define uma senha para trancar o quarto.
3122
+ * @param {string} password - Senha a ser definida.
3123
+ */
3124
+ setPassword(password: string): void;
3125
+
3126
+ /**
3127
+ * @description Define campanhia.
3128
+ * @returns {void}
3129
+ */
3130
+ setDoorbell(): void;
3131
+
3132
+ /**
3133
+ * @description Envia notificação para todos do quarto
3134
+ * @param {string} icon - Código do icone que irá aparecer na notificação
3135
+ * @param {string} message - Mensagem que irá aparecer na notificação.
3136
+ * @returns {void}
3137
+ */
3138
+ notification(icon: string, message: string): void;
3139
+
3140
+ /**
3141
+ * @description Envia um alerta para todos do quarto
3142
+ * @param {string} message - Mensagem que irá aparecer no alerta.
3143
+ * @returns {void}
3144
+ */
3145
+ alert(message: string): void;
3146
+
3147
+ /**
3148
+ * @description Abre o quarto
3149
+ * @returns {void}
3150
+ */
3151
+ open(): void;
3152
+
3153
+ /**
3154
+ * @description Envia TTS para todos os usuários
3155
+ * @param {string} text - Texto a ser lido pela voz sintetizada
3156
+ * @returns {void}
3157
+ */
3158
+ tts(text: string): void;
3159
+
3160
+ /**
3161
+ * @param {string} link - Link do video do Youtube.
3162
+ * @returns Reproduz video do Youtube para todos os usuários do quarto.
3163
+ */
3164
+ youtube(link: string): void;
3165
+ }
3166
+
3167
+ declare class GlobalStorage {
3168
+ /**
3169
+ * @description Consulta um valor correspondente a chave buscada.
3170
+ * @param {string} key - Chave da propriedade a ser buscada.
3171
+ * @returns {string | null} Valor correspondente a chave buscada.
3172
+ */
3173
+ static get(key: string): string | null
3174
+
3175
+ /**
3176
+ * @description Defini/Atualiza valor correspondente a chave buscada.
3177
+ * @param {string} key - Chave da propriedade a definir.
3178
+ * @param {string} value - Novo valor a ser definido.
3179
+ * @returns {void}
3180
+ */
3181
+ static set(key: string, value: string): void;
3182
+
3183
+ /**
3184
+ * @description Deleta valor correspondente a chave buscada.
3185
+ * @param {string} key - Chave da propriedade a ser deletada.
3186
+ * @returns {void}
3187
+ */
3188
+ static delete(key: string): void;
3189
+ }
3190
+
3191
+ declare class Highscores {
3192
+ /**
3193
+ * @description Adiciona pontos ao Placar
3194
+ * @param {string | ScriptEntity} player - Nick ou Usuário que receberá os pontos.
3195
+ * @param {number} points - Quantidade de pontos a serem adicionados.
3196
+ * @returns {void}
3197
+ */
3198
+ static add(player: string | ScriptEntity, points: Number): void;
3199
+
3200
+ /**
3201
+ * @description Retorna quantos pontos o grupo tem no Placar
3202
+ * @param {string | ScriptEntity} user - Nick ou Usuário que serão consultados.
3203
+ * @returns {number} Quantidade de pontos que o grupo tem no Placar
3204
+ */
3205
+ static getScore(user: string | ScriptEntity): number;
3206
+
3207
+ /**
3208
+ * @description Retorna todos os pontos que tem no Placar
3209
+ * @param {Number} furni - id do placar.
3210
+ * @returns {Map<string, Number>} Quantidade de pontos que o grupo tem no Placar.
3211
+ */
3212
+ static getScoreAll(furni: Number): Map<string, number>;
3213
+
3214
+ /**
3215
+ * @description Remove pontos do Placar
3216
+ * @param {string | ScriptEntity} player - Nick ou Usuário que perderá os pontos.
3217
+ * @param {number} points - Quantidade de pontos a serem removidos.
3218
+ * @returns {void}
3219
+ */
3220
+ static remove(player: string | ScriptEntity, points: Number): void;
3221
+
3222
+ /**
3223
+ * @description Adiciona pontos a todo o Grupo no Placar
3224
+ * @param {string[] | ScriptEntity[]} player - Nicks ou Usuários que receberam os pontos.
3225
+ * @param {number} points - Quantidade de pontos a serem adicionados.
3226
+ * @returns {void}
3227
+ */
3228
+ static addGroup(player: string[] | ScriptEntity[], points: Number): void;
3229
+
3230
+ /**
3231
+ * @description Retorna quantos pontos o grupo tem no Placar
3232
+ * @param {string[] | ScriptEntity[]} group - Nicks ou Usuários que serão consultados.
3233
+ * @returns {number} Quantidade de pontos que o grupo tem no Placar
3234
+ */
3235
+ static getGroupScore(group: string[] | ScriptEntity[]): number;
3236
+
3237
+ /**
3238
+ * @description Remove pontos de todo o Grupo no Placar
3239
+ * @param {string | ScriptEntity} player - Nicks ou Usuários que perderam os pontos.
3240
+ * @param {number} points - Quantidade de pontos a serem removidos.
3241
+ * @returns {void}
3242
+ */
3243
+ static removeGroup(player: string | ScriptEntity, points: Number): void;
3244
+
3245
+ /**
3246
+ * @description Limpa todos os usuários do Placar
3247
+ * @param {Number | ScriptFurni} scoreboard - ID ou Furni do Placar.
3248
+ * @returns {void}
3249
+ */
3250
+ static clear(scoreboard: Number | ScriptFurni): void;
3251
+
3252
+ /**
3253
+ * @description Limpa todos os usuários do Placar
3254
+ * @param {Number | ScriptFurni} scoreboard - ID ou Furni do Placar.
3255
+ * @returns {void}
3256
+ */
3257
+ static reset(scoreboard: Number | ScriptFurni): void;
3258
+ }
3259
+
3260
+ declare class RoomStorage {
3261
+ /**
3262
+ * @description Retorna os dados salvos no quarto a partir da chave de busca.
3263
+ * @param {string} key - Chave da propriedade a ser buscada.
3264
+ * @returns {string | null} Valor correspondente a chave buscada.
3265
+ */
3266
+ static get(key: string): string;
3267
+
3268
+ /**
3269
+ * @description Define/Atualiza valor correspondente a chave buscada.
3270
+ * @param {string} key - Chave da propriedade a definir.
3271
+ * @param {string} value - Novo valor a ser definido.
3272
+ * @returns {void}
3273
+ */
3274
+ static set(key: string, value: string): void;
3275
+
3276
+ /**
3277
+ * @description Deleta valor correspondente a chave buscada.
3278
+ * @param {string} key - Chave da propriedade a ser deletada.
3279
+ * @returns {boolean} - Retorna true caso a chave tenha sido deletada com sucesso.
3280
+ */
3281
+ static delete(key: string): boolean;
3282
+ }
3283
+
3284
+ declare class Room {
3285
+ /**
3286
+ * Retorna todas as entidades que estão na area
3287
+ * @param {number} x1 - Posição X inicial
3288
+ * @param {number} y1 - Posição Y inicial
3289
+ * @param {number} x2 - Posição X final
3290
+ * @param {number} y2 - Posição Y final
3291
+ * @returns {ScriptEntity[]}
3292
+ */
3293
+ getEntitiesByArea(x1: number, y1: number, x2: number, y2: number): ScriptEntity[];
3294
+
3295
+ /**
3296
+ * Retorna todas os mobis que estão na area
3297
+ * @param {number} x1 - Posição X inicial
3298
+ * @param {number} y1 - Posição Y inicial
3299
+ * @param {number} x2 - Posição X final
3300
+ * @param {number} y2 - Posição Y final
3301
+ * @returns {ScriptFurni[]}
3302
+ */
3303
+ getFurnisByArea(x1: number, y1: number, x2: number, y2: number): ScriptFurni[];
3304
+
3305
+ /**
3306
+ * Retorna o Grupo do quarto.
3307
+ * @returns {ScriptGroup}
3308
+ */
3309
+ getGroup(): ScriptGroup;
3310
+
3311
+ /**
3312
+ * @description Retorna o ID do quarto
3313
+ * @returns {number} o ID do quarto
3314
+ */
3315
+ static getId(): number;
3316
+
3317
+ /**
3318
+ * @description Retorna o nome atual do quarto.
3319
+ * @returns {number} o nome atual do quarto.
3320
+ */
3321
+ static getName(): string;
3322
+
3323
+ /**
3324
+ * @description Retorna o nome do dono do quarto
3325
+ * @returns {number} o nome do dono do quarto
3326
+ */
3327
+ static getOwnerUsername(): string;
3328
+
3329
+ /**
3330
+ * @description Retorna o ID do dono do quarto
3331
+ * @returns {number} o ID do dono do quarto
3332
+ */
3333
+ static ownerId(): number;
3334
+
3335
+ /**
3336
+ * @description Retorna o nome do grupo do quarto
3337
+ * @returns {number} a quantidade de usuários do quarto
3338
+ */
3339
+ static userCount(): number;
3340
+
3341
+ /**
3342
+ * @description Retorna o usuário correspondente ao ID.
3343
+ * @param {number} id - ID do usuário buscado.
3344
+ * @returns {ScriptEntity | null} o usuário correspondente ao ID.
3345
+ */
3346
+ static getPlayerById(id: number): ScriptEntity | null
3347
+
3348
+ /**
3349
+ * @description Retorna o usuário correspondente ao Nome.
3350
+ * @param {string} name - Nome do usuário buscado.
3351
+ * @returns {ScriptEntity | null} o usuário correspondente ao Nome.
3352
+ */
3353
+ static getPlayerByName(name: string): ScriptEntity | null
3354
+
3355
+ /**
3356
+ * @description Retorna o bot correspondente ao Nome.
3357
+ * @param {string} name - Nome do Bot a ser buscado.
3358
+ * @returns {ScriptEntity | null} o bot correspondente ao nome.
3359
+ */
3360
+ static getBotByName(name: string): ScriptEntity | null
3361
+
3362
+ /**
3363
+ * @description Retorna uma lista com todos os usuários do quarto..
3364
+ * @returns {ScriptEntity[]} uma lista com todos os usuários do quarto.
3365
+ */
3366
+ static getAllPlayers(): ScriptEntity[];
3367
+
3368
+ /**
3369
+ * @description Retorna uma lista com todos as entidades na posição fornecida.
3370
+ * @param {number} x - Posição X buscada.
3371
+ * @param {number} y - Posição Y buscada.
3372
+ * @returns {ScriptEntity[]} todas entidades que estão na posição fornecida.
3373
+ */
3374
+ static getEntitiesByCoord(x: number, y: number): ScriptEntity[];
3375
+
3376
+ /**
3377
+ * @description Retorna uma lista com todas as entidades presentes na mobilia.
3378
+ * @param {ScriptFurni} furni - Mobilia a ser consultada.
3379
+ * @returns {ScriptEntity[]} uma lista com todas as entidades presentes na mobilia.
3380
+ */
3381
+ static getEntitiesByFurni(furni: ScriptFurni): ScriptEntity[];
3382
+
3383
+ /**
3384
+ * @description Retorna uma lista com todas as entidades presentes nas mobilias.
3385
+ * @param {ScriptFurni[]} furnis - Mobilias a serem consultadas.
3386
+ * @returns uma lista de todas as entidades presentes nas mobilias.
3387
+ */
3388
+ static getEntitiesByFurnis(furnis: ScriptFurni[]): ScriptFurni[];
3389
+
3390
+ /**
3391
+ * @description Retorna o piso da posição fornecida.
3392
+ * @param {number} x - Posição X do piso.
3393
+ * @param {number} y - Posição y do piso.
3394
+ * @returns {ScriptTile} o Piso da posição fornecida.
3395
+ */
3396
+ static getTile(x: number, y: number): ScriptTile | null
3397
+
3398
+ /**
3399
+ * @param {number} id - ID da mobilia a ser buscada.
3400
+ * @description Retorna a mobilia correspondente ao ID.
3401
+ */
3402
+ static getFurniById(id: number): ScriptFurni | null
3403
+
3404
+ /**
3405
+ * @description Retorna uma lista de mobilias que estão no piso
3406
+ * @param {number} x - Posição X do piso.
3407
+ * @param {number} y - Posição y do piso.
3408
+ * @returns {ScriptFurni[]} uma lista de mobilias que estão no piso
3409
+ */
3410
+ static getFurniByTile(x: number, y: number): ScriptFurni[];
3411
+
3412
+ /**
3413
+ * @description Retorna uma lista com todos as mobilias do tipo definido.
3414
+ * @param {number} sprite - Código base da mobilia buscada.
3415
+ * @returns {ScriptFurni[]} uma lista com todos as mobilias do tipo definido.
3416
+ */
3417
+ static getAllFurnisBySpriteId(sprite: number): ScriptFurni[];
3418
+
3419
+ /**
3420
+ * @description Retorna uma lista com todos os itens do quarto.
3421
+ * @returns {ScriptFurni[]} uma lista com todos os itens do quarto.
3422
+ */
3423
+ static getAllFurnis(): ScriptFurni[];
3424
+
3425
+ /**
3426
+ * @description Retorna se o floor existe
3427
+ * @param {number} x - Posição X do piso.
3428
+ * @param {number} y - Posição X do piso.
3429
+ * @returns {boolean} se o floor existe
3430
+ */
3431
+ static tileExists(x: number, y: number): Boolean;
3432
+
3433
+ /**
3434
+ * @description Retorna se o usuário tem direitos no quarto.
3435
+ * @param {number} id - Id da entidade a ser verificada.
3436
+ * @returns {boolean} se o usuário tem direitos no quarto.
3437
+ */
3438
+ static hasRights(id: number): boolean;
3439
+
3440
+ /**
3441
+ * @description Dá Direitos ao usuário *ID*.
3442
+ * @param {number} id - Id do usuário que receberá Direitos.
3443
+ * @returns {void}
3444
+ */
3445
+ static addRights(id: number): void;
3446
+
3447
+ /**
3448
+ * @description Retira os Direitos do usuário *ID*.
3449
+ * @param {number} id - Id do usuário que perderá Direitos.
3450
+ * @returns {void}
3451
+ */
3452
+ static removeRights(id: number): void;
3453
+
3454
+ /**
3455
+ * @description Retorna estado atual do atravessar.
3456
+ * @returns {boolean} estado atual do atravessar.
3457
+ */
3458
+ static getWalkThrough(): boolean;
3459
+
3460
+ /**
3461
+ * @description Retorna estado atual da diagonal.
3462
+ * @returns {boolean} estado atual da diagonal.
3463
+ */
3464
+ static getDiagonal(): boolean;
3465
+
3466
+ /**
3467
+ * @description Retorna o atual estado do mute no quarto.
3468
+ * @returns {boolean} o atual estado do mute no quarto.
3469
+ */
3470
+ static getRoomMute(): boolean;
3471
+
3472
+ /**
3473
+ * @description Define o nome do quarto
3474
+ * @param {string} name - Novo nome que será definido ao quarto.
3475
+ * @returns {void}
3476
+ */
3477
+ static setName(name: string): void;
3478
+
3479
+ /**
3480
+ * @description Desliga/liga a luz do quarto.
3481
+ * @param {boolean} activated - Se a luz deve ser desligada ou ligada.
3482
+ * @returns {void}
3483
+ */
3484
+ static setMoodLight(activated: boolean): void;
3485
+
3486
+ /**
3487
+ * @description Altera a cor e estado da luz do quarto.
3488
+ * @param {boolean} activated - Se a luz deve ser desligada ou ligada.
3489
+ * @param {string} hex - Cor em hexadecimal que a luz deve ficar.
3490
+ * @param {number} intensity - Valor da intensidade que a cor. *(0: Opaco a 255: Transparente)*
3491
+ * @param {boolean} wallOnly - Se a luz deve ficar só nas paredes.
3492
+ * @returns {void}
3493
+ */
3494
+ static setMoodLight(activated: boolean, hex: string, intensity: number, wallOnly: boolean): void;
3495
+
3496
+ /**
3497
+ * @description Altera a cor do plano de fundo do quarto. Formato em HSL.
3498
+ * @param {string} hex - Cor em hexadecimal que o plano de fundo deve ficar.
3499
+ * @returns {void}
3500
+ */
3501
+ static setBackgroundTonerColor(hex: string): void;
3502
+
3503
+ /**
3504
+ * @description Define a velocidade dos Rollers no quarto.
3505
+ * @param {number} speed - Velocidade dos rollers.
3506
+ * @returns {void}
3507
+ */
3508
+ static setRollerSpeed(speed: number): void;
3509
+
3510
+ /**
3511
+ * @description Define a diagonal
3512
+ * @param {boolean} allow - Valor que irá definir se será habilitado ou desabilitado.
3513
+ * @returns {void}
3514
+ */
3515
+ static setDiagonal(allow: boolean): void;
3516
+
3517
+ /**
3518
+ * @description Define o atravessar
3519
+ * @param {boolean} allow - Valor que irá definir se será habilitado ou desabilitado.
3520
+ * @returns {void}
3521
+ */
3522
+ static setWalkThrough(allow: boolean): void;
3523
+
3524
+ /**
3525
+ * @description Define mute do quarto
3526
+ * @param {boolean} mute - Valor que irá definir se será mutado ou desmutado.
3527
+ * @returns {void}
3528
+ */
3529
+ static setRoomMute(mute: boolean): void;
3530
+
3531
+ /**
3532
+ * @description Define uma senha para trancar o quarto.
3533
+ * @param {string} password - Senha a ser definida.
3534
+ */
3535
+ static setPassword(password: string): void;
3536
+
3537
+ /**
3538
+ * @description Define campanhia.
3539
+ * @returns {void}
3540
+ */
3541
+ static setDoorbell(): void;
3542
+
3543
+ /**
3544
+ * @description Envia notificação para todos do quarto
3545
+ * @param {string} icon - Código do icone que irá aparecer na notificação
3546
+ * @param {string} message - Mensagem que irá aparecer na notificação.
3547
+ * @returns {void}
3548
+ */
3549
+ static notification(icon: string, message: string): void;
3550
+
3551
+ /**
3552
+ * @description Envia um alerta para todos do quarto
3553
+ * @param {string} message - Mensagem que irá aparecer no alerta.
3554
+ * @returns {void}
3555
+ */
3556
+ static alert(message: string): void;
3557
+
3558
+ /**
3559
+ * @description Abre o quarto
3560
+ * @returns {void}
3561
+ */
3562
+ static open(): void;
3563
+
3564
+ /**
3565
+ * @description Envia TTS para todos os usuários
3566
+ * @param {string} text - Texto a ser lido pela voz sintetizada
3567
+ * @returns {void}
3568
+ */
3569
+ static tts(text: string): void;
3570
+
3571
+ /**
3572
+ * @param {string} link - Link do video do Youtube.
3573
+ * @returns Reproduz video do Youtube para todos os usuários do quarto.
3574
+ */
3575
+ static youtube(link: string): void;
3576
+
3577
+ /**
3578
+ * @description Retorna se o quarto tem os wireds desabilitados.
3579
+ * @returns {boolean} se o quarto tem os wireds desabilitados.
3580
+ */
3581
+ static isDisableWired(): boolean;
3582
+
3583
+ /**
3584
+ * @description Retorna se o quarto está blqueado de interações.
3585
+ * @returns {boolean} se o quarto está blqueado de interações.
3586
+ */
3587
+ static isBlockedRoom(): boolean;
3588
+ }
3589
+
3590
+ declare class Faker {
3591
+ /**
3592
+ * @description Cria um FakeItem, uma mobilia similar a original
3593
+ * @param {number} baseId - ID da sprite da mobilia original
3594
+ * @param {number} x - Posição X que será gerado
3595
+ * @param {number} y - Posição Y que será gerado
3596
+ * @param {number} z - Posição Z que será gerado
3597
+ * @param {number} r - Rotação que será gerado
3598
+ *
3599
+ * @example
3600
+ * // Exemplo de uso:
3601
+ * Events.on('load', () => {
3602
+ * const faker = Faker.createFakeItem(1, 0, 0, 0, 0); // Cria um item falso na posição 0, 0, 0, 0
3603
+ * });
3604
+ * @returns {FakeFloorItem} Retorna o item criado
3605
+ */
3606
+ static createFakeItem(baseId: number, x: number, y: number, z: number, r: number): FakeFloorItem;
3607
+
3608
+ /**
3609
+ * Cria vários itens falsos iguais.
3610
+ * @param baseId ID da sprite base.
3611
+ * @param x Posição X inicial.
3612
+ * @param y Posição Y inicial.
3613
+ * @param z Altura Z.
3614
+ * @param r Rotação.
3615
+ * @param quantity Quantidade de itens a gerar.
3616
+ * @example
3617
+ * // Cria 10 cadeiras na mesma posição
3618
+ * const list = Faker.createFakeItems(1, 5, 5, 0, 0, 10);
3619
+ */
3620
+ static createFakeItems(baseId: number, x: number, y: number, z: number, r: number, quantity: number): FakeFloorItem[];
3621
+
3622
+ /**
3623
+ * Cria vários itens falsos personalizados via lista.
3624
+ * @param items Lista de objetos ItemFakeSpawnData.
3625
+ * @example
3626
+ * const data = [
3627
+ * { baseId: 1, x: 2, y: 2, z: 0, rotation: 0 },
3628
+ * { baseId: 2, x: 3, y: 2, z: 0, rotation: 2 },
3629
+ * ];
3630
+ * const list = Faker.createFakeItems(data);
3631
+ */
3632
+ static createFakeItems(items: ItemFakeSpawnData[]): FakeFloorItem[];
3633
+
3634
+ /**
3635
+ * @description Cria entidade similar a um player real
3636
+ * @param {string} name - Nome para o FakePlayer
3637
+ * @param {number} x - Posição X que ele irá ser criado
3638
+ * @param {number} y - Posição Y que ele irá ser criado
3639
+ * @param {number} z - Posição Z que ele irá ser criado
3640
+ * @param {number} r - Rotação que ele irá ser criado
3641
+ *
3642
+ * @example
3643
+ * // Exemplo de uso:
3644
+ * Events.on('load', () => {
3645
+ * const faker = Faker.createFakePlayer('Senhoreu', 0, 0, 0, 0); // Cria um player falso na posição 0, 0, 0, 0
3646
+ * });
3647
+ * @returns {FakeEntity} Retorna o player criado
3648
+ */
3649
+ static createFakePlayer(name: string, x: number, y: number, z: number, r: number): FakeEntity;
3650
+
3651
+ /**
3652
+ * @description Cria entidade similar a um player real
3653
+ * @param {string} name - Nome para o FakePlayer
3654
+ * @param {string} motto - Missão para o FakePlayer
3655
+ * @param {string} figure - Figura para o FakePlayer
3656
+ * @param {string} gender - Gênero para o FakePlayer
3657
+ * @param {number} credits - Créditos para o FakePlayer
3658
+ * @param {number} diamonds - Diamantes para o FakePlayer
3659
+ * @param {number} duckets - Duckets para o FakePlayer
3660
+ * @param {number} x - Posição X que ele irá ser criado
3661
+ * @param {number} y - Posição Y que ele irá ser criado
3662
+ * @param {number} z - Posição Z que ele irá ser criado
3663
+ * @param {number} r - Rotação que ele irá ser criado
3664
+ *
3665
+ * @example
3666
+ * // Exemplo de uso:
3667
+ * Events.on('load', () => {
3668
+ * const faker = Faker.createFakePlayer('Senhoreu', 'Sou um FakePlayer', 'hd-180-1.ch-255-92.lg-285-82.sh-295-62', 'M', '1000', '1000', '1000', 0, 0, 0, 0); // Cria um player falso na posição 0, 0, 0, 0
3669
+ * });
3670
+ * @returns {FakeEntity} Retorna o player criado
3671
+ */
3672
+ static createFakePlayer(name: string, motto: string, figure: string, gender: string, credits: number, diamonds: number, duckets: number, x: number, y: number, z: number, r: number): FakeEntity;
3673
+
3674
+ /**
3675
+ * @description Cria uma entidade similar a um bot real
3676
+ * @param {string} name - Nome para o FakeBot
3677
+ * @param {number} x - Posição X que ele irá ser criado
3678
+ * @param {number} y - Posição Y que ele irá ser criado
3679
+ * @param {number} z - Posição Z que ele irá ser criado
3680
+ * @param {number} r - Rotação que ele irá ser criado
3681
+ *
3682
+ * @example
3683
+ * // Exemplo de uso:
3684
+ * Events.on('load', () => {
3685
+ * const faker = Faker.createFakeBot('Senhoreu', 0, 0, 0, 0); // Cria um bot falso na posição 0, 0, 0, 0
3686
+ * });
3687
+ * @returns {FakeEntity} Retorna o bot criado
3688
+ */
3689
+ static createFakeBot(name: string, x: number, y: number, z: number, r: number): FakeEntity;
3690
+
3691
+ /**
3692
+ * @description Cria uma entidade similar a um bot real
3693
+ * @param {string} name - Nome para o FakeBot
3694
+ * @param {number} x - Posição X que ele irá ser criado
3695
+ * @param {number} y - Posição Y que ele irá ser criado
3696
+ * @param {number} z - Posição Z que ele irá ser criado
3697
+ * @param {number} r - Rotação que ele irá ser criado
3698
+ *
3699
+ * @example
3700
+ * // Exemplo de uso:
3701
+ * Events.on('load', () => {
3702
+ * const faker = Faker.createFakeBot('Senhoreu', 0, 0, 0, 0); // Cria um bot falso na posição 0, 0, 0, 0
3703
+ * });
3704
+ * @returns {FakeEntity} Retorna o bot criado
3705
+ */
3706
+ static createFakeBot(name: string, motto: string, figure: string, gender: string, x: number, y: number, z: number, r: number): FakeEntity;
3707
+
3708
+ /**
3709
+ * @description Um array com todos os itens falsos criados
3710
+ *
3711
+ * @example
3712
+ * // Exemplo de uso:
3713
+ * Commands.register('furnis', true, (user, message) => {
3714
+ * const fakeFurnis = Faker.getLoadedFurnis(); // Retorna um array com todos os itens criados
3715
+ * Debug.log(fakeFurnis); // Exibe no log todos os itens criados
3716
+ * });
3717
+ * @returns {FakeFloorItem[]} Retorna a lista com todos os itens criados
3718
+ */
3719
+ static getLoadedFurnis(): FakeFloorItem[];
3720
+
3721
+ /**
3722
+ * @description Remove item determinado
3723
+ * @param {FakeFloorItem} fakeItem - Item a ser removido
3724
+ *
3725
+ * @example
3726
+ * // Exemplo de uso:
3727
+ *
3728
+ * let faker = null
3729
+ * Events.on('load', () => {
3730
+ * faker = Faker.createFakeItem(1, 0, 0, 0, 0); // Cria um item falso na posição 0, 0, 0, 0
3731
+ * });
3732
+ *
3733
+ * Commands.register('remove', true, (user, message) => {
3734
+ * if (!faker) returns; // Se o item não existir, não faça nada
3735
+ *
3736
+ * Faker.removeFakeFloorItem(faker); // Remove o item criado
3737
+ * faker = null // Limpa a variável
3738
+ * });
3739
+ * @returns {void}
3740
+ */
3741
+ static removeFakeFloorItem(fakeItem: FakeFloorItem): void;
3742
+
3743
+ /**
3744
+ * @description Remove uma entidade Fake
3745
+ * @param {FakeEntity} fakeEntity - Entidade Fake a ser removida do quarto
3746
+ *
3747
+ * @example
3748
+ * // Exemplo de uso:
3749
+ * let faker = null
3750
+ * Events.on('load', () => {
3751
+ * faker = Faker.createFakePlayer('Senhoreu', 0, 0, 0, 0); // Cria um player falso na posição 0, 0, 0, 0
3752
+ * });
3753
+ *
3754
+ * Commands.register('remove', true, (user, message) => {
3755
+ * if (!faker) returns; // Se a entidade não existir, não faça nada
3756
+ *
3757
+ * Faker.removeEntity(faker); // Remove a entidade criado
3758
+ * faker = null // Limpa a variável
3759
+ * });
3760
+ * @returns {void}
3761
+ */
3762
+ static removeEntity(fakeEntity: FakeEntity): void;
3763
+
3764
+ /**
3765
+ * @description Remove todos os itens falsos
3766
+ *
3767
+ * @example
3768
+ * // Exemplo de uso:
3769
+ * Commands.register('removeall', true, (user, message) => {
3770
+ * Faker.removeAllFloorItems(); // Remove todos os itens falsos
3771
+ * });
3772
+ * @returns {void}
3773
+ */
3774
+ static removeAllFloorItems(): void;
3775
+
3776
+ /**
3777
+ * @description Remove todas as entidades criadas
3778
+ *
3779
+ * @example
3780
+ * // Exemplo de uso:
3781
+ * Commands.register('removeall', true, (user, message) => {
3782
+ * Faker.removeAllEntities(); // Remove todas as entidades criadas
3783
+ * });
3784
+ * @returns {void}
3785
+ */
3786
+ static removeAllEntities(): void;
3787
+
3788
+ }
3789
+
3790
+ declare class Debug {
3791
+ /**
3792
+ * @description Envia mensagem de debug para todos os usuários do quarto.
3793
+ * @param {any} object Conteúdo
3794
+ */
3795
+ static d(object: any): void;
3796
+
3797
+ /**
3798
+ * @description Envia mensagem de debug para todos os usuários do quarto.
3799
+ * @param {any} object Conteúdo
3800
+ */
3801
+ static debug(object: any): void;
3802
+
3803
+ /**
3804
+ * @description Registra uma mensagem no log do quarto. (*:script log*)
3805
+ * @param {any} object Conteúdo
3806
+ */
3807
+ static log(object: any): void;
3808
+
3809
+ /**
3810
+ * @description Registra uma mensagem no log do quarto. (*:script log*)
3811
+ * @param {any} object Conteúdo
3812
+ */
3813
+ static e(object: any): void;
3814
+
3815
+ /**
3816
+ * @description Limpa o registro de mensagens no log do quarto. (*:script log*)
3817
+ * @returns {void}
3818
+ */
3819
+ static clearLog(): void;
3820
+ }
3821
+
3822
+ declare class Webhook {
3823
+ /**
3824
+ * @description Cria um novo Webhook direcionado ao link.
3825
+ * @param {string} linkWebhook - Link do Webhook a receber informações.
3826
+ *
3827
+ * @example
3828
+ * // Exemplo de uso:
3829
+ * const webhook = new Webhook('https://discord.com/api/webhooks/1234567890/abcdefghijklmnopqrstuvxwyz');
3830
+ * @returns {WebhookMessage}
3831
+ */
3832
+ static sendTo(linkWebhook: string): WebhookMessage;
3833
+ }
3834
+
3835
+ declare class Delay {
3836
+ /**
3837
+ * @param {Function} callback - Função executada após o tempo determinado ter passado.
3838
+ * @param {number} ticks - Quantidade de ticks a aguardar até a execução da função
3839
+ * @example
3840
+ * // Exemplo de uso:
3841
+ * Delay.wait(() => {
3842
+ * //Executado após 1 segundo de espera.
3843
+ * }, 2)
3844
+ * @returns {DelayTask} Retorna o delayScript criado.
3845
+ */
3846
+ static wait(callback: Function, ticks: number): DelayTask;
3847
+
3848
+ /**
3849
+ * Executa uma função no intervalo de tempo.
3850
+ * @example
3851
+ * Delay.interval(() => {
3852
+ * //Executado a cada 1 segundo.
3853
+ * }, 2)
3854
+ * @param {Function} callback - Função executada sempre que o tempo determinado ter passado.
3855
+ * @param {number} ticks - Quantidade de ticks a aguardar até a execução da função
3856
+ */
3857
+ static interval(callback: Function, ticks: number): DelayTask;
3858
+
3859
+ /**
3860
+ * Executa uma função no intervalo de tempo.
3861
+ * @example
3862
+ * Delay.shortWait(() => {
3863
+ * //Executado a cada 50 milisegundos.
3864
+ * }, 1)
3865
+ * @param {Function} callback - Função executada sempre que o tempo determinado ter passado.
3866
+ * @param {number} ticks - Quantidade de mili ticks a aguardar até a execução da função.
3867
+ */
3868
+ static shortWait(callback: Function, milliseconds: number): DelayTask;
3869
+
3870
+ /**
3871
+ * Executa uma função no intervalo de tempo.
3872
+ * @example
3873
+ * Delay.shortInterval(() => {
3874
+ * //Executado a cada 50 milisegundos.
3875
+ * }, 1)
3876
+ * @param {Function} callback - Função executada sempre que o tempo determinado ter passado.
3877
+ * @param {number} ticks - Quantidade de mili ticks a aguardar até a execução da função.
3878
+ */
3879
+ static shortInterval(callback: Function, milliseconds: number): DelayTask;
3880
+
3881
+ /**
3882
+ * Cancela o delayScript que for passado.
3883
+ * @example
3884
+ * const delay = Delay.wait(() => {
3885
+ * Debug.log('Teste')
3886
+ * }, 10)
3887
+ *
3888
+ * Delay.cancel(delay)
3889
+ * //Função não executará, pois o delay foi interrompido antes do tempo a ser aguardado.
3890
+ * @param {DelayTask} task - Wait/Delay a ser interrompido.
3891
+ * @returns {void}
3892
+ */
3893
+ static cancel(task: DelayTask): void;
3894
+
3895
+ /**
3896
+ * @description Cancela todos os delays criados
3897
+ * @example
3898
+ * Delay.wait(() => {}, 100);
3899
+ * Delay.interval(() => {}, 1);
3900
+ *
3901
+ * Delay.cancelAll(); // cancela os dois delays criados.
3902
+ * @returns {void}
3903
+ */
3904
+ static cancelAll(): void;
3905
+
3906
+ /**
3907
+ * Converte segundos em uma quantia de ticks correspondente.
3908
+ * @example
3909
+ * Delay.wait(() => {
3910
+ * //Executado após 10 segundos.
3911
+ * }, Delay.seconds(10))
3912
+ * @static
3913
+ * @param {number} sec - Quantidade de segundos a serem convertidos em ticks.
3914
+ */
3915
+ static seconds(sec: number): number;
3916
+ }
3917
+
3918
+ declare class Variables {
3919
+ /**
3920
+ * @param variableName - Nome da variável a ser buscada.
3921
+ * @description Retorna a variável com o nome fornecido.
3922
+ * @example
3923
+ * // Exemplo de uso:
3924
+ * const varUser = Variables.getVariable('minhaVariavel'); // Retorna a variável 'minhaVariavel'
3925
+ * Debug.log(varUser.getValue()); // Exibe no log o valor da variável
3926
+ * @returns {ScriptVariable} Retorna a variável com o nome fornecido.
3927
+ */
3928
+ static getVariable(variableName: string): ScriptVariable | null;
3929
+
3930
+ /**
3931
+ * @param variableName - Nome da variável a ser buscada.
3932
+ * @description Retorna a variável do usuário com o nome fornecido.
3933
+ * @example
3934
+ * // Exemplo de uso:
3935
+ * const varUser = Variables.getVariableUser('minhaVariavel'); // Retorna a variável 'minhaVariavel' do usuário
3936
+ * Debug.log(varUser.getValue()); // Exibe no log o valor da variável
3937
+ * @returns {ScriptVariableUser} Retorna a variável do usuário com o nome fornecido.
3938
+ */
3939
+ static getVariableUser(variableName: string): ScriptVariableUser | null;
3940
+
3941
+ /**
3942
+ * @param variableName - Nome da variável a ser buscada.
3943
+ * @description Retorna a variável da mobilia com o nome fornecido.
3944
+ * @example
3945
+ * // Exemplo de uso:
3946
+ * const varFurni = Variables.getVariableFurni('minhaVariavel'); // Retorna a variável 'minhaVariavel' da mobilia
3947
+ * Debug.log(varFurni.getValue()); // Exibe no log o valor da variável
3948
+ * @returns {ScriptVariableFurni} Retorna a variável da mobilia com o nome fornecido.
3949
+ */
3950
+ static getVariableFurni(variableName: string): ScriptVariableFurni | null;
3951
+
3952
+ /**
3953
+ * @param variableName - Nome da variável a ser buscada.
3954
+ * @description Retorna a variável global com o nome fornecido.
3955
+ * @example
3956
+ * // Exemplo de uso:
3957
+ * const varGlobal = Variables.getVariableGlobal('minhaVariavel'); // Retorna a variável 'minhaVariavel' global
3958
+ * Debug.log(varGlobal.getValue());
3959
+ * // Exibe no log o valor da variável
3960
+ * @returns {ScriptVariableGlobal} Retorna a variável global com o nome fornecido.
3961
+ */
3962
+ static getVariableGlobal(variableName: string): ScriptVariableGlobal | null;
3963
+
3964
+ /**
3965
+ * @param variable - A variável a ser verificada.
3966
+ * @description Verifica se a variável é do tipo usuário.
3967
+ * @example
3968
+ * // Exemplo de uso:
3969
+ * const varUser = Variables.getVariable('minhaVariavel');
3970
+ * if (Variables.isUserVariable(varUser)) {
3971
+ * Debug.log('A variável é do tipo usuário');
3972
+ * }
3973
+ * @returns {boolean} Retorna true se a variável for do tipo usuário, caso contrário, false.
3974
+ */
3975
+ static isUserVariable(variable: ScriptVariable | any): variable is ScriptVariableUser;
3976
+
3977
+ /**
3978
+ * @param variable - A variável a ser verificada.
3979
+ * @description Verifica se a variável é do tipo mobilia.
3980
+ * @example
3981
+ * // Exemplo de uso:
3982
+ * const varFurni = Variables.getVariable('minhaVariavel');
3983
+ * if (Variables.isFurniVariable(varFurni)) {
3984
+ * Debug.log('A variável é do tipo mobilia');
3985
+ * }
3986
+ * @returns {boolean} Retorna true se a variável for do tipo mobilia, caso contrário, false.
3987
+ */
3988
+ static isFurniVariable(variable: ScriptVariable | any): variable is ScriptVariableFurni;
3989
+
3990
+ /**
3991
+ * @param variable - A variável a ser verificada.
3992
+ * @description Verifica se a variável é do tipo global.
3993
+ * @example
3994
+ * // Exemplo de uso:
3995
+ * const varGlobal = Variables.getVariable('minhaVariavel');
3996
+ * if (Variables.isGlobalVariable(varGlobal)) {
3997
+ * Debug.log('A variável é do tipo global');
3998
+ * }
3999
+ * @returns {boolean} Retorna true se a variável for do tipo global, caso contrário, false.
4000
+ */
4001
+ static isGlobalVariable(variable: ScriptVariable | any): variable is ScriptVariableGlobal;
4002
+
4003
+ /**
4004
+ * @param entity - A entidade a ser verificada.
4005
+ * @param variableName - Nome da variável a ser verificada.
4006
+ * @description Verifica se a entidade possui a variável com o nome fornecido.
4007
+ * @example
4008
+ * // Exemplo de uso:
4009
+ * const player = Room.getPlayerByName('Senhoreu');
4010
+ * if (player && Variables.hasVariable(player, 'minhaVariavel')) {
4011
+ * Debug.log('O usuário possui a variável "minhaVariavel"');
4012
+ * }
4013
+ * @returns {boolean} Retorna true se a entidade possuir a variável, caso contrário, false.
4014
+ */
4015
+ static hasVariable(entity: ScriptEntity, variableName: string): boolean;
4016
+
4017
+ /**
4018
+ * @param furni - A mobilia a ser verificada.
4019
+ * @param variableName - Nome da variável a ser verificada.
4020
+ * @description Verifica se a mobilia possui a variável com o nome fornecido.
4021
+ * @example
4022
+ * // Exemplo de uso:
4023
+ * const furni = Room.getFurniById(12345);
4024
+ * if (furni && Variables.hasVariable(furni, 'minhaVariavel')) {
4025
+ * Debug.log('A mobilia possui a variável "minhaVariavel"');
4026
+ * }
4027
+ * @returns {boolean} Retorna true se a mobilia possuir a variável, caso contrário, false.
4028
+ */
4029
+ static hasVariable(furni: ScriptFurni, variableName: string): boolean;
4030
+ }
4031
+
4032
+ declare class Wired {
4033
+ /**
4034
+ * @description Recebe eventos dos wired de efeito que possuem o eventName.
4035
+ * @param eventName - Nome do evento que está no Efeito.
4036
+ * @param {WiredCallback} callback - Callback executado ao comando ser utilizado. Caso seja ativado por um usuário, callback recebe o usuário como parametro.
4037
+ * @example
4038
+ * // Exemplo de uso:
4039
+ * Wired.on('eventName', (user) => {
4040
+ * Debug.log('Evento recebido do wired');
4041
+ * });
4042
+ * @returns {void}
4043
+ */
4044
+ static on(eventName: string, callback: WiredCallback): void;
4045
+
4046
+ /**
4047
+ * @description Começa o evento da cota.
4048
+ * @param {string} eventName - Nome do evento que vai ser chamado quando o quarto estiver pronto para iniciar o evento.
4049
+ * @param {() => void} callback - Callback executado ao comando ser utilizado.
4050
+ * @example
4051
+ * // Exemplo de uso:
4052
+ * Wired.on('startEvent', () => {
4053
+ * Debug.log('Evento da cota iniciado');
4054
+ * });
4055
+ */
4056
+ static on(eventName: 'startEvent', callback: () => void): void;
4057
+
4058
+ /**
4059
+ * @description Ativa um wired ativador.
4060
+ * @param {string} wiredName - codigo do wired.
4061
+ * @param {ScriptEntity | null} entity - Entidade que ativou o wired.
4062
+ * @param {ScriptFurni | null} furni - Mobilia que ativou o wired.
4063
+ * @param {ScriptEntity[] | null} entities - Entidades do seletor.
4064
+ * @param {ScriptFurni[] | null} furnis - Mobilias do seletor.
4065
+ *
4066
+ * @example
4067
+ * // Exemplo de uso:
4068
+ * Wired.trigger('wiredName', entity, furni, entities, furnis);
4069
+ * // entity opcional, furni opcional, entities opcional, furnis opcional
4070
+ * @returns {void}
4071
+ */
4072
+ static trigger(wiredName: string, entity: ScriptEntity | null, furni: ScriptFurni | null, entities: ScriptEntity[] | null, furnis: ScriptFurni[] | null): void;
4073
+
4074
+ /**
4075
+ * @description Ativa um wired ativador.
4076
+ * @param {string} wiredName - codigo do wired.
4077
+ *
4078
+ * @example
4079
+ * // Exemplo de uso:
4080
+ * Wired.trigger('wiredName');
4081
+ * @returns {void}
4082
+ */
4083
+ static trigger(wiredName: string): void;
4084
+
4085
+ /**
4086
+ * @description Ativa um wired ativador.
4087
+ * @param {string} wiredName - codigo do wired.
4088
+ * @param {ScriptEntity} entity - Entidade que ativou o wired.
4089
+ *
4090
+ * @example
4091
+ * // Exemplo de uso:
4092
+ * Wired.trigger('wiredName', entity);
4093
+ * @returns {void}
4094
+ */
4095
+ static trigger(wiredName: string, entity: ScriptEntity): void;
4096
+
4097
+ /**
4098
+ * @description Ativa um wired ativador.
4099
+ * @param {string} wiredName - codigo do wired.
4100
+ * @param {ScriptEntity} entity - Entidade que ativou o wired.
4101
+ * @param {ScriptFurni} furni - Mobilia que ativou o wired.
4102
+ *
4103
+ * @example
4104
+ * // Exemplo de uso:
4105
+ * Wired.trigger('wiredName', entity, furni);
4106
+ * @returns {void}
4107
+ */
4108
+ static trigger(wiredName: string, entity: ScriptEntity, furni: ScriptFurni): void;
4109
+
4110
+ /**
4111
+ * @description Define o valor de um disquete.
4112
+ * @param {string} disqueteName - Nome do disquete.
4113
+ * @param {number} value - Valor a ser definido.
4114
+ *
4115
+ * @example
4116
+ * // Exemplo de uso:
4117
+ * Wired.setMemoryValue('memoria', 1); // Define o valor do disquete 'memoria' para 1
4118
+ * @returns {void}
4119
+ */
4120
+ static setMemoryValue(disqueteName: string, value: number): void;
4121
+
4122
+ /**
4123
+ * @description Define o valor de um disquete.
4124
+ * @param {string} disqueteName - Nome do disquete.
4125
+ * @param {string} value - Valor a ser definido.
4126
+ *
4127
+ * @example
4128
+ * // Exemplo de uso:
4129
+ * Wired.setMemoryValue('memoria', 'a'); // Define o valor do disquete 'memoria' para 'a'
4130
+ * @returns {void}
4131
+ */
4132
+ static setMemoryValue(disqueteName: string, value: string): void;
4133
+
4134
+ /**
4135
+ * @description Retorna o valor da memoria em formato number.
4136
+ * @param {string} disqueteName - Nome do disquete.
4137
+ * @returns {number}
4138
+ */
4139
+ static getMemoryValueDouble(disqueteName: string): number;
4140
+
4141
+ /**
4142
+ * @description Retorna o valor da memoria em formato string.
4143
+ * @param disqueteName - Nome do disquete.
4144
+ * @returns {string}
4145
+ */
4146
+ static getMemoryValue(disqueteName: string): string;
4147
+
4148
+ /**
4149
+ * @description Ínicia o próximo evento da cota.
4150
+ * @returns {void}
4151
+ */
4152
+ static nextEvent(): void;
4153
+ }
4154
+
4155
+ declare class Utils {
4156
+ /**
4157
+ * @description Calcula as posição adjacentes em todas as rotações, baseado na distancia fornecida.
4158
+ * @param x1
4159
+ * @param y1
4160
+ * @param distance
4161
+ */
4162
+ static allRotations(x1: number, y1: number, distance: number): ScriptPosition[];
4163
+
4164
+ /**
4165
+ * @description Calcula a posição final partindo de um ponto ao outro, seguindo a rotação e distancia.
4166
+ * @param x1
4167
+ * @param y1
4168
+ * @param rotation
4169
+ * @param reverse
4170
+ * @param distance
4171
+ */
4172
+ static calculatePosition(x1: number, y1: number, rotation: number, reverse: number, distance: number): ScriptPosition;
4173
+
4174
+ /**
4175
+ * @description Calcula a rotação partindo de um ponto ao outro.
4176
+ * @param x1
4177
+ * @param y1
4178
+ * @param x2
4179
+ * @param y2
4180
+ * @param reverse
4181
+ */
4182
+ static calculateRotation(x1: number, y1: number, x2: number, y2: number, reverse: number): number;
4183
+
4184
+ /**
4185
+ * @description Calcula a distancia de dois pontos usando o calculo de chebyshev.
4186
+ * @param x1
4187
+ * @param y1
4188
+ * @param x2
4189
+ * @param y2
4190
+ */
4191
+ static chebyshevDistance(x1: number, y1: number, x2: number, y2: number): number;
4192
+
4193
+ /**
4194
+ * @description Retorna se a rotação fornecida é em diagonal.
4195
+ * @param rotation
4196
+ */
4197
+ static isDiagonal(rotation: number): boolean;
4198
+
4199
+ /**
4200
+ * @description Calcula a posição atrás da posição fornecida, baseado na distancia fornecida.
4201
+ * @param x1
4202
+ * @param y1
4203
+ * @param rotation
4204
+ * @param distance
4205
+ */
4206
+ static positionBehind(x1: number, y1: number, rotation: number, distance: number): ScriptPosition;
4207
+
4208
+ /**
4209
+ * @description Calcula a posição frente da posição fornecida, baseado na distancia fornecida.
4210
+ * @param x1
4211
+ * @param y1
4212
+ * @param rotation
4213
+ * @param distance
4214
+ */
4215
+ static positionInFront(x1: number, y1: number, rotation: number, distance: number): ScriptPosition;
4216
+
4217
+ /**
4218
+ * @description Torna o texto seguro para ser usado em tags HTML sem riscos de XSS.
4219
+ * @param text
4220
+ */
4221
+ static safeStr(text: string): string;
4222
+ }