Random Respawn
Gönderilme zamanı: Çrş Eyl 13, 2017 4:24 pm
Bildiğiniz üzere Csdm de rastgele doğma var. Mapin üzerinde teleport yerleri belirliyorsunuz ve yeni doğan kişiler orada doğuyor.
Açıkçası ben buna biraz farklılık vermek istiyorum. Biraz denedim fakat sürekli yakın yerlerde doğduğumu fark ettim. Mesela dust2 mapinde sürekli t basenin biraz yakınlarında doğuyorum. Buradaki origin ayarını nasıl yapmam gerek?
@Yek'-ta @Taha Demirbaş yardım ederseniz süper olur.
+Bu arada doğduktan sonra olarak ayarladım denemek için. Default spawn da doğuyorum sonradan ışınlıyor. Sonra bunu ayarlarım.
+ Kesinlikle bugta doğdurmuyor. Bazen yukarda doğup aşağı düşüyoz.
Açıkçası ben buna biraz farklılık vermek istiyorum. Biraz denedim fakat sürekli yakın yerlerde doğduğumu fark ettim. Mesela dust2 mapinde sürekli t basenin biraz yakınlarında doğuyorum. Buradaki origin ayarını nasıl yapmam gerek?
@Yek'-ta @Taha Demirbaş yardım ederseniz süper olur.
+Bu arada doğduktan sonra olarak ayarladım denemek için. Default spawn da doğuyorum sonradan ışınlıyor. Sonra bunu ayarlarım.
+ Kesinlikle bugta doğdurmuyor. Bazen yukarda doğup aşağı düşüyoz.
Kod: Tümünü seç
#include <amxmodx>
#include <reapi>
#include <hamsandwich>
#include <fakemeta_util>
public plugin_init() {
register_plugin("Spawn", "1.0", "PurposeLess");
RegisterHookChain(RG_CBasePlayer_Spawn, "Event_DeathMsg", 1);
}
public Event_DeathMsg(victim)
{
//new victim = read_data(2);
add_a_fake(victim);
}
public add_a_fake(id)
{
new entity = fm_create_entity("info_target");
new origin[3];
//get_user_origin(entity, origin);
origin[0] = random(999)
origin[1] = random(999)
origin[2] = random(999)
fm_set_user_origin(entity, origin);
//set_entvar(entity, var_origin, origin);
if(!Stuck(entity))
{
//ExecuteHamB(Ham_CS_RoundRespawn, id);
//set_entvar(id, var_origin, origin);
fm_set_user_origin(id, origin);
client_print(id, print_chat, "Araniyordu.");
}
else {
set_task(0.1, "add_a_fake", id);
client_print(id, print_chat, "Araniyor.");
}
}
stock bool:Stuck(id)
{
static Float:origin[3];
get_entvar(id, var_origin, origin);
engfunc(EngFunc_TraceHull, origin, origin, IGNORE_MONSTERS, get_entvar(id, var_flags) & FL_DUCKING ? HULL_HEAD : HULL_HUMAN, 0, 0);
return get_tr2(0, TR_StartSolid) ? true:false;
}