6 posts in this topic

Собственно сабж. 

Ко всем #define:

#define get_m       2065.5786,-2668.4543,13.1954//Где брать
#define set_m       2095.9707,-2663.4858,12.3637//Куда нести
#define getmoney    50//Цена за мешок

В public OnPlayerCommandText (если стандартный команд. процессор):

if(strcmp(cmd,"/sjob",true) == 0)
{
    if(!IsPlayerConnected(playerid)) return 1;
    if(!GetPVarInt(playerid,"loader"))
    {
        SetPVarInt(playerid,"oldskin",GetPlayerSkin(playerid));
        SetPlayerCheckpoint(playerid,get_m,1.0);
        SetPVarInt(playerid,"loader",1);
        SetPlayerSkin(playerid,27);
        return 1;
    }
    new sk = GetPVarInt(playerid,"oldskin");
    SetPlayerSkin(playerid,sk);
    DPVR(playerid,"loader");
    return 1;
}

Ко всем командам, если zcmd/dc_cmd:

CMD:sjob(playerid)
{
    if(!IsPlayerConnected(playerid)) return 1;
    if(!GetPVarInt(playerid,"loader"))
    {
        SetPVarInt(playerid,"oldskin",GetPlayerSkin(playerid));
        SetPlayerCheckpoint(playerid,get_m,1.0);
        SetPVarInt(playerid,"loader",1);
        SetPlayerSkin(playerid,27);
        return 1;
    }
    new sk = GetPVarInt(playerid,"oldskin");
    SetPlayerSkin(playerid,sk);
    DPVR(playerid,"loader");
    return 1;
}

В public OnPlayerEnterCheckpoint:

if(GetPVarInt(playerid,"loader") == 1)
{
    ApplyAnimation(playerid,"CARRY","liftup",4.0,0,0,0,1,1,1);
    SetTimerEx("TakeBag",1000,false,"i",playerid);
    return 1;
}
if(GetPVarInt(playerid,"loader") == 2)
{
    format(s,20,"~h~~g~+ %iр",getmoney);
    GameTextForPlayer(playerid,s,1000,3);
    ApplyAnimation(playerid,"CARRY","putdwn",4.0,0,0,0,1,1,1);
    SetTimerEx("PutBag",1000,false,"i",playerid);
    new m = GetPVarInt(playerid,"money");
    SetPVarInt(playerid,"money",m+getmoney);
    return 1;
}

В конец мода / начало мода (главное, не в сток / паблик):

forward TakeBag(playerid);
public TakeBag(playerid)
{
    ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,1,0,0,1,1,1);
    SetPlayerAttachedObject(playerid, 2, 2969, 1, 0.121241, 0.433916, -0.038068, 359.338867, 91.670600, 179.788787, 1.000000, 1.000000, 1.000000);
    SetPlayerCheckpoint(playerid,set_m,1.0);
    SetPVarInt(playerid,"loader",2);
    return 1;
}
forward PutBag(playerid);
public PutBag(playerid)
{
    new money = GetPVarInt(playerid,"money");
    RemovePlayerAttachedObject(playerid,2);
    ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,0,0,0,0,0,0);
    SetPlayerCheckpoint(playerid,get_m,1.0);
    GivePlayerMoney(playerid, money);
    SPVI(playerid,"loader",1);
    return 1;
}

Ну вот и все!

Если у вас возникнут какие-либо ошибки, обращайтесь, помогу, чем смогу!

Автор: cooper. 

Share this post


Link to post
Share on other sites

Ошибки:

new.pwn(2085) : error 037: invalid string (possibly non-terminated string)
new.pwn(2110) : error 010: invalid function or declaration
new.pwn(7995) : error 017: undefined symbol "s"
new.pwn(7996) : error 017: undefined symbol "s"
new.pwn(25426) : error 017: undefined symbol "DPVR"
new.pwn(53439) : error 017: undefined symbol "SPVI"

 

Share this post


Link to post
Share on other sites

@HAPKOMAH Ко всем дефайнам: 

#define GPVI GetPVarInt
#define SPVI SetPVarInt

Или же просто вместо GPVI в коде пиши GetPVarInt, а в место SPVI - SetPVarInt соответственно. По поводу остального скидывай строки. 

Share this post


Link to post
Share on other sites
3 минуты назад, DEST сказал:

@HAPKOMAH Ко всем дефайнам: 


#define GPVI GetPVarInt
#define SPVI SetPVarInt

Или же просто вместо GPVI в коде пиши GetPVarInt, а в место SPVI - SetPVarInt соответственно. По поводу остального скидывай строки. 

Тут помогло.

Вот строчка 7995 format(s,20,"~h~~g~+ %iр",getmoney);

Вот строчка 7996 GameTextForPlayer(playerid,s,1000,3);

Cо строчкой 2110 и 2085 сам справился

Share this post


Link to post
Share on other sites

@HAPKOMAH перед строкой 7995 вставить: 

new s[20];

 

Share this post


Link to post
Share on other sites
1 минуту назад, DEST сказал:

@HAPKOMAH перед строкой 7995 вставить: 


new s[20];

 

Т.к. в строчке 7994 такая же ошибка, поставил перед ней, ошибок теперь нету.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Dworkin
      By Dworkin
      Привет. Мне тяжело дается понимание строк в pawn из за не динамических массивов.
      #include enum pInfo { pRangName[25] } new players[MAX_PLAYERS][pInfo]; new string[20]; main() { format(string, sizeof(string), "Салага"); printf(string); players[0][pRangName] = string; } выдает ошибку "error 047: array sizes do not match, or destination array is too small" на строку "players[0][pRangName] = string;"
      Я понимаю что в ошибке говорится что размер не совпадает, но не могу понять как это сделать в павне