Добро пожаловать на форум, Гость, это ваша панель
  • Страница 1 из 1
  • 1
Как в место модели поставить спрайт?
runetov
Дата: Воскресенье, 08.07.2012, 23:24 | Сообщение # 1
офлайн

  • Сообщения: 283
  • Награды: 8
  • Замечания:
 
Как в место модели поставить спрайт?

Только не предлагаете так: precache_model("models/skeleton.spr")
Не помогает!

Code

#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fakemeta>

#define PLUGIN "DeathBones"
#define VERSION "1.1.0"
#define AUTHOR "mogel"

#define BONE_ALPHA_TASK_BASIS 1000
new pcv_deathmatch    // Deathmatch-Support
new pcv_bonestime    // anzeigen der Bones

#define ALPHA EV_INT_iuser4
#define PLAYER EV_INT_iuser3

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)

register_message(get_user_msgid("DeathMsg"), "Event_Death")
register_event("HLTV", "Event_FreezeTime", "a", "1=0", "2=0")

register_cvar("DeathBones", VERSION, FCVAR_SERVER | FCVAR_SPONLY | FCVAR_UNLOGGED)

pcv_deathmatch = register_cvar("db_deathmatch", "0")    // per default kein DM-Support
pcv_bonestime = register_cvar("db_bonestime", "30.0")    // 30 Sekunden
}
public plugin_precache() {
precache_model("models/skeleton.mdl")
}
public Event_FreezeTime() {
new players[32], count
get_players(players, count, "h")
for(new i = 0; i < count; i++)
{
new player = players[i]

// Render zurьck setzen
set_pev(player, pev_renderfx, kRenderFxNone)
set_pev(player, pev_rendercolor, 255,255,255)
set_pev(player, pev_rendermode, kRenderNormal)
set_pev(player, pev_renderamt, 0.0)
}

remove_entity_name("deathbones")
}
public Event_Death() {
new player = get_msg_arg_int(2)

new Float:bones[3]
new Float:angle[3]

entity_get_vector(player, EV_VEC_origin, bones)
entity_get_vector(player, EV_VEC_angles, angle)
bones[2] -= 32.0 // gleich nach unten setzen

// Bones erstellen
new entity = create_entity("info_target")
entity_set_string(entity, EV_SZ_classname, "deathbones")
entity_set_model(entity, "models/skeleton.mdl")
entity_set_origin(entity, bones)
entity_set_vector(entity, EV_VEC_angles, angle)

entity_set_int(entity, EV_INT_movetype, MOVETYPE_TOSS)
entity_set_int(entity, EV_INT_solid, SOLID_NOT)

// Bones erstmal unsichtbar
set_pev(entity, pev_renderfx, kRenderFxNone)
set_pev(entity, pev_rendercolor, 255,255,255)
set_pev(entity, pev_rendermode, kRenderTransAlpha)
set_pev(entity, pev_renderamt, 0.0)

// Spieler durch Bones wechseln
entity_set_int(entity, PLAYER, player)  // den Bones dem Spieler zuweisen
entity_set_int(entity, ALPHA, 0)  // aktuelles Alpha fьr die Bones
set_task(1.0, "BonesAlphaIn", entity)
}
public BonesAlphaIn(bones) {
if (!is_valid_ent(bones)) return

new alpha = entity_get_int(bones, ALPHA) + 1
new player = entity_get_int(bones, PLAYER)

// Spieler ausblenden, aber nur wenn kein DM-Modus
if ((is_valid_ent(player)) && !get_pcvar_num(pcv_deathmatch))
{
set_pev(player, pev_renderfx, kRenderFxNone)
set_pev(player, pev_rendercolor, 255,255,255)
set_pev(player, pev_rendermode, kRenderTransAlpha)
set_pev(player, pev_renderamt, float(256 - alpha * 16))
}

if (is_valid_ent(bones))
{
set_pev(bones, pev_renderfx, kRenderFxNone)
set_pev(bones, pev_rendercolor, 255,255,255)
set_pev(bones, pev_rendermode, kRenderTransAlpha)
set_pev(bones, pev_renderamt, float(alpha * 16 - 1))
}

// neuen Alpha-Wert merken
entity_set_int(bones, ALPHA, alpha)

// jetzt entscheiden .. .weiter Alpha oder liegen lassen
if (alpha >= 16)
{
// wenn kein DM dann Spieler jetzt nach unten setzen
if (!get_pcvar_num(pcv_deathmatch))
{
// Bones werden am Rundenanfng automatisch gelцscht
PlayerMove(player)
} else
{
// im DM-Modus nach X Sekunden wieder ausblenden
set_task(get_pcvar_float(pcv_bonestime), "BonesAlphaOut", bones)
}
} else
{
set_task(0.1, "BonesAlphaIn", bones)
}
}
public BonesAlphaOut(bones) {
if (!is_valid_ent(bones)) return

new alpha = entity_get_int(bones, ALPHA) - 1

if (is_valid_ent(bones))
{
set_pev(bones, pev_renderfx, kRenderFxNone)
set_pev(bones, pev_rendercolor, 255,255,255)
set_pev(bones, pev_rendermode, kRenderTransAlpha)
set_pev(bones, pev_renderamt, float(alpha * 16 - 1))
}

// neuen Alpha-Wert merken
entity_set_int(bones, ALPHA, alpha)

// jetzt entscheiden .. .weiter Alpha oder killen
if (alpha)
{
set_task(0.1, "BonesAlphaOut", bones)
} else
{
remove_entity(bones)
}
}
public PlayerMove(player) {
new Float:pos[3]
entity_get_vector(player, EV_VEC_origin, pos)
pos[2] -= 2000.0
entity_set_vector(player, EV_VEC_origin, pos)
}


 
Sasha13840
Дата: Понедельник, 09.07.2012, 03:30 | Сообщение # 2
офлайн

  • Сообщения: 384
  • Награды: 7
  • Замечания:
 
Quote (runetov)
Только не предлагаете так: precache_model("models/skeleton.spr")

Правильно,ведь в папке с моделями не может спрайт лежать :)
 
kica
Дата: Понедельник, 09.07.2012, 03:53 | Сообщение # 3
офлайн

  • Сообщения: 216
  • Награды: 3
  • Замечания:
 
ок, не буду
precache_sprites("sprites/skeleton.spr")


Сообщение отредактировал kica - Понедельник, 09.07.2012, 03:53
 
runetov
Дата: Понедельник, 09.07.2012, 07:33 | Сообщение # 4
офлайн

  • Сообщения: 283
  • Награды: 8
  • Замечания:
 
kica, Sasha13840, Я просто предложил, skeleton.mdl это модель я написал так skeleton.spr чтобы понятней было что я хочу подстроить под спрайт я думал вы поймете :) .

я так precache_sprites("sprites/skeleton.spr") уже пробовал и не один рас. Не получается так.

В итоге выходит черный прямоугольник ты в ней заходишь и ты оказываешься под картой.




Сообщение отредактировал runetov - Понедельник, 09.07.2012, 07:34
 
  • Страница 1 из 1
  • 1
Поиск: