Перейти к содержанию
Авторизация  
CRMPEN

Смерть и тю-тю

Рекомендуемые сообщения

CRMPEN

Всем привет,переводя мод из сампа,начал менять координаты,и дело дошло до того,что вроде бы все,все сделал,но нет,тестируя я понял что когда игрока убиваешь..то он умирает и все,спавна не происходит.а даже если и происходит то по координатам 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

Хех.

Я вот я исправил этот баг)

Могу сказать, что дело в авторизации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
CRMPEN

@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

Скинь то, что у тебя находится в OnPlayerDeath

Изменено пользователем Emiliano

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.