30 12
發新話題
打印

修改藥包問題((尋求插件))

[Close]

修改藥包問題((尋求插件))

// update fixed item spawn counts to handle 8 players
        // These only update item spawns found in starting area/saferooms
        UpdateEntCount("weapon_pumpshotgun_spawn","12"); // defaults 4/5
        UpdateEntCount("weapon_smg_spawn", "127"); // defaults 4/5
        UpdateEntCount("weapon_rifle_spawn", "12"); // defaults 4/5
        UpdateEntCount("weapon_hunting_rifle_spawn", "12"); // default 4/5
        UpdateEntCount("weapon_autoshotgun_spawn", "12"); // default 4/5
        UpdateEntCount("weapon_first_aid_kit_spawn", "8"); // default 1
我想要藥包變成藥罐 跟沒有電擊器的插件

[ 本帖最後由 風行天 於 2011-2-25 10:19 編輯 ]

TOP

doubleitems個sp檔黎?
如果係doubleitems黎
就冇得改
要另外寫插件

TOP

是SP黨 如果是要另外寫插件的話 是要怎麼寫啊??
l4d2_mult-items_for_lxd 我是用這個黨

TOP

藥包取代方法:
先用FindEntityByClassname搵出藥包既ent
之後有2個方法
1. 將呢個ent 既classname改做 pills既
2. 先以呢個ent用GetEntPropVector搵出ent既position
    跟住remove呢個ent,再於之前搵出既position重新DispatchSpawn番個pills出黎

至於電擊器消滅方法:
我直接copy以前寫出黎既copy比你好了
        new ent = -1;
        new prev = 0;
        while ((ent = FindEntityByClassname(ent, "weapon_defibrillator_spawn")) != -1)
        {
                if (prev) RemoveEdict(prev);
                prev = ent;
        }
        if (prev) RemoveEdict(prev);
       
        ent = -1;
        prev = 0;
        while ((ent = FindEntityByClassname(ent, "weapon_defibrillator")) != -1)
        {
                if (prev) RemoveEdict(prev);
                prev = ent;
        }
        if (prev) RemoveEdict(prev);


希望幫到你吧, 好耐冇掂過寫code了, 你努力吧

TOP

可以直接轉成SMX黨給我嗎= =

我看不懂怎麼用欸-0.-

TOP

身上冇notepad冋sourcemod
亂打
複製內容到剪貼板
代碼:

#include <sourcemod>
public OnPluginStart()
{
HookEvent("round_start", Event_RoundStart);
}
public Action:Event_RoundStart(Handle:event, const String:name[], bool:dontBroadcast)
{
new ent = -1;
        new prev = 0;
        while ((ent = FindEntityByClassname(ent, "weapon_defibrillator_spawn")) != -1)
        {
                if (prev) RemoveEdict(prev);
                prev = ent;
        }
        if (prev) RemoveEdict(prev);
        
        ent = -1;
        prev = 0;
        while ((ent = FindEntityByClassname(ent, "weapon_defibrillator")) != -1)
        {
                if (prev) RemoveEdict(prev);
                prev = ent;
        }
        if (prev) RemoveEdict(prev);
  
    new EntCount = GetEntityCount();
    new String:EdictName[128];
    for (new i = 0; i <= EntCount; i++)
    {
        if (IsValidEntity(i))
        {
            GetEdictClassname(i, EdictName, sizeof(EdictName));
            if (StrContains(EdictName, "weapon_first_aid_kit_spawn", false) != -1)
            {
    new Float:pos[3];
    GetEntPropVector(i, Prop_Send, "m_vecOrigin", pos);
                RemoveEdict(i);
    new pills = CreateEntityByName("weapon_pills_spawn");
    TeleportEntity(pills,pos,NULL_VECTOR,NULL_VECTOR);
    DispatchSpawn(pills);
                continue;
            }
        }
    }  
  
}

TOP

程式碼有錯欸

程式碼有錯欸程式碼有錯欸程式碼有錯欸

TOP

應該少左句#include <sdktools>
複製內容到剪貼板
代碼:
test.sp(9) : warning 217: loose indentation
test.sp(10) : error 017: undefined symbol "FindEntityByClassname"
test.sp(19) : error 017: undefined symbol "FindEntityByClassname"
test.sp(26) : warning 217: loose indentation
test.sp(37) : warning 217: loose indentation
test.sp(38) : warning 217: loose indentation
test.sp(38) : error 017: undefined symbol "CreateEntityByName"
test.sp(39) : error 017: undefined symbol "TeleportEntity"
test.sp(40) : error 017: undefined symbol "DispatchSpawn"
test.sp(41) : warning 217: loose indentation
test.sp(38) : warning 204: symbol is assigned a value that is never used: "pills"

5 Errors.

TOP

程式碼是沒錯了 但是還是有補包阿ˊˋ

TOP

我錯了=_=
weapon_first_aid_kit_spawn改做weapon_first_aid_kit

TOP

改那句之後 就變成程式碼有錯誤了= =

TOP

有咩錯COPY睇睇

TOP

不然你重新COPY一次給我.....

TOP

複製內容到剪貼板
代碼:
#include <sourcemod>
#include <sdktools>
public OnPluginStart()
{
HookEvent("round_start", Event_RoundStart);
}
public Action:Event_RoundStart(Handle:event, const String:name[], bool:dontBroadcast)
{
new ent = -1;
        new prev = 0;
        while ((ent = FindEntityByClassname(ent, "weapon_defibrillator_spawn")) != -1)
        {
                if (prev) RemoveEdict(prev);
                prev = ent;
        }
        if (prev) RemoveEdict(prev);
        
        ent = -1;
        prev = 0;
        while ((ent = FindEntityByClassname(ent, "weapon_defibrillator")) != -1)
        {
                if (prev) RemoveEdict(prev);
                prev = ent;
        }
        if (prev) RemoveEdict(prev);
  
    new EntCount = GetEntityCount();
    new String:EdictName[128];
    for (new i = 0; i <= EntCount; i++)
    {
        if (IsValidEntity(i))
        {
            GetEdictClassname(i, EdictName, sizeof(EdictName));
            if (StrContains(EdictName, "weapon_first_aid_kit", false) != -1)
            {
    new Float:pos[3];
    GetEntPropVector(i, Prop_Send, "m_vecOrigin", pos);
                RemoveEdict(i);
    new pills = CreateEntityByName("weapon_pills_spawn");
    TeleportEntity(pills,pos,NULL_VECTOR,NULL_VECTOR);
    DispatchSpawn(pills);
                continue;
            }
        }
    }  
  
}

TOP

用參數仲好
L4D: 乂囧乂
L4D2: 乂囧乂

TOP

 30 12
發新話題