ai-exitsleeping
Çıkış yapan bir oyuncu dünyada, başkalarının taşıyıp araçlara koyabildiği uyuyan bir beden olarak kalır.
ai-exitsleeping çıkış yapan karakterleri dünyada tutar. Bir oyuncu sunucudan çıktığında ya da karakter ekranına döndüğünde karakteri durduğu yerde uyuyan bir beden olarak uzanır. Diğer oyuncular onu taşıyabilir, bir araca koyup tekrar çıkarabilir; sahibi de beden nerede kaldıysa orada uyanır.
Oyunda ne yapar
- Uyuyan bedenler. Beden karakterin görünümüne (AI Core’un görünüm katmanı üzerinden, bu yüzden desteklenen her kıyafet script’i çalışır) ve paneldeki uzanma pozlarından birine sahiptir. Her oyuncu aynı pozu görür.
- Taşıma. Bir bedene yürü ve Carry Sleeping Player (Uyuyan oyuncuyu taşı) üzerinde etkileşim tuşuna bas. X (ya da Stop Carrying) bedeni durduğun yere bırakır. Araçtayken, yere düşmüşken ya da kelepçeliyken taşıyamazsın.
- Araçlar. Taşırken bir araçta Put in Vehicle bedeni bir yolcu koltuğuna oturtur. İçinde beden olan bir araçta Take Out Sleeping Player onu dışarı çıkarır (sonra sen taşırsın).
- Uyanma. Sahibinin bir sonraki doğuşu bedenin şu an bulunduğu yerdir: yerde, taşıyanın omzunda ya da konduğu araç koltuğunda.
- Süre dolması. Paneldeki gün sayısından daha uzun süre önce çıkış yapmış oyuncuların bedenleri kaldırılır.
- Gizli alanlar ve özel dünyalar. Gizli bir alanın (panel) içinde beden bırakılmaz ve oraya bırakılan bedenler gizlenir. Ignore private worlds açıkken bir evin ya da motel iç mekânının içindeki oyuncular beden bırakmaz ve hiç beden görmez.
Kurulum
AI Core tarifiyle (recipe) kurulur. Elle: ai-core satırından sonra ensure ai-exitsleeping. ai_exitsleeping_sleepers tablosu ilk açılışta oluşturulur.
Doğuş script’in oyuncuyu ai-core’un doğuşundan sonra kendisi yerleştiriyorsa Wake up on ayarını PlayerLoaded export (spawn script) yap ve oradan exports['ai-exitsleeping']:PlayerLoaded() çağır (bkz. geliştirici sayfası).
Panel ayarları
Admin paneli > Exit Sleeping.
Sekme: General
Uyuyan bedenlerin ne kadar kaldığı, ne kadar uzaktan çizildiği ve oyuncuların onlarla ne yapabildiği.
Sleeping bodies: çıkış yapan bir oyuncu dünyada ayrıldığı yerde uyuyan bir beden olarak kalır ve beden nerede kaldıysa orada uyanır.
| Ayar | Neyi değiştirir | Birim | Varsayılan |
|---|---|---|---|
| Keep bodies for | Bundan daha uzun süre önce çıkış yapmış oyuncuların bedenleri kaldırılır. 1-365. | gün | 3 |
| Draw distance | Uyuyan bedenler bir oyuncu bu kadar yaklaşınca görünür, ötesinde kaybolur. 5-60, 0.5’lik adımlar. | m | 25 |
| Ignore private worlds | Özel bir dünyanın (bir ev ya da motel odası iç mekânı) içindeki oyuncular çıkış yapınca beden bırakmaz ve içerideyken hiç beden görmez. | açık / kapalı | açık |
| Wake up on | Character spawn (ai-core) ya da PlayerLoaded export (spawn script). Bir doğuş script’i kendi doğuşundan sonra exports['ai-exitsleeping']:PlayerLoaded() çağırmıyorsa varsayılanı koru. | Character spawn (ai-core) |
Carrying and vehicles: oyuncular uyuyan bir bedeni taşıyabilir, bir araç koltuğuna koyabilir ve tekrar çıkarabilir.
| Ayar | Neyi değiştirir | Birim | Varsayılan |
|---|---|---|---|
| Interaction distance | Bir bedeni taşımak ya da bir araca ulaşmak için oyuncunun ne kadar yakın durması gerektiği. 1-10, 0.5’lik adımlar. | m | 2.5 |
| Server distance check | Server bundan daha uzaktan gelen bir taşıma ya da araç eylemini reddeder (hilelere karşı). 2-30, 0.5’lik adımlar. | m | 6 |
| Position check | Sahibi doğru yerde uyansın diye server’ın taşınan ve araçtaki bedenlerin yerini ne sıklıkla güncellediği. 1-60. | sn | 5 |
| Debug messages | Script’in yaptıklarını server ve client konsollarına yazar. | açık / kapalı | kapalı |
Sekme: Animations
Uyuyan bedenlerin uzanma pozları ve taşıma animasyonu. Her animasyon bir Animation dictionary, bir Animation name ve Animation flags değeridir (GTA animasyon bayrakları, 0-65535: 1 döngü yapar, 49 yürürken üst vücutta döngü yapar, 33 bağlıyken döngü yapar).
| Kart | Neyi değiştirir | Varsayılan |
|---|---|---|
| Lying poses | Her beden bunlardan birini rastgele seçer; her oyuncu aynı pozu görür. En fazla 20. | amb@world_human_bum_slumped@male@laying_on_left_side@idle_a / idle_b, bayrak 1 |
| Carrying player | Bedeni taşıyan oyuncunun animasyonu. | missfinale_c2mcs_1 / fin_c2_mcs_1_camman, bayrak 49 |
| Carried body | Taşıyanın omzundaki bedenin animasyonu. | nm / firemans_carry, bayrak 33 |
Carry position: taşınan bedenin taşıyanın üzerinde nerede durduğu.
| Ayar | Neyi değiştirir | Birim | Varsayılan |
|---|---|---|---|
| Bone index | Bedenin bağlandığı, taşıyanın kemik indeksi (0 = ped’in kökü). | 0 | |
| Offset right | -5 ile 5 arası, 0.01’lik adımlar. | m | 0.2 |
| Offset forward | -5 ile 5 arası. | m | 0.15 |
| Offset up | -5 ile 5 arası. | m | 0.63 |
| Rotation X | -360 ile 360 arası, 0.5’lik adımlar. | ° | 0.5 |
| Rotation Y | -360 ile 360 arası. | ° | 0.5 |
| Rotation Z | -360 ile 360 arası. | ° | 5 |
Sekme: Hidden areas
İç mekânlar ya da güvenli bölgeler gibi hiçbir uyuyan bedenin gösterilmediği yerler. Alan başına bir kayıt (New area / Delete area). Bir alanı silmek içindeki uyuyan bedenleri tekrar görünür yapar. Hazır gelen yoktur.
Area: içeride çıkış yapan oyuncular beden bırakmaz; içeri bırakılan bedenler gizlenir (sahibi yine de orada uyanır).
| Ayar | Neyi değiştirir | Birim | Yeni için varsayılan |
|---|---|---|---|
| Name | Alanın adı. | ||
| Shape | Ball, Cylinder ya da Polygon: bir merkez noktasının etrafında bir küre ya da silindir, veya köşe noktalarından bir çokgen. | Ball | |
| Centre | Alanın ortası (küre ve silindir). | nokta | |
| Radius | Merkezden kenara metre (küre ve silindir). 1-2000. | m | 25 |
| Height | Alanın yukarı ve aşağı uzandığı metre (silindir: merkezden; çokgen: en alçak ve en yüksek köşesinin ötesine). 0.5-1000. | m | 10 |
Polygon corners (sadece çokgen): sınırın her dönüşüne sırayla bir köşe ekle (serbest kamera ya da konumun); bir çokgenin en az üç, en fazla 64 köşesi olur. Bu alan ekrandayken şekil dünyada çizilir.
Komutlar
| Komut | Argümanlar | Kim | Ne yapar |
|---|---|---|---|
/exitsleeptest | yok | Adminler (ai.admin) | Kendi uyuyan bedenini aç / kapat (test): durduğun yerde bir beden oluşturur ya da kaldırır. |
Tuşlar
| Varsayılan tuş | Ne yapar |
|---|---|
| X | Taşıdığın uyuyan oyuncuyu yere bırak |
Bilinen sınırlar
- Bedenler sadece ortak dünyada var olur: instance’lı bir iç mekânın içinde taşınan beden dışarıdaki son konumuna bırakılır.
- Sunucu yeniden başladıktan sonra her beden son kaydedilen konumunda yerde yatar (taşınma ve oturma durumları korunmaz).
- Taşıyanı ya da aracı kaybolduktan birkaç saniye içinde uyanan bir oyuncu son kaydedilen noktada doğabilir (Position check aralığı).