Просмотр полной версии : [Вопрос] По AddPlayerClass.
Zeror_Dalglish
09.06.2014, 02:19
Сделал выбор скинов на ТД, но не знаю как сделать проверку в OnGameModeinit - AddPlayerClass. Например у грув скины, 105,106,107,108. И нажал на скин как проверить это все?
- - - Добавлено - - -
Вот так делаю, все нормально будет если что?
if(playertextid == skingrove[playerid][1])
{
AddPlayerClass(105, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
PlayerTextDrawHide(playerid, skingrove[playerid][0]);
PlayerTextDrawHide(playerid, skingrove[playerid][1]);
PlayerTextDrawHide(playerid, skingrove[playerid][2]);
PlayerTextDrawHide(playerid, skingrove[playerid][3]);
PlayerTextDrawHide(playerid, skingrove[playerid][4]);
PlayerTextDrawHide(playerid, skingrove[playerid][5]);
PlayerTextDrawHide(playerid, skingrove[playerid][6]);
PlayerTextDrawHide(playerid, skingrove[playerid][7]);
PlayerTextDrawHide(playerid, skingrove[playerid][8]);
PlayerTextDrawHide(playerid, skingrove[playerid][9]);
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
}
Или так но не работает:
if(playertextid == skingrove[playerid][1])
{
//AddPlayerClass(105, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
Clothes[playerid] = SetPlayerSkin(playerid, 105);
PlayerTextDrawHide(playerid, skingrove[playerid][0]);
PlayerTextDrawHide(playerid, skingrove[playerid][1]);
PlayerTextDrawHide(playerid, skingrove[playerid][2]);
PlayerTextDrawHide(playerid, skingrove[playerid][3]);
PlayerTextDrawHide(playerid, skingrove[playerid][4]);
PlayerTextDrawHide(playerid, skingrove[playerid][5]);
PlayerTextDrawHide(playerid, skingrove[playerid][6]);
PlayerTextDrawHide(playerid, skingrove[playerid][7]);
PlayerTextDrawHide(playerid, skingrove[playerid][8]);
PlayerTextDrawHide(playerid, skingrove[playerid][9]);
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
}
и в onplayerspawn
public OnPlayerSpawn(playerid)
{
Clothes[playerid] = SetPlayerSkin(playerid, Clothes[playerid]);
SetPlayerPos(playerid,-1421.8978,-291.1276,14.1484);
return 1;
}
http://wiki.sa-mp.com/wiki/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D0%BE%D0%B3%D0%BE_deathmatch
Только вам надо проверять ID выдаваемого скина с теми ID, что относятся к определённой банде.
То, что вы делаете с массивами - полная несуразица
Zeror_Dalglish
09.06.2014, 08:08
http://wiki.sa-mp.com/wiki/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D0%BE%D0%B3%D0%BE_deathmatch
Только вам надо проверять ID выдаваемого скина с теми ID, что относятся к определённой банде.
То, что вы делаете с массивами - полная несуразица
На WIKI, Я не увидел выбор скина...
На WIKI, Я не увидел выбор скина...
Смотрите на принцип разделения скинов по бандам. Естественно там не будет готового кода под вас. Там есть лишь идея, которую нужно чуть переделать
Zeror_Dalglish
09.06.2014, 09:07
Смотрите на принцип разделения скинов по бандам. Естественно там не будет готового кода под вас. Там есть лишь идея, которую нужно чуть переделать
Я и не наделся на готовый код, идей я не увидил.
- - - Добавлено - - -
http://wiki.sa-mp.com/wiki/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D0%BE%D0%B3%D0%BE_deathmatch
Только вам надо проверять ID выдаваемого скина с теми ID, что относятся к определённой банде.
То, что вы делаете с массивами - полная несуразица
И что, с массивами не так? - почему бы 2 вариант не использовать? (Но, он не работает почему то)
Clothes[playerid] = SetPlayerSkin(playerid, Clothes[playerid]);
Вы выдаёте скин и после перезаписываете данные в переменной на 1 или 0 (зависит от результата работы функции). Где смысл?
Покажите полный код, а не только кусок и тогда можно будет давать советы
Zeror_Dalglish
09.06.2014, 09:24
Clothes[playerid] = SetPlayerSkin(playerid, Clothes[playerid]);
Вы выдаёте скин и после перезаписываете данные в переменной на 1 или 0 (зависит от результата работы функции). Где смысл?
Покажите полный код, а не только кусок и тогда можно будет давать советы
Какой полный? Это все что есть :)
Clothes[MAX_PLAYERS];
Какой полный? Это все что есть :)
Clothes[MAX_PLAYERS];
Ну где-то же вы создаёте текстдравы и вставляете в них скины. Чтоб дать толковый совет, который подойдёт именно под ваш случай, нужно знать как вы создаёте, как обрабатываете и к чему желаете прийти в итоге.
Zeror_Dalglish
09.06.2014, 09:28
Ну где-то же вы создаёте текстдравы и вставляете в них скины. Чтоб дать толковый совет, который подойдёт именно под ваш случай, нужно знать как вы создаёте, как обрабатываете и к чему желаете прийти в итоге.
Мне пример на 1 Тд покажите дальше я по примеру :)
skingrove[playerid][1] = CreatePlayerTextDraw(playerid,124.000000, 125.000000, "usebox");
PlayerTextDrawFont(playerid, skingrove[playerid][1], TEXT_DRAW_FONT_MODEL_PREVIEW);
PlayerTextDrawBoxColor(playerid, skingrove[playerid][1], 0x29DE05AA);
PlayerTextDrawBackgroundColor(playerid, skingrove[playerid][1], 0x29DE05AA);
PlayerTextDrawTextSize(playerid, skingrove[playerid][1], 70.0, 110.0);
PlayerTextDrawSetPreviewModel(playerid, skingrove[playerid][1], 105);
PlayerTextDrawSetSelectable(playerid, skingrove[playerid][1], true);
Ну показ думаю не надо?
// Если есть какая-то переменная, отвечающая за выбор скина, можно сделать проверку на значение этой переменной
for(new id; id != 10; id++)
{
if(playertextid != skingrove[playerid][id]) continue;
for(new i; i < 10; i++) PlayerTextDrawHide(playerid, skingrove[playerid][i]);
CancelSelectTextDraw(playerid);
switch(id)
{
case 0: Clothes[playerid] = /*ID скина*/;
case 1: Clothes[playerid] = /*ID скина*/;
case 2: Clothes[playerid] = /*ID скина*/;
case 3: Clothes[playerid] = /*ID скина*/;
case 4: Clothes[playerid] = /*ID скина*/;
case 5: Clothes[playerid] = /*ID скина*/;
case 6: Clothes[playerid] = /*ID скина*/;
case 7: Clothes[playerid] = /*ID скина*/;
case 8: Clothes[playerid] = /*ID скина*/;
case 9: Clothes[playerid] = /*ID скина*/;
}
return SpawnPlayer(playerid);
}
И в OnPlayerSpawn
SetPlayerSkin(playerid, Clothes[playerid]);
Zeror_Dalglish
09.06.2014, 09:45
// Если есть какая-то переменная, отвечающая за выбор скина, можно сделать проверку на значение этой переменной
for(new id; id != 10; id++)
{
if(playertextid != skingrove[playerid][id]) continue;
for(new i; i < 10; i++) PlayerTextDrawHide(playerid, skingrove[playerid][i]);
CancelSelectTextDraw(playerid);
switch(id)
{
case 0: Clothes[playerid] = /*ID скина*/;
case 1: Clothes[playerid] = /*ID скина*/;
case 2: Clothes[playerid] = /*ID скина*/;
case 3: Clothes[playerid] = /*ID скина*/;
case 4: Clothes[playerid] = /*ID скина*/;
case 5: Clothes[playerid] = /*ID скина*/;
case 6: Clothes[playerid] = /*ID скина*/;
case 7: Clothes[playerid] = /*ID скина*/;
case 8: Clothes[playerid] = /*ID скина*/;
case 9: Clothes[playerid] = /*ID скина*/;
}
return SpawnPlayer(playerid);
}
И в OnPlayerSpawn
SetPlayerSkin(playerid, Clothes[playerid]);
Это после чего ставим?
Это после чего ставим?
Первый код вставляете в OnPlayerClickPlayerTextDraw
Второй в OnPlayerSpawn (туда, где надо выдавать выбранный скин)
Zeror_Dalglish
09.06.2014, 15:12
Первый код вставляете в OnPlayerClickPlayerTextDraw
Второй в OnPlayerSpawn (туда, где надо выдавать выбранный скин)
if(playertextid == skingrove[playerid][1])
{
//AddPlayerClass(105, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
Clothes[playerid] = SetPlayerSkin(playerid, 105);
PlayerTextDrawHide(playerid, skingrove[playerid][0]);
PlayerTextDrawHide(playerid, skingrove[playerid][1]);
PlayerTextDrawHide(playerid, skingrove[playerid][2]);
PlayerTextDrawHide(playerid, skingrove[playerid][3]);
PlayerTextDrawHide(playerid, skingrove[playerid][4]);
PlayerTextDrawHide(playerid, skingrove[playerid][5]);
PlayerTextDrawHide(playerid, skingrove[playerid][6]);
PlayerTextDrawHide(playerid, skingrove[playerid][7]);
PlayerTextDrawHide(playerid, skingrove[playerid][8]);
PlayerTextDrawHide(playerid, skingrove[playerid][9]);
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
}
Вместо этого?
И зачем цикл иза одного скина запускать:\?
if(playertextid == skingrove[playerid][1])
{
//AddPlayerClass(105, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
Clothes[playerid] = SetPlayerSkin(playerid, 105);
PlayerTextDrawHide(playerid, skingrove[playerid][0]);
PlayerTextDrawHide(playerid, skingrove[playerid][1]);
PlayerTextDrawHide(playerid, skingrove[playerid][2]);
PlayerTextDrawHide(playerid, skingrove[playerid][3]);
PlayerTextDrawHide(playerid, skingrove[playerid][4]);
PlayerTextDrawHide(playerid, skingrove[playerid][5]);
PlayerTextDrawHide(playerid, skingrove[playerid][6]);
PlayerTextDrawHide(playerid, skingrove[playerid][7]);
PlayerTextDrawHide(playerid, skingrove[playerid][8]);
PlayerTextDrawHide(playerid, skingrove[playerid][9]);
SpawnPlayer(playerid);
CancelSelectTextDraw(playerid);
}
Вместо этого?
И зачем цикл иза одного скина запускать:\?
Попробуйте вникнуть в мой код, для начала
Zeror_Dalglish
09.06.2014, 15:22
Попробуйте вникнуть в мой код, для начала
Ну я и вижу цикл, на 10 скинов токо зачем если в if(playertextid == skingrove[playerid][1]) 1 скин.
На счёт скрытие ТД, я не чего не говорю.
Zeror_Dalglish
10.06.2014, 13:59
Сделал на pvar, разве что, дослушаю DeimoS зачем запускать цикл иза одного скина?
Когда тему читал, отключили свет и не смог ответить. А потом забыл...
Ну я и вижу цикл, на 10 скинов токо зачем если в if(playertextid == skingrove[playerid][1]) 1 скин.
На счёт скрытие ТД, я не чего не говорю.
А где вы видите в моём коде
if(playertextid == skingrove[playerid][1])
?
Zeror_Dalglish
10.06.2014, 14:27
Я вижу, что цикл присутствует на скины, зачем из-а одного запускать цикл?
Я вижу, что цикл присутствует на скины, зачем из-а одного запускать цикл?
Из-за какого "одного"? Как я понял, каждая из 10-и переменных skingrove хранит ID текстдрава с своим скином. И мой код ищет какой текстдрав выбрал игрок и, соответственно, выдаёт ему нужный скин
Zeror_Dalglish
10.06.2014, 15:38
Из-за какого "одного"? Как я понял, каждая из 10-и переменных skingrove хранит ID текстдрава с своим скином. И мой код ищет какой текстдрав выбрал игрок и, соответственно, выдаёт ему нужный скин
нет, там бокс ещё.
Ясно, тему можно закрывать.
P.S: Сделал на pVAR
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot