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

 



 
          





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





Последние Файлы 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).



Радость
SpiderxxxДата: Суббота, 10.10.2009, 12:50 | Сообщение # 136
Уверенный в себе
Группа: Продвинутые
Сообщений: 250
Награды: 6
Город: VL Sity
Репутация: 56
Замечания: 0%
Статус:
[pwn]if(strcmp(cmd, "/ban", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, AAD_COLOR_GREY, "(( /ban [id игрока] [причина] ))");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(!IsPlayerAdmin(playerid))
{
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, AAD_COLOR_GREY, "(( /ban [id игрока] [причина] ))");
return 1;
}
new year, month,day;
getdate(year, month, day);
format(string, sizeof(string), "(( %s был забанен %s, причина: %s (%d-%d-%d) ))", giveplayer, sendername, (result),month,day,year);
KickLog(string);
format(string, sizeof(string), "(( %s был забанен %s, причина: %s ))", giveplayer, sendername, (result));
SendClientMessageToAll(AAD_COLOR_GREY, string);
Ban(giveplayerid);
return 1;
}
}
}
else
{
format(string, sizeof(string), "(( Нет никого в игре под %d id ))", giveplayerid);
SendClientMessage(playerid, AAD_COLOR_GREY, string);
}
}
return 1;
}
[/pwn]

Вот, бан с причиной переделал но выдает кушу ошибок ><

Code
error 017: undefined symbol "cmd"
C:\Documents and Settings\Admin\Рабочий стол\Тренинг\119_samp02Xserver.w\gamemodes\League.pwn(1006) : error 017: undefined symbol "tmp"
C:\Documents and Settings\Admin\Рабочий стол\Тренинг\119_samp02Xserver.w\gamemodes\League.pwn(1006) : error 017: undefined symbol "idx"
C:\Documents and Settings\Admin\Рабочий стол\Тренинг\119_samp02Xserver.w\gamemodes\League.pwn(1007) : warning 217: loose indentation
C:\Documents and Settings\Admin\Рабочий стол\Тренинг\119_samp02Xserver.w\gamemodes\League.pwn(1007) : error 017: undefined symbol "tmp"
C:\Documents and Settings\Admin\Рабочий стол\Тренинг\119_samp02Xserver.w\gamemodes\League.pwn(1012) : error 017: undefined symbol "giveplayerid"
C:\Documents and Settings\Admin\Рабочий стол\Тренинг\119_samp02Xserver.w\gamemodes\League.pwn(1012) : error 017: undefined symbol "ReturnUser"
C:\Documents and Settings\Admin\Рабочий стол\Тренинг\119_samp02Xserver.w\gamemodes\League.pwn(1015) : error 017: undefined symbol "giveplayerid"
C:\Documents and Settings\Admin\Рабочий стол\Тренинг\119_samp02Xserver.w\gamemodes\League.pwn(1017) : error 017: undefined symbol "giveplayerid"
C:\Documents and Settings\Admin\Рабочий стол\Тренинг\119_samp02Xserver.w\gamemodes\League.pwn(1019) : error 017: undefined symbol "giveplayerid"
C:\Documents and Settings\Admin\Рабочий стол\Тренинг\119_samp02Xserver.w\gamemodes\League.pwn(1019) : error 017: undefined symbol "giveplayer"
C:\Documents and Settings\Admin\Рабочий стол\Тренинг\119_samp02Xserver.w\gamemodes\League.pwn(1019) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Admin\Рабочий стол\Тренинг\119_samp02Xserver.w\gamemodes\League.pwn(1019) : fatal error 107: too many error messages on one line



Жизнь - огромный скрипт, написанный Богом на не известном мне языке программирования!
Dima-kunДата: Суббота, 10.10.2009, 12:57 | Сообщение # 137
Группа: Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус:
выше команды напиши new tmp[256],giveplayerid,idx;

a вместо ReturnUser strval


Мои работы:
[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
SpiderxxxДата: Суббота, 10.10.2009, 13:27 | Сообщение # 138
Уверенный в себе
Группа: Продвинутые
Сообщений: 250
Награды: 6
Город: VL Sity
Репутация: 56
Замечания: 0%
Статус:
[pwn]new tmp[256],giveplayerid,idx;
if(strcmp(cmd, "/ban", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, AAD_COLOR_GREY, "(( /ban [id игрока] [причина] ))");
return 1;
}
giveplayerid = strval(tmp);
if(!IsPlayerAdmin(playerid))
{
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, AAD_COLOR_GREY, "(( /ban [id игрока] [причина] ))");
return 1;
}
new year, month,day;
getdate(year, month, day);
format(string, sizeof(string), "(( %s был забанен %s, причина: %s (%d-%d-%d) ))", giveplayer, sendername, (result),month,day,year);
KickLog(string);
format(string, sizeof(string), "(( %s был забанен %s, причина: %s ))", giveplayer, sendername, (result));
SendClientMessageToAll(AAD_COLOR_GREY, string);
Ban(giveplayerid);
return 1;
}
}
}
else
{
format(string, sizeof(string), "(( Нет никого в игре под %d id ))", giveplayerid);
SendClientMessage(playerid, AAD_COLOR_GREY, string);
}
}
return 1;
}[/pwn]

Так????

Выдает следующее:

Code
C:\Documents and Settings\Admin\Рабочий стол\Тренинг\119_samp02Xserver.w\gamemodes\League.pwn(1003) : error 017: undefined symbol "cmd"
C:\Documents and Settings\Admin\Рабочий стол\Тренинг\119_samp02Xserver.w\gamemodes\League.pwn(1020) : error 017: undefined symbol "giveplayer"
C:\Documents and Settings\Admin\Рабочий стол\Тренинг\119_samp02Xserver.w\gamemodes\League.pwn(1020) : error 017: undefined symbol "giveplayer"
C:\Documents and Settings\Admin\Рабочий стол\Тренинг\119_samp02Xserver.w\gamemodes\League.pwn(1020) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Admin\Рабочий стол\Тренинг\119_samp02Xserver.w\gamemodes\League.pwn(1020) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664     Copyright (c) 1997-2006, ITB CompuPhase



Жизнь - огромный скрипт, написанный Богом на не известном мне языке программирования!
MorozzzkoДата: Суббота, 10.10.2009, 14:54 | Сообщение # 139
Мастер джэдай
Группа: Продвинутые
Сообщений: 2179
Награды: 40
Город: Moscow
Репутация: 590
Замечания: 0%
Статус:
Spiderxxx, new cmd[256], giveplayer[MAX_PLAYER_NAME];


Главный программист в Malefic Entertainment.
SpiderxxxДата: Суббота, 10.10.2009, 15:09 | Сообщение # 140
Уверенный в себе
Группа: Продвинутые
Сообщений: 250
Награды: 6
Город: VL Sity
Репутация: 56
Замечания: 0%
Статус:
вот:
[pwn]new cmd[256], giveplayer[MAX_PLAYER_NAME];
new tmp[256],giveplayerid,idx;
if(strcmp(cmd, "/ban", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, AAD_COLOR_GREY, "(( /ban [id игрока] [причина] ))");
return 1;
}
giveplayerid = strval(tmp);
if(!IsPlayerAdmin(playerid))
{
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, AAD_COLOR_GREY, "(( /ban [id игрока] [причина] ))");
return 1;
}
new year, month,day;
getdate(year, month, day);
format(string, sizeof(string), "(( %s был забанен %s, причина: %s (%d-%d-%d) ))", giveplayer, sendername, (result),month,day,year);
KickLog(string);
format(string, sizeof(string), "(( %s был забанен %s, причина: %s ))", giveplayer, sendername, (result));
SendClientMessageToAll(AAD_COLOR_GREY, string);
Ban(giveplayerid);
return 1;
}
}
}
else
{
format(string, sizeof(string), "(( Нет никого в игре под %d id ))", giveplayerid);
SendClientMessage(playerid, AAD_COLOR_GREY, string);
}
}
return 1;
}[/pwn]

Выдает:

Code
C:\Documents and Settings\Admin\Рабочий стол\Тренинг\119_samp02Xserver.w\gamemodes\League.pwn(1043) : error 017: undefined symbol "string"
C:\Documents and Settings\Admin\Рабочий стол\Тренинг\119_samp02Xserver.w\gamemodes\League.pwn(1043) : error 017: undefined symbol "string"
C:\Documents and Settings\Admin\Рабочий стол\Тренинг\119_samp02Xserver.w\gamemodes\League.pwn(1043) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Admin\Рабочий стол\Тренинг\119_samp02Xserver.w\gamemodes\League.pwn(1043) : fatal error 107: too many error messages on one line



Жизнь - огромный скрипт, написанный Богом на не известном мне языке программирования!
AwmДата: Суббота, 10.10.2009, 16:14 | Сообщение # 141
Группа: I'm V.I.P.
Сообщений: 3235
Награды: 55
Город: Tallinn
Репутация: 1661
Замечания: 0%
Статус:
Spiderxxx,
new string[256];




"Life is hard... life is harder if you're stupid." - John Wayne
SpiderxxxДата: Суббота, 10.10.2009, 16:51 | Сообщение # 142
Уверенный в себе
Группа: Продвинутые
Сообщений: 250
Награды: 6
Город: VL Sity
Репутация: 56
Замечания: 0%
Статус:
Блин, все поставил:

[pwn]new string[256];
new cmd[256], giveplayer[MAX_PLAYER_NAME];
new tmp[256],giveplayerid,idx;
if(strcmp(cmd, "/ban", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, AAD_COLOR_GREY, "(( /ban [id игрока] [причина] ))");
return 1;
}
giveplayerid = strval(tmp);
if(!IsPlayerAdmin(playerid))
{
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, AAD_COLOR_GREY, "(( /ban [id игрока] [причина] ))");
return 1;
}
new year, month,day;
getdate(year, month, day);
format(string, sizeof(string), "(( %s был забанен %s, причина: %s (%d-%d-%d) ))", giveplayer, sendername, (result),month,day,year);
BanLog(string);
format(string, sizeof(string), "(( %s был забанен %s, причина: %s ))", giveplayer, sendername, (result));
SendClientMessageToAll(AAD_COLOR_GREY, string);
Ban(giveplayerid);
return 1;
}
}
}
else
{
format(string, sizeof(string), "(( Нет никого в игре под %d id ))", giveplayerid);
SendClientMessage(playerid, AAD_COLOR_GREY, string);
}
}
return 1;
}
[/pwn]

теперь выдает 2 ошибки:

Code
C:\Documents and Settings\Admin\Рабочий стол\Тренинг\119_samp02Xserver.w\gamemodes\League.pwn(1530) : error 021: symbol already defined: "cmd"
C:\Documents and Settings\Admin\Рабочий стол\Тренинг\119_samp02Xserver.w\gamemodes\League.pwn(1046) : error 017: undefined symbol "BanLog"

Добавлено (10.10.2009, 16:51)
---------------------------------------------
Воо! Скомпилил:

[pwn]new string[256];
new cmd[256], giveplayer[MAX_PLAYER_NAME];
new tmp[256],giveplayerid,idx;
if(strcmp(cmd, "/ban", true) == 0)
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,AAD_COLOR_GREY, "Вы не администратор!!!");
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, AAD_COLOR_GREY, "(( /ban [id игрока] [причина] ))");
return 1;
}
giveplayerid = strval(tmp);
if(!IsPlayerAdmin(playerid))
{
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, AAD_COLOR_GREY, "(( /ban [id игрока] [причина] ))");
return 1;
}
new year, month,day;
getdate(year, month, day);
format(string, sizeof(string), "(( %s был забанен %s, причина: %s (%d-%d-%d) ))", giveplayer, sendername, (result),month,day,year);
format(string, sizeof(string), "(( %s был забанен %s, причина: %s ))", giveplayer, sendername, (result));
SendClientMessageToAll(AAD_COLOR_GREY, string);
Ban(giveplayerid);
return 1;
}
}
}
else
{
format(string, sizeof(string), "(( Нет никого в игре под %d id ))", giveplayerid);
SendClientMessage(playerid, AAD_COLOR_GREY, string);
}
}

return 1;
}
return [/pwn]

Вроде, норм, но рабоет пздц криво ><

т.е жму /ban в ответ: ((Нет никого в игре под 0 id))

Что ето за хрень никто не знает?


Жизнь - огромный скрипт, написанный Богом на не известном мне языке программирования!
RabbitДата: Суббота, 10.10.2009, 21:10 | Сообщение # 143
Уверенный в себе
Группа: Продвинутые
Сообщений: 260
Награды: 3
Город: Kiev
Репутация: 30
Замечания: 0%
Статус:
Кто разбирался с 0.3 сампом? Что там сделали с функцией SetVehicleParamsForPlayer??!! Вычитал что там нужно теперь ее пихать в public OnVehicleStreamIn Но я так и не понял по какому принцыпу она теперь работает... Может кто пояснить?!


Сообщение отредактировал Rabbit - Суббота, 10.10.2009, 21:11
Dima-kunДата: Суббота, 10.10.2009, 21:24 | Сообщение # 144
Группа: Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус:
Rabbit, погляди в мод в самп 0.3 rivershell.pwn


Мои работы:
[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
RabbitДата: Суббота, 10.10.2009, 22:28 | Сообщение # 145
Уверенный в себе
Группа: Продвинутые
Сообщений: 260
Награды: 3
Город: Kiev
Репутация: 30
Замечания: 0%
Статус:
DizeL-ZR-, смотрел, всеравно как работает не понял, что вобще значит OnVehicleStreamIn?
Dima-kunДата: Суббота, 10.10.2009, 22:49 | Сообщение # 146
Группа: Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус:
Quote (Rabbit)
OnVehicleStreamIn?

ну я особо не вникаЛ .но по наслышкам используя OnVehicleStreamIn, во-первых багов меньше, во-вторых можно проверят закрыта ли машина спомощью функции IsVehicleStreamIn(vehicleid) (вроде бы).. в любом случае просто использовать SetVehicleParametrsForPlayer не выйдет в самп 0.3 .... если не прав то объясните



Мои работы:
[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
JonnTheBestДата: Воскресенье, 11.10.2009, 13:41 | Сообщение # 147
Новенький
Группа: Продвинутые
Сообщений: 70
Награды: 1
Город: Старый Оскол, Белгородская обл.
Репутация: 19
Замечания: 0%
Статус:
OnVehicleStreamIn отвечает за действия при появлении машины в зоне стримера, туда нужно пихать все функции, связанные с изменением параметров машин, т.к. при выходе машины из зоны стримера она фактически удаляется на стороне клиента.


Все еще помогаю в скриптинге.
В разработке:
nothing
[off]xxx:...та строка что под оружием она отображает значение переменной, даже при попытке считить деньги вернуться на свое настоящее состояние. Если у меня у блондинки одна ниточка в голове которая уши держит и то я разобралась, то тебе мужику с твоим суперинтеллектуальным мозгом пригодным для логических вычислений это раз плюнуть. Просто вы все мужики ленитесь взять и разобраться, охото чтобы за вас всё тетя сделала. ... Вам бы тока пиво пить и у компа в игрушках или телика торчать[/off]
RabbitДата: Воскресенье, 11.10.2009, 13:46 | Сообщение # 148
Уверенный в себе
Группа: Продвинутые
Сообщений: 260
Награды: 3
Город: Kiev
Репутация: 30
Замечания: 0%
Статус:
JonnTheBest, Тоесть есле стоит в параметрах установить желтый маркер на карте для машины, то он будет отображаться только есле игрок будет рядом с машиной?
heufixДата: Воскресенье, 11.10.2009, 13:57 | Сообщение # 149
Уважаемый человек
Группа: Продвинутые
Сообщений: 995
Награды: 22
Репутация: 231
Замечания: 80%
Статус:
Ога


Радость
HauSДата: Воскресенье, 11.10.2009, 22:37 | Сообщение # 150
Уверенный в себе
Группа: Продвинутые
Сообщений: 210
Награды: 4
Город: Бухалово (Тверская область, Бологовский р-н)
Репутация: 66
Замечания: 60%
Статус:
Помогите,как подстроить менюшку из нового sa-mp'a,под свою регу? sorry
P.S или ваще хотя бы покажите пример как она работает.





Сообщение отредактировал HauS - Понедельник, 12.10.2009, 07:27
Поиск:





 


 


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