Z racji tego, ze przejąłem mod Tower Defense mam do was kilka pytań.
0. Lepszy engine czy fakemeta w zarządzaniu entami ?
1. Lepsze jest tworzenie entow przy plugin_precache a potem edytowanie ich właściwości, czy tak jak jest teraz czyli tworzenie, usuwanie, tworzenie, usuwanie..
2. Jak najlepiej nadać niewidzialność entowi ? set_rendering, set_ent_rendering czy set_entity_visiblity ?
3.
public fwAddToFullPack(es_handle, e, ENT, HOST, hostflags, player, set) {
if(player || !is_user_connected(HOST) || !is_user_alive(HOST) || !is_valid_ent(ENT))
return FMRES_IGNORED;
if(td_is_ranger(ENT) && entity_get_int(ENT, EV_INT_ranger_status)) {
if(entity_get_edict(ENT, EV_ENT_turret_owner) == HOST) {
set_es(es_handle, ES_RenderMode, kRenderTransAdd)
set_es(es_handle, ES_RenderAmt, 255)
}
else {
set_es(es_handle, ES_RenderMode, kRenderTransAdd)
set_es(es_handle, ES_RenderAmt, 0)
}
}
else if(td_is_ammobar(ENT)) {
for(new i ; i < MAX_PLAYER_TURRET ; i++) {
if(is_valid_ent( entity_get_edict(gPlayerTurretEnt[HOST][i], EV_ENT_turret_ammobar)))
entity_set_float( entity_get_edict(gPlayerTurretEnt[HOST][i], EV_ENT_turret_ammobar), EV_FL_scale, gfPlayerAmmoBarScale[HOST])
}
if(gCvarValue[TURRET_SHOW_AMMO_BAR] == 1) {
if(entity_get_edict(ENT, EV_ENT_turret_owner) == HOST) {
set_es(es_handle, ES_RenderMode, kRenderTransTexture)
set_es(es_handle, ES_RenderAmt, 255)
}
else {
set_es(es_handle, ES_RenderMode, kRenderTransTexture)
set_es(es_handle, ES_RenderAmt, 0)
}
}
}
return FMRES_IGNORED;
}
Ranger oraz ammo bar widzi każdy.. Dlaczego ? (ranger_status daje 1 jeśli ranger ma być widoczny dla WŁAŚCICIELA, 0 jeśli nie)
Użytkownik GwynBleidD edytował ten post 09.02.2015 23:25


Dodatki SourceMod



Temat jest zamknięty











