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

 



 
          





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





Последние Файлы 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
Модератор форума: AXE, Weddew  
[Архив] Помощь новичкам по скриптингу ! #2
heufixДата: Понедельник, 28.09.2009, 02:59 | Сообщение # 1
Уважаемый человек
Группа: Продвинутые
Сообщений: 995
Награды: 22
Репутация: 231
Замечания: 80%
Статус:
Здравствуйте, хотите научиться скриптингу? пишите сюда, помoжем!(С)[PZ]KYZ[AIR].
Старая Тема уже достаточно полна ответов, это продолжение первой темы.
Убедительная просьба к Новичкам:

К большому сожалению, на этом форуме экстрасенсы не сидят,поэтому убедительно просим объяснять ваш вопрос/проблему ТАК,чтобы её поняли другие участники, не забывайте приписывать ваш код к своему сообщению(в тег pwn).



Радость
Michael_StarДата: Понедельник, 10.10.2011, 15:45 | Сообщение # 3601
Освоившийся
Группа: I'm V.I.P.
Сообщений: 116
Награды: 1
Город: Киев
Репутация: -22
Замечания: 0%
Статус:
Quote (scropions)
help помогите кто нить

Что именно помочь?



RoACh: Удалено, в след. раз будет бан, уважай других участников
AxeleratorДата: Понедельник, 10.10.2011, 15:56 | Сообщение # 3602
Уверенный в себе
Группа: I'm V.I.P.
Сообщений: 237
Награды: 2
Город: Омск
Репутация: 159
Замечания: 40%
Статус:
Sergey_Star, а не проще ли:
[cut]
Code

#define Dialogonclick 700
new PlayerName[MAX_PLAYER_NAME];
new string[950];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName);
format(string, sizeof(string), "Ник: *** %s ***\nЛевел: %d\nДеньги на руках: %d\nЗдоровье: %.1f\nБронь: %.1f\nДеньги в банке: %d\nТел: %d\nПредупреждения: [%d/5]\nОружие: %s %s %s %s %s %s\nПатроны1: [%d] Патроны2: [%d] Патроны3: [%d] Патроны4: [%d] Патроны5: [%d] Патроны6: [%d]\nКейсы: [%d/4] Машины: [%d/4] Гонки: [%d/4] Сервисы: [%d/20] Наркотики: [%d/4]\nУбийств: [%d/30] Убийств В.Н.Н.1: [%d/4] След.уровень: [$%d] Опыт: [%d/%d] Ранг:[%d]", name,level,cash,shealth+50,sarmour,account,pnumber,pwarnl,sgun1,sgun2,sgun3,sgun4,sgun5,sgun6,ammo1,ammo2,ammo3,ammo4,ammo5,am mo6,pcb,phw,psr,pwa,pbf,kills,ppen,costlevel,exp,expamount,rank);
ShowPlayerDialog(playerid,Dialogonclick,2,PlayerName,string,"Oк","Выход");

У тебя небыло:    
GetPlayerName (ник то просто напросто был неизвестен, т.к его не получали)
Был неверный DIALOG_STYLE (в ShowPlayerDialog) т.к 0 - DIALOG_STYLE_MSGBOX - для сообщений, а 2 - для списка.
Да и размер переменной "string" можно уменьшить, т.к в строке уж точно не 960 символов =)

[/cut]



Сообщение отредактировал Axelerator - Понедельник, 10.10.2011, 16:03
Mini9guarДата: Понедельник, 10.10.2011, 16:36 | Сообщение # 3603
Новенький
Группа: Пользователи
Сообщений: 31
Награды: 0
Город: Москва
Репутация: 0
Замечания: 0%
Статус:
Нужна помощь.
У меня в моде когда мех предлагает заправить тачку челу то после соглашения заправляется тача меха

Очень нужна помощь..Вот команда /refill
Code


if(strcmp(cmd, "/refill", true) == 0)  
      {  
              if(PlayerInfo[playerid][pJob] != 2) return    SendClientMessage(playerid, COLOR_GREY, "Вы не механик!");  
              if(gcontract[playerid] != 1) return SendClientMessage(playerid, COLOR_GREY, "У Вас не подписан контракт с заправкой!");  
              tmp = strtok(cmdtext, idx);  
              if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "::: Введите: /refill [id] [цена]");  
              new playa;  
              new money;  
              playa = ReturnUser(tmp);  
              tmp = strtok(cmdtext, idx);  
          money = cenabenza[playerid];  
          //money = strval(tmp);  
              if(money < 1 || money > 5000) { SendClientMessage(playerid, COLOR_GREY, "Нельзя меньше 1, и больше 5000!"); return 1; }  
              if(IsPlayerConnected(playa))  
              {  
                  if(playa != INVALID_PLAYER_ID)  
                  {  
                      if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 525) return    SendClientMessage(playerid, COLOR_GREY, "Вы не на эвакуаторе!");  
                       if(ProxDetectorS(8.0, playerid, playa)&& IsPlayerInAnyVehicle(playa))  
                      {  
                          if(playa == playerid) { SendClientMessage(playerid, COLOR_GREY, "[Ошибка] Вы указали свой ID!"); return 1; }  
                          GetPlayerName(playa, giveplayer, sizeof(giveplayer));  
                          GetPlayerName(playerid, sendername, sizeof(sendername));  
                          format(string, sizeof(string), "Вы предложили %s заправить его машину за %d вирт.",giveplayer,cenabenza[playerid]);  
                          SendClientMessage(playerid, 0x6495EDFF, string);  
                          format(string, sizeof(string), "Механик %s предлагает заправить вашу машину за %d вирт.(Введите /use refill), чтобы потвердить заправку.",sendername,cenabenza[playerid]);  
                          SendClientMessage(playa, 0x6495EDFF, string);  
                          RefillOffer[playa] = playerid;  
                          RefillPrice[playa] = cenabenza[playerid];  
                      }  
                      else  
                      {  
                          SendClientMessage(playerid, COLOR_GREY, "Он не в машине!");  



И команды /accept refil
Code


else if(strcmp(x_job,"refill",true) == 0)  
{  
if(RefillOffer[playerid] < 999)  
{  
if(IsPlayerConnected(RefillOffer[playerid]))  
{  
if(PlayerInfo[playerid][pCash] > RefillPrice[playerid])  
{  
GetPlayerName(RefillOffer[playerid], giveplayer, sizeof(giveplayer));  
GetPlayerName(playerid, sendername, sizeof(sendername));  
new car = GetPlayerVehicleID(RefillOffer[playerid]);  
format(string, sizeof(string), "Механик %s заправил вашу машину на 100 литров за %d вирт.",giveplayer,RefillPrice[playerid]);  
SendClientMessage(playerid, 0x6495EDFF, string);  
format(string, sizeof(string), "Вы заправили машину %s за %d вирт.",sendername,RefillPrice[playerid]);  
SendClientMessage(RefillOffer[playerid], 0x6495EDFF, string);  

scropionsДата: Понедельник, 10.10.2011, 16:42 | Сообщение # 3604
Новенький
Группа: Пользователи
Сообщений: 25
Награды: 0
Город: Гомель
Репутация: 10
Замечания: 0%
Статус:
#include <a_samp>
#include <MidoStream>
#include <VW_UsefulFunctions>

#if defined FILTERSCRIPT
new hjo = {
{16665,1456.40002441,-84.69999695,27.10000038,0.00000000,0.00000000,0.00000000},
{16662,1445.09997559,-83.90000153,27.29999924,0.00000000,0.00000000,64.00000000},
{16782,1443.69970703,-84.09999847,28.50000000,0.00000000,0.00000000,0.00000000},
{14391,1458.69995117,-84.80000305,27.10000038,0.00000000,0.00000000,180.00000000},
{1649,1461.99975586,-84.69999695,28.79999924,0.00000000,0.00000000,270.00000000},
{1254,1453.00000000,-83.50000000,27.50000000,90.00000000,0.00000000,0.00000000},
};
new Float:hjopickup = {

{1581,1453.09960938,-84.56093597,26.09996223,270.99975586,0.00000000,0.00000000},
};

new Lifthjo;

public OnGameModeInit()
{
Lifthjo = CreateObject(13817,1453.09960938,-84.56093597,18.29999924,0.00000000,90.00000000,0.00000000); ObjectCounter++;

CreateObject(hjo);
AttachObjectToPlayer(playerid,hjo)
return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/updor", cmdtext, true, 10) == 0)
{
new Float:slx, Float:sly, Float:slz;
MoveObject(Lifthjo,slx, sly, slz+5);
PlaySoundForObject(Lifthjo, 1165);//äëÿ âîðîò
return 1;
}
return 0;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == 2048)
new Float:slx, Float:sly, Float:slz;
MoveObject(Lifthjo,slx, sly, slz+5);
PlaySoundForObject(Lifthjo, 1165);//äëÿ âîðîò

return 1;
}

#endif

лифт не поднимаеться на кнопку. даже звук не проигрывает. а командой только звук. и лифт даже не создаёться

AxeleratorДата: Понедельник, 10.10.2011, 16:44 | Сообщение # 3605
Уверенный в себе
Группа: I'm V.I.P.
Сообщений: 237
Награды: 2
Город: Омск
Репутация: 159
Замечания: 40%
Статус:
Mini9guar, нужен полный код "/accept refill" т.к в данных кодах вообще не заправляется ничего.
Mini9guarДата: Понедельник, 10.10.2011, 16:49 | Сообщение # 3606
Новенький
Группа: Пользователи
Сообщений: 31
Награды: 0
Город: Москва
Репутация: 0
Замечания: 0%
Статус:
Axelerator, Можно поподробнее?Что еще скинуть?
AxeleratorДата: Понедельник, 10.10.2011, 16:55 | Сообщение # 3607
Уверенный в себе
Группа: I'm V.I.P.
Сообщений: 237
Награды: 2
Город: Омск
Репутация: 159
Замечания: 40%
Статус:
Quote (Mini9guar)
Можно поподробнее?Что еще скинуть?

Код "/accept refill" полный. А то у тебя обрезанный :)

Mini9guarДата: Понедельник, 10.10.2011, 17:14 | Сообщение # 3608
Новенький
Группа: Пользователи
Сообщений: 31
Награды: 0
Город: Москва
Репутация: 0
Замечания: 0%
Статус:
Code

else if(strcmp(x_job,"refill",true) == 0)   
      {   
          if(RefillOffer[giveplayerid] < 999)   
          {   
              if(IsPlayerConnected(RefillOffer[giveplayerid]))   
              {   
                  if(PlayerInfo[playerid][pCash] > RefillPrice[playerid])   
                  {   
                      GetPlayerName(RefillOffer[giveplayerid], giveplayer, sizeof(giveplayer));   
          GetPlayerName(playerid, sendername, sizeof(sendername));   
                      new car = GetPlayerVehicleID(RefillOffer[giveplayerid]);   
                      format(string, sizeof(string), "Механик %s заправил вашу машину на 100 литров за %d вирт.",giveplayer,RefillPrice[playerid]);   
          SendClientMessage(playerid, 0x6495EDFF, string);   
          format(string, sizeof(string), "Вы заправили машину  %s за %d вирт.",sendername,RefillPrice[playerid]);   
          SendClientMessage(RefillOffer[giveplayerid], 0x6495EDFF, string);   
          PlayerInfo[playerid][pCash] -=RefillPrice[playerid];   
          PlayerInfo[RefillOffer[giveplayerid]][pCash] +=RefillPrice[playerid];   
          if(!IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER || GetVehicleModel(car) == 481 || GetVehicleModel(car) == 509 || GetVehicleModel(car) == 510) return SendClientMessage(playerid,COLOR_YELLOW,".: Error: You are not in a vehicle or this vehicle does not need fuel :.");   
          if(Fuell[car] >= 100){   
          SendClientMessage(playerid,COLOR_GRAD1,"Ваш бак полон");   
          } else {   
          Fuell[car] = 200;   
          PlayerInfo[playerid][pFuelcar] = 200;   
             OldFuel[playerid] = floatround(Fuell[car]);   
          Refueling[playerid] = 0;   
        }   
          return 1;   
                  }   
         else   
         {   
             SendClientMessage(playerid, COLOR_GREY, "Не достаточно денег!");   
             return 1;   
         }   
              }   
              return 1;   
          }   
       else   
       {   
           SendClientMessage(playerid, COLOR_GREY, "Вам не предлагали заправиться!");   
           return 1;   
       }   
      }   


Сама команда:
Code

else if(strcmp(cmd, "/refill", true) == 0)   
    {   
               if(IsPlayerConnected(RefillOffer[giveplayerid]))   
         if(PlayerInfo[playerid][pJob] != 2) return    SendClientMessage(playerid, COLOR_GREY, "Âû íå ìåõàíèê!");   
         if(gcontract[playerid] != 1) return SendClientMessage(playerid, COLOR_GREY, "Ó Âàñ íå ïîäïèñàí êîíòðàêò ñ çàïðàâêîé!");   
      tmp = strtok(cmdtext, idx);   
      if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "::: Ââåäèòå: /refill [id] [öåíà]");   
      new playa;   
      new money;   
      playa = ReturnUser(tmp);   
      tmp = strtok(cmdtext, idx);   
     money = cenabenza[playerid];   
     //money = strval(tmp);   
      if(money < 1 || money > 5000) { SendClientMessage(playerid, COLOR_GREY, "Íåëüçÿ ìåíüøå 1, è áîëüøå 5000!"); return 1; }   
      if(IsPlayerConnected(playa))   
      {   
          if(playa != INVALID_PLAYER_ID)   
          {   
                       if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 525) return    SendClientMessage(playerid, COLOR_GREY, "Âû íå íà ýâàêóàòîðå!");   
               if(ProxDetectorS(8.0, playerid, playa)&& IsPlayerInAnyVehicle(playa))   
        {   
            if(playa == playerid) { SendClientMessage(playerid, COLOR_GREY, "[Îøèáêà] Âû óêàçàëè ñâîé ID!"); return 1; }   
            GetPlayerName(playa, giveplayer, sizeof(giveplayer));   
         GetPlayerName(playerid, sendername, sizeof(sendername));   
            format(string, sizeof(string), "Âû ïðåäëîæèëè %s çàïðàâèòü åãî ìàøèíó çà %d âèðò.",giveplayer,cenabenza[playerid]);   
         SendClientMessage(playerid, 0x6495EDFF, string);   
         format(string, sizeof(string), "Ìåõàíèê %s ïðåäëàãàåò çàïðàâèòü âàøó ìàøèíó çà %d âèðò.(Ââåäèòå /use refill), ÷òîáû ïîòâåðäèòü çàïðàâêó.",sendername,cenabenza[playerid]);   
         SendClientMessage(playa, 0x6495EDFF, string);   
         RefillOffer[playa] = playerid;   
         RefillPrice[playa] = cenabenza[playerid];   
        }   
        else   
        {   
            SendClientMessage(playerid, COLOR_GREY, "Îí íå â ìàøèíå!");   
        }   
       }   
      }   
      else   
      {   
          SendClientMessage(playerid, COLOR_GREY, "[Îøèáêà] Èãðîê íå íàéäåí!");   
      }   
     return 1;   
    }   


P.S:где такие слова:Ìåõàíèê %s çàïðàâèë âàøó ìàøèíó íà 100 ëèòðîâ çà %d âèðò.- Этот так скопировалось.Там просто написано что механик предложил заправить и так далее.

AxeleratorДата: Понедельник, 10.10.2011, 17:22 | Сообщение # 3609
Уверенный в себе
Группа: I'm V.I.P.
Сообщений: 237
Награды: 2
Город: Омск
Репутация: 159
Замечания: 40%
Статус:
Mini9guar,
[cut]
else if(strcmp(x_job,"refill",true) == 0)
{
if(RefillOffer[giveplayerid] < 999)
{
if(IsPlayerConnected(RefillOffer[giveplayerid]))
{
if(PlayerInfo[playerid][pCash] > RefillPrice[playerid])
{
GetPlayerName(RefillOffer[giveplayerid], giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new car = GetPlayerVehicleID(playerid);
format(string, sizeof(string), "Механик %s заправил вашу машину на 100 литров за %d вирт.",giveplayer,RefillPrice[playerid]);
SendClientMessage(playerid, 0x6495EDFF, string);
format(string, sizeof(string), "Вы заправили машину  %s за %d вирт.",sendername,RefillPrice[playerid]);
SendClientMessage(RefillOffer[giveplayerid], 0x6495EDFF, string);
PlayerInfo[playerid][pCash] -=RefillPrice[playerid];
PlayerInfo[RefillOffer[giveplayerid]][pCash] +=RefillPrice[playerid];
if(!IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER || GetVehicleModel(car) == 481 || GetVehicleModel(car) == 509 || GetVehicleModel(car) == 510) return SendClientMessage(playerid,COLOR_YELLOW,".: Error: You are not in a vehicle or this vehicle does not need fuel :.");
if(Fuell[car] >= 100){
SendClientMessage(playerid,COLOR_GRAD1,"Ваш бак полон");
} else {
Fuell[car] = 200;
PlayerInfo[playerid][pFuelcar] = 200;
OldFuel[playerid] = floatround(Fuell[car]);
Refueling[playerid] = 0;
}
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Не достаточно денег!");
return 1;
}
}
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Вам не предлагали заправиться!");
return 1;
}
}
[/cut]
попробуй.



Сообщение отредактировал Axelerator - Понедельник, 10.10.2011, 17:22
Michael_StarДата: Понедельник, 10.10.2011, 17:26 | Сообщение # 3610
Освоившийся
Группа: I'm V.I.P.
Сообщений: 116
Награды: 1
Город: Киев
Репутация: -22
Замечания: 0%
Статус:
Axelerator, попробуй просто /fill, это будет проще!!


RoACh: Удалено, в след. раз будет бан, уважай других участников
Mini9guarДата: Понедельник, 10.10.2011, 17:31 | Сообщение # 3611
Новенький
Группа: Пользователи
Сообщений: 31
Награды: 0
Город: Москва
Репутация: 0
Замечания: 0%
Статус:
Axelerator,

Пока немогу проверить,проверить смогу только вечером.Вот то что ты мне щас скинул,это точно работает?

Michael_Star,

Команда /fill уже занята заправкой от самой бензокалонки

scropionsДата: Понедельник, 10.10.2011, 17:32 | Сообщение # 3612
Новенький
Группа: Пользователи
Сообщений: 25
Награды: 0
Город: Гомель
Репутация: 10
Замечания: 0%
Статус:
хэлп плиз плиз срочно помощь нужна. напрягите свои извилины
Sergey_StarДата: Понедельник, 10.10.2011, 18:21 | Сообщение # 3613
Новенький
Группа: Пользователи
Сообщений: 13
Награды: 0
Город: Екб
Репутация: 0
Замечания: 0%
Статус:
Axelerator, че то варны ошибки бьет твое :(


www.groza.ru
Mini9guarДата: Понедельник, 10.10.2011, 22:24 | Сообщение # 3614
Новенький
Группа: Пользователи
Сообщений: 31
Награды: 0
Город: Москва
Репутация: 0
Замечания: 0%
Статус:
Axelerator,

Теперь вообще пишет:"Вам не предлагали заправиться".....

AxeleratorДата: Вторник, 11.10.2011, 11:39 | Сообщение # 3615
Уверенный в себе
Группа: I'm V.I.P.
Сообщений: 237
Награды: 2
Город: Омск
Репутация: 159
Замечания: 40%
Статус:
Quote (Sergey_Star)
Axelerator, че то варны ошибки бьет твое

Какие именно выдает?

Поиск:





 


 


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