Eklenti sorunlarınız ve özel eklenti istekleriniz
Moderatör: Moderatörler
Colditz
Mesajlar: 2574 Kayıt: Çrş Ağu 23, 2017 9:17 pm
Mesaj
gönderen Colditz » Pzt Ara 21, 2020 7:50 pm
@Victores dener misin?
Kod: Tümünü seç
#include <amxmodx>
#include <reapi>
new bool:g_block[MAX_CLIENTS + 1], bool:g_block2[MAX_CLIENTS + 1];
public plugin_init() {
register_plugin("Bunny Engelle", "1.0", "Schwarper");
RegisterHookChain(RG_CBasePlayer_Jump, "@CBasePlayer_Jump_Post", .post = true);
RegisterHookChain(RG_PM_Move, "@PM_Move", .post = false);
}
@CBasePlayer_Jump_Post(const pPlayer) {
if(!g_block[pPlayer]) {
set_task(0.1, "@BlockJump", pPlayer);
}
}
@BlockJump(const pPlayer) {
g_block[pPlayer] = true;
g_block2[pPlayer] = true;
set_task(0.5, "@UnBlockJump", pPlayer);
}
@UnBlockJump(const pPlayer) {
g_block[pPlayer] = false;
}
@PM_Move(const pPlayer) {
if(get_pmove(pm_dead) || !g_block2[pPlayer]) {
return;
}
if(g_block[pPlayer]) {
set_pmove(pm_iuser3, PLAYER_PREVENT_JUMP);
}
else {
set_pmove(pm_iuser3, 0);
g_block2[pPlayer] = false;
}
}
Aconyonn
Mesajlar: 393 Kayıt: Cum Eyl 15, 2017 3:52 pm
İletişim:
Mesaj
gönderen Aconyonn » Pzt Ara 21, 2020 8:25 pm
ByBuLuT ☪ yazdı: Pzt Ara 21, 2020 7:02 pm
Her
salise bu kadar for ve kontrol ne kadar sağlıklı ?
düzenleme yaptım. Colditz bir paylaşım yapmış fakat işine yarabilecek olanlar buradan ulaşabilir.
eklenti,
Kod: Tümünü seç
#pragma semicolon 1
#include <amxmodx>
#include <reapi>
const Float:maxspeed=600.0;
new Float:g_velocity[MAX_CLIENTS+1][3],Float:g_verticvelo[MAX_CLIENTS+1],Float:g_speed[MAX_CLIENTS+1];
public plugin_init(){
register_plugin
(
.plugin_name = "Speed Check",
.version = "0.1",
.author = "Aconyonn"
);
RegisterHookChain(RG_CBasePlayer_Spawn,"@rSpawn",.post=true);
RegisterHookChain(RG_CBasePlayer_Killed,"@rKilled",.post=true);
}
public client_disconnected(id){
remove_task(id);
}
@rSpawn(const this){
set_task(2.0,"@checkspeed",this,.flags="b");
}
@rKilled(const this, pevAttacker, iGib){
#pragma unused pevAttacker,iGib
remove_task(this);
}
@checkspeed(const id){
get_entvar(id,var_velocity,g_velocity[id]);
g_verticvelo[id]=g_velocity[id][2];
g_velocity[id][2]=0.0;
g_speed[id]=vector_length(g_velocity[id]);
if(g_speed[id]>maxspeed){
client_print(id,print_center,"Ulasabilecegin max hiz degeri [%.2f] | Senin hizin: %.2f",maxspeed,g_speed[id]);
g_velocity[id][0]=g_velocity[id][0]*(maxspeed/g_speed[id]);
g_velocity[id][1]=g_velocity[id][1]*(maxspeed/g_speed[id]);
g_velocity[id][2]=g_verticvelo[id];
set_entvar(id,var_velocity,g_velocity[id]);
}
}
En son
Aconyonn tarafından Pzt Ara 21, 2020 8:46 pm tarihinde düzenlendi, toplamda 3 kere düzenlendi.
Colditz
Mesajlar: 2574 Kayıt: Çrş Ağu 23, 2017 9:17 pm
Mesaj
gönderen Colditz » Pzt Ara 21, 2020 8:30 pm
Aconyonn yazdı: Pzt Ara 21, 2020 8:25 pm
ByBuLuT ☪ yazdı: Pzt Ara 21, 2020 7:02 pm
Her
salise bu kadar for ve kontrol ne kadar sağlıklı ?
düzenleme yaptım. Colditz bir paylaşım yapmış fakat lazım olanlar buradan ulaşabilir.
eklenti
Yine dislike. Doğduğunda set_task ı başlatıp öldüğünde, disconnect çektiğinde remove_task çek.
Aconyonn
Mesajlar: 393 Kayıt: Cum Eyl 15, 2017 3:52 pm
İletişim:
Mesaj
gönderen Aconyonn » Pzt Ara 21, 2020 8:44 pm
Colditz yazdı: Pzt Ara 21, 2020 8:30 pm
Yine dislike. Doğduğunda set_task ı başlatıp öldüğünde, disconnect çektiğinde remove_task çek.
konu kirliliği yaratmaması adına en son attığımı düzenledim.
Konu Sahibi
Victores
Mesajlar: 188 Kayıt: Çrş May 27, 2020 8:58 pm
Mesaj
gönderen Victores » Pzt Ara 21, 2020 8:57 pm
Ancak müsait oldum hepinize teşekkürler şimdi deneyip döneceğim fakat şöyle göz attığımda belirli hızı engelleme pek faydalı durmadı çünkü kodunu içinde uzun zıplama var 5 snde bir geliyor turbo v.s olduğu için hızımız değişken mantık olarak makro ile bunny yapmayı engellemek amaç birazdan ikisini de deneyeceğim
Colditz
Mesajlar: 2574 Kayıt: Çrş Ağu 23, 2017 9:17 pm
Mesaj
gönderen Colditz » Pzt Ara 21, 2020 9:43 pm
Victores yazdı: Pzt Ara 21, 2020 8:57 pm
Ancak müsait oldum hepinize teşekkürler şimdi deneyip döneceğim fakat şöyle göz attığımda belirli hızı engelleme pek faydalı durmadı çünkü kodunu içinde uzun zıplama var 5 snde bir geliyor turbo v.s olduğu için hızımız değişken mantık olarak makro ile bunny yapmayı engellemek amaç birazdan ikisini de deneyeceğim
Benim attığımda hız falan kontrol etmiyor. Bir kere zıpladıktan sonra ikinci defa zıplamanı engelliyor. Yani direkt bunnyhop engelliyor.
Konu Sahibi
Victores
Mesajlar: 188 Kayıt: Çrş May 27, 2020 8:58 pm
Mesaj
gönderen Victores » Pzt Ara 21, 2020 10:54 pm
Colditz yazdı: Pzt Ara 21, 2020 9:43 pm
Victores yazdı: Pzt Ara 21, 2020 8:57 pm
Ancak müsait oldum hepinize teşekkürler şimdi deneyip döneceğim fakat şöyle göz attığımda belirli hızı engelleme pek faydalı durmadı çünkü kodunu içinde uzun zıplama var 5 snde bir geliyor turbo v.s olduğu için hızımız değişken mantık olarak makro ile bunny yapmayı engellemek amaç birazdan ikisini de deneyeceğim
Benim attığımda hız falan kontrol etmiyor. Bir kere zıpladıktan sonra ikinci defa zıplamanı engelliyor. Yani direkt bunnyhop engelliyor.
Henüz deneyemedim fakat şey yapılabilir mi 2 kez zıplamaya izin versin 3.yü engellesin 3.yü deneyince yavaşlatsın falan
Konu Sahibi
Victores
Mesajlar: 188 Kayıt: Çrş May 27, 2020 8:58 pm
Mesaj
gönderen Victores » Pzt Ara 21, 2020 11:52 pm
Colditz yazdı: Pzt Ara 21, 2020 7:50 pm
@Victores dener misin?
Kod: Tümünü seç
#include <amxmodx>
#include <reapi>
new bool:g_block[MAX_CLIENTS + 1], bool:g_block2[MAX_CLIENTS + 1];
public plugin_init() {
register_plugin("Bunny Engelle", "1.0", "Schwarper");
RegisterHookChain(RG_CBasePlayer_Jump, "@CBasePlayer_Jump_Post", .post = true);
RegisterHookChain(RG_PM_Move, "@PM_Move", .post = false);
}
@CBasePlayer_Jump_Post(const pPlayer) {
if(!g_block[pPlayer]) {
set_task(0.1, "@BlockJump", pPlayer);
}
}
@BlockJump(const pPlayer) {
g_block[pPlayer] = true;
g_block2[pPlayer] = true;
set_task(0.5, "@UnBlockJump", pPlayer);
}
@UnBlockJump(const pPlayer) {
g_block[pPlayer] = false;
}
@PM_Move(const pPlayer) {
if(get_pmove(pm_dead) || !g_block2[pPlayer]) {
return;
}
if(g_block[pPlayer]) {
set_pmove(pm_iuser3, PLAYER_PREVENT_JUMP);
}
else {
set_pmove(pm_iuser3, 0);
g_block2[pPlayer] = false;
}
}
jumpengel.sma(35) : error 017: undefined symbol "PLAYER_PREVENT_JUMP"
jumpengel.sma(35) : error 088: number of arguments does not match definition
hatalarını aldım. konunuzu inceledim ama bunların çözümünü bulamadım
Konu Sahibi
Victores
Mesajlar: 188 Kayıt: Çrş May 27, 2020 8:58 pm
Mesaj
gönderen Victores » Pzt Ara 21, 2020 11:58 pm
Aconyonn yazdı: Pzt Ara 21, 2020 6:43 pm
yaptırdığım işlem, oyuncu
6. satır daki belirlediğin hızı aşarsa, hızı orantılı olarak oyuncuyla çarptırıyor ve oyuncunun belirtilen hızı geçememesini sağlıyor.
dener misin?
Kod: Tümünü seç
#pragma semicolon 1
#include <amxmodx>
#include <reapi>
const Float:maxspeed=600.0;
new Float:g_velocity[MAX_CLIENTS+1][3],Float:g_verticvelo[MAX_CLIENTS+1],Float:g_speed[MAX_CLIENTS+1];
public plugin_init(){
register_plugin
(
.plugin_name = "Speed Check",
.version = "0.1",
.author = "Aconyonn"
);
set_task(0.1,"@check",.flags="b");
}
@check(){
for(new id=0;id<=MaxClients;id++){
if(!is_user_connected(id) || !is_user_alive(id) || is_user_bot(id)){
continue;
}
@checkspeed(id);
}
}
@checkspeed(const id){
get_entvar(id,var_velocity,g_velocity[id]);
g_verticvelo[id]=g_velocity[id][2];
g_velocity[id][2]=0.0;
g_speed[id]=vector_length(g_velocity[id]);
if(g_speed[id]>maxspeed){
client_print(id,print_center,"Ulasabilecegin max hiz degeri [%.2f] | Senin hizin: %.2f",maxspeed,g_speed[id]);
g_velocity[id][0]=g_velocity[id][0]*(maxspeed/g_speed[id]);
g_velocity[id][1]=g_velocity[id][1]*(maxspeed/g_speed[id]);
g_velocity[id][2]=g_verticvelo[id];
set_entvar(id,var_velocity,g_velocity[id]);
}
}
hocam elinize sağlık denedim dediğim gibi
hız sınırlaması olumsuz çünkü turbolu zıplayınca normal şartlarda hızımız 800lere çıkıyor. yavaşlatması güzel ama hız yerine
en fazla 2 defa zıplayabilsek 3. zıplayış için aradan 0.5sn gibi bir süre geçmesi gerekse ya da arka arkaya 3 defa zıplamaya çalışınca yavaşlatsa bizi
omertas14544
Mesajlar: 1604 Kayıt: Prş Oca 26, 2017 3:23 pm
Mesaj
gönderen omertas14544 » Sal Ara 22, 2020 12:48 am
Siz oyuncunun maksimum 3 defa mı zıplamasını istiyorsunuz? Peki bu sınırı geçince ne olacak? Aniden duracak mı?