00:17
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: AXE, Weddew  
Цыкл крашит сервер
TaLeRoKДата: Среда, 30.12.2009, 19:00 | Сообщение # 1
Советчик
Группа: Продвинутые
Сообщений: 1237
Награды: 14
Город: Гдето там->
Репутация: 138
Замечания: 100%
Статус:
Вопшем вот кусок кода. Такая проблама, что у всего того, где есть цикл идет крах сервера.

Code
if(dialogid == 9666)
     {
     if(response == 1)
         {
         if (listitem == 0)
         {
    new d[256], z, clanname[256];
                          z = 40;
                          format(clanname,sizeof(clanname),"clans/%s.txt",dini_Get(loginname,"clan"));
    for(new xa; xa<40; xa++)
          {
             new number[256];
       format(number,sizeof(number),"%d",xa);
       if(!strcmp(dini_Get(clanname,number),"0",true)) {
    z=z-1;
    }
    format(s,sizeof(s),"В данный момент в клане %d человек",z);
             format(d,sizeof(d),"Клан %s",dini_Get(loginname,"clan"));
    ShowPlayerDialog(playerid,6563344,DIALOG_STYLE_MSGBOX,d,s,"Ок","Отмена");
    }
      }




stepmexДата: Среда, 30.12.2009, 19:15 | Сообщение # 2
Мастер джэдай
Группа: Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус:
Сам найдешь в чем косяк?
Пишите коды в правильном виде, самим будет проще!!!
Code
if(dialogid == 9666)  
{  
  if(response == 1)  
  {  
   if (listitem == 0)  
   {  
    new d[256], z = 40, clanname[256],number[256];  
    format(clanname,sizeof(clanname),"clans/%s.txt",dini_Get(loginname,"clan"));  
    for(new xa; xa<40; xa++)  
    {  
     format(number,sizeof(number),"%d",xa);  
     if(!strcmp(dini_Get(clanname,number),"0",true))z-=1;
     format(s,sizeof(s),"В данный момент в клане %d человек",z);  
     format(d,sizeof(d),"Клан %s",dini_Get(loginname,"clan"));  
     ShowPlayerDialog(playerid,6563344,DIALOG_STYLE_MSGBOX,d,s,"Ок","Отмена");  
    }  
   }



И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
TaLeRoKДата: Среда, 30.12.2009, 19:48 | Сообщение # 3
Советчик
Группа: Продвинутые
Сообщений: 1237
Награды: 14
Город: Гдето там->
Репутация: 138
Замечания: 100%
Статус:
Спасибо конечно, но всеравно крашит



EakwarpДата: Среда, 30.12.2009, 19:58 | Сообщение # 4
Мастер джэдай
Группа: Продвинутые
Сообщений: 4874
Награды: 179
Город: Москва
Репутация: 2543
Замечания: 60%
Статус:
ShowPlayerDialog(playerid,6563344,DIALOG_STYLE_MSGBOX,d,s,"Ок","Отмена");
дилоги можно отобразить до 32000.



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. Дорого.
stepmexДата: Среда, 30.12.2009, 19:59 | Сообщение # 5
Мастер джэдай
Группа: Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус:
TaLeRoK, я как бы ничего и не исправил, я только привел в читаем вид ;)
Ты покумкай может сам сообразишь в чем косяк.



И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
TaLeRoKДата: Среда, 30.12.2009, 20:35 | Сообщение # 6
Советчик
Группа: Продвинутые
Сообщений: 1237
Награды: 14
Город: Гдето там->
Репутация: 138
Замечания: 100%
Статус:
Проведу после каждой функции лог и узнаю, что за крысячая ошибка.

Добавлено (30.12.2009, 20:35)
---------------------------------------------
Итог:

Code
if(response == 1)
    {
     if (listitem == 0)
     {
      new d[256], z = 40, clanname[256],number[256];
      print("Переменые восозданы");
   format(clanname,sizeof(clanname),"Clans/%s.txt",dini_Get(loginname,"clan"));
   print("Формат с кланам воссоздан");
      for(new xa = 1; xa<40; xa++)
      {
       print("Цыкл");
    format(number,sizeof(number),"%d",xa);
       print("Возведение в намбер");
    if(!strcmp(dini_Get(clanname,number),"0",true))z-=1;
    print("минусование к z");
       format(s,sizeof(s),"В данный момент в клане %d человек",z);
       print("формат итога");
       format(d,sizeof(d),"Клан %s",dini_Get(loginname,"clan"));
       print("формат загаловка");
       ShowPlayerDialog(playerid,299,DIALOG_STYLE_MSGBOX,d,s,"Ок","Отмена");
       print("вывод и конец");
    }
   }
     }

[22:31:31] Number of vehicle models: 48
[22:32:04] Incoming connection: 127.0.0.1:5307
[22:32:04] [join] DontStopMeNow has joined the server (0:127.0.0.1)
[22:32:32] [chat] [DontStopMeNow]: fdsg
[22:32:35] Переменые восозданы
[22:32:39] [part] DontStopMeNow has left the server (0:1)
[22:32:44] --- Server Shutting Down.
[22:32:44] AmxUnload
[22:32:44]





Сообщение отредактировал TaLeRoK - Среда, 30.12.2009, 20:35
ZirkiNДата: Четверг, 31.12.2009, 01:31 | Сообщение # 7
Постоялец
Группа: Продвинутые
Сообщений: 326
Награды: 15
Город: Новосибирск
Репутация: 144
Замечания: 0%
Статус:
Quote (TaLeRoK)
format(clanname,sizeof(clanname),"Clans/%s.txt",dini_Get(loginname,"clan"));

возможно пустая строка



all:GMCC ~2%
current:GMCC.C.L0 ~49%


Сообщение отредактировал ZirkiN - Четверг, 31.12.2009, 01:32
SanSayДата: Четверг, 31.12.2009, 08:08 | Сообщение # 8
Долгожитель
Группа: Продвинутые
Сообщений: 1662
Награды: 25
Город: Наб.Челны
Репутация: 280
Замечания: 0%
Статус:
Quote (TaLeRoK)
format(clanname,sizeof(clanname),"Clans/%s.txt",dini_Get(loginname,"clan"));

думаю файла не существует )))



