 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
[Архив] Помощь новичкам по скриптингу ! #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,под свою регу? P.S или ваще хотя бы покажите пример как она работает.
Сообщение отредактировал HauS - Понедельник, 12.10.2009, 07:27 |
| |
|
|
|
 |
|
 | |
| |
|