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

/chmodel

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

Maks_King77

На сервере Grand Role Play есть команда /chmodel, думаю объяснять для чего она нужна - не стоит. Суть проблемы в том, что при вводе /chmodel и id желаемой машины (допустим 400), автомобиль не заменяется. Только после рестарта, модель автомобиля меняется. Я, разумеется хочу, чтобы новая модель автомобиля спавнилась сразу, нежели после рестарта. Буду весьма благодарен, кто сможет помочь.

if(strcmp(cmd, "/chmodel", true) == 0)
    {

        if(PlayerInfo[playerid][pAdmin] >= 7)
         {
                        new cars = GetVID(PlayerInfo[playerid][pCKey]);
                        tmp = strtok(cmdtext, idx);
                        if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Используй: /chmodel [ID автомобиля]");
                        new proplev = strval(tmp);
                        if(proplev < 400 || proplev > 611)
						{
		    				SendClientMessage(playerid, COLOR_GREY,"Такой машины нету!");
							return 1;
						}
						VehicleSystem[GetCreatorID(cars)][modelCA] = proplev;
						SaveCar(GetCreatorID(cars));
                        SetVehiclePos(GetVID(PlayerInfo[playerid][pCKey]),VehicleSystem[PlayerInfo[playerid][pCKey]][xCA],VehicleSystem[PlayerInfo[playerid][pCKey]][yCA],VehicleSystem[PlayerInfo[playerid][pCKey]][zCA]);
                        SetVehicleZAngle(GetVID(PlayerInfo[playerid][pCKey]),VehicleSystem[PlayerInfo[playerid][pCKey]][aCA]);
						//DestroyVehicle;
                        //CreateVehicle;
						return 1;
                        }
      					else
      					{
      						SendClientMessage(playerid, COLOR_RED, "Команда временно отключена.");
						}
                        return 1;
						}
Изменено пользователем Maks_King77

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


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


if(strcmp(cmd, "/avtozamen", true) == 0)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GRAD2, "Вы должны быть в автомобиле");
new cars = GetPlayerVehicleID(playerid);
new szName[32];
GetPlayerName(playerid,szName,32);
if(!strcmp(szName,"Nikolay_Silko",true) || !strcmp(szName,"Vladimir_Kulikov",true))
{
if(AdminLog[playerid] != 1) return SendClientMessage(playerid,COLOR_FADE1,ADMINLOG);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Используйте: /avtozamen");
new veh = strval(tmp);
if((veh > 603) || (veh CarInfo[GetRealID(cars)][cMod] = veh;
SaveCar(GetRealID(cars));
SetVehicleToRespawn(cars);
new Float:plocx,Float:plocy,Float:plocz;
GetPlayerPos(playerid, plocx, plocy, plocz);
SetVehiclePos(cars,plocx,plocy+2, plocz);
SendClientMessage(playerid, COLOR_GRAD2, "Вы заменили авто");
return true;
}
SendClientMessage(playerid, COLOR_GRAD2, "Не для тебя мама ягодку растила");
return true;
}

 

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

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


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

, насколько мне известно, то система создания автомобилей Grand RP, отличается от системы Gamer'a

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


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

@Maks_King77,  под себя сделай

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


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

, вообщем-то, взял за основу твой код, при компиляции вылазили ошибки, но я их исправил. После, зашел в игру - эффект тот же. 
Распишу что же происходит в игре: Я сажусь в автомобиль, ввожу /chmodel и id автомобиля. Автомобиль как бы "респавнится" но модель автомобиля остается той же. И только после рестарта - модель автомобиля сменилась..

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


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

Удаляй авто и создавай по новой. 

if(strcmp(cmd, "/chmodel", true) == 0)
    {
 
        if(PlayerInfo[playerid][pAdmin] >= 7)
         {
                        new cars = GetVID(PlayerInfo[playerid][pCKey]),GetPlayerVehicleID(playerid);;
                        tmp = strtok(cmdtext, idx);
                        if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Используй: /chmodel [ID автомобиля]");
                        new proplev = strval(tmp);
                        if(proplev < 400 || proplev > 611)
                        {
                            SendClientMessage(playerid, COLOR_GREY,"Такой машины нету!");
                            return 1;
                        }
                        VehicleSystem[GetCreatorID(cars)][modelCA] = proplev;
                        SaveCar(GetCreatorID(cars));
                        DestroyVehicle(car);
car = CreateVehicle(proplev,VehicleSystem[PlayerInfo[playerid][pCKey]][xCA],VehicleSystem[PlayerInfo[playerid][pCKey]][yCA],VehicleSystem[PlayerInfo[playerid][pCKey]][zCA],VehicleSystem[PlayerInfo[playerid][pCKey]][aCA],ЦВЕТ 1,ЦВЕТ 2,60000*4);
return 1;
                        }
                        else
                        {
                            SendClientMessage(playerid, COLOR_RED, "Команда временно отключена.");
                        }
                        return 1;
                        }

Вместо ЦВЕТ 1 и ЦВЕТ 2 свои переменные, ибо я не знаю какие они у тебя там. 

Изменено пользователем Red_Devils
  • Like 1

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


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

 

 


car =
Юра, переменную вроде бы нашел, но когда ввел color 1 (вместо цвет 1), color2 (вместо цвет 2), выдает это:
 
C:\Users\??????\Desktop\GRAND ROLEPLAY\gamemodes\grand.pwn(45668) : error 017: undefined symbol "color1"

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


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

@Maks_King77,Если написано что символ не известен, то переменная не та, явно.  

  • Like 1

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


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

@Red_Devils, Не подскажешь, как проще всего найти нужную переменную? Поскольку, мод с паблика, для меня совершенно не знаком. Мб данная переменная будет в /addcar, или же /chcolor? 

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


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

В /chcolor

  • Like 1

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


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

@Red_Devils,
 

if(strcmp(cmd, "/chcolor", true) == 0)
	{
if(PlayerInfo[playerid][pCKey]==0)
{
SendClientMessage(playerid, COLOR_GRAD1, "? ??? ??? ?????? ??????!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
                SendClientMessage(playerid, COLOR_GRAD1, "???????????: /chcolor [0-255] [0-255]");
				return 1;
				}
//new color=strval(tmp);
new para1;
new para2;
para1 = strval(tmp);
para2 = strval(tmp);
//tmp = strtok(cmdtext, idx);
if(para1<0||para1>255&&para2<0||para2>255)
{
SendClientMessage(playerid, COLOR_GRAD1, "???????????: /chcolor [0-255] [0-255]");
return 1;
}
new summa;
summa = 20000;
if(PlayerInfo[playerid][pCash]<summa)
{
SendClientMessage(playerid, COLOR_GRAD1, "? ??? ???????????? ?????!");
return 1;
}
for(new i5=0; i5<MAX_PLAYERS;i5++)
{
if(IsPlayerConnected(i5)&&gPlayerLogged[i5]==1)
{
if(IsPlayerInVehicle(i5,GetVID(PlayerInfo[playerid][pCKey])))
{
SendClientMessage(playerid, COLOR_GRAD1, "? ?????? ???-?? ?????????!");
return 1;
}
}
}
format(string,sizeof(string),"?? ???????? ???? ?????? ?? %d ??????.",summa);
GivePlayerMoney(playerid,-summa);
ChangeVehicleColor(GetVID(PlayerInfo[playerid][pCKey]),para1,para2);
VehicleSystem[PlayerInfo[playerid][pCKey]][Farbe1]=para1;
VehicleSystem[PlayerInfo[playerid][pCKey]][Farbe2]=para2;
PlayerInfo[playerid][pCash]-=summa;
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
//SetVehiclePos(GetVID(PlayerInfo[playerid][pCKey]),VehicleSystem[PlayerInfo[playerid][pCKey]][xCA],VehicleSystem[PlayerInfo[playerid][pCKey]][yCA],VehicleSystem[PlayerInfo[playerid][pCKey]][zCA]);
//SetVehicleZAngle(GetVID(PlayerInfo[playerid][pCKey]),VehicleSystem[PlayerInfo[playerid][pCKey]][aCA]);
//ChangeVehicleColor(GetVID(PlayerInfo[playerid][pCKey]),color,color);
SavePlayer(playerid);
SaveCar(PlayerInfo[playerid][pCKey]);
return 1;
} 

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


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

Ну вот же, вместо ЦВЕТ 1 пишешь VehicleSystem[PlayerInfo[playerid][pCKey]][Farbe1], а вместо ЦВЕТ 2 пишешь VehicleSystem[PlayerInfo[playerid][pCKey]][Farbe2]

  • Like 1

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


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

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

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

×

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

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