Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

No Fall Dmg z określoną wysokością upadku


  • Zamknięty Temat jest zamknięty
Brak odpowiedzi do tego tematu

#1 kierofnica

    Banned

  • Zbanowany

Reputacja: 0
Nowy

  • Postów:5
  • Lokalizacja:mexyk
Offline

Napisano 05.08.2013 20:04

Tak więc szukam pluginu, który blokuje obrazenia upadku z wysokości, ale zalezy mi zeby mozna bylo określic smiertelna wysokość upadk. Na necie udało mi się tylko coś takiego znaleźć lecz nie da sie tego nawet skompilować.

 

 

/ max fall height implementation and reconnect runtime error fix

#include <amxmodx>
#include <engine>

#define FALL_VELOCITY 350.0
#define MAX_FALL_HEIGHT 250 // player would get hurt if he falled over greater height

new g_start_falling_height[33]
new bool:g_height_reached[33];

public plugin_init() {
  register_plugin("No fall damage", "0.1", "v3x");
  if(!cvar_exists("mp_falldamage")) {
    register_cvar("mp_falldamage", "0");
  }
}

new bool:falling[33];

public client_PreThink(id) {
  if(get_cvar_num("mp_falldamage") == 0 && is_user_alive(id)) {
    if(entity_get_float(id, EV_FL_flFallVelocity) >= FALL_VELOCITY) {
      if(g_height_reached[id])
        return
      new origin[3]
      get_user_origin(id, origin)
      if(!falling[id]) {
        //server_print("DEBUG: [%d] Start falling at height [%d]", id, origin[2])
        falling[id] = true
        g_start_falling_height[id] = origin[2]
      }
      else if(g_start_falling_height[id] - origin[2] > MAX_FALL_HEIGHT) {
        /*
    server_print("DEBUG: [%d] MAX FALL HEIGHT is reached at height [%d]. Height difference [%d]",
    id, origin[2], g_start_falling_height[id] - origin[2])
        */

    falling[id] = false;
        g_height_reached[id] = true
      }
    } else {
      falling[id] = false;
      g_height_reached[id] = false
    }
  }
}

public client_PostThink(id) {
  if(get_cvar_num("mp_falldamage") == 0) {
    if(falling[id]) {
      entity_set_int(id, EV_INT_watertype, -3);
    }
  }
}

 

 

 






Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych