Alıntı akcaliberkk Nickli Üyeden Alıntı Mesajı göster
Şunu fark ettim. Eklenti bozuk çıktı. Basebuilder eklentisindeki bir ayar kapının koordinatlarının alınmasını engelliyor. Kapının koordinatlarını almaya çalıştığınızda 0,0,0 veriyor. Yani 0,0,0 koordinatlarına yakın olan taşları siliyor şuan var olan eklenti. Şans eseri 0,0,0 koordinatı kapıya yakın ise işe yarıyor. Ama sadece sayılı maplerde işe yarar yani.

Fakat isterseniz şöyle bir eklenti yapabilirim. Bir dosyaya her map için kapı koordinatlarını girersiniz. O şekilde çalışır?
new Float: g_Origen[3], Float:minimos[3], Float:maximos[3] // variables flotantes

public plugin_init()
{
entity_get_vector(g_iEntBarrier, EV_VEC_mins, minimos);// obtenemos el vector minimo en la variable minimos la entidad barrier o "barrera" que es usada para los bloques
entity_get_vector(g_iEntBarrier, EV_VEC_maxs, maximos);// obtenemos el vector maximo en la variable maximos la entidad barrier o "barrera" que es usada para los bloques
g_Origen[0] = (minimos[0] + maximos[0]) / 2.0 // definimos g_origen = vector minimo + vector maximo (origen 1)
g_Origen[1] = (minimos[1] + maximos[1]) / 2.0 // definimos g_origen = vector minimo + vector maximo (origen 2)
g_Origen[2] = (minimos[2] + maximos[2]) / 2.0 // definimos g_origen = vector minimo + vector maximo (origen 3)
}

public cmdStopEnt(id)
{

set_pev(ent,pev_rendermode,kRenderNormal) // debajo de esta linea colocan lo siguiente

new entidad = -1
while( ( entidad = engfunc( EngFunc_FindEntityInSphere, entidad, g_Origen, 200.0 ) ) != 0 ) // definimos si la entidad bloque esta dentro de los parametros de g_Origin y lo chequeamos (corrijanme si me equivoco)
{ // si se cumple el chequeo osea el bloque esta dentro de los parametros de g_Origin procede a mandar un print de aviso y devolver la piesa a donde la saco
if (entidad == ent) // si entity que es lo que esta en el while es igual a g_iOwnedEnt
{
client_print(id, print_center, "[bb] Porfavor no tapes la zona de respawn para zombies !!!") // print de aviso
engfunc( EngFunc_SetOrigin, entidad, Float:{ 0.0, 0.0, 0.0 } ); // terminamos la funcion seteando el origen en 0.0 (de donde saco el bloque)
}
}

}

- - - - - - - - - -

Alıntı akcaliberkk Nickli Üyeden Alıntı Mesajı göster
Şunu fark ettim. Eklenti bozuk çıktı. Basebuilder eklentisindeki bir ayar kapının koordinatlarının alınmasını engelliyor. Kapının koordinatlarını almaya çalıştığınızda 0,0,0 veriyor. Yani 0,0,0 koordinatlarına yakın olan taşları siliyor şuan var olan eklenti. Şans eseri 0,0,0 koordinatı kapıya yakın ise işe yarıyor. Ama sadece sayılı maplerde işe yarar yani.

Fakat isterseniz şöyle bir eklenti yapabilirim. Bir dosyaya her map için kapı koordinatlarını girersiniz. O şekilde çalışır?
new Float: g_Origen[3], Float:minimos[3], Float:maximos[3] // variables flotantes

public plugin_init()
{
entity_get_vector(g_iEntBarrier, EV_VEC_mins, minimos);// obtenemos el vector minimo en la variable minimos la entidad barrier o "barrera" que es usada para los bloques
entity_get_vector(g_iEntBarrier, EV_VEC_maxs, maximos);// obtenemos el vector maximo en la variable maximos la entidad barrier o "barrera" que es usada para los bloques
g_Origen[0] = (minimos[0] + maximos[0]) / 2.0 // definimos g_origen = vector minimo + vector maximo (origen 1)
g_Origen[1] = (minimos[1] + maximos[1]) / 2.0 // definimos g_origen = vector minimo + vector maximo (origen 2)
g_Origen[2] = (minimos[2] + maximos[2]) / 2.0 // definimos g_origen = vector minimo + vector maximo (origen 3)
}

public cmdStopEnt(id)
{

set_pev(ent,pev_rendermode,kRenderNormal) // debajo de esta linea colocan lo siguiente

new entidad = -1
while( ( entidad = engfunc( EngFunc_FindEntityInSphere, entidad, g_Origen, 200.0 ) ) != 0 ) // definimos si la entidad bloque esta dentro de los parametros de g_Origin y lo chequeamos (corrijanme si me equivoco)
{ // si se cumple el chequeo osea el bloque esta dentro de los parametros de g_Origin procede a mandar un print de aviso y devolver la piesa a donde la saco
if (entidad == ent) // si entity que es lo que esta en el while es igual a g_iOwnedEnt
{
client_print(id, print_center, "[bb] Porfavor no tapes la zona de respawn para zombies !!!") // print de aviso
engfunc( EngFunc_SetOrigin, entidad, Float:{ 0.0, 0.0, 0.0 } ); // terminamos la funcion seteando el origen en 0.0 (de donde saco el bloque)
}
}

}