Некорректно работает, помогите..
#1

PHP код:
enum BARRIER
{
    
barrierID,
    
barrierObject,
    
barrierModel,
    
barrierStatus,
    
barrierFraction,
    
Float:barrierOpenedX,
    
Float:barrierOpenedY,
    
Float:barrierOpenedZ,
    
Float:barrierOpenedRotX,
    
Float:barrierOpenedRotY,
    
Float:barrierOpenedRotZ,
    
Float:barrierClosedX,
    
Float:barrierClosedY,
    
Float:barrierClosedZ,
    
Float:barrierClosedRotX,
    
Float:barrierClosedRotY,
    
Float:barrierClosedRotZ
}
new 
gInfo[MAX_GATES][BARRIER] = {
    {
1INVALID_OBJECT_ID968031544.69995117, -1630.8000488313.100000380.00000000270.00000000270.000000001544.69921875, -1630.7998046913.100000380.000000000.00000000270.00000000}, // LSPD
    
{2INVALID_OBJECT_ID96804, -1572.1890658.79036.83670.0000000090.0000000090.18000000, -1572.1890658.79036.83670.000000000.0000000090.18000000}, // SFPD
    
{3INVALID_OBJECT_ID968052238.18512450.358410.66000.0000000090.0000000089.760000002238.18512450.358410.66000.000000000.0000000089.76000000}, // LVPD
    
{4INVALID_OBJECT_ID96802, -2436.8767495.446429.72090.0000000090.0000000024.96000000, -2436.8767495.446429.72090.000000000.0000000024.96000000// FBI
}; 
PHP код:
CMD:openbarrier(playeridparams[])
{
    if(!
PI[playerid][Login]) return true;
    for(new 
0MAX_GATES; ++i)
    {
        if(
PI[playerid][Member] == gInfo[i][barrierFraction] && PlayerToPoint(7.0playeridgInfo[i][barrierClosedX], gInfo[i][barrierClosedY], gInfo[i][barrierClosedZ])) return true;
        if(
gInfo[i][barrierStatus] != 1) return SendClientMessage(playeridCOLOR_WHITE"Îøèáêà: Âîðîòà óæå îòêðûòû.");
        
MoveObject(gInfo[i][barrierID], gInfo[i][barrierClosedX], gInfo[i][barrierClosedY], gInfo[i][barrierClosedZ] + 0.0040.004gInfo[i][barrierClosedRotX], gInfo[i][barrierClosedRotY], gInfo[i][barrierClosedRotZ]);
        
SendClientMessage(playeridCOLOR_YELLOW"Âîðîòà îòêðûòû íà 10 ñåêóíä, ïðîåçæàéòå.");
        
SetTimerEx("CloseBarrier"10000false"i"i);
        
gInfo[i][barrierStatus] = 1;
    }
    return 
true;
}
forward CloseBarrier(id);
public 
CloseBarrier(id)
{
    
MoveObject(gInfo[id][barrierID], gInfo[id][barrierOpenedX], gInfo[id][barrierOpenedY], gInfo[id][barrierOpenedZ] - 0.0040.004gInfo[id][barrierOpenedRotX], gInfo[id][barrierOpenedRotY], gInfo[id][barrierOpenedRotZ]);
    
gInfo[id][barrierStatus] = 0;
    return 
true;

Вообщем я решил сделать глобальные шлагбаумы и накосячил, не знаю как исправить .
Reply
#2

PlayerToPoint - нет, подождите, вы серьезно?
Reply
#3

Quote:
Originally Posted by eakwarp
Посмотреть сообщение
PlayerToPoint - нет, подождите, вы серьезно?
Я не особо профессионал просвети.
Reply
#4

Quote:
Originally Posted by SanDev
Посмотреть сообщение
Я не особо профессионал просвети.
Здесь не нужно быть профессионалом.
PlayerToPoint - очень медленная скриптовая функция написанная в незапамятные времена для Pen/GF. Взамен давно появилась быстрая нативная - IsPlayerInRangeOfPoint.
Reply
#5

Quote:
Originally Posted by eakwarp
Посмотреть сообщение
Здесь не нужно быть профессионалом.
PlayerToPoint - очень медленная скриптовая функция написанная в незапамятные времена для Pen/GF. Взамен давно появилась быстрая нативная - IsPlayerInRangeOfPoint.
Ладно я догадался об этом уже, но мне скорость не особо важна. Было бы лучше если бы ты указал на ошибки...
Reply
#6

Ты устанавливаешь значение для gInfo[id][barrierID] прямо при создании массива, а нужно при создании объекта.
Reply
#7

Quote:
Originally Posted by ZiGGi
Посмотреть сообщение
Ты устанавливаешь значение для gInfo[id][barrierID] прямо при создании массива, а нужно при создании объекта.
Примером можно?
Reply
#8

Quote:
Originally Posted by SanDev
Посмотреть сообщение
Примером можно?
PHP код:
gInfo[i][barrierID] = CreateObject(...); 
Reply
#9

Quote:
Originally Posted by ZiGGi
Посмотреть сообщение
PHP код:
gInfo[i][barrierID] = CreateObject(...); 
Он у меня стоит. Проблема не в создании, а в проверке..((
Reply
#10

Quote:
Originally Posted by SanDev
Посмотреть сообщение
Он у меня стоит. Проблема не в создании, а в проверке..((
Ты сразу не мог показать весь код (включая то, как ты их создаёшь) и сказать, что именно не работает?
Reply


Forum Jump:


Users browsing this thread: