Kod Düzenlemeye Yardım Edebilecek Biri

Konu

#1
plugin iceworld,poolday gibi haritalarda yerdeki silahları değiştirmeye yarıyor. Fakat degıstırılen sılahlar tek seferlık. Yani silahı alırsak sonrakı roundda sılahın yeri boş kalıyor. Bu bugu cozebılecek bırı var mı ?

Kod:
/* Sublime AMXX Editor v3.2 */

#include <amxmodx>
#include <reapi>
native get_pdata_cbase(id, offset, linuxdiff=5, macdiff=5);
native entity_set_model(iIndex, const szModel[]);
native register_touch(const Touched[], const Toucher[], const function[]);
native find_ent_by_model(iIndex, const szClass[], const szModel[]);
stock const m_rgpPlayerItems_CBasePlayer[6] = {367,368,...};
new const szWeapons[][][] = {
    {"models/w_g3sg1.mdl","models/w_ump45.mdl",100,CSW_UMP45,"weapon_ump45"},
    {"models/w_awp.mdl","models/w_famas.mdl",90,CSW_FAMAS,"weapon_famas"},
    {"models/w_scout.mdl","models/w_galil.mdl",90,CSW_GALIL,"weapon_galil"}
}
public plugin_init() {
    register_plugin("Change Model", "1.0", "PawNod")
    register_touch("armoury_entity","player","@TouchWeapon");
    RegisterHookChain(RG_CSGameRules_RestartRound,"@ModelArat",.post=false)
}
@TouchWeapon(iTouched, iToucher) {
    new szModelName[48];
    get_entvar(iTouched,var_model,szModelName,charsmax(szModelName));
    for(new i; i < sizeof(szWeapons);i++) {
        if(equali(szModelName,szWeapons[i][1][0])) {
            if(!HasUserWeaponSlot(iToucher,1)){
                rg_remove_item(iToucher, szWeapons[i][0][0]);
                rg_give_item(iToucher,szWeapons[i][4][0]);
                rg_set_user_bpammo(iToucher,WeaponIdType:szWeapons[i][3][0],szWeapons[i][2][0]);
                rg_remove_entity(iTouched);
            }
        }
    }
}
@ModelArat() {
    new entFind;
    for(new i; i < sizeof(szWeapons);i++) {
        while((entFind = find_ent_by_model(-1, "armoury_entity",szWeapons[i][0][0]))) {
            entity_set_model(entFind, szWeapons[i][1][0]);
        }
    }
}
HasUserWeaponSlot(id, slot) return get_pdata_cbase(id, m_rgpPlayerItems_CBasePlayer[slot]) > 0;
rg_remove_entity(const ent){
    if(is_entity(ent)){
        set_entvar(ent, var_flags, get_entvar(ent, var_flags) | FL_KILLME);
        set_entvar(ent,var_nextthink,get_gametime());
    }
}

#2
@PawNod'
[EKPkingTR] CS:Classic Offensive [v1] [v2] [v3] 
#3
İstek konusu, @Emperor4231 adlı kullanıcı tarafından 4 saat içinde çözülmüştür.
İsteği çözdüğü için Emperor4231 Adlı kullanıcıya 1 rep puanı ve 1 yardım etme puanı otomatik olarak verilmiştir.
Emperor4231 Adlı kullanıcı sizin dışınızda toplam 102 kişiye yardım etmiştir.

Herhangi bir konuda hata olduğunu düşünüyorsanız destek sistemi üzerinden iletişim kurabilirsiniz.

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Benzer Konular

5
Yorum
493
Okunma
09-09-2021, 23:12
7
Yorum
580
Okunma
06-09-2021, 23:45
21
Yorum
1.859
Okunma
14-07-2021, 02:28
5
Yorum
1.865
Okunma
10-07-2021, 02:17
20
Yorum
2.115
Okunma
06-07-2021, 20:50
3
Yorum
1.997
Okunma
01-07-2021, 13:46
14
Yorum
2.216
Okunma
28-06-2021, 18:10
Task
Kayıt Ol