[BG SCRIPTING TUTORIAL] Команда за слагане на коледна шапка!

Раздел за уроци, свързани със скриптирането при SA:MP
Post Reply
User avatar
SprRayZ
V.I.P
V.I.P
Posts: 36
Joined: 06 Nov 2013, 17:13
Skype: N/A
CS Nick: sf4n
Favorite version: CS: 1.6
Location: Търговище, Шумен, Русе

[BG SCRIPTING TUTORIAL] Команда за слагане на коледна шапка!

Post by SprRayZ »

Командата с променлива т.е "new" е доста проста, но не за тези, който не са запознати достатъчно с програмния език pawn.
Ако използвате strcmp като основа на вашите команди пишете това:

Code: Select all

if(!strcmp(cmdtext, "/santahat", true)) // Командата
{ // отваряме командата
return 1;
} // затваряме командата
Задаваме променлива:

Code: Select all

new santahaton; // променлива за слагане и махане на шапката.
new santahat; // променлива която ще бъде проверявана дали е използвана или не.
След това записваме:

Code: Select all

if(santahat[playerid] == 1)// проверява, ако е използвана вече тази команда ще бъде премахната шапката.
{
}//тази скоба е накрая за затваряне на проверката
Записваме в командата функцията:

Code: Select all

santahaton = SetPlayerAttachedObject(playerid, 3, 19065, 2, 0.120000, 0.040000, -0.003500, 0, 100, 100, 1.4, 1.4,1.4); // в нашият случай "19065" е id-то на object-а, т.е шапката на дядо коледа.
SendClientMessage(playerid, 0x00FF00FF, "Вие си сложихте шапка!"); // това е съобщението, което ще бъде изпратено при използване на командата.
Краен резултат:

Code: Select all

if(!strcmp(cmdtext, "/santahat", true)) // Командата
{ // отваряме командата
new santahaton; // променлива за слагане и махане на шапката.
new santahat; // променлива която ще бъде проверявана дали е използвана или не.
if(santahat[playerid] == 0)// проверява, ако е използвана вече тази команда ще бъде премахната шапката.
{
santahat[playerid] = 1; //това задава променливата на 1
santahaton = SetPlayerAttachedObject(playerid, 3, 19065, 2, 0.120000, 0.040000, -0.003500, 0, 100, 100, 1.4, 1.4,1.4); // в нашият случай "19065" е id-то на object-а, т.е шапката на дядо коледа.
SendClientMessage(playerid, 0x00FF00FF, "Вие си сложихте шапка!"); // това е съобщението, което ще бъде изпратено при използване на командата.
}//тази скоба е накрая за затваряне на проверката
else if(santahat[playerid] == 1)// "else" се използва при повторна проверка на една и съща променлива.
{
santahat[playerid] = 0; //това задава променливата на 0
RemovePlayerAttachedObject(playerid, santahaton);// премахва шапката
SendClientMessage(playerid, 0x00FF00FF, "Вие махнахте шапката си!");// връща съобщение
}
return 1;
} // затваряме командата
ZCMD вариант:

Code: Select all

CMD:santahat(playerid, params[])
{ // отваряме командата
new santahaton; // променлива за слагане и махане на шапката.
new santahat; // променлива която ще бъде проверявана дали е използвана или не.
if(santahat[playerid] == 0)// проверява, ако е използвана вече тази команда ще бъде премахната шапката.
{
santahaton = SetPlayerAttachedObject(playerid, 3, 19065, 2, 0.120000, 0.040000, -0.003500, 0, 100, 100, 1.4, 1.4,1.4); // в нашият случай "19065" е id-то на object-а, т.е шапката на дядо коледа.
santahat[playerid] = 1; //това задава променливата на 1
SendClientMessage(playerid, 0x00FF00FF, "Вие си сложихте шапка!"); // това е съобщението, което ще бъде изпратено при използване на командата.
}//тази скоба е накрая за затваряне на проверката
else if(santahat[playerid] == 1)// "else" се използва при повторна проверка на една и съща променлива.
{
RemovePlayerAttachedObject(playerid, santahaton);// премахва шапката
santahat[playerid] = 0; //това задава променливата на 0
SendClientMessage(playerid, 0x00FF00FF, "Вие махнахте шапката си!");// връща съобщение
}
return 1;
} // затваряме командата
Благодаря за отделеното внимание.
Поздрави.
User avatar
Define
Потребител
Потребител
Posts: 5
Joined: 26 Feb 2019, 14:23

Re: [BG SCRIPTING TUTORIAL] Команда за слагане на коледна ша

Post by Define »

Доста добре но си пропуснал може би по невнимание че трябва да е new santahaton[MAX_PLAYERS]; и new santahat[MAX_PLAYERS]; това дори не се компилира ако не е по този начин, да не говорим че santahat и santahaton трябва да са глобални променливи защото ако са само в командата стойностите им ще се загубят след използването на командата.
Post Reply

Return to “GTA SA:MP Scripting Tuts”