Текущая версия SA-MP: 0.3.7


IP: 77.220.180.96:7777
  Новые сообщения · Поиск
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: KaTacTpOqpa  
Ещё 1 вопрос
=TRAUSER= Сообщение # 1  | 20:37:37
Пользователи
Сообщений: 132
Репутация: 2
Всем привет,вижу я флудер по Вопросам по скриптенгу biggrin
Так вот в чём дело вспомнил я играл на 1 серве и там на мотоцикле NRG500 на Левую кнопку нажимая мыши выходила рампа:
http://s011.radikal.ru/i317/1104/8d/b48a8e59bfc9.jpg
Кто поможет даю награду заранее спс!



Редактировано =TRAUSER= - Пятница, 29 Апр 2011, 20:38:17
BJIADOKC Сообщение # 2  | 20:59:08
Скриптеры
Сообщений: 601
Репутация: 161
хмм... довольно сложный код, ну вот:
в начало
Code

new tempobject[MAX_PLAYERS];
new bool:RampFlood[MAX_PLAYERS];

в конец
Code

stock CreateRampForward(playerid, Float:distance)
{
          new Float:x, Float:y, Float:z, Float:angle;
          GetPlayerPos(playerid,x,y,z);
   GetPlayerFacingAngle(playerid, angle);
   if(GetPlayerVehicleID(playerid)) {GetVehicleZAngle(GetPlayerVehicleID(playerid), angle);}
   x += distance*floatsin(-angle, degrees);
   y += distance*floatcos(-angle, degrees);
          tempobject[playerid] = CreateObject(1634,x,y,z,0.0,0.0,angle,0.0);
          SetTimerEx("DestroyTempObject",1000*10,false,"d,d",playerid,tempobject[playerid]);
}

forward DestroyTempObject(playerid,objectid);
public DestroyTempObject(playerid,objectid)   
{
if(!IsValidObject(objectid)) return 1;
DestroyObject(objectid);
tempobject[playerid] = -1;
}

forward NoRampFlood(playerid);
public NoRampFlood(playerid) return RampFlood[playerid] = false;

теперь найди паблик OnPlayerKeyStateChange, если такого нет, создай в конце:
Code

public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
{
if((newkeys & KEY_SECONDARY_ATTACK) && IsPlayerInAnyVehicle(playerid))
{
if(RampFlood[playerid]) return 1;
CreateRampForward(playerid,10.0);
RampFlood[playerid] = true;
SetTimerEx("NoRampFlood",1000*10,false,"d",playerid);
}
return 1;
}

если таковой паблик имеется, вставь в него вот это:
Code

if((newkeys & KEY_SECONDARY_ATTACK) && IsPlayerInAnyVehicle(playerid))
{
if(RampFlood[playerid]) return 1;
CreateRampForward(playerid,10.0);
RampFlood[playerid] = true;
SetTimerEx("NoRampFlood",1000*10,false,"d",playerid);
}

рампу можно будет создавать раз в 10 секунд, чтобы не нагружать сервер...
by BJIADOKC


тут больше не сижу... открыл свой проект


Редактировано BJIADOKC - Пятница, 29 Апр 2011, 21:01:18
=TRAUSER= Сообщение # 3  | 21:30:55
Пользователи
Сообщений: 132
Репутация: 2
А заменить полностью public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)

Добавлено (29.04.2011, 21:30)
---------------------------------------------
Вот ошибки(((

Code
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(5073) : warning 202: number of arguments does not match definition
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(5083) : warning 209: function "DestroyTempObject" should return a value
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(5088) : error 010: invalid function or declaration
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(5090) : error 010: invalid function or declaration
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(5091) : error 021: symbol already defined: "CreateRampForward"
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(5095) : warning 203: symbol is never used: "IsKeyJustDown"
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(5095) : warning 203: symbol is never used: "StopLoopingAnim"
Pawn compiler 3.2.3664     Copyright (c) 1997-2006, ITB CompuPhase

3 Errors.
BJIADOKC Сообщение # 4  | 22:16:40
Скриптеры
Сообщений: 601
Репутация: 161
Quote (=TRAUSER=)
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(5088) : error 010: invalid function or declaration
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(5090) : error 010: invalid function or declaration

Quote (=TRAUSER=)
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(5073) : warning 202: number of arguments does not match definition

строки в студию
Quote (=TRAUSER=)
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(5083) : warning 209: function "DestroyTempObject" should return a value

вот так сделай:
Code

forward DestroyTempObject(playerid,objectid);
public DestroyTempObject(playerid,objectid)    
{
if(!IsValidObject(objectid)) return 1;
DestroyObject(objectid);
return tempobject[playerid] = -1;
}  

Quote (=TRAUSER=)
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(5091) : error 021: symbol already defined: "CreateRampForward"

вставил 2 раза

Quote (=TRAUSER=)
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(5095) : warning 203: symbol is never used: "IsKeyJustDown"
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(5095) : warning 203: symbol is never used: "StopLoopingAnim"

что то с OnPlayerKeyStateChange накосячил, должно быть:
Code

public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
{
тут что уже было

сюда вставь то что нужно (сверху писал)
return 1;
}


тут больше не сижу... открыл свой проект
=TRAUSER= Сообщение # 5  | 22:25:54
Пользователи
Сообщений: 132
Репутация: 2
forward DestroyTempObject(playerid,objectid);

Добавлено (29.04.2011, 22:19)
---------------------------------------------

Code
public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)  
{  
тут что уже было  

сюда вставь то что нужно (сверху писал)  
return 1;  
}

скинь полный код плз

Добавлено (29.04.2011, 22:25)
---------------------------------------------

Code
public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)   
{   
if((newkeys & KEY_SECONDARY_ATTACK) && IsPlayerInAnyVehicle(playerid))  
{  
if(RampFlood[playerid]) return 1;  
CreateRampForward(playerid,10.0);  
RampFlood[playerid] = true;  
SetTimerEx("NoRampFlood",1000*10,false,"d",playerid);  
}   
forward DestroyTempObject(playerid,objectid);  
public DestroyTempObject(playerid,objectid)     
{  
if(!IsValidObject(objectid)) return 1;  
DestroyObject(objectid);  
return tempobject[playerid] = -1;  
}     
return 1;   
}

это???
BJIADOKC Сообщение # 6  | 22:30:54
Скриптеры
Сообщений: 601
Репутация: 161
Quote (=TRAUSER=)
это???

до...


тут больше не сижу... открыл свой проект
=TRAUSER= Сообщение # 7  | 22:33:24
Пользователи
Сообщений: 132
Репутация: 2
A это куда вставлять я в конец ставил
Code
if((newkeys & KEY_SECONDARY_ATTACK) && IsPlayerInAnyVehicle(playerid))  
{  
if(RampFlood[playerid]) return 1;  
CreateRampForward(playerid,10.0);  
RampFlood[playerid] = true;  
SetTimerEx("NoRampFlood",1000*10,false,"d",playerid);  
}

В конец надо?
BJIADOKC Сообщение # 8  | 22:40:30
Скриптеры
Сообщений: 601
Репутация: 161
Quote (=TRAUSER=)
В конец надо?

нет, если ты заменил OnPlayerKeyStateChange на мой то это вообще не надо


тут больше не сижу... открыл свой проект
=TRAUSER= Сообщение # 9  | 22:45:09
Пользователи
Сообщений: 132
Репутация: 2
Лови ошибки
Code
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(4761) : error 029: invalid expression, assumed zero
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(4761) : error 017: undefined symbol "objectid"
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(4762) : error 029: invalid expression, assumed zero
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(4762) : error 017: undefined symbol "objectid"
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(4764) : error 017: undefined symbol "objectid"
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(4765) : error 017: undefined symbol "objectid"
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(4768) : warning 225: unreachable code
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(5080) : warning 202: number of arguments does not match definition
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(5090) : warning 209: function "DestroyTempObject" should return a value
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(5091) : warning 203: symbol is never used: "IsKeyJustDown"
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(5091) : warning 203: symbol is never used: "StopLoopingAnim"
Pawn compiler 3.2.3664     Copyright (c) 1997-2006, ITB CompuPhase

6 Errors.

Добавлено (29.04.2011, 22:45)
---------------------------------------------
Это без

Code
if((newkeys & KEY_SECONDARY_ATTACK) && IsPlayerInAnyVehicle(playerid))   
{   
if(RampFlood[playerid]) return 1;   
CreateRampForward(playerid,10.0);   
RampFlood[playerid] = true;   
SetTimerEx("NoRampFlood",1000*10,false,"d",playerid);   
}
BJIADOKC Сообщение # 10  | 22:46:40
Скриптеры
Сообщений: 601
Репутация: 161
OMGЭ
кароче
замени имеющийся OnPlayerKeyStateChange на этот:
Code

public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)    
{    
if((newkeys & KEY_SECONDARY_ATTACK) && IsPlayerInAnyVehicle(playerid))   
{   
if(RampFlood[playerid]) return 1;   
CreateRampForward(playerid,10.0);   
RampFlood[playerid] = true;   
SetTimerEx("NoRampFlood",1000*10,false,"d",playerid);   
}      
return 1;    
}

это в начало мода (после инклудов)
Code

new tempobject[MAX_PLAYERS];
new bool:RampFlood[MAX_PLAYERS];  

а вот это все в самый конец:
Code

stock CreateRampForward(playerid, Float:distance)
{
           new Float:x, Float:y, Float:z, Float:angle;
           GetPlayerPos(playerid,x,y,z);
    GetPlayerFacingAngle(playerid, angle);
    if(GetPlayerVehicleID(playerid)) {GetVehicleZAngle(GetPlayerVehicleID(playerid), angle);}
    x += distance*floatsin(-angle, degrees);
    y += distance*floatcos(-angle, degrees);
           tempobject[playerid] = CreateObject(1634,x,y,z,0.0,0.0,angle,0.0);
           SetTimerEx("DestroyTempObject",1000*10,false,"d,d",playerid,tempobject[playerid]);
}

forward DestroyTempObject(playerid,objectid);
public DestroyTempObject(playerid,objectid)    
{
if(!IsValidObject(objectid)) return 1;
DestroyObject(objectid);
return tempobject[playerid] = -1;
}

forward NoRampFlood(playerid);
public NoRampFlood(playerid) return RampFlood[playerid] = false;  


тут больше не сижу... открыл свой проект
=TRAUSER= Сообщение # 11  | 22:49:45
Пользователи
Сообщений: 132
Репутация: 2
Code
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(5073) : warning 202: number of arguments does not match definition
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(5087) : warning 203: symbol is never used: "IsKeyJustDown"
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(5087) : warning 203: symbol is never used: "StopLoopingAnim"
Pawn compiler 3.2.3664     Copyright (c) 1997-2006, ITB CompuPhase

3 Warnings.

5087 этой строки вообще нет
BJIADOKC Сообщение # 12  | 10:26:01
Скриптеры
Сообщений: 601
Репутация: 161
Quote (=TRAUSER=)
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(5073) : warning 202: number of arguments does not match definition

скинь строку
Quote (=TRAUSER=)
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(5087) : warning 203: symbol is never used: "IsKeyJustDown"
D:\ПРОГИ ДЛЯ ГТА\999999999999999\Новая папка (2)\lvdm.pwn(5087) : warning 203: symbol is never used: "StopLoopingAnim"

найди в поиске StopLoopingAnim и IsKeyJustDown и удали все с ними связанное


тут больше не сижу... открыл свой проект
=TRAUSER= Сообщение # 13  | 10:36:56
Пользователи
Сообщений: 132
Репутация: 2
Code
tempobject[playerid] = CreateObject(1634,x,y,z,0.0,0.0,angle,0.0);

А в каком поисковеке у мя павно англ.

Добавлено (30.04.2011, 10:35)
---------------------------------------------
Вот нашол

Code
IsKeyJustDown(key, newkeys, oldkeys)
{
  if((newkeys & key) && !(oldkeys & key)) return 1;
  return 0;
}

Добавлено (30.04.2011, 10:36)
---------------------------------------------

Code
StopLoopingAnim(playerid)
{
  gPlayerUsingLoopingAnim[playerid] = 0;
     ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.0, 0, 0, 0, 0, 0);
}

Добавлено (30.04.2011, 10:36)
---------------------------------------------
Это удалять?!

BJIADOKC Сообщение # 14  | 10:41:10
Скриптеры
Сообщений: 601
Репутация: 161
вот скрин http://savepic.ru/2539302.jpg
я красным обвел


тут больше не сижу... открыл свой проект
BJIADOKC Сообщение # 15  | 10:44:52
Скриптеры
Сообщений: 601
Репутация: 161
Quote (=TRAUSER=)
Это удалять?!

да


тут больше не сижу... открыл свой проект
BJIADOKC Сообщение # 16  | 10:47:16
Скриптеры
Сообщений: 601
Репутация: 161
Code

tempobject[playerid] = CreateObject(1634,x,y,z,0.0,0.0,angle,0.0);

попробуй поменять на
Code

tempobject[playerid] = CreateObject(1634,x,y,z,0.0,0.0,angle);


тут больше не сижу... открыл свой проект
=TRAUSER= Сообщение # 17  | 10:53:49
Пользователи
Сообщений: 132
Репутация: 2
Всё ошибок нет иду тестить

Добавлено (30.04.2011, 10:53)
---------------------------------------------
Нету рамп на NRG500 sad

BJIADOKC Сообщение # 18  | 10:55:38
Скриптеры
Сообщений: 601
Репутация: 161
OMG! попробуй поменять
Code

if((newkeys & KEY_SECONDARY_ATTACK) && IsPlayerInAnyVehicle(playerid))    

на
Code

if(newkeys == 512 && IsPlayerInAnyVehicle(playerid))    

З.Ы будет на цифру 2 рампа вылезать


тут больше не сижу... открыл свой проект
=TRAUSER= Сообщение # 19  | 10:56:51
Пользователи
Сообщений: 132
Репутация: 2
На левую кнопку мыши не дейвствует sad sad sad

Добавлено (30.04.2011, 10:56)
---------------------------------------------
а нельзя чтоб налевую кнопку мыши вылазела?!

BJIADOKC Сообщение # 20  | 11:00:20
Скриптеры
Сообщений: 601
Репутация: 161
можно по идее, ну ты сначало на 2 попробуй

тут больше не сижу... открыл свой проект
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: