Как сделать проверку на оружие
|
|
MeDestroyer
|
Дата: Среда, 25.03.2015, 19:37:16 | Сообщение # 1 |
|
Сообщений: 55
Репутация: -1 [ +/- ]
|
|
Мне нужно сделать если у игрока нет оружия(даже ножа), то можно было выполнить какое-то действие
|
|
| |
_R1KO_
|
Дата: Среда, 25.03.2015, 22:01:38 | Сообщение # 2 |
|
Сообщений: 200
Репутация: 30 [ +/- ]
|
|
Цикл по всему оружию, в нем проверка валидности оружия на слоте. Если оно валидно - break; Если нет - > проверять дальше. В конце уже выполнить действие
|
|
| |
«SeReGa»☆
|
Дата: Среда, 25.03.2015, 22:27:10 | Сообщение # 3 |
|
Сообщений: 395
Репутация: 37 [ +/- ]
|
|
Dell..
Сообщение отредактировал «SeReGa»☆ - Среда, 25.03.2015, 22:27:46 |
|
| |
MeDestroyer
|
Дата: Среда, 25.03.2015, 22:48:10 | Сообщение # 4 |
|
Сообщений: 55
Репутация: -1 [ +/- ]
|
|
Цитата _R1KO_ ( ) Цикл по всему оружию, в нем проверка валидности оружия на слоте. Если оно валидно - break; Если нет - > проверять дальше. В конце уже выполнить действие Как такое сделать?
|
|
| |
«SeReGa»☆
|
Дата: Четверг, 26.03.2015, 10:45:06 | Сообщение # 5 |
|
Сообщений: 395
Репутация: 37 [ +/- ]
|
|
что то Подобное стряпал! Код if(SLOT_PRIMARY(client)&&SLOT_SECONDARY(client)&&SLOT_KNIFE(client)) { //Есть } else { //нет } Код bool:SLOT_PRIMARY(client) { if (GetPlayerWeaponSlot(client, 0) = -1) { return false; } else { return true; } }
bool:SLOT_SECONDARY(client) { if (GetPlayerWeaponSlot(client, 1) = -1) { return false; } else { return true; } } bool:SLOT_KNIFE(client) { if (GetPlayerWeaponSlot(client, 2) = -1) { return false; } else { return true; } }
pS Неуверен( будет ли работать!).
Сообщение отредактировал «SeReGa»☆ - Четверг, 26.03.2015, 11:00:28 |
|
| |
Nahal
|
Дата: Четверг, 26.03.2015, 11:01:49 | Сообщение # 6 |
|
Сообщений: 205
Репутация: 8 [ +/- ]
|
|
Код bool:(SLOT_PRIMARY(client)&&SLOT_SECONDARY(client)&&SLOT_KNIFE(client)) { if (GetPlayerWeaponSlot(client, 0) = -1) { return false; } else { return true; } }
bool:SLOT_SECONDARY(client) { if (GetPlayerWeaponSlot(client, 1) = -1) { return false; } else { return true; } } bool:SLOT_KNIFE(client) { if (GetPlayerWeaponSlot(client, 2) = -1) { return false; } else { return true; } }
Так разьве нельзя?
Сообщение отредактировал Nahal - Четверг, 26.03.2015, 11:02:49 |
|
| |
Scarface_slv
|
Дата: Четверг, 26.03.2015, 12:58:44 | Сообщение # 7 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
Не проще так вообще? Код bool:CheckWeapons(client) { for(new i = 0; i < 5; i++) if(GetPlayerWeaponSlot(client, i) != -1) return false; return true; }
|
|
| |
«SeReGa»☆
|
Дата: Четверг, 26.03.2015, 13:09:24 | Сообщение # 8 |
|
Сообщений: 395
Репутация: 37 [ +/- ]
|
|
Scarface_slv, А вдруг CheckWeapons(client)= false? а проверен только GetPlayerWeaponSlot(client, 0)! а как же быть с остальным? \
GetPlayerWeaponSlot(client, 1) получается в 1 правда а во всех остальных нет но это будет уже не важно!
Сообщение отредактировал «SeReGa»☆ - Четверг, 26.03.2015, 13:09:59 |
|
| |
Scarface_slv
|
Дата: Четверг, 26.03.2015, 13:39:57 | Сообщение # 9 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
Цикл for ищет по всем слотам от 0 до 4 оружие - вернет false(если у игрока есть какое либо оружие) Если не найдет в цикле то вернет true(у игрока нет оружий) Короче не умею я объяснять, лучше проверь на деле и убедись)
|
|
| |
«SeReGa»☆
|
Дата: Четверг, 26.03.2015, 14:11:32 | Сообщение # 10 |
|
Сообщений: 395
Репутация: 37 [ +/- ]
|
|
Уговорил))
|
|
| |