CRMPEN 6 Опубликовано 15 ноября, 2016 Всем привет,переводя мод из сампа,начал менять координаты,и дело дошло до того,что вроде бы все,все сделал,но нет,тестируя я понял что когда игрока убиваешь..то он умирает и все,спавна не происходит.а даже если и происходит то по координатам 0.0,и уже если я начну писать что то в чат,то будет выводиться сообщение что я не залогинен,от сюда делаем вывод то что при смерти игрок каким то образом выходит из игры. ну то есть значение залогинен или не залоинен игрок меняется на 0,изучая мод смотря как происходит спавн при регистрации и авторизации я наткнулся на очень удивительную систему,оказывается в сампе совсем по другому делают спавны,ну или автор этого мода немного наломал дров,значит в чем суть,а суть в том что когда я регистрирую акк у меня первым делом выходит окно регистрации где я ввожу пароль,как его введу у меня идет выбор пола ShowTC_Skin. public ShowTC_Skin(playerid) {TextDrawShowForPlayer(playerid, dBlackScreen);TogglePlayerSpectating(playerid, 0);ShowPlayerDialog(playerid,433,DIALOG_STYLE_MSGBOX,"Выбор пола","\n\n\n Выберите свой пол:\n\n\n","Мужчина","Женщина");return 1;} Как можно понят то после нажатия на да у нас откроется диалог 433 if(dialogid == 433) {if(response){randomsp[playerid] = 1+random(10);Player[playerid][pSex] = 1;Player[playerid][pSkin] = 37;CloseTD(playerid);SetPlayerSkin(playerid, 37);vPlayerSp[playerid] = true;TogglePlayerSpectating(playerid, 1);dSetPlayerHealth(playerid,100.0);Player[playerid][pThirst] = 1620;Player[playerid][pHunger] = 1980;Player[playerid][pBad] = 2000;PlayerSpawned[playerid] = 0;if(randomsp[playerid] == 1) dSpawnPos(playerid, -1035.8378,2179.4238,38.0778);//else if(randomsp[playerid] == 2) dSpawnPos(playerid, -254.6718,1259.2615,12.7200);//else if(randomsp[playerid] == 3) dSpawnPos(playerid, -544.7224,-180.8844,1.0100);//else if(randomsp[playerid] == 4) dSpawnPos(playerid, 256.3491,-254.1804,4.0100);//else if(randomsp[playerid] == 5) dSpawnPos(playerid, 889.1235,-174.8098,4.0000);//else if(randomsp[playerid] == 6) dSpawnPos(playerid, 751.5862,375.5760,12.0000);//else if(randomsp[playerid] == 7) dSpawnPos(playerid, 727.6005,778.5765,12.0800);//else if(randomsp[playerid] == 8) dSpawnPos(playerid, 496.9557,1123.4855,12.0500);//else if(randomsp[playerid] == 9) dSpawnPos(playerid, 159.9616,1207.9431,12.0074);//else if(randomsp[playerid] == 10) dSpawnPos(playerid, 300.4080,1783.7897,12.2032);//else if(randomsp[playerid] == 11) dSpawnPos(playerid, 656.1434,2258.2356,12.0900);///*else if(randomsp[playerid] == 12) dSpawnPos(playerid, -2822.5935,-1518.0475,140.7656);else if(randomsp[playerid] == 13) dSpawnPos(playerid, -2624.3926,-2466.6763,3.9872);else if(randomsp[playerid] == 14) dSpawnPos(playerid, -2062.8506,-2562.9919,30.6250);else if(randomsp[playerid] == 15) dSpawnPos(playerid, -1408.2180,-1997.8018,6.8434);else if(randomsp[playerid] == 16) dSpawnPos(playerid, -1100.1559,-1817.9872,114.2705);else if(randomsp[playerid] == 17) dSpawnPos(playerid, -1019.0331,-2274.6470,69.6430);else if(randomsp[playerid] == 18) dSpawnPos(playerid, -355.7461,-1657.9323,27.6028);else if(randomsp[playerid] == 19) dSpawnPos(playerid, -646.3701,-724.2629,63.2451);else if(randomsp[playerid] == 20) dSpawnPos(playerid, -663.7563,223.7088,18.0121);else if(randomsp[playerid] == 21) dSpawnPos(playerid, 363.3911,-1856.4547,7.8359);else if(randomsp[playerid] == 22) dSpawnPos(playerid, 2881.8347,-2033.5291,6.8783);else if(randomsp[playerid] == 23) dSpawnPos(playerid, 2069.1309,-2268.3225,13.5469);else if(randomsp[playerid] == 24) dSpawnPos(playerid, 2764.7349,-682.6798,64.7215);else if(randomsp[playerid] == 25) dSpawnPos(playerid, 2017.1184,-469.2183,76.7508);else if(randomsp[playerid] == 26) dSpawnPos(playerid, 2140.4873,249.0758,14.8543);else if(randomsp[playerid] == 27) dSpawnPos(playerid, 1353.8563,783.6752,10.8203);else if(randomsp[playerid] == 28) dSpawnPos(playerid, 2885.5437,1080.7390,10.8984);else if(randomsp[playerid] == 29) dSpawnPos(playerid, 2907.4055,2130.0710,10.8203);*/randomsp[playerid] = 0;}else{randomsp[playerid] = 1+random(10);Player[playerid][pSex] = 2;Player[playerid][pSkin] = 157;CloseTD(playerid);SetPlayerSkin(playerid, 157);vPlayerSp[playerid] = true;TogglePlayerSpectating(playerid, 1);dSetPlayerHealth(playerid,100.0);Player[playerid][pThirst] = 1620;Player[playerid][pHunger] = 1980;Player[playerid][pBad] = 2000;PlayerSpawned[playerid] = 0;if(randomsp[playerid] == 1) dSpawnPos(playerid, -1035.8378,2179.4238,38.0778);//else if(randomsp[playerid] == 2) dSpawnPos(playerid, -254.6718,1259.2615,12.7200);//else if(randomsp[playerid] == 3) dSpawnPos(playerid, -544.7224,-180.8844,1.0100);//else if(randomsp[playerid] == 4) dSpawnPos(playerid, 256.3491,-254.1804,4.0100);//else if(randomsp[playerid] == 5) dSpawnPos(playerid, 889.1235,-174.8098,4.0000);//else if(randomsp[playerid] == 6) dSpawnPos(playerid, 751.5862,375.5760,12.0000);//else if(randomsp[playerid] == 7) dSpawnPos(playerid, 727.6005,778.5765,12.0800);//else if(randomsp[playerid] == 8) dSpawnPos(playerid, 496.9557,1123.4855,12.0500);//else if(randomsp[playerid] == 9) dSpawnPos(playerid, 159.9616,1207.9431,12.0074);//else if(randomsp[playerid] == 10) dSpawnPos(playerid, 300.4080,1783.7897,12.2032);//else if(randomsp[playerid] == 11) dSpawnPos(playerid, 656.1434,2258.2356,12.0900);//randomsp[playerid] = 0;}} И вот он спавн, спавн происходит тогда когда я выберу пол,пере домной встал вопрос,а как сделать так что бы когда я умер у меня срабатывал этот рандомный спавн? посидев подумав,я подумал а что если в этом диалоге сделать только выбор пола,а сам спавн под переменную унести и вызывать ее по spawnPlayer(playerid); Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
EgasVegas 842 Опубликовано 15 ноября, 2016 Хех. Я вот я исправил этот баг) Могу сказать, что дело в авторизации. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CRMPEN 6 Опубликовано 15 ноября, 2016 @EgasVegas,и в чем тут проблема? if(dialogid == dialog_login) {if(response == 1){PlayerReg[playerid] = false;LoadAccount(playerid, inputtext);}if(response == 0){new str[128];format(str,128,"* %s(%d) Кикнут администратором \"Server\". Причина: Вход не произведён",GetName(playerid),playerid);SendClientMessageToAll(0xFF0000AA,str);KickSave(playerid);}return 1; } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Emiliano 39 Опубликовано 20 ноября, 2016 (изменено) Скинь то, что у тебя находится в OnPlayerDeath Изменено 20 ноября, 2016 пользователем Emiliano Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты