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 |
|
| |