---
title: "NPC_IsValid | open.mp"
description: "检查 NPC ID 是否有效。"
canonical: https://omp.itsneufox.com/zh-CN/docs/scripting/functions/NPC_IsValid
language: zh-CN
---

# NPC\_IsValid

注意

这个函数是在omp v1.5.8.3079中添加的，在以前的版本中不起作用！

## 描述

检查 NPC ID 是否有效且 NPC 存在。

| 参数 | 说明 |
| --- | --- |
| npcid | 要检查的 NPC ID。 |

## 返回值

如果 NPC 有效则返回`true`，否则返回`false`。

## 示例

```c
public OnPlayerCommandText(playerid, cmdtext[])
{
   if (!strcmp(cmdtext, "/checkvalid", true))
    {
        new npcid = PlayerNPC[playerid];
        if (npcid == INVALID_NPC_ID)
            return SendClientMessage(playerid, 0xFF0000FF, "你没有在调试NPC。");

        new bool:isValid = NPC_IsValid(npcid);

        SendClientMessage(playerid, 0x00FF00FF, "NPC %d 是否有效: %s", npcid, isValid ? "是" : "否");
        return 1;
    }
    return 0;
}
```

## 注意事项

技巧

-   在对 NPC 执行操作前始终检查其是否有效。这可以防止运行时错误和崩溃。
-   在遍历潜在 NPC ID 的循环中使用此函数。

备注

NPC 被销毁后会变为无效。

## 相关函数

-   [NPC\_Create](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/NPC_Create): 创建新 NPC。
-   [NPC\_Destroy](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/NPC_Destroy): 销毁 NPC。
-   [NPC\_GetAll](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/NPC_GetAll): 获取所有有效的 NPC ID。
-   [NPC\_IsDead](https://omp.itsneufox.com/zh-CN/docs/scripting/functions/NPC_IsDead): 检查 NPC 是否死亡。
