그래서 나는 다람쥐에서 잠시 머물고있는 문제가 있습니다. 나는 예를 들어 배열 안에 모든 것을 통과 뭔가 만들려면 :빈 슬롯을 배열로 찾아서 사용하기
local array = [1, 2, 3, -1, 5, -1, 7, -1];
을하고 (나는 그들 중 하나, 먼저 오는 하나를 사용하려면, -1 된 것을 찾아하는 이 경우는 3과 5 사이입니다.) 누군가가 특정 오브젝트를 파괴 할 때 내 스크립트에서
, 그것은 그렇지 않으면 그냥 오류를 통해 해당 개체를 사용하려고 할 때 때문에, -1 대신에 일정한 수의 ID를 객체가 설정합니다. 내가이 일을 잘 설명하는지 잘 모르겠다. 플레이어가 특정 게임 서버에 연결할 때또 다른 예입니다, 그래서 우리는 연결 ID 0, 1, 3, 4 플레이어, 그래서 다음 플레이어가 연결되면 그들은 난 후 일을있는 ID 2를 얻을 수 배열로 나는 몇 가지, 그것은 가장 가까운 유일한 방법을 시도
은 이것이다 :for(local i=1; i < Array.len(); i++){
if(Array[i].id != -1){
count++;
} else {
count = i;
}
}
그러나 이것은 하나의 문제는 마지막 ID를 받아 그것을 대체하는, 그래서 우리는 객체 0을 가지고있다 , 1, 2, 3 3을 파괴하고 새로운 것을 만들면 문제 없습니다. 만약 내가 0, 1, 2 중 하나를 파괴하고 새로운 것을 만들면 그 슬롯을 차지하지 않을 것이고, 그 대신 4 번을 선택하면 작동하지 않습니다.
읽어 주셔서 감사합니다. 희망에 따라 도움을받을 수있는 사람이 있습니다.
는이 같은 문제를 가진 다른 사람을 위해 정말 간단이 내가 한 것입니다. 따라 가면 정말 까다로울 수 있습니다.
내가 한 것은 "휴식"을 추가 한 것입니다. 아래의 else 문에서, 코드 :
for(local i=1; i < Array.len(); i++){
if(Array[i].id != -1){
count++;
} else {
count = i;
break; // THIS
}
}
예, 나는 documentation에서 ... 나중에 머리에
제대로 해결로 질문을 표시하는 데 동의하는 응답으로 솔루션을 넣습니다. – Nakilon