а вот где 0 как раз не обязательно делать координаты звучание музыки! а вот чтоб музыка вырубалась то делаем дальше в
Code
public OnPlayerSpawn(playerid)
вставить:
Code
PlayerPlaySound(playerid,1188,0.0,0.0,0.0);
и все:) kray56, в коде все нормально 2 раз проверил не чего подозрительного не заметил ну может быть выключение сервера из за того что у тебя это команда с переменными с другим командой связано!проверь команды с начало и до конца и убедись что переменные не связанны с паспортом!другие команды я имею виду)
1) Помогите пожалуйста создать команду для РП сервера ! Суть команды : команда для ПД,нужна для перевода людей из армии (у которых есть 3 и выше ранг) и команду для ФБР (перевод из ПД,имеющих 7 и выше ранг)
2) Как отключить команду /invite для некоторых фракций ? (нужно отключить для ПД и ФБР)
задача трудная,понимаю,помогите чем можете + гарантирую
Arh_Angel, в инете не нашел фс так что не могу знать о какой ты системе говоришь ну могу дать совет если ты на продажу машин хочешь поставить то вот тебеave_cezar, ок )
спс,все разобрался,теперь другой вопрос возник,как создать /carupgrade для дома,чтоб машины делились на вип и для обычных людей?пробовал вырезать из модов разных не получается,помогите чем сможете
qq Суть моей проблемы такова : Пишу команду " /kickinvite " После этого,чела выкидывает с фракции,он оказывается на том месте,где спавн данной фраки,откуда я его собственно и выкинул.Конечно же я понял ,что тут Паблик onPlayerSpawn замешан. А вот собственно и он :
Code
public OnPlayerSpawn(playerid) { if(IsPlayerNPC(playerid)) return 1; InitLockDoors(playerid); STDPlayer[playerid] = 0; SetPlayerSkillLevel(playerid,WEAPONSKILL_DESERT_EAGLE,200); SetPlayerSkillLevel(playerid,WEAPONSKILL_M4,200); SetPlayerSkillLevel(playerid,WEAPONSKILL_MICRO_UZI,200); SetPlayerSkillLevel(playerid,WEAPONSKILL_SHOTGUN,200); SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL,200); SetPlayerSkillLevel(playerid,WEAPONSKILL_SAWNOFF_SHOTGUN,200); SetPlayerSkillLevel(playerid,WEAPONSKILL_SPAS12_SHOTGUN,200); PlayerGolod[playerid]=30; for(new ho = 0; ho < sizeof(HouseInfo); ho++) { if(HouseInfo[ho][hOwned] == 0){ SetPlayerMapIcon(playerid, 31, HouseInfo[ho][hEntrancex], HouseInfo[ho][hEntrancey], HouseInfo[ho][hEntrancez], 52, 0 );} else{SetPlayerMapIcon(playerid, 32, HouseInfo[ho][hEntrancex], HouseInfo[ho][hEntrancey], HouseInfo[ho][hEntrancez], 52, 0 );} } gTeam[playerid] = PlayerInfo[playerid][pTeam]; //Set the Team if (gTeam[playerid] == 4) //medic / criminal reset team { gTeam[playerid] = 3; } if(gPlayerLogged[playerid] == 0 && !IsPlayerNPC(playerid)) { SendClientMessage(playerid, COLOR_LIGHTRED, " Уважаемый игрок, на нашем сервере сначала надо залогинется. Вы были кикнуты!"); KickPlayer[playerid] = 1; } if(gTeam[playerid] == 11 && PlayerInfo[playerid][pLeader] < 1) { MedicBill[playerid] = 0; new rand = random(sizeof(CIV)); SendClientMessage(playerid, COLOR_LIGHTRED, " Вы не лидер, теперь вы обычный житель ! "); PlayerInfo[playerid][pTeam] = 3; gTeam[playerid] = 3; SetSpawnInfo(playerid, gTeam[playerid], CIV[rand],0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pModel] = CIV[rand]; SpawnPlayer(playerid); } if(gTeam[playerid] == 5) { if(PlayerInfo[playerid][pMember] < 1) { MedicBill[playerid] = 0; new rand = random(sizeof(CIV)); SendClientMessage(playerid, COLOR_LIGHTRED, " Вы не член семьи, теперь вы обычный житель !"); PlayerInfo[playerid][pTeam] = 3; gTeam[playerid] = 3; SetSpawnInfo(playerid, gTeam[playerid], CIV[rand],0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pModel] = CIV[rand]; SpawnPlayer(playerid); } } if(gTeam[playerid] == 10) { if(PlayerInfo[playerid][pMember] != 8) { MedicBill[playerid] = 0; new rand = random(sizeof(CIV)); SendClientMessage(playerid, COLOR_LIGHTRED, " Вы не член агенства, теперь вы обычный житель !"); PlayerInfo[playerid][pTeam] = 3; gTeam[playerid] = 3; SetSpawnInfo(playerid, gTeam[playerid], CIV[rand],0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pModel] = CIV[rand]; SpawnPlayer(playerid); } } if(gTeam[playerid] == 2 && PlayerInfo[playerid][pMember] > 3) { MedicBill[playerid] = 0; new rand = random(sizeof(CIV)); SendClientMessage(playerid, COLOR_LIGHTRED, " Вы не офицер/ Агент ФБР / Армеец, теперь вы обычный житель !"); PlayerInfo[playerid][pTeam] = 3; gTeam[playerid] = 3; SetSpawnInfo(playerid, gTeam[playerid], CIV[rand],0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pModel] = CIV[rand]; SpawnPlayer(playerid); } if(gTeam[playerid] == 3) { if(PlayerInfo[playerid][pMember] > 0 || PlayerInfo[playerid][pLeader] > 0) {
Мне хотелось бы сделать так,чтобы после выполнения команды,человек появлялся именно в месте обычного респавна... Где появляются все новички. Вернулся на форум.Пишите в личу,если кому надо помочь по скриптенгу( только на форуме,в скайпе не помогаю )
1) Помогите пожалуйста создать команду для РП сервера ! Суть команды : команда для ПД,нужна для перевода людей из армии (у которых есть 3 и выше ранг) и команду для ФБР (перевод из ПД,имеющих 7 и выше ранг)
2) Как отключить команду /invite для некоторых фракций ? (нужно отключить для ПД и ФБР)
задача трудная,понимаю,помогите чем можете + гарантирую
ave_cezar, жди админ написал же что поможет,как видишь мы все всегда ждем,он наверно ищет ответ в инете на твой вопрос,а может и сам что нибудь пытается создать что помогло бы тебе
Т.к. функция SendClientMessage предназначена только для передачи текстового без всяких %s %d %f сообщения! Я даже не знаю почему тебе варнинг не вписало по этому поводу) В общем вот решение:
ave_cezar, сразу отвечу на 2: перед действием самой команды /invite (т.е. там где меняется pMember и pRank игрока) в ставь эти проверки:
Code
if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pLeader] == 2) return SendClientMessage(playerid, COLOR_WHITE, " Вы не можете приглашать игроков к себе во фракцию, их должны переводить из армии");
Теперь о 1-м: В общем так, буду кратким, задание это очень легкое (не знаю почему ты подумал иначе), просто нужно хорошо подумать. И так первый шаг это сама команда, пусть будет /transferplayer (перевести игрока) Я сделаю таким образом: Из армии перевести игрока сможет только лидер армии, из ПД только лидер ПД
Code
if(strcmp(cmd, "/transferplayer", true) == 0) { if(PlayerInfo[playerid][pLeader] != 1 && PlayerInfo[playerid][pLeader] != 3) { SendClientMessage(playerid, COLOR_WHITE, " У вас не достаточно полномочий чтоб переводить игрока"); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, " Используйте: /transferplayer [id игрока]"); return 1; } giveplayerid = strval(tmp); if(!IsPlayerConnected(giveplayerid)) { SendClientMessage(playerid, COLOR_WHITE, " Этого ID нет в игре"); return 1; } if(PlayerInfo[playerid][pLeader] == 3)// если лидер армеец { if(PlayerInfo[giveplayerid][pMember] != 3)// проверяем чтоб игрок состоял в армии { SendClientMessage(playerid, COLOR_WHITE, " Этот игрок не состоит в армии"); return 1; } if(PlayerInfo[giveplayerid][pRank] < 3)// проверяем на ранг { SendClientMessage(playerid, COLOR_WHITE, " У этого игрока не достаточный ранг для перехода в полицию (мин 3)"); return 1; } // ну и переносим игрока в ПД с сообщениями) PlayerInfo[giveplayerid][pMember] = 1; PlayerInfo[giveplayerid][pRank] = 1; format(string, sizeof(string), " Вы перевели игрока id%d в полицию", giveplayerid); SendClientMessage(playerid, COLOR_WHITE, string); format(string, sizeof(string), " Лидер армии id%d перевел вас в полицию", playerid); SendClientMessage(giveplayeridplayerid, COLOR_WHITE, string); } else if(PlayerInfo[playerid][pLeader] == 1) // если лидер "МУСОР" { if(PlayerInfo[giveplayerid][pMember] != 1)// проверяем чтоб игрок состоял в ПД { SendClientMessage(playerid, COLOR_WHITE, " Этот игрок не состоит в полиции"); return 1; } if(PlayerInfo[giveplayerid][pRank] < 3)// проверяем на ранг { SendClientMessage(playerid, COLOR_WHITE, " У этого игрока не достаточный ранг для перехода в ФБР (мин 3)"); return 1; } // ну и переносим в ФБР с сообщениями) PlayerInfo[giveplayerid][pMember] = 2; PlayerInfo[giveplayerid][pRank] = 1; format(string, sizeof(string), " Вы перевели игрока id%d в ФБР", giveplayerid); SendClientMessage(playerid, COLOR_WHITE, string); format(string, sizeof(string), " Лидер армии id%d перевел вас в ФБР", playerid); SendClientMessage(giveplayeridplayerid, COLOR_WHITE, string); } return 1; }
Ид фракций: 1 - ПД; 2 - ФБР; 3 - Армия. Прости что плохо оформил сообщения (мне просто в падло)) ) но думаю ты суть понял, как это все происходит
Если что-то в коде не так (ошибки и т.д.) пишите, будем исправлять) Видео-уроки по pawn: https://www.youtube.com/channel/UCizhZElk8rxIPEcP4BHwdxg
я делал варота и вот что получилось как это исправить или как сделать варота для фракций помогите плз C:\DOCUME~1\leha\0016~1\test\(2)~1\pawno\include\streamer.inc(261) : warning 201: redefinition of constant/macro (symbol "OnGameModeInit") C:\DOCUME~1\leha\0016~1\test\(2)~1\pawno\include\streamer.inc(283) : warning 201: redefinition of constant/macro (symbol "OnPlayerConnect") C:\Documents and Settings\leha\Рабочий стол\test\Новая папка (2)\gamemodes\cl2.pwn(18983) : error 037: invalid string (possibly non-terminated string) C:\Documents and Settings\leha\Рабочий стол\test\Новая папка (2)\gamemodes\cl2.pwn(18983) : error 029: invalid expression, assumed zero C:\Documents and Settings\leha\Рабочий стол\test\Новая папка (2)\gamemodes\cl2.pwn(18983) : error 029: invalid expression, assumed zero C:\Documents and Settings\leha\Рабочий стол\test\Новая папка (2)\gamemodes\cl2.pwn(18983) : fatal error 107: too many error messages on one line