Создания баннера прямо из игры

Описание: Уроки по скриптингу
Модератор: SJplayer

Miranda F
Автор темы, Старшина
Старшина
Аватара
Miranda F
Автор темы, Старшина
Старшина
Сообщения: 143
Зарегистрирован: 5 июля 2013
С нами: 10 лет 8 месяцев

#1 Miranda » 29 октября 2013, 18:27

Создания баннера прямо из игры
Автор XenoN

Это система создания баннера из игры

Изображение

К всем new:

Код: Выделить всё

new RedactBannerIdFloat:XFloat:YFloat:ZFloat:AXFloat:AYFloat:AZ;  


К всем командам:

Код: Выделить всё

if (strcmp("/newbanner"cmdtrue10) == 0)  
    {  
        if(
IsPlayerAdmin(playerid) == 1)  
        {  
            new 
Text[20];  
            
Text strtok(cmdtextidx);  
            if(!
strlen(Text))  
            {  
                
SendClientMessage(playerid0x00AAF6AA".::[BANNER_EDITOR]: Пишите /banner [Текст]");  
                
SendClientMessage(playerid0x00AAF6AA".::[BANNER_EDITOR]: Текст не более 20 символов, через NUM пробелы");  
                return 
1;  
            }  
            
GetPlayerPos(playeridXYZ);  
               
Banner CreateObject(9314X+5YZ+0.5000);  
            
SetObjectMaterialText(BannerText0120"Colleg"451, -1, -655361);  
               
X+5;  
            
Z+0.5;  
            
SetPlayerFacingAngle(playerid,-90);  
            
SetCameraBehindPlayer(playerid);  
            
TogglePlayerControllable (playerid0);  
            
Id playerid;  
            
Redact 1;  
            
SendClientMessage(playerid0x00AAF6AA".::[BANNER_EDITOR]: Используйте клавиши перемещения для движения и клавишу бега для вращения объекта!");  
            
SendClientMessage(playerid0x00AAF6AA".::[BANNER_EDITOR]: Чтобы сохранить объект нажмите клавишу прыжка!");  
            return 
1;  
        }  
    }  


В public OnPlayerKeyStateChange(playerid, newkeys, oldkeys):

Код: Выделить всё

if(playerid == Id)  
    {  
        if(
Redact == 1)  
        {  
            if(
newkeys == 32)  
            {  
                
TogglePlayerControllable (playerid1);  
                
SendClientMessage(playerid0x00AAF6AA".::[BANNER_EDITOR]: Баннер успешно добавлен!");  
                
Redact 0;  
            }  
            if(
newkeys == 8)  
            {  
                
GetObjectRot(BannerAXAYAZ);  
                
SetObjectRot(BannerAXAYAZ+2.5);  
            }  
        }  


В public OnPlayerUpdate(playerid):

Код: Выделить всё

if(playerid == Id)  
    {  
        if(
Redact == 1)  
        {  
            new 
Keys,ud,lr;  
            
GetPlayerKeys(playerid,Keys,ud,lr);  
            if(
ud 0)  
            {  
                
SetObjectPos(BannerX-0.25YZ);  
                 
X-0.25;  
             }  
             else if(
ud 0)  
            {  
                
SetObjectPos(BannerX+0.25YZ);  
                
X+0.25;  
             }  
            if(
lr 0)  
               {  
                
SetObjectPos(BannerXY-0.25Z);  
                 
Y-0.25;  
            }  
            else if(
lr 0)  
            {  
                
SetObjectPos(BannerXY+0.25Z);  
                
Y+0.25;  
            }  
        }  


В конец мода:

Код: Выделить всё

stock strtok(const string[], &index)  
{  
    new 
length strlen(string);  
    while ((
index length) && (string[index] <= ' '))  
    {  
        
index++;  
    }  
    new 
offset index;  
    new 
result[20];  
    while ((
index length) && (string[index] > ' ') && ((index offset) < (sizeof(result) - 1)))  
    {  
        
result[index offset] = string[index];  
        
index++;  
    }  
    
result[index offset] = EOS;  
    return 
result;  
}  
Изображение


  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Уроки»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 2 гостя