2020-04-27 16:11:54 +03:00
---
2020-07-11 11:30:46 +03:00
title: Fisica del giocatore
2020-04-27 16:11:54 +03:00
layout: default
root: ../..
idx: 4.4
2020-07-11 11:30:46 +03:00
redirect_from: /it/chapters/player_physics.html
2020-04-27 16:11:54 +03:00
---
2020-07-11 11:30:46 +03:00
## Introduzione <!-- omit in toc -->
2020-04-27 16:11:54 +03:00
2020-07-11 11:30:46 +03:00
La fisica del giocatore può essere modificata usando le sovrascritture apposite (*physics ovverrides*).
Esse sono dei moltiplicatori che servono per impostare la velocità di movimento, del salto, o la gravità del singolo giocatore.
Per esempio, un valore di 2 sulla gravità, renderà la gravità di un utente due volte più forte.
2020-04-27 16:11:54 +03:00
2020-07-11 11:30:46 +03:00
- [Esempio base ](#esempio-base )
- [Sovrascritture disponibili ](#sovrascritture-disponibili )
- [Vecchio sistema di movimento ](#vecchio-sistema-di-movimento )
- [Incompatibilità tra mod ](#incompatibilita-tra-mod )
- [Il tuo turno ](#il-tuo-turno )
2020-04-27 16:11:54 +03:00
2020-07-11 11:30:46 +03:00
## Esempio base
2020-04-27 16:11:54 +03:00
2020-07-11 11:30:46 +03:00
Segue l'esempio di un comando di antigravità:
2020-04-27 16:11:54 +03:00
```lua
2020-07-11 11:30:46 +03:00
minetest.register_chatcommand("antigrav", {
2020-04-27 16:11:54 +03:00
func = function(name, param)
2020-07-11 11:30:46 +03:00
local giocatore = minetest.get_player_by_name(name)
giocatore:set_physics_override({
gravity = 0.1, -- imposta la gravità al 10% del suo valore originale
2020-04-27 16:11:54 +03:00
-- (0.1 * 9.81)
})
end,
})
```
2020-07-11 11:30:46 +03:00
## Sovrascritture disponibili
2020-04-27 16:11:54 +03:00
2020-07-11 11:30:46 +03:00
`set_physics_override()` è una tabella. Stando a [lua_api.txt ]({{ page.root }}/lua_api.html#player-only-no-op-for-other-objects ), le chiavi possono essere:
2020-04-27 16:11:54 +03:00
2020-07-11 11:30:46 +03:00
* `speed` : moltiplicatore della velocità di movimento (predefinito: 1)
* `jump` : moltiplicatore del salto (predefinito: 1)
* `gravity` : moltiplicatore della gravità (predefinito: 1)
* `sneak` : se il giocatore può camminare di soppiatto o meno (predefinito: true)
2020-04-27 16:11:54 +03:00
2020-07-11 11:30:46 +03:00
### Vecchio sistema di movimento
2020-04-27 16:11:54 +03:00
2020-07-11 11:30:46 +03:00
Il movimento dei giocatori prima della versione 0.4.16 includeva il cosiddetto *sneak glitch* , il quale permetteva vari glitch di movimento come l'abilità di scalare un "ascensore" fatta di certi blocchi premendo shift (la camminata di soppiatto) e salto. Nonostante non fosse una funzionalità voluta, è stata mantenuta nelle sovrascritture dato il suo uso in molti server.
2020-04-27 16:11:54 +03:00
2020-07-11 11:30:46 +03:00
Per ripristinare del tutto questo comportamento servono due chiavi:
2020-04-27 16:11:54 +03:00
2020-07-11 11:30:46 +03:00
* `new_move` : se usare o meno il nuovo sistema di movimento (predefinito: true)
* `sneak_glitch` : se il giocatore può usare o meno il glitch dell'ascensore (default: false)
2020-04-27 16:11:54 +03:00
2020-07-11 11:30:46 +03:00
## Incompatibilità tra mod
2020-04-27 16:11:54 +03:00
2020-07-11 11:30:46 +03:00
Tieni a mente che le mod che sovrascrivono la stessa proprietà fisica di un giocatore tendono a essere incompatibili tra di loro.
Quando si imposta una sovrascrittura, sovrascriverà qualsiasi altro suo simile impostato in precedenza: ciò significa che se la velocità di movimento di un giocatore viene cambiata più volte, solo l'ultimo valore verrà preso in considerazione.
2020-04-27 16:11:54 +03:00
2020-07-11 11:30:46 +03:00
## Il tuo turno
2020-04-27 16:11:54 +03:00
2020-07-11 11:30:46 +03:00
* **Sonic**: Imposta il moltiplicatore di velocità a un valore elevato (almeno 6) quando un giocatore entra in gioco;
* **Super rimbalzo**: Aumenta il valore del salto in modo che il giocatore possa saltare 20 metri (1 cubo = 1 metro);
* **Space**: Fai in modo che la gravità diminuisca man mano che si sale di altitudine.