 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
ГангZone
| |
| Spiderxxx | Дата: Среда, 09.12.2009, 12:28 | Сообщение # 1 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 250
Награды: 6
Город: VL Sity
Репутация: 56
Замечания: 0%
Статус: 
| Вот столкнулся с такой проблемой: [pwn]new seconds,tiktak; new minx, maxx, miny, maxy; forward Inarena(playerid); ..... for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerInArea(i, minx, maxx, miny, maxy)) { KillTimer(tiktak); } else { KillTimer(tiktak); seconds = 15; tiktak = SetTimer("Inarena",1000,1); } } .... public Inarena(playerid) { seconds--; if(seconds == 0) return KillTimer(tiktak); new string[256]; format(string,256, "~n~~n~~n~~n~~n~~y~Come back in: ~r~%02d",seconds); GameTextForPlayer(playerid, string,1000,3); return 1; } stock IsPlayerInArea(playerid, Float:minx1, Float:maxx1, Float:miny1, Float:maxy1) { new Float:x, Float:y, Float:z; GetPlayerPos(playerid, x, y, z); if (x > minx1 && x < maxx1 && y > miny1 && y < maxy1) return 1; return 0; }[/pwn] Вот, по идее, тут я с переменных minx, maxx, miny, maxy считываю коорды, проверяю, находится ли игрок в данной зоне, если нет, выводим таймер с геймтекстом, типа вернись обратно и отсчет 15 сек......если игрок вернулся в зону то килим таймер, если нет, то надпись просто исчезает через 15 сек..............вроде все просто, но почему-то не работает, т.е выхожу за данные коорды, но ни чего не срабатывает, кто поможет или попытается помоч, плюс обеспечен)) P.s сделал команду: [pwn]if(!strcmp(cmdtext,"/on",true,2)) { KillTimer(tiktak); seconds = 15; tiktak = SetTimer("Inarena",1000,1); return 1; } [/pwn] На проверку самого таймера: Работет отлично.....
Жизнь - огромный скрипт, написанный Богом на не известном мне языке программирования!
|
| |
|
|
| Eakwarp | Дата: Среда, 09.12.2009, 13:17 | Сообщение # 2 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 4874
Награды: 179
Город: Москва
Репутация: 2543
Замечания: 60%
Статус: 
| [pwn]forward Inarena(); new inaerabit[MAX_PLAYERS]; for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerInArea(i, minx, maxx, miny, maxy)) { inaerabit[playerid]=0; } else { inaerabit[playerid]=15; } } public Inarena() { new string[256]; for(new playerid = 0; playerid < MAX_PLAYERS; i++) { if(inaerabit[playerid]>0) { inaerabit[playerid]--; if(inaerabit[playerid] == 0) inaerabit[playerid]=0; format(string,256, "~n~~n~~n~~n~~n~~y~Come back in: ~r~%02d",inaerabit[playerid]); GameTextForPlayer(playerid, string,1000,3); } } return 1; } stock IsPlayerInArea(playerid, Float:minx1, Float:maxx1, Float:miny1, Float:maxy1) { new Float:x, Float:y, Float:z; GetPlayerPos(playerid, x, y, z); if (x > minx1 && x < maxx1 && y > miny1 && y < maxy1) return 1; return 0; } //в он гейм мод инт - SetTimer("Inarena",1000,1);[/pwn]
More than 4 years of development, more than 250,000 lines of source code, more than a hundred units and more than 3400 revisions. Valakas Roleplay - choose your role.
Valakas Roleplay on Twitter
Платные консультации, разработка, в ICQ. Дорого.
Сообщение отредактировал Eakwarp - Среда, 09.12.2009, 13:18 |
| |
|
|
| Spiderxxx | Дата: Среда, 09.12.2009, 14:00 | Сообщение # 3 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 250
Награды: 6
Город: VL Sity
Репутация: 56
Замечания: 0%
Статус: 
| Ок, сейчас попробую, если получится, с меня плюс) ------------------------------------------------------------------------ Неа, не работает.......т.е как бе появляется надпись Come back ... но отсчет виснет на 14 секундах 
Жизнь - огромный скрипт, написанный Богом на не известном мне языке программирования!
Сообщение отредактировал Spiderxxx - Среда, 09.12.2009, 14:16 |
| |
|
|
| TooZ | Дата: Пятница, 11.12.2009, 16:46 | Сообщение # 4 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 113
Награды: 4
Город: Samara
Репутация: 12
Замечания: 40%
Статус: 
| ну нельзя же быть такой растяпой [pwn]forward Inarena(); new inaerabit[MAX_PLAYERS]; for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerInArea(i, minx, maxx, miny, maxy)) { inaerabit[playerid]=0; } else { inaerabit[playerid]=15; } } public Inarena() { new string[256]; for(new playerid = 0; playerid < MAX_PLAYERS;i++) { if(inaerabit[playerid]>0) { inaerabit[playerid]--; if(inaerabit[playerid] == 0) inaerabit[playerid]=0; format(string,256, "~n~~n~~n~~n~~n~~y~Come back in: ~r~%02d",inaerabit[playerid]); GameTextForPlayer(playerid, string,1000,3); } } return 1; } stock IsPlayerInArea(playerid, Float:minx1, Float:maxx1, Float:miny1, Float:maxy1) { new Float:x, Float:y, Float:z; GetPlayerPos(playerid, x, y, z); if (x > minx1 && x < maxx1 && y > miny1 && y < maxy1) return 1; return 0; } [/pwn]
Сообщение отредактировал TooZ - Пятница, 11.12.2009, 16:47 |
| |
|
|
| Dima-kun | Дата: Пятница, 11.12.2009, 17:18 | Сообщение # 5 |
|
Группа:
Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус: 
| Quote (Eakwarp) for(new playerid = 0; playerid < MAX_PLAYERS; i++) знаток блин херов, на других говоришь... а за собой не замечаешь
Мои работы: [INC] Сборник d_includes [LAST],[FS] New Demage Effect,[FS]Авто-Поворотники, [FS]mp3player,[FS] Fun Chat Game,[FS] Car Buy Syst,[FS] Anti-AirBrk,[INC] d_setpos, [GM] Game Move v0.1,[FS+include]Super-Armour [0.3z],[FS + Include] Multi Checkpoints
|
| |
|
|
| TooZ | Дата: Пятница, 11.12.2009, 17:25 | Сообщение # 6 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 113
Награды: 4
Город: Samara
Репутация: 12
Замечания: 40%
Статус: 
| Ты не груби а сначала посмотри что я выделил и сравни с предыдущим
|
| |
|
|
| Dima-kun | Дата: Пятница, 11.12.2009, 17:28 | Сообщение # 7 |
|
Группа:
Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус: 
| new seconds[MAX_PLAYERS]; public Inarena(playerid) { for(new playerid = 0; playerid < MAX_PLAYERS; playerid++) { if(!IsPlayerInArea(playerid, minx, maxx, miny, maxy)) { seconds[playerid]--; if(seconds[playerid] == 0) return KillTimer(tiktak); new string[256]; format(string,256, "~n~~n~~n~~n~~n~~y~Come back in: ~r~%02d",seconds); GameTextForPlayer(playerid, string,1000,3); } } return 1; } а еще лучше использовать массив для хранения секунд TooZ, я ответил в его стиле
Мои работы: [INC] Сборник d_includes [LAST],[FS] New Demage Effect,[FS]Авто-Поворотники, [FS]mp3player,[FS] Fun Chat Game,[FS] Car Buy Syst,[FS] Anti-AirBrk,[INC] d_setpos, [GM] Game Move v0.1,[FS+include]Super-Armour [0.3z],[FS + Include] Multi Checkpoints
Сообщение отредактировал DizeL-ZR- - Пятница, 11.12.2009, 17:33 |
| |
|
|
| TooZ | Дата: Пятница, 11.12.2009, 17:34 | Сообщение # 8 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 113
Награды: 4
Город: Samara
Репутация: 12
Замечания: 40%
Статус: 
| ну я показал то что увидел
|
| |
|
|
| Spiderxxx | Дата: Суббота, 12.12.2009, 03:21 | Сообщение # 9 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 250
Награды: 6
Город: VL Sity
Репутация: 56
Замечания: 0%
Статус: 
| хах, ну я тож не настолько глуп и for(new playerid = 0; playerid < MAX_PLAYERS;i++) Исправил на for(new playerid = 0; playerid < MAX_PLAYERS; playerid++), прежде чем написать сюда) А так вообще, как я говорил виснет на 14 сек, я подумал, что ето может быть связано с тем что for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerInArea(i, minx, maxx, miny, maxy)) { inaerabit[playerid]=0; } else { inaerabit[playerid]=15; } } Постоянно обновляется в игре, т.е получается, когда игрок выводит за предел гангзоны, много раз inaerabit[playerid] присвается значение 15 и поетому таймер просто не идет......
Жизнь - огромный скрипт, написанный Богом на не известном мне языке программирования!
|
| |
|
|
| TooZ | Дата: Суббота, 12.12.2009, 09:58 | Сообщение # 10 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 113
Награды: 4
Город: Samara
Репутация: 12
Замечания: 40%
Статус: 
| Quote хах, ну я тож не настолько глуп [pwn]for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerInArea(i, minx, maxx, miny, maxy)) { inaerabit[playerid]=0; } else { inaerabit[playerid]=15; } } [/pwn] а это что 
Сообщение отредактировал TooZ - Суббота, 12.12.2009, 09:58 |
| |
|
|
| s3ap | Дата: Суббота, 12.12.2009, 12:19 | Сообщение # 11 |
|
Местный
Группа:
Продвинутые
Сообщений: 570
Награды: 7
Город: Саратов
Репутация: 382
Замечания: 80%
Статус: 
| for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerInArea(i, minx, maxx, miny, maxy)) { inaerabit[playerid]=0; new s=GetTickCount(); new d,g,z; inaerbit[playerid]=16; g=s+inaerbit[playerid]*1000; d=0; z=1; while(d!=g) { if(s+z*1000==GetTickCount()) { z++; inaerbit[playerid]--; format(string,256, "~n~~n~~n~~n~~n~~y~Come back in: ~r~%02d",inaerabit[playerid]); GameTextForPlayer(playerid, string,1000,3); if(inaerbit[playerid]==0) break; continue;}}}}
|
| |
|
|
| Spiderxxx | Дата: Суббота, 12.12.2009, 13:45 | Сообщение # 12 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 250
Награды: 6
Город: VL Sity
Репутация: 56
Замечания: 0%
Статус: 
| бррр, короче вот, вырезал из скрипта, компилит, но на 14 сек, таймер виснет: [pwn]new inaerabit[MAX_PLAYERS]; forward Inarena(); ...... В public OnGameModeInit() SetTimer("Inarena",1000,1); ...... for(new i = 0; i < MAX_PLAYERS; i++) { if(gPlayerSpawned[i] == 1) { TextDrawShowForPlayer(i,roundt); } if(IsPlayerInArea(i, minx, maxx, miny, maxy)) { inaerabit[i]=0; } else { inaerabit[i]=15; } } ..... public Inarena() { new string[256]; for(new playerid = 0; playerid < MAX_PLAYERS; playerid++) { if(inaerabit[playerid]>0) { inaerabit[playerid]--; if(inaerabit[playerid] == 0) inaerabit[playerid]=0; format(string,256, "~n~~n~~n~~n~~n~~y~Come back in: ~r~%02d",inaerabit[playerid]); GameTextForPlayer(playerid, string,1000,3); } } return 1; } stock IsPlayerInArea(playerid, Float:minx1, Float:maxx1, Float:miny1, Float:maxy1) { new Float:x, Float:y, Float:z; GetPlayerPos(playerid, x, y, z); if (x > minx1 && x < maxx1 && y > miny1 && y < maxy1) return 1; return 0; } .....[/pwn] Вот.... Quote for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerInArea(i, minx, maxx, miny, maxy)) { inaerabit[playerid]=0; new s=GetTickCount(); new d,g,z; inaerbit[playerid]=16; g=s+inaerbit[playerid]*1000; d=0; z=1; while(d!=g) { if(s+z*1000==GetTickCount()) { z++; inaerbit[playerid]--; format(string,256, "~n~~n~~n~~n~~n~~y~Come back in: ~r~%02d",inaerabit[playerid]); GameTextForPlayer(playerid, string,1000,3); if(inaerbit[playerid]==0) break; continue;}}}} С етим я вообще не понял что делать 
Жизнь - огромный скрипт, написанный Богом на не известном мне языке программирования!
|
| |
|
|
| s3ap | Дата: Суббота, 12.12.2009, 14:44 | Сообщение # 13 |
|
Местный
Группа:
Продвинутые
Сообщений: 570
Награды: 7
Город: Саратов
Репутация: 382
Замечания: 80%
Статус: 
| Вставь это в OnPlayerUpdate и не мучайся. Code if(IsPlayerInArea(playerid, minx, maxx, miny, maxy)&&inaerabit[playerid]!=0) { inaerabit[playerid]=0; }else if(!IsPlayerInArea(playerid, minx, maxx, miny, maxy)&&inaerabit[playerid]==0) { new s=GetTickCount(); new d,g,z; inaerbit[playerid]=16; g=s+inaerbit[playerid]*1000; d=0; z=1; while(d!=g) { if(s+z*1000==GetTickCount()) { z++; inaerbit[playerid]--; format(string,256, "~n~~n~~n~~n~~n~~y~Come back in: ~r~%02d",inaerabit[playerid]); GameTextForPlayer(playerid, string,1000,3); if(inaerbit[playerid]==0) break; continue;}}}} //Мог ошибиться в "{" или в "}", смотри сам
Сообщение отредактировал VCOScript - Суббота, 12.12.2009, 14:44 |
| |
|
|
| Spiderxxx | Дата: Суббота, 12.12.2009, 14:55 | Сообщение # 14 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 250
Награды: 6
Город: VL Sity
Репутация: 56
Замечания: 0%
Статус: 
| окок, спасибо всем за помощь) Плюсы поставлю, хоть я и сделал все абсолютно по другому))
Жизнь - огромный скрипт, написанный Богом на не известном мне языке программирования!
|
| |
|
|
| _Kp[e]o3oT | Дата: Четверг, 17.12.2009, 14:20 | Сообщение # 15 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 149
Награды: 4
Город: Пенза
Репутация: 8
Замечания: 20%
Статус: 
| Quote (Spiderxxx) окок, спасибо всем за помощь) Плюсы поставлю, хоть я и сделал все абсолютно по другому)) мб поделишься?)
|
| |
|
|
|
 |
|
 | |
| |
|