simhost.org:8888 Mode:PEN1(LS)+GTO(банды+кач) v4.23_SAMP_0.3с
PEN1(LS)+GTO(банды+кач)v3.92_SAMP_0.3с(ifolder)*** AntiBot*** [FS] Car Export vs SanSay*** [FS] anti_s0beit_FakeKill_Ver2
TaLeRoKДата: Четверг, 31.12.2009, 12:54 | Сообщение # 9
Советчик
Группа: Продвинутые
Сообщений: 1237
Награды: 14
Город: Гдето там->
Репутация: 138
Замечания: 100%
Статус:
Вопшем с помошью этого кода, выяснилось, что Dini_Get неберет значение, и это крашит сервер (х3 почему, но вот с этим кодом не покрашило)

Code
else if (listitem == 1)
         {
   new clanname[256];
   format(clanname,sizeof(clanname),"%s",dini_Get(loginname,"clan"));
   ShowPlayerDialog(playerid,299,DIALOG_STYLE_MSGBOX,clanname,"test now","Ок","Отмена");
   }

Добавлено (31.12.2009, 09:53)
---------------------------------------------
И щё интересный факт:

Из файла игрока:

Code
clan=Lopyhi

Из файла клана:

Code
bank=0
clanColor=0x0000FFAA
1=DontStopMeNow
2=0
3=0
4=0
5=0
6=0
7=0
8=0
9=0
10=0
11=0
12=0
13=0
14=0
15=0
16=0
17=0
18=0
1 9=0
20=0
21=0
22=0
23=0
24=0
25=0
26=0
27=0
28=0
29=0
30=0
31=0
32=0
33=0
34=0
35=0
36=0
37=0
38=0
39=0

Все выглядит прекрасно, как не странно

Добавлено (31.12.2009, 10:22)
---------------------------------------------
ахаахахаха вот сволоч сука ебучка! Все было правельно с начала и идеально причем! Проблема в OnDialogResponse , х3 по какой причине.

Стк как понял: уже полностью отчаевшись, пшол и вставил етот чудо код в отдельный паблик, забиндил его на клавишу прыжок, и вуа ля! Заработало!1!11! fun

Добавлено (31.12.2009, 12:54)
---------------------------------------------
Ну че люди помогите плз, какая то чуш, почему это происходит? и как избавиться? Причина постом выше.





Сообщение отредактировал TaLeRoK - Четверг, 31.12.2009, 09:50
toneysixДата: Четверг, 31.12.2009, 19:25 | Сообщение # 10
Джэдай
Группа: I'm V.I.P.
Сообщений: 1731
Награды: 77
Город: Салават
Репутация: 1825
Замечания: 0%
Статус:
Ты не пробовал за место числа, ставить имя? Например DEFINE NEWDIALOG 1000; и теперь if(dialogid == NEWDIALOG).


Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru
EakwarpДата: Четверг, 31.12.2009, 19:53 | Сообщение # 11
Мастер джэдай
Группа: Продвинутые
Сообщений: 4874
Награды: 179
Город: Москва
Репутация: 2543
Замечания: 60%
Статус:
toneysix, и что это даст? Поменять шило на шило, мда.

Добавлено (31.12.2009, 19:53)
---------------------------------------------
по теме, остальную часть кода в студию.


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 - Четверг, 31.12.2009, 19:54
toneysixДата: Четверг, 31.12.2009, 20:57 | Сообщение # 12
Джэдай
Группа: I'm V.I.P.
Сообщений: 1731
Награды: 77
Город: Салават
Репутация: 1825
Замечания: 0%
Статус:
Eakwarp ничего не даст, но это намного практичнее, конечно лучше использовать массивы, чтобы не сбиться с числами.
http://pastebin.com/d33adf2cb вот выложил чтобы было более понятнее
Да и всё же, меня настораживает число 6563344 нужно поставить ид от 0 до 32000, попробуй может поможет



Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru

Сообщение отредактировал toneysix - Четверг, 31.12.2009, 21:56
ZirkiNДата: Четверг, 31.12.2009, 22:12 | Сообщение # 13
Постоялец
Группа: Продвинутые
Сообщений: 326
Награды: 15
Город: Новосибирск
Репутация: 144
Замечания: 0%
Статус:
Quote
for(new xa; xa<40; xa++)
{
format(number,sizeof(number),"%d",xa);
if(!strcmp(dini_Get(clanname,number),"0",true))z-=1;
format(s,sizeof(s),"В данный момент в клане %d человек",z);
format(d,sizeof(d),"Клан %s",dini_Get(loginname,"clan"));
ShowPlayerDialog(playerid,6563344,DIALOG_STYLE_MSGBOX,d,s,"Ок","Отмена");

}

что красненькое делает в цикле?

Quote (toneysix)
DEFINE NEWDIALOG 1000;

#define NEWDIALOG 1000
Quote (toneysix)
конечно лучше использовать массивы, чтобы не сбиться с числами.

у массивов в индексах тоже числа.

[pwn]Вверх куда-нибудь
new __dialogid;
#define nextdialogid ++__dialogid

в вызов диалога:
в dialogid подаем nextdialogid

в OnDialogResponse
в самое начало
__dialogid = 0;

далее обрабатываем по порядку все диалоги
if(dialogid == nextdialogid) {
}
else if(dialogid == nextdialogid) {
}
и так далее

либо просто
switch(dialogid){
case 1:
case 2:
и так далее
}

p.s. если вызвать один и тот-же диалог надо в нескольких местах, то сохраняем текущее значение nextdialogid в какую-нибудь переменную[/pwn]


all:GMCC ~2%
current:GMCC.C.L0 ~49%


Сообщение отредактировал ZirkiN - Четверг, 31.12.2009, 22:14
toneysixДата: Четверг, 31.12.2009, 22:21 | Сообщение # 14
Джэдай
Группа: I'm V.I.P.
Сообщений: 1731
Награды: 77
Город: Салават
Репутация: 1825
Замечания: 0%
Статус:
Quote
конечно лучше использовать массивы, чтобы не сбиться с числами.

А кто отрицает? Только с ними ты не собьешься.


Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru
ZirkiNДата: Четверг, 31.12.2009, 22:25 | Сообщение # 15
Постоялец
Группа: Продвинутые
Сообщений: 326
Награды: 15
Город: Новосибирск
Репутация: 144
Замечания: 0%
Статус:
Quote (toneysix)
А кто отрицает? Только с ними ты не собьешься.

какая разница что подавать за место dialogid: число или massiv[число]?
Я показал как удобно.



all:GMCC ~2%
current:GMCC.C.L0 ~49%


Сообщение отредактировал ZirkiN - Четверг, 31.12.2009, 22:25
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua