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

Команда changeskin

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

Marvellous

Всем привет! делаю команду в моде changeskin и у меня выходит ошибки на в case:

C:\Users\Admin\Desktop\Аризона финал\gamemodes\Untitled.pwn(5232) : error 017: undefined symbol "response"
C:\Users\Admin\Desktop\Аризона финал\gamemodes\Untitled.pwn(5234) : error 017: undefined symbol "listitem"

Строки

	case 244:
		{
			if(response)
			{
 			switch(listitem)

ну и т.д,таких строк у меня около 20,так как 20 фракций.в чем проблема может быть?

 

Вот показываю один абзац 

case 235:
		{
			if(response)
			{
			switch(listitem)
			{
				case 0: SetPlayerSkin(GetPVarInt(playerid,"SKIN"), 98);
				case 1: SetPlayerSkin(GetPVarInt(playerid,"SKIN"), 164);
				case 2: SetPlayerSkin(GetPVarInt(playerid,"SKIN"), 165);
				case 3: SetPlayerSkin(GetPVarInt(playerid,"SKIN"), 185);
				case 4: SetPlayerSkin(GetPVarInt(playerid,"SKIN"), 59);
				case 5: SetPlayerSkin(GetPVarInt(playerid,"SKIN"), 240);
				case 6: SetPlayerSkin(GetPVarInt(playerid,"SKIN"), 187);
				case 7: SetPlayerSkin(GetPVarInt(playerid,"SKIN"), 17);
				case 8: SetPlayerSkin(GetPVarInt(playerid,"SKIN"), 147);
				case 9: SetPlayerSkin(GetPVarInt(playerid,"SKIN"), 150);
				case 10: SetPlayerSkin(GetPVarInt(playerid,"SKIN"), 141);
				case 11: SetPlayerSkin(GetPVarInt(playerid,"SKIN"), 219);
			}
			PlayerInfo[GetPVarInt(playerid,"SKIN")][pSkin] = GetPlayerSkin(playerid);
			}
		}

Вот сама команда(хотя она по сути не нужна)

CMD:changeskin(playerid, params[])
{
	if(PlayerInfo[playerid][pLeader] >= 1 || PlayerInfo[playerid][pRang] >= 8){
	new skinid;
	tmp = strtok(cmdtext, idx);
	if(!strlen(tmp)) return SCM(playerid, -1, " Используй: /changeskin [id игрока]");
	skinid = ReturnUser(tmp);
 	new leader;
 	if(PlayerInfo[playerid][pLeader] >0) leader = PlayerInfo[playerid][pLeader];
	else leader = PlayerInfo[playerid][pMember];
 	if(leader == PlayerInfo[skinid][pMember]){
	SetPVarInt(playerid,"SKIN",skinid);
	if(leader == 1) return SPD(playerid, 235111, DIALOG_STYLE_LIST,"{ffcf00}Изменение внешности", "Скин №1 [id 98]\nСкин №2 [id 164]\nСкин №3 [id 165]\nСкин №4 [id 185]\nСкин №5 [id 59]\nСкин №6 [id 240]\nСкин №7 [id 187]\nСкин №8 [id 17]\nСкин №9 [id 147]\nСкин №10 [id 150]\nСкин №11 [id 164]\nСкин №12 [id 219]","Выбрать","Отмена");
	if(leader == 2) return SPD(playerid, 235112, DIALOG_STYLE_LIST,"{ffcf00}Изменение внешности", "Скин №1 [id 98]\nСкин №2 [id 164]\nСкин №3 [id 165]\nСкин №4 [id 185]\nСкин №5 [id 59]\nСкин №6 [id 240]\nСкин №7 [id 187]\nСкин №8 [id 17]\nСкин №9 [id 227]\nСкин №10 [id 150]\nСкин №11 [id 164]\nСкин №12 [id 219]","Выбрать","Отмена");
 	if(leader == 3) return SPD(playerid, 235112, DIALOG_STYLE_LIST,"{ffcf00}Изменение внешности", "Скин №1 [id 98]\nСкин №2 [id 164]\nСкин №3 [id 165]\nСкин №4 [id 185]\nСкин №5 [id 59]\nСкин №6 [id 240]\nСкин №7 [id 187]\nСкин №8 [id 17]\nСкин №9 [id 227]\nСкин №10 [id 150]\nСкин №11 [id 164]\nСкин №12 [id 219]","Выбрать","Отмена");
	if(leader == 4) return SPD(playerid, 235112, DIALOG_STYLE_LIST,"{ffcf00}Изменение внешности", "Скин №1 [id 98]\nСкин №2 [id 164]\nСкин №3 [id 165]\nСкин №4 [id 185]\nСкин №5 [id 59]\nСкин №6 [id 240]\nСкин №7 [id 187]\nСкин №8 [id 17]\nСкин №9 [id 227]\nСкин №10 [id 150]\nСкин №11 [id 164]\nСкин №12 [id 219]","Выбрать","Отмена");
	if(leader == 5) return SPD(playerid, 235113, DIALOG_STYLE_LIST,"{ffcf00}Изменение внешности", "Скин №1 [id 295]\nСкин №2 [id 191]\nСкин №3 [id 287]\nСкин №4 [id 185]","Выбрать","Отмена");
	if(leader == 6) return SPD(playerid, 235114, DIALOG_STYLE_LIST,"{ffcf00}Изменение внешности", "Скин №1 [id 255]\nСкин №2 [id 61]\nСкин №3 [id 287]\nСкин №4 [id 191]","Выбрать","Отмена");
 	if(leader == 7) return SPD(playerid, 235114, DIALOG_STYLE_LIST,"{ffcf00}Изменение внешности", "Скин №1 [id 255]\nСкин №2 [id 61]\nСкин №3 [id 287]\nСкин №4 [id 191]","Выбрать","Отмена");
	if(leader == 8) return SPD(playerid, 235114, DIALOG_STYLE_LIST,"{ffcf00}Изменение внешности", "Скин №1 [id 255]\nСкин №2 [id 61]\nСкин №3 [id 287]\nСкин №4 [id 191]","Выбрать","Отмена");
 	if(leader == 9) return SPD(playerid, 235115, DIALOG_STYLE_LIST,"{ffcf00}Изменение внешности", "Скин №1 [id 294]\nСкин №2 [id 265]\nСкин №3 [id 266]\nСкин №4 [id 267]\nСкин №5 [id 280]\nСкин №6 [id 281]\nСкин №7 [id 282]\nСкин №8 [id 283]\nСкин №9 [id 284]\nСкин №10 [id 285]\nСкин №11 [id 288]\nСкин №12 [id 93]\nСкин №13 [id 192]","Выбрать","Отмена");
	if(leader == 10)return SPD(playerid, 235116, DIALOG_STYLE_LIST,"{ffcf00}Изменение внешности", "Скин №1 [id 265]\nСкин №2 [id 266]\nСкин №3 [id 267]\nСкин №4 [id 280]\nСкин №5 [id 281]\nСкин №6 [id 282]\nСкин №7 [id 283]\nСкин №8 [id 284]\nСкин №9 [id 285]\nСкин №10 [id 288]\nСкин №11 [id 192]","Выбрать","Отмена");
 	if(leader == 11) return SPD(playerid, 235116, DIALOG_STYLE_LIST,"{ffcf00}Изменение внешности", "Скин №1 [id 265]\nСкин №2 [id 266]\nСкин №3 [id 267]\nСкин №4 [id 280]\nСкин №5 [id 281]\nСкин №6 [id 282]\nСкин №7 [id 283]\nСкин №8 [id 284]\nСкин №9 [id 285]\nСкин №10 [id 288]\nСкин №11 [id 192]","Выбрать","Отмена");
  	if(leader == 12) return SPD(playerid, 235116, DIALOG_STYLE_LIST,"{ffcf00}Изменение внешности", "Скин №1 [id 265]\nСкин №2 [id 266]\nСкин №3 [id 267]\nСкин №4 [id 280]\nСкин №5 [id 281]\nСкин №6 [id 282]\nСкин №7 [id 283]\nСкин №8 [id 284]\nСкин №9 [id 285]\nСкин №10 [id 288]\nСкин №11 [id 192]","Выбрать","Отмена");
	if(leader == 13) return SPD(playerid, 235117, DIALOG_STYLE_LIST,"{ffcf00}Изменение внешности", "Скин №1 [id 286]\nСкин №2 [id 164]\nСкин №3 [id 163]\nСкин №4 [id 165]\nСкин №5 [id 166]\nСкин №6 [id 192]","Выбрать","Отмена");
 	if(leader == 14) return SPD(playerid, 235118, DIALOG_STYLE_LIST,"{ffcf00}Изменение внешности", "Скин №1 [id 295]\nСкин №2 [id 170]\nСкин №3 [id 250]\nСкин №4 [id 188]\nСкин №5 [id 187]\nСкин №6 [id 186]\nСкин №7 [id 223]\nСкин №8 [id 233]\nСкин №19 [id 150]\nСкин №10 [id 141]","Выбрать","Отмена");
	if(leader == 15) return SPD(playerid, 235119, DIALOG_STYLE_LIST,"{ffcf00}Изменение внешности", "Скин №1 [id 170]\nСкин №2 [id 250]\nСкин №3 [id 188]\nСкин №4 [id 187]\nСкин №5 [id 186]\nСкин №6 [id 223]\nСкин №7 [id 150]\nСкин №8 [id 141]","Выбрать","Отмена");
 	if(leader == 16) return SPD(playerid, 235119, DIALOG_STYLE_LIST,"{ffcf00}Изменение внешности", "Скин №1 [id 170]\nСкин №2 [id 250]\nСкин №3 [id 188]\nСкин №4 [id 187]\nСкин №5 [id 186]\nСкин №6 [id 223]\nСкин №7 [id 150]\nСкин №8 [id 141]","Выбрать","Отмена");
	if(leader == 17) return SPD(playerid, 235119, DIALOG_STYLE_LIST,"{ffcf00}Изменение внешности", "Скин №1 [id 170]\nСкин №2 [id 250]\nСкин №3 [id 188]\nСкин №4 [id 187]\nСкин №5 [id 186]\nСкин №6 [id 223]\nСкин №7 [id 150]\nСкин №8 [id 141]","Выбрать","Отмена");
	if(leader == 18) return SPD(playerid, 235120, DIALOG_STYLE_LIST,"{ffcf00}Изменение внешности", "Скин №1 [id 274]\nСкин №2 [id 276]\nСкин №3 [id 275]\nСкин №4 [id 70]\nСкин №5 [id 148]","Выбрать","Отмена");
	if(leader == 19) return SPD(playerid, 235122, DIALOG_STYLE_LIST,"{ffcf00}Изменение внешности", "Скин №1 [id 105]\nСкин №2 [id 106]\nСкин №3 [id 107]\nСкин №4 [id 195]\nСкин №5 [id 269]\nСкин №6 [id 270]\nСкин №7 [id 271]\nСкин №8 [id 149]\nСкин №9 [id 86]","Выбрать","Отмена");
 	if(leader == 20) return SPD(playerid, 235123, DIALOG_STYLE_LIST,"{ffcf00}Изменение внешности", "Скин №1 [id 102]\nСкин №2 [id 103]\nСкин №3 [id 104]\nСкин №4 [id 195]","Выбрать","Отмена");
	if(leader == 21) return SPD(playerid, 235124, DIALOG_STYLE_LIST,"{ffcf00}Изменение внешности", "Скин №1 [id 116]\nСкин №2 [id 114]\nСкин №3 [id 115]\nСкин №4 [id 193]","Выбрать","Отмена");
	if(leader == 22) return SPD(playerid, 235125, DIALOG_STYLE_LIST,"{ffcf00}Изменение внешности", "Скин №1 [id 116]\nСкин №2 [id 114]\nСкин №3 [id 115]\nСкин №4 [id 193]\nСкин №5 [id 292]","Выбрать","Отмена");
 	if(leader == 23) return SPD(playerid, 235126, DIALOG_STYLE_LIST,"{ffcf00}Изменение внешности", "Скин №1 [id 108]\nСкин №2 [id 110]\nСкин №3 [id 109]\nСкин №4 [id 56]","Выбрать","Отмена");
 	if(leader == 24) return SPD(playerid, 235127, DIALOG_STYLE_LIST,"{ffcf00}Изменение внешности", "Скин №1","Выбрать","Отмена");
  	if(leader == 25) return SPD(playerid, 235128, DIALOG_STYLE_LIST,"{ffcf00}Изменение внешности", "Скин №1","Выбрать","Отмена");
 	if(leader == 26) return SPD(playerid, 235129, DIALOG_STYLE_LIST,"{ffcf00}Изменение внешности", "Скин №1","Выбрать","Отмена");
    if(leader == 27) return SPD(playerid, 235119, DIALOG_STYLE_LIST,"{ffcf00}Изменение внешности", "Скин №1 [id 170]\nСкин №2 [id 250]\nСкин №3 [id 188]\nСкин №4 [id 187]\nСкин №5 [id 186]\nСкин №6 [id 223]\nСкин №7 [id 150]\nСкин №8 [id 141]","Выбрать","Отмена");return 1;}else{SendClientMessage(playerid, COLOR_GRAD1, "Этот человек не в вашей фракции!");return 1;}
	}
	return true;
}

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


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

@Marvellous, case 244 и case 245 в каком паблике у Вас? 

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


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

,Вопрос с case решил,по невнимательности впихнул в команду вообще,а не ко всем case!

 

Теперь проблема в самой команде

C:\Users\Admin\Desktop\Аризона финал\gamemodes\Untitled.pwn(19630) : error 017: undefined symbol "pRang"
C:\Users\Admin\Desktop\Аризона финал\gamemodes\Untitled.pwn(19632) : error 017: undefined symbol "tmp"
C:\Users\Admin\Desktop\Аризона финал\gamemodes\Untitled.pwn(19632) : error 017: undefined symbol "cmdtext"
C:\Users\Admin\Desktop\Аризона финал\gamemodes\Untitled.pwn(19633) : error 017: undefined symbol "tmp"
C:\Users\Admin\Desktop\Аризона финал\gamemodes\Untitled.pwn(19633) : error 017: undefined symbol "SCM"
C:\Users\Admin\Desktop\Аризона финал\gamemodes\Untitled.pwn(19634) : error 017: undefined symbol "ReturnUser"
C:\Users\Admin\Desktop\Аризона финал\gamemodes\Untitled.pwn(19640) : error 017: undefined symbol "SPD"
C:\Users\Admin\Desktop\Аризона финал\gamemodes\Untitled.pwn(19641) : error 017: undefined symbol "SPD"
C:\Users\Admin\Desktop\Аризона финал\gamemodes\Untitled.pwn(19642) : error 017: undefined symbol "SPD"
C:\Users\Admin\Desktop\Аризона финал\gamemodes\Untitled.pwn(19643) : error 017: undefined symbol "SPD"
C:\Users\Admin\Desktop\Аризона финал\gamemodes\Untitled.pwn(19644) : error 017: undefined symbol "SPD"
C:\Users\Admin\Desktop\Аризона финал\gamemodes\Untitled.pwn(19645) : error 017: undefined symbol "SPD"
C:\Users\Admin\Desktop\Аризона финал\gamemodes\Untitled.pwn(19646) : error 017: undefined symbol "SPD"
C:\Users\Admin\Desktop\Аризона финал\gamemodes\Untitled.pwn(19647) : error 017: undefined symbol "SPD"
C:\Users\Admin\Desktop\Аризона финал\gamemodes\Untitled.pwn(19648) : error 017: undefined symbol "SPD"
C:\Users\Admin\Desktop\Аризона финал\gamemodes\Untitled.pwn(19649) : error 017: undefined symbol "SPD"
C:\Users\Admin\Desktop\Аризона финал\gamemodes\Untitled.pwn(19650) : error 017: undefined symbol "SPD"
C:\Users\Admin\Desktop\Аризона финал\gamemodes\Untitled.pwn(19651) : error 017: undefined symbol "SPD"
C:\Users\Admin\Desktop\Аризона финал\gamemodes\Untitled.pwn(19652) : error 017: undefined symbol "SPD"
C:\Users\Admin\Desktop\Аризона финал\gamemodes\Untitled.pwn(19653) : error 017: undefined symbol "SPD"
C:\Users\Admin\Desktop\Аризона финал\gamemodes\Untitled.pwn(19654) : error 017: undefined symbol "SPD"
C:\Users\Admin\Desktop\Аризона финал\gamemodes\Untitled.pwn(19655) : error 017: undefined symbol "SPD"
C:\Users\Admin\Desktop\Аризона финал\gamemodes\Untitled.pwn(19656) : error 017: undefined symbol "SPD"
C:\Users\Admin\Desktop\Аризона финал\gamemodes\Untitled.pwn(19657) : error 017: undefined symbol "SPD"
C:\Users\Admin\Desktop\Аризона финал\gamemodes\Untitled.pwn(19658) : error 017: undefined symbol "SPD"
C:\Users\Admin\Desktop\Аризона финал\gamemodes\Untitled.pwn(19659) : error 017: undefined symbol "SPD"

Compilation aborted.

Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2016, ITB CompuPhase


26 Errors.

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


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

O my got!!!

В общем.

Во-первых, команды на dc_cmd не так переводятся, точнее, ты не перевел до конца, во-вторых, зачем использовать эти if'ы, если можно сделать вывод диалога, там уже с помощью свитча выводить диалог, это же удобней!

Короче, пример:

CMD:changeskin(playerid, params[])
{
if(Player[playerid][pLeader] != 1) return SCM(playerid, -1, "Вы не лидер!");
if(sscanf(params, "i", params[0])) return SCM(playerid, COLOR_GREY, "Подсказка: /changeskin [ID игрока]");
if(Player[params[0]][pMember] != Player[playerid][pMember]) return SCM(playerid, -1, "Игрок не состоит в вашей фракции!");
SetPVarInt(playerid, "id_people", params[0]);
swtich(Player[playerid][pMember])
{
case 1:
{
SPD(playerid, ID, DIALOG_STYLE_LIST, "Выбор скина", "Скин\nСкин\nСкин\nСкин\nСкин\nСкин", "Выбрать", "Отмена");
}
case 2:
{
SPD(playerid, ID, DIALOG_STYLE_LIST, "Выбор скина", "Скин\nСкин\nСкин\nСкин\nСкин\nСкин", "Выбрать", "Отмена");
}
case 3:
{
SPD(playerid, ID, DIALOG_STYLE_LIST, "Выбор скина", "Скин\nСкин\nСкин\nСкин\nСкин\nСкин", "Выбрать", "Отмена");
}
}
return true;
}
case ID:
{
if(response)
{
new skin_people = GetPVarInt(playerid, "id_people");
switch(listitem)
{
case 0: 
{
SetPlayerSkin(skin_people, id(Скин));
Player[skin_people][pModel] = id(скин);
}
case 1: 
{
SetPlayerSkin(skin_people, id(Скин));
Player[skin_people][pModel] = id(скин);
}
case 2: 
{
SetPlayerSkin(skin_people, id(Скин));
Player[skin_people][pModel] = id(скин);
}
}
}

Писал с браузера, подстрой под себя, может скобку не закрыл где-то.

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


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

Очень плохая реализация команды, кстати Скриптаман я от тебя не ожидал такой реализации

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


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

,)). Я такой быдлокодер, у меня сегодня день весь в напряженке, но все же) 

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


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

@SCRIPTMAN,все равно

Это автору данной темы:

static const stock ChangeSkin[27][12] =
{
	{0,0,0,0,0,0,0,0,0,0,0,0}, // СЮДА ID СКИНОВ
	{0,0,0,0,0,0,0,0,0,0,0,0},
	{0,0,0,0,0,0,0,0,0,0,0,0},
	{0,0,0,0,0,0,0,0,0,0,0,0},
	{0,0,0,0,0,0,0,0,0,0,0,0},
	{0,0,0,0,0,0,0,0,0,0,0,0},
	{0,0,0,0,0,0,0,0,0,0,0,0},
	{0,0,0,0,0,0,0,0,0,0,0,0},
	{0,0,0,0,0,0,0,0,0,0,0,0},
	{0,0,0,0,0,0,0,0,0,0,0,0},
	{0,0,0,0,0,0,0,0,0,0,0,0},
	{0,0,0,0,0,0,0,0,0,0,0,0},
	{0,0,0,0,0,0,0,0,0,0,0,0},
	{0,0,0,0,0,0,0,0,0,0,0,0},
	{0,0,0,0,0,0,0,0,0,0,0,0},
	{0,0,0,0,0,0,0,0,0,0,0,0},
	{0,0,0,0,0,0,0,0,0,0,0,0},
	{0,0,0,0,0,0,0,0,0,0,0,0},
	{0,0,0,0,0,0,0,0,0,0,0,0},
	{0,0,0,0,0,0,0,0,0,0,0,0},
	{0,0,0,0,0,0,0,0,0,0,0,0},
	{0,0,0,0,0,0,0,0,0,0,0,0},
	{0,0,0,0,0,0,0,0,0,0,0,0},
	{0,0,0,0,0,0,0,0,0,0,0,0},
	{0,0,0,0,0,0,0,0,0,0,0,0},
	{0,0,0,0,0,0,0,0,0,0,0,0},
	{0,0,0,0,0,0,0,0,0,0,0,0}
};

CMD:changeskin(playerid, params[])
{
	switch(PlayerInfo[playerid][pMember])
	{
	case 1,3,19,10,21: if(PlayerInfo[playerid][pRank] < 14) return SendClientMessage(playerid,-1,"• {AC0000}[Ошибка] {ffffff}Вам не доступна данная команда");
	case 2: if(PlayerInfo[playerid][pRank] < 9) return SendClientMessage(playerid,-1, "• {AC0000}[Ошибка] {ffffff}Вам недоступна данная команда");
	case 4..6,11..15,17,18,24..26: if(PlayerInfo[playerid][pRank] < 9) return SendClientMessage(playerid,-1,"• {AC0000}[Ошибка] {ffffff}Вам не доступна данная команда");
	case 7: if(PlayerInfo[playerid][pRank] < 5) return SendClientMessage(playerid,-1,"• {AC0000}[Ошибка] {ffffff}Вам не доступна данная команда");
	case 16: if(PlayerInfo[playerid][pRank] < 12) return SendClientMessage(playerid,-1,"• {AC0000}[Ошибка] {ffffff}Вам не доступна данная команда");
	case 23: if(PlayerInfo[playerid][pRank] < 9) return SendClientMessage(playerid,-1,"• {AC0000}[Ошибка] {ffffff}Вам не доступна данная команда");
	case 27: if(PlayerInfo[playerid][pRank] < 10) return SendClientMessage(playerid,-1,"• {AC0000}[Ошибка] {ffffff}Вам не доступна данная команда");
	default: return SendClientMessage(playerid,-1,"• {AC0000}[Ошибка] {ffffff}Вам не доступна данная команда");
	}
	if(sscanf(params,"d",params[0])) return SendClientMessage(playerid, -1, "• {FF9000}[Подсказка] {ffffff}Используйте /changeskin [id]");
	if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, -1, "• {AC0000}[Ошибка] {ffffff}Игрок оффлайн!");
	if(PlayerInfo[playerid][pMember] != PlayerInfo[params[0]][pMember]) return SendClientMessage(playerid, -1, "• {AC0000}[Ошибка] {ffffff}Данный игрок не в вашей фракции!");
	new fractionid = PlayerInfo[playerid][pMember]-1;
	new mes[256];
	for(new i;i<12;i++)
	{
		new skinid = ChangeSkin[fractionid][i];
		if(!skinid) break;
		if(!i) format(mes,sizeof(mes),"Скин %d [%d]",i+1,skinid);
		else format(mes,sizeof(mes),"%s\nСкин %d [%d]",mes,i+1,skinid);
	}
	SetPVarInt(playerid,"actinplayerid",params[0]);
	SetPVarInt(params[0], "pOfferFractionid", PlayerInfo[playerid][pMember]);
	ShowPlayerDialog(playerid,1145,DIALOG_STYLE_LIST,PlayerInfo[params[0]][pNames],mes,"Принять","");
	return 1;
}
// PlayerInfo[playerid][pRank] - ЗАМЕНИТЬ НА СВОЕ
// PlayerInfo[params[0]][pNames] - ЗАМЕНИТЬ НА СВОЕ
// PlayerInfo[playerid][pMember] - ЗАМЕНИТЬ НА СВОЕ


Диалог:

case 1145:
	{
		if(!response) return DeletePVar(playerid, "actinplayerid");
		new actplayerid = GetPVarInt(playerid,"actinplayerid");
		new fractionid = GetPVarInt(actplayerid, "pOfferFractionid");
		if(PlayerInfo[playerid][pMember] != fractionid) return SendClientMessage(playerid,CGRAY,"Ошибка #002");
		new skinid = ChangeSkin[fractionid-1][listitem];
		PlayerInfo[actplayerid][pModel] = skinid;
		SetPlayerSkin(actplayerid,PlayerInfo[actplayerid][pModel]);
		UpdatePlayerData(actplayerid,"pModel",PlayerInfo[actplayerid][pModel]);
		new stringer[74];
		format(stringer, sizeof(stringer), "Лидер/Заместитель %s сменил вам фракционный скин!",PlayerInfo[playerid][pNames]);
		SCM(actplayerid,-1,stringer);
		DeletePVar(actplayerid, "pOfferFractionid");
		DeletePVar(playerid, "actinplayerid");
		return 1;
	}
	
	// PlayerInfo[actplayerid][pModel] - ЗАМЕНИТЬ НА СВОЕ
	// CGRAY, CINFO - ЗАМЕНИТЬ НА СВОИ ЦВЕТА
	// UpdatePlayerData(actplayerid,"pModel",PlayerInfo[actplayerid][pModel]); - ЗАМЕНИТЬ НА СВОЕ СОХРАНЕНИЕ 

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


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

,Вроде все исправил,осталось исправить это

C:\Users\Admin\Desktop\??????? ?????\gamemodes\Untitled.pwn(31899) : error 017: undefined symbol "CGRAY"
C:\Users\Admin\Desktop\??????? ?????\gamemodes\Untitled.pwn(31906) : error 017: undefined symbol "SCM"
Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2016, ITB CompuPhase


2 Errors. 

Не пойму на что изменить эту CGRAY

if(PlayerInfo[playerid][pMember] != fractionid) return SendClientMessage(playerid,CGRAY,"Ошибка #002"); 

Ну и тут думаю поймешь в чем ошибка

SCM(actplayerid,-1,stringer); 

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


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

SCM - SendClientMessage

CGRAY - 0xAFAFAFFF

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


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

, Сделал,без ошибок,но не высвечивается окно, т.е вожу changeskin id  отправляю и больше ни что не происходит

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


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

@Marvellous, чью команду брали? Какого пользователя? 

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


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

,Savel 

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


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

@Marvellous,а заменить ИД диалог пытались? 

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


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

,Да! Ни что не изменилось! 

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


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

@Marvellous, скиньте весь код, что сейчас у Вас есть в моде, связанный с этой системой. 

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


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

@Marvellous, а вы добавили ID скинов в ChangeSkin? Если там будет все по 0 то он не покажет диалог

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


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

,да добавил! Ноль реакции

 

,

//
CMD:changeskin(playerid, params[])
{
	switch(PlayerInfo[playerid][pMember])
	{
	case 1,3,19,10,21: if(PlayerInfo[playerid][pRank] < 14) return SendClientMessage(playerid,-1,"• {AC0000}[Ошибка] {ffffff}Вам не доступна данная команда");
	case 2: if(PlayerInfo[playerid][pRank] < 9) return SendClientMessage(playerid,-1, "• {AC0000}[Ошибка] {ffffff}Вам недоступна данная команда");
	case 4..6,11..15,17,18,24..26: if(PlayerInfo[playerid][pRank] < 9) return SendClientMessage(playerid,-1,"• {AC0000}[Ошибка] {ffffff}Вам не доступна данная команда");
	case 7: if(PlayerInfo[playerid][pRank] < 5) return SendClientMessage(playerid,-1,"• {AC0000}[Ошибка] {ffffff}Вам не доступна данная команда");
	case 16: if(PlayerInfo[playerid][pRank] < 12) return SendClientMessage(playerid,-1,"• {AC0000}[Ошибка] {ffffff}Вам не доступна данная команда");
	case 23: if(PlayerInfo[playerid][pRank] < 9) return SendClientMessage(playerid,-1,"• {AC0000}[Ошибка] {ffffff}Вам не доступна данная команда");
	case 27: if(PlayerInfo[playerid][pRank] < 10) return SendClientMessage(playerid,-1,"• {AC0000}[Ошибка] {ffffff}Вам не доступна данная команда");
	default: return SendClientMessage(playerid,-1,"• {AC0000}[Ошибка] {ffffff}Вам не доступна данная команда");
	}
	if(sscanf(params,"d",params[0])) return SendClientMessage(playerid, -1, "• {FF9000}[Подсказка] {ffffff}Используйте /changeskin [id]");
	if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, -1, "• {AC0000}[Ошибка] {ffffff}Игрок оффлайн!");
	if(PlayerInfo[playerid][pMember] != PlayerInfo[params[0]][pMember]) return SendClientMessage(playerid, -1, "• {AC0000}[Ошибка] {ffffff}Данный игрок не в вашей фракции!");
	new fractionid = PlayerInfo[playerid][pMember]-1;
	new mes[256];
	for(new i;i<12;i++)
	{
		new skinid = ChangeSkin[fractionid][i];
		if(!skinid) break;
		if(!i) format(mes,sizeof(mes),"Скин %d [%d]",i+1,skinid);
		else format(mes,sizeof(mes),"%s\nСкин %d [%d]",mes,i+1,skinid);
	}
	SetPVarInt(playerid,"actinplayerid",params[0]);
	SetPVarInt(params[0], "pOfferFractionid", PlayerInfo[playerid][pMember]);
	ShowPlayerDialog(playerid,15206,DIALOG_STYLE_LIST,PlayerInfo[params[0]][pName],mes,"Принять","");
	return 1;
} 
static const stock ChangeSkin[27][12] =
{
	{256,256,256,256,256,256,256,256,256,256,256,256}, // СЮДА ID СКИНОВ
	{256,256,256,256,256,256,256,256,256,256,256,256},
	{256,256,256,256,256,256,256,256,256,256,256,256},
	{256,256,256,256,256,256,256,256,256,256,256,256},
	{256,256,256,256,256,256,256,256,256,256,256,256},
	{256,256,256,256,256,256,256,256,256,256,256,256},
	{256,256,256,256,256,256,256,256,256,256,256,256},
	{256,256,256,256,256,256,256,256,256,256,256,256},
	{256,256,256,256,256,256,256,256,256,256,256,256},
	{256,256,256,256,256,256,256,256,256,256,256,256},
	{256,256,256,256,256,256,256,256,256,256,256,256},
	{256,256,256,256,256,256,256,256,256,256,256,256},
	{256,256,256,256,256,256,256,256,256,256,256,256},
	{256,256,256,256,256,256,256,256,256,256,256,256},
	{256,256,256,256,256,256,256,256,256,256,256,256},
	{256,256,256,256,256,256,256,256,256,256,256,256},
	{256,256,256,256,256,256,256,256,256,256,256,256},
	{256,256,256,256,256,256,256,256,256,256,256,256},
	{256,256,256,256,256,256,256,256,256,256,256,256},
	{256,256,256,256,256,256,256,256,256,256,256,256},
	{256,256,256,256,256,256,256,256,256,256,256,256},
	{256,256,256,256,256,256,256,256,256,256,256,256},
	{256,256,256,256,256,256,256,256,256,256,256,256},
	{256,256,256,256,256,256,256,256,256,256,256,256},
	{256,256,256,256,256,256,256,256,256,256,256,256},
	{256,256,256,256,256,256,256,256,256,256,256,256},
	{256,256,256,256,256,256,256,256,256,256,256,256}
}; 
case 15206:
	{
		if(!response) return DeletePVar(playerid, "actinplayerid");
		new actplayerid = GetPVarInt(playerid,"actinplayerid");
		new fractionid = GetPVarInt(actplayerid, "pOfferFractionid");
		if(PlayerInfo[playerid][pMember] != fractionid) return SendClientMessage(playerid,0xAFAFAFFF,"Ошибка #002");
		new skinid = ChangeSkin[fractionid-1][listitem];
		PlayerInfo[actplayerid][pSkin] = skinid;
		SetPlayerSkin(actplayerid,PlayerInfo[actplayerid][pSkin]);
		UpdatePlayerData(actplayerid,"pModel",PlayerInfo[actplayerid][pSkin]);
		new stringer[74];
		format(stringer, sizeof(stringer), "Лидер/Заместитель %s сменил вам фракционный скин!",PlayerInfo[playerid][pName]);
		SendClientMessage(actplayerid,-1,stringer);
		DeletePVar(actplayerid, "pOfferFractionid");
		DeletePVar(playerid, "actinplayerid");
		return 1;
	} 

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


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

@Marvellous, проверьте через printf, вся ли команда срабатывает. Вот, например, вместо своей команды вставьте это, в игре ее используется и покажите логи.

CMD:changeskin(playerid, params[])
{
	printf("cmd1");
	switch(PlayerInfo[playerid][pMember])
	{
		case 1,3,19,10,21: if(PlayerInfo[playerid][pRank] < 14) return SendClientMessage(playerid,-1,"• {AC0000}[Ошибка] {ffffff}Вам не доступна данная команда");
		case 2: if(PlayerInfo[playerid][pRank] < 9) return SendClientMessage(playerid,-1, "• {AC0000}[Ошибка] {ffffff}Вам недоступна данная команда");
		case 4..6,11..15,17,18,24..26: if(PlayerInfo[playerid][pRank] < 9) return SendClientMessage(playerid,-1,"• {AC0000}[Ошибка] {ffffff}Вам не доступна данная команда");
		case 7: if(PlayerInfo[playerid][pRank] < 5) return SendClientMessage(playerid,-1,"• {AC0000}[Ошибка] {ffffff}Вам не доступна данная команда");
		case 16: if(PlayerInfo[playerid][pRank] < 12) return SendClientMessage(playerid,-1,"• {AC0000}[Ошибка] {ffffff}Вам не доступна данная команда");
		case 23: if(PlayerInfo[playerid][pRank] < 9) return SendClientMessage(playerid,-1,"• {AC0000}[Ошибка] {ffffff}Вам не доступна данная команда");
		case 27: if(PlayerInfo[playerid][pRank] < 10) return SendClientMessage(playerid,-1,"• {AC0000}[Ошибка] {ffffff}Вам не доступна данная команда");
		default: return SendClientMessage(playerid,-1,"• {AC0000}[Ошибка] {ffffff}Вам не доступна данная команда");
	}
	printf("cmd2");
	if(sscanf(params,"d",params[0])) return SendClientMessage(playerid, -1, "• {FF9000}[Подсказка] {ffffff}Используйте /changeskin [id]");
	printf("cmd %d", params[0]);
	if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, -1, "• {AC0000}[Ошибка] {ffffff}Игрок оффлайн!");
	if(PlayerInfo[playerid][pMember] != PlayerInfo[params[0]][pMember]) return SendClientMessage(playerid, -1, "• {AC0000}[Ошибка] {ffffff}Данный игрок не в вашей фракции!");
	printf("cmd3");
	new fractionid = PlayerInfo[playerid][pMember]-1;
	new mes[256];
	for(new i;i<12;i++)
	{
		new skinid = ChangeSkin[fractionid][i];
		if(!skinid) break;
		if(!i) format(mes,sizeof(mes),"Скин %d [%d]",i+1,skinid);
		else format(mes,sizeof(mes),"%s\nСкин %d [%d]",mes,i+1,skinid);
	}
	printf(mes);
	SetPVarInt(playerid,"actinplayerid",params[0]);
	SetPVarInt(params[0], "pOfferFractionid", PlayerInfo[playerid][pMember]);
	ShowPlayerDialog(playerid,15206,DIALOG_STYLE_LIST,PlayerInfo[params[0]][pName],mes,"Принять","");
	return 1;
}

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


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

,Нет не работает! 

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


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

@Marvellous,Ну тогда тебе нужно всю команду переделывать, если у тебя  printf("cmd1"); не работает, стоящий вначале всего кода.

//сама комадна
CMD:changeskin(playerid,params[]) {
	if(PlayerLogged[playerid] != true) return 1;
	if(ChangeSkin(playerid) != 0) {
		if(sscanf(params, "u", params[0])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /changeskin [id игрока]");
		if(params[0] == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, "Игрок оффлайн!");
		if(PlayerLogged[params[0]] == false) return SendClientMessage(playerid, COLOR_GREY, "Игрок не авторизирован!");
		if(IsPlayerInAnyVehicle(params[0])) return SendClientMessage(playerid, COLOR_GREY, "Игрок не должен находиться в транспорте!");
		if(PI[params[0]][pMember] == 0) return SendClientMessage(playerid, COLOR_GREY, "Игрок не находиться в организации!");
		if(PI[params[0]][pMember] != PI[playerid][pMember]) return SendClientMessage(playerid, COLOR_GREY, "Игрок находиться в другой организации!");
		strin = "";
		for(new i;i<12;i++)
		{
			new skinid = FractionSkin[PI[playerid][pMember]-1][i];
			if(!skinid) break;
			if(!i)
			format(strin,sizeof(strin),"Скин %d [%d]",i+1,skinid);
			else strin = "";
			format(strin,sizeof(strin),"%s\nСкин %d [%d]",strin,i+1,skinid);
		}
		SetPVarInt(playerid, "PlayerSkin", params[0]);
		SPD(playerid,DIALOG_FRACTION+3,2,NamePlayer(params[0]),strin,"OK","Отмена");
	}
	else SendClientMessage(playerid, COLOR_GREY, T_CMD);
	return 1;
}
//кейсы к ней
		}
	case DIALOG_FRACTION+3: {
			new playerd = GetPVarInt(playerid, "PlayerSkin");
			new skinid = FractionSkin[PI[playerid][pMember]-1][listitem];
			if(!response) return DeletePVar(playerid, "PlayerSkin");
			if(playerd == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, "Игрок оффлайн!");
			if(PlayerLogged[playerd] == false) return SendClientMessage(playerid, COLOR_GREY, "Игрок не авторизирован!");
			PI[playerd][pFracSkin] = skinid;
			SetPlayerSkin(playerd,skinid);
			SendClientMessageEx(playerid, COLOR_ORANGE, "Вы изменили скин игрока: %s на ID: %d",NamePlayer(playerd), skinid);
			SendClientMessageEx(playerd, COLOR_BLUE, "%s изменил Ваш скин на ID: %d", NamePlayer(playerid), skinid);
			SavePlayer(playerd);
			DeletePVar(playerid, "PlayerSkin");
			return 1;
		}
//

просто вставь новую и подгони под мод свой, нежели с этой мозги выносить

  • Like 1

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


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

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

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

×

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

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