17 минут назад, Nekit_Krut18 сказал:
@x_SkYAs_x Покажите код этих строк, на которых ошибки. Используйте для этого, спойлер и тег ‘ Код ‘.
8452: SetVehicleData(GetPlayerVehicleID(playerid),V_BAGAGE_AMOUNT_GUN,0); 10475: if GetVehicleData(vehicleid, V_BAGAGE_AMOUNT_GUN)+500 > 3000 *then SendClientMessage(playerid,-1,"Матовоз переполнен!"); 10478: SetVehicleData(vehicleid,V_BAGAGE_AMOUNT_GUN,GetVehicleData(vehicleid, V_BAGAGE_AMOUNT_GUN)+500); 10479: format(l_string,26,"Матовоз загружен: 0/%d",GetVehicleData(vehicleid,V_BAGAGE_AMOUNT_GUN)); 10594: if GetVehicleData(vehicleid, V_BAGAGE_AMOUNT_GUN)+500 > 3000 *then SendClientMessage(playerid,-1,"Матовоз переполнен!"); 10597: SetVehicleData(vehicleid,V_BAGAGE_AMOUNT_GUN,GetVehicleData(vehicleid, V_BAGAGE_AMOUNT_GUN)+500); 10598: format(l_string,26,"Матовоз загружен: 0/%d",GetVehicleData(vehicleid,V_BAGAGE_AMOUNT_GUN));
new V_BAGAGE_AMOUNT_GUN
Я все правильно сделал с этим?
Ну и в конце » ; » забыл дописать тут
Отредактировано 15 января, 2021 пользователем x_SkYAs_x
Данная тема предназначена для исправления ошибок в моде,тоесть для помощи вам.
Тема делится на 2 пункта
I.Ошибки
II.Варнинги
I.Ошибки
1)Неизвестный символ.(error 017)
У многих при вырезке вылазиет следущая ошибка
PHP:
бла-бла-бланазвание мода.pwn(строчка) : error 017: undefined symbol "аргумент."
Давайте посмотрим как же это исправить.Берем мод из которого вы вырезали что-либо,и в поиске вводим
Скорее всего ошибка будет исправлена!
2)Неизвестный символ(Тип 2)(error 017)
Часто случается и такая ошибка
PHP:
бла-бла-бланазвание мода.pwn(строчка) : error 017: undefined symbol "p(или другая буква)Аргумент."
Разница в том,что это нужно добавлять в другое место.Например у вас допустим
PHP:
бла-бла-бланазвание мода.pwn(строчка) : error 017: undefined symbol "pAdmin"
делаем следущее: находим enum pInfo(возможно и hInfo и т.д. зависит от первой буквы неизвестного символа)
и вставляем туда «pAdmin,»(желательно где-то в середину добавлять чтобы потом не разбираться с запятыми).Готово! Ошибка исправлена!
3)Не подключенные include’ы(fatal error 001)
Также многие пытаются вырезать регистрацию(и т.п.) но у них что-то не получается,а файлы new аргумент не находятся и они начинают психовать,и забрасывать все куда подальше.из этого тоже есть выход.Просто подключим в мод include тоесть например
лучше всего засунуть это к другим include’ам.
4)Пропущенный символ(error 001)
Данная ошибка просто напросто нелепа и решение ее как два пальца.Рассмотрим пример:
PHP:
error 001: expected token: "}", but found ";"
Тоесть здесь вы закрыли public(например) но забыли поставить ; к последней его строчке и решение таково
PHP:
public Бла-бла-бла()
{
Какой-нибудь бред; // Тоесть я добавил ";"
}
5)Повторение переменной(error 021)
Это обычно выглядит вот так
PHP:
error 021: symbol already defined: bla-bla-bla
Для начало об ошибке.Когда-то уже вы добавляли такую переменную(в моем случае это new bla-bla-bla),и вот это действие повторилось.Ну что же давайте убивать эту ошибку.Вводим в поисковике(CTRL+F)следущее
PHP:
new bla-bla-bla(опять же у вас вместо бла-бла-бла то что в ошибке);
, удаляем.Внимание удаляем только одну строчку если удалите две такие скорее всего у вас вылезит error 017.
II.Варнинги
1)Не зарегистрированный public
Часто случается что появляется вот такой warning:
PHP:
бла-бла-бланазвание мода.pwn(строчка) : warning 235: public function lacks forward declaration (symbol "название паблика")
Для исправления делаем следуещее:Находим public из-за которого возник warning и копируем полностью его название и аргументы
Пример:
PHP:
public PayDay(возможно здесь будут какие-либо аргументы)
После того как вы скопировали название public’a вставляем в поиске forward, и там делаем новую строчку,вставляем туда название public’a,слово public изменяем на forward и в конце вставляем «;» тоесть вот вам пример:
2)Ошибка в пробелах
PHP:
бла-бла-бланазвание мода.pwn(строчка) : warning 217: loose indentation
Здесь есть 2 вида исправления
1)Затрудненный:подбирать все пробелами
2)Для ленивых: просто напросто добавить после инклудов следущее
Тема постоянно обновляется,и вы можете помочь ей разместив свой метод.Помните любую ошибку лучше исправить сразу кнопками Ctrl+Z
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case dRegister:
{
if(!response)
{
ShowPlayerDialog(playerid, dKickMessage, DIALOG_STYLE_MSGBOX, "Оповещение", "{FFFFFF}Вы были кикнуты с сервера.n{FF0000}Причина: Отказ от регистрации.n{FFFFFF}Для выхода с сервера введите "/q" в чат", "Выход", "");
return Kick(playerid);
}
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, dRegister, DIALOG_STYLE_INPUT, "Регистрация нового пользователя", "{FF0000}Ошибка: {FFFFFF}Вы не можете продолжить регистрацию не введя пароль!nВведите пароль для регистрации нового аккаунта:n{C0C0C0}Примечание:n{666666}- Пароль чувствителен к регистру.n- Пароль должен содержать от 4 до 30 символов.n- Пароль может содержать латинские/кириллические символы и цифры (aA-zZ, аА-яЯ, 0-9).", "Регистрация", "Выход");
else if(strlen(inputtext) < 4) return ShowPlayerDialog(playerid, dRegister, DIALOG_STYLE_INPUT, "Регистрация нового пользователя", "{FF0000}Ошибка: {FFFFFF}Пароль слишком короткий!nВведите пароль для регистрации нового аккаунта:n{C0C0C0}Примечание:n{666666}- Пароль чувствителен к регистру.n- Пароль должен содержать от 4 до 30 символов.n- Пароль может содержать латинские/кириллические символы и цифры (aA-zZ, аА-яЯ, 0-9).", "Регистрация", "Выход");
else if(strlen(inputtext) > 30) return ShowPlayerDialog(playerid, dRegister, DIALOG_STYLE_INPUT, "Регистрация нового пользователя", "{FF0000}Ошибка: {FFFFFF}Пароль слишком длинный!nВведите пароль для регистрации нового аккаунта:n{C0C0C0}Примечание:n{666666}- Пароль чувствителен к регистру.n- Пароль должен содержать от 4 до 30 символов.n- Пароль может содержать латинские/кириллические символы и цифры (aA-zZ, аА-яЯ, 0-9).", "Регистрация", "Выход");
for(new i = strlen(inputtext)-1; i != -1; i--)
{
switch(inputtext[i])
{
case '0'..'9', 'а'..'я', 'a'..'z', 'А'..'Я', 'A'..'Z': continue;
default: return ShowPlayerDialog(playerid, dRegister, DIALOG_STYLE_INPUT, "Регистрация нового пользователя", "{FF0000}Ошибка: {FFFFFF}Пароль содержит запрещённые символы!nВведите пароль для регистрации нового аккаунта:n{C0C0C0}Примечание:n{666666}- Пароль чувствителен к регистру.n- Пароль должен содержать от 4 до 30 символов.n- Пароль может содержать латинские/кириллические символы и цифры (aA-zZ, аА-яЯ, 0-9).", "Регистрация", "Выход");
}
}
pInfo[playerid][pPassword][0] = EOS;
strins(pInfo[playerid][pPassword], inputtext, 0);
CreateNewAccount(playerid, pInfo[playerid][pPassword]);
return 1;
}
case dLogin:
{
if(!response)
{
ShowPlayerDialog(playerid, dKickMessage, DIALOG_STYLE_MSGBOX, "Оповещение", "{FFFFFF}Вы были кикнуты с сервера.n{FF0000}Причина: Отказ от авторизации.n{FFFFFF}Для выхода с сервера введите "/q" в чат", "Выход", "");
return Kick(playerid);
}
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, dLogin, DIALOG_STYLE_INPUT, "Авторизация", "{FF0000}Ошибка: {FFFFFF}Вы не можете продолжить авторизацию не введя пароль!nВведите пароль от аккаунта для входа на сервер:", "Вход", "Выход");
for(new i = strlen(inputtext)-1; i != -1; i--)
{
switch(inputtext[i])
{
case '0'..'9', 'а'..'я', 'a'..'z', 'А'..'Я', 'A'..'Z': continue;
default: return ShowPlayerDialog(playerid, dLogin, DIALOG_STYLE_INPUT, "Авторизация", "{FF0000}Ошибка: {FFFFFF}Введённый пароль содержит запрещённые символы!nВведите пароль от аккаунта для входа на сервер:", "Вход", "Выход");
}
}
if(!strcmp(pInfo[playerid][pPassword], inputtext))
{
new query_string[49+MAX_PLAYER_NAME];
format(query_string, sizeof(query_string), "SELECT * FROM `accounts` WHERE `player_name` = '%s'", pInfo[playerid][pName]);
mysql_tquery(mysql_connect_ID, query_string, "UploadPlayerAccount","i", playerid);
}
else
{
switch(GetPVarInt(playerid, "WrongPassword"))
{
case 0: ShowPlayerDialog(playerid, dLogin, DIALOG_STYLE_INPUT, "Авторизация", "{FF0000}Ошибка: {FFFFFF}Вы ввели неверный пароль! У Вас осталось 3 попытки.nВведите пароль от аккаунта для входа на сервер:", "Вход", "Выход");
case 1: ShowPlayerDialog(playerid, dLogin, DIALOG_STYLE_INPUT, "Авторизация", "{FF0000}Ошибка: {FFFFFF}Вы ввели неверный пароль! У Вас осталось 2 попытки.nВведите пароль от аккаунта для входа на сервер:", "Вход", "Выход");
case 2: ShowPlayerDialog(playerid, dLogin, DIALOG_STYLE_INPUT, "Авторизация", "{FF0000}Ошибка: {FFFFFF}Вы ввели неверный пароль! У Вас осталось 1 попытка.nВведите пароль от аккаунта для входа на сервер:", "Вход", "Выход");
case 3: ShowPlayerDialog(playerid, dLogin, DIALOG_STYLE_INPUT, "Авторизация", "{FF0000}Ошибка: {FFFFFF}Вы ввели неверный пароль! У Вас осталась последняя попытка, после чего Вас кикнет.nВведите пароль от аккаунта для входа на сервер:", "Вход", "Выход");
default:
{
ShowPlayerDialog(playerid, dKickMessage, DIALOG_STYLE_MSGBOX, "Оповещение", "{FFFFFF}Вы были кикнуты с сервера.n{FF0000}Причина: Превышен лимит попыток на ввод пароля.n{FFFFFF}Для выхода с сервера введите "/q" в чат", "Выход", "");
return Kick(playerid);
}
}
SetPVarInt(playerid, "WrongPassword", GetPVarInt(playerid, "WrongPassword")+1);
}
return 1;
}
}
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
//==================== [ Форварды ] ============================================
forward FindPlayerInTable(playerid);
public FindPlayerInTable(playerid)
{
new rows;
cache_get_row_count(rows);
if(!rows)
{
ShowPlayerDialog(playerid, dRegister, DIALOG_STYLE_INPUT, "Регистрация нового пользователя", "Введите пароль для регистрации нового аккаунта:", "Регистрация", "Выход");
}
else
{
ShowPlayerDialog(playerid, dLogin, DIALOG_STYLE_INPUT, "Авторизация", "Введите пароль от аккаунта для того, чтоб продолжить игру:", "Вход", "Выход");
cache_get_value_name(0, "password", pInfo[playerid][pPassword], 31);
}
return 1;
}
forward UploadPlayerAccount(playerid);
public UploadPlayerAccount(playerid)
{
cache_get_value_name_int(0, "id", pInfo[playerid][pID]);
SendClientMessage(playerid, 0xFFFFFF00, "Вы успешно авторизировались!");
SetPlayerAuthorized(playerid, PLAYER_ONLINE);
SpawnPlayer(playerid);
return 1;
}
Как исправить Error
Автор: neka
Значение Error можно посмотреть здесь.
error 040: duplicate «case» label (value 28)
Это означает что case стаким значением повторяется. Решение этой проблемы простое — нам нужно цифру 28 изменит на другую (в той строчке на которую жалуется )
error 032: array index out of bounds (variable «JoinPed»)
Это означает что индекс массива превышен (но не всегда, смотрим дальше) Пример:
131 — массив поигравшись с ним я понял что дело не в нем, а в чём же спросите вы? Пример данной ошибки:
Код: Выделить всё
else if(SelectCharPlace[playerid] == 2) { SetPlayerSkin(playerid, JoinPed[123][0]); SelectCharPlace[playerid] = 3; InviteSkin[playerid] = JoinPed[98][0]; }
как видим — JoinPed[123] сначало с таким значением, а потом JoinPed[98]. Решение простое: JoinPed[123] число в данных скобках должно быть одинаковым. Пример:
Код: Выделить всё
else if(SelectCharPlace[playerid] == 2) { SetPlayerSkin(playerid, JoinPed[123][0]); SelectCharPlace[playerid] = 3; InviteSkin[playerid] = JoinPed[123][0]; }
error 037: invalid string (possibly non-terminated string)
Это означает что строка неправильная, а точнее где то допущена ошибка:
Код: Выделить всё
else if(PlayerInfo[targetid][pRank] == 4) { rangz = "Зам.модера; }
как видим нам после слова «модера» не хватает «. Правим:
Код: Выделить всё
else if(PlayerInfo[targetid][pRank] == 4) { rangz = "Зам.модера"; }
error 001: expected token: «,», but found «;»
Это значит что мы пропустили знак или скобку (в данном примере скобку) Пример:
Код: Выделить всё
public SaveProdykts()
{
new idx;
new File: file2;
while (idx < sizeof(ProdyktsInfo))
{
new coordsstring[256];
format(coordsstring, sizeof(coordsstring), "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%dn",
ProdyktsInfo[idx][prSous],
ProdyktsInfo[idx][prPizza],
ProdyktsInfo[idx][prMilk],
ProdyktsInfo[idx][prJuice],
ProdyktsInfo[idx][prSpirt],
ProdyktsInfo[idx][prChicken],
ProdyktsInfo[idx][prKolbasa],
ProdyktsInfo[idx][prFish],
ProdyktsInfo[idx][prIceCream],
ProdyktsInfo[idx][prChips],
ProdyktsInfo[idx][prZamProd];
if(idx == 0)
{
file2 = fopen("[prodykts]/prodykts.cfg", io_write);
}
else
{
file2 = fopen("[prodykts]/prodykts.cfg", io_append);
}
fwrite(file2, coordsstring);
idx++;
fclose(file2);
}
return 1;
}
смотрим на:
и вим что мы ппропустили )
Правим:
И в итоге:
Код: Выделить всё
public SaveProdykts()
{
new idx;
new File: file2;
while (idx < sizeof(ProdyktsInfo))
{
new coordsstring[256];
format(coordsstring, sizeof(coordsstring), "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%dn",
ProdyktsInfo[idx][prSous],
ProdyktsInfo[idx][prPizza],
ProdyktsInfo[idx][prMilk],
ProdyktsInfo[idx][prJuice],
ProdyktsInfo[idx][prSpirt],
ProdyktsInfo[idx][prChicken],
ProdyktsInfo[idx][prKolbasa],
ProdyktsInfo[idx][prFish],
ProdyktsInfo[idx][prIceCream],
ProdyktsInfo[idx][prChips],
ProdyktsInfo[idx][prZamProd]);< ----------- И вот наша скобка
if(idx == 0)
{
file2 = fopen("[prodykts]/prodykts.cfg", io_write);
}
else
{
file2 = fopen("[prodykts]/prodykts.cfg", io_append);
}
fwrite(file2, coordsstring);
idx++;
fclose(file2);
}
return 1;
}
error 002: only a single statement (or expression) can follow each «case»
Это означает что у вас после «case» идет if(dialogid == ). Пример:
Код: Выделить всё
case 7507:
{
if(response) ClothesSex[playerid] = 1;
else ClothesSex[playerid] = 2;
ShowPlayerDialog(playerid,7504,2,"??????? ??????","{A0B0D0}?????????? ?????? {7CC000}300$n{A0B0D0}??????? ?????? {7CC000}300$n{A0B0D0}???????????? ?????? {7CC000}300$n{A0B0D0}?????","???????","?????");
return 1;
}
if(dialogid == 7504) <------------------- вот наша и ошибка
{
if(response)
{
SetCameraBehindPlayer(playerid); TogglePlayerControllable(playerid, 1);
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
ClothesRun[playerid] = 0;
return 1;
}
Решение простое: if(dialogid == 7504) это нам нужно заменить на case как и последующий диалог !
Код: Выделить всё
case 7504: <------------------- вот так это выглядит
{
if(response)
{
SetCameraBehindPlayer(playerid); TogglePlayerControllable(playerid, 1);
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
ClothesRun[playerid] = 0;
return 1;
}
error 004: function «%s» is not implemented
Это означает что мы пропустили скобку. Мой совет:
- проверить весь код в ручную
- на форуме был урок как найти не по ставленую скобку
- Можно воспользоватся notepad++ там показы линии открытых скобок и тогда можно найти эту скобку
error 017: undefined symbol %s
Это означает что мы не поставили переменную new. Пример:
Решение — ко всем new добавим:
Well, this is the part of the code where the 26 errors occur, but it happens wherever I have the «cmd_» it is really something very disconcerting that this would happen just by changing the words.
Code:
forward OnPlayerUseItem(playerid, itemid, name[]);
public OnPlayerUseItem(playerid, itemid, name[])
{
? ? if (IsFurnitureItem(name))
{
? ? ? ? new id = House_Inside(playerid);
? ? ? ? if (id == -1)
? ? ? ? ? ? return SendErrorMessage(playerid, "Debes estar dentro de una casa para colocar muebles.");
if (!House_IsOwner(playerid, id))
? ? return SendErrorMessage(playerid, "Solo puedes colocar muebles en tu propia casa.");
static
? ? Float:x,
? ? Float:y,
? ? Float:z,
? ? Float:angle;
? ? ? ? GetPlayerPos(playerid, x, y, z);
? ? ? ? GetPlayerFacingAngle(playerid, angle);
? ? ? ? x = 5.0 * floatsin(-angle, degrees);
? ? ? ? y = 5.0 * floatcos(-angle, degrees);
if (Furniture_GetCount(id) > MAX_HOUSE_FURNITURE)
? ? return SendErrorMessage(playerid, "Solo puedes tener %d muebles en tu casa.", MAX_HOUSE_FURNITURE);
new furniture = Furniture_Add(id, name, InventoryData[playerid][itemid][invModel], x, y, z, 0.0, 0.0, angle);
if (furniture == -1)
? ? return SendErrorMessage(playerid, "El servidor ha alcanzado el l?mite de mobiliario.");
Inventory_Remove(playerid, name);
PlayerData[playerid][pEditFurniture] = furniture;
SendNearbyMessage(playerid, 30.0, COLOR_PURPLE, "** %s ha desplegado su "%s".", ReturnName(playerid, 0), name);
EditDynamicObject(playerid, FurnitureData[furniture][furnitureObject]);
}
else if (!strcmp(name, "Cargador", true)) {
? ? cmd_usarcarg(playerid, "1");
}
else if (!strcmp(name, "Boombox", true)) {
? ? cmd_boombox(playerid, "lugar");
}
else if (!strcmp(name, "Mochila", true)) {
? ? cmd_mochila(playerid, "1");
}
else if (!strcmp(name, "Primeros auxilios", true)) {
? ? ? ? cmd_utikit(playerid, "1");
? ? }
? ? else if (!strcmp(name, "Tel?fono", true)) {
? ? ? ? cmd_telefono(playerid, "1");
? ? }
? ? else if (!strcmp(name, "Radio portatil", true)) {
? ? ? ? SendSyntaxMessage(playerid, "Use "/pr [text]" para charlar con tu radio.");
? ? }
? ? else if (!strcmp(name, "Lata de combustible", true)) {
? ? ? ? cmd_llenar(playerid, "1");
? ? }
? ? else if (!strcmp(name, "Kit de reparacion", true)) {
? ? ? ? cmd_reparar(playerid, "1");
? ? }
? ? else if (!strcmp(name, "Recipiente NOS", true)) {
? ? ? ? cmd_nitro(playerid, "1");
? ? }
? ? else if (!strcmp(name, "Lata de aerosol", true)) {
? ? ? ? cmd_pintar(playerid, "1");
? ? }
? ? else if (!strcmp(name, "Sistema GPS", true)) {
? ? ? ? cmd_gps(playerid, "1");
? ? }
? ? else if (!strcmp(name, "Marihuana", true)) {
? ? ? ? cmd_usardr(playerid, "Marihuana");
? ? }
? ? else if (!strcmp(name, "Cocaina", true)) {
? ? ? ? cmd_usardr(playerid, "cocaina");
? ? }
? ? else if (!strcmp(name, "Heroina", true)) {
? ? ? ? cmd_usardr(playerid, "heroina");
? ? }
? ? else if (!strcmp(name, "Esteroides", true)) {
? ? ? ? cmd_usardr(playerid, "Esteroides");
? ? }
? ? else if (!strcmp(name, "Soda", true)) {
? ? ? ? cmd_beber(playerid, "soda");
? ? }
? ? else if (!strcmp(name, "Botella de agua", true)) {
? ? ? ? cmd_beber(playerid, "agua");
? ? }
? ? else if (!strcmp(name, "Pizza congelada", true)) {
? ? ? ? cmd_cocinar(playerid, "pizza");
? ? }
? ? else if (!strcmp(name, "Hamburguesa congelada", true)) {
? ? ? ? cmd_cocinar(playerid, "hamburguesa");
? ? }
? ? else if (!strcmp(name, "Chaleco blindado", true)) {
? ? ? ? cmd_chaleco(playerid, "1");
? ? }
? ? else if (!strcmp(name, "Ammo Cartridge", true)) {
? ? ? ? cmd_municion(playerid, "1");
? ? }
? ? else if (!strcmp(name, "Colt 45", true)) {
? ? ? ? EquipWeapon(playerid, "Colt 45");
? ? }
? ? else if (!strcmp(name, "Desert Eagle", true)) {
? ? ? ? EquipWeapon(playerid, "Desert Eagle");
? ? }
? ? else if (!strcmp(name, "Escopeta", true)) {
? ? ? ? EquipWeapon(playerid, "Escopeta");
? ? }
? ? else if (!strcmp(name, "Micro SMG", true)) {
? ? ? ? EquipWeapon(playerid, "Micro SMG");
? ? }
? ? else if (!strcmp(name, "Tec-9", true)) {
? ? ? ? EquipWeapon(playerid, "Tec-9");
? ? }
? ? else if (!strcmp(name, "MP5", true)) {
? ? ? ? EquipWeapon(playerid, "MP5");
? ? }
? ? else if (!strcmp(name, "AK-47", true)) {
? ? ? ? EquipWeapon(playerid, "AK-47");
? ? }
? ? else if (!strcmp(name, "M4", true)) {
? ? ? ? EquipWeapon(playerid, "M4");
? ? }
? ? else if (!strcmp(name, "Rifle", true)) {
? ? ? ? EquipWeapon(playerid, "Rifle");
? ? }
? ? else if (!strcmp(name, "Sniper", true)) {
? ? ? ? EquipWeapon(playerid, "Sniper");
? ? }
? ? else if (!strcmp(name, "Palo de golf", true)) {
? ? ? ? EquipWeapon(playerid, "Palo de golf");
? ? }
? ? else if (!strcmp(name, "Cuchillo", true)) {
? ? ? ? EquipWeapon(playerid, "Cuchillo");
? ? }
? ? else if (!strcmp(name, "Pala", true)) {
? ? ? ? EquipWeapon(playerid, "Pala");
? ? }
? ? else if (!strcmp(name, "Katana", true)) {
? ? ? ? EquipWeapon(playerid, "Katana");
? ? }
? ? else if (!strcmp(name, "Semillas de marihuana", true)) {
? ? ? ? cmd_plantar(playerid, "Marihuana");
? ? }
? ? else if (!strcmp(name, "Semillas de cocaina", true)) {
? ? ? ? cmd_plantar(playerid, "Cocaina");
? ? }
? ? else if (!strcmp(name, "Semillas de heroina opio", true)) {
? ? ? ? cmd_plantar(playerid, "Heroina");
? ? }
? ? else if (!strcmp(name, "Palanca", true)) {
? ? ? ? cmd_palanca(playerid, "Palanca");
? ? }
? ? else if (!strcmp(name, "Destornillador", true)) {
? ? ? ? cmd_destornillador(playerid, "Destornillador");
? ? }
? ? else if (!strcmp(name, "Pizza cocida", true))
{
? ? ? ? if (PlayerData[playerid][pHunger] > 90)
? ? ? ? ? ? return SendErrorMessage(playerid, "No tienes hambre ahora mismo.");
? ? ? ? if (!IsPlayerAttachedObjectSlotUsed(playerid, 4))
{
? ? SetPlayerAttachedObject(playerid, 4, 2702, 6, 0.173041, 0.049197, 0.056789, 0.000000, 274.166107, 299.057983, 1.000000, 1.000000, 1.000000);
SetTimerEx("RemoveAttachedObject", 3000, false, "dd", playerid, 4);
}
? ? ? ? PlayerData[playerid][pHunger] = (PlayerData[playerid][pHunger] 15 > 100) ? (100) : (PlayerData[playerid][pHunger] 15);
Inventory_Remove(playerid, "Pizza cocida");
ApplyAnimation(playerid, "FOOD", "EAT_Burger", 4.1, 0, 0, 0, 0, 0, 1);
? ? ? ? SendNearbyMessage(playerid, 30.0, COLOR_PURPLE, "** %s toma una rebanada de pizza y se la come.", ReturnName(playerid, 0));
? ? }
? ? else if (!strcmp(name, "Hamburguesa cocida", true))
{
? ? if (PlayerData[playerid][pHunger] > 90)
? ? ? ? ? ? return SendErrorMessage(playerid, "No tienes hambre ahora mismo.");
if (!IsPlayerAttachedObjectSlotUsed(playerid, 4))
{
? ? SetPlayerAttachedObject(playerid, 4, 2703, 6, 0.078287, 0.019677, -0.001004, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000);
SetTimerEx("RemoveAttachedObject", 3000, false, "dd", playerid, 4);
}
? ? ? ? PlayerData[playerid][pHunger] = (PlayerData[playerid][pHunger] 20 > 100) ? (100) : (PlayerData[playerid][pHunger] 20);
Inventory_Remove(playerid, "Hamburguesa cocida");
ApplyAnimation(playerid, "FOOD", "EAT_Burger", 4.1, 0, 0, 0, 0, 0, 1);
? ? ? ? SendNearbyMessage(playerid, 30.0, COLOR_PURPLE, "** %s hace una hamburguesa cocida y se la come.", ReturnName(playerid, 0));
? ? }
? ? else if (!strcmp(name, "Pollo", true))
{
? ? if (PlayerData[playerid][pHunger] > 90)
? ? ? ? ? ? return SendErrorMessage(playerid, "No tienes hambre ahora mismo.");
? ? ? ? PlayerData[playerid][pHunger] = (PlayerData[playerid][pHunger] 25 > 100) ? (100) : (PlayerData[playerid][pHunger] 25);
Inventory_Remove(playerid, "Pollo");
ApplyAnimation(playerid, "VENDING", "VEND_Eat_P", 4.1, 0, 0, 0, 0, 0, 1);
? ? ? ? SendNearbyMessage(playerid, 30.0, COLOR_PURPLE, "** %s toma un trozo de pollo y se lo come.", ReturnName(playerid, 0));
? ? }
? ? return 1;
}