Errors
#1

This is the errors
pawn Код:
C:\Users\shalev\Desktop\ъйчйд згщд (2)\Reality Style RP\filterscripts\Dice.pwn(59) : warning 217: loose indentation
C:\Users\shalev\Desktop\ъйчйд згщд (2)\Reality Style RP\filterscripts\Dice.pwn(72) : warning 217: loose indentation
C:\Users\shalev\Desktop\ъйчйд згщд (2)\Reality Style RP\filterscripts\Dice.pwn(73) : warning 217: loose indentation
C:\Users\shalev\Desktop\ъйчйд згщд (2)\Reality Style RP\filterscripts\Dice.pwn(87) : warning 217: loose indentation
C:\Users\shalev\Desktop\ъйчйд згщд (2)\Reality Style RP\filterscripts\Dice.pwn(87) : error 029: invalid expression, assumed zero
C:\Users\shalev\Desktop\ъйчйд згщд (2)\Reality Style RP\filterscripts\Dice.pwn(87) : error 004: function "OnDialogResponse" is not implemented
C:\Users\shalev\Desktop\ъйчйд згщд (2)\Reality Style RP\filterscripts\Dice.pwn(89) : error 017: undefined symbol "dialogid"
C:\Users\shalev\Desktop\ъйчйд згщд (2)\Reality Style RP\filterscripts\Dice.pwn(96) : warning 217: loose indentation
C:\Users\shalev\Desktop\ъйчйд згщд (2)\Reality Style RP\filterscripts\Dice.pwn(99) : warning 217: loose indentation
C:\Users\shalev\Desktop\ъйчйд згщд (2)\Reality Style RP\filterscripts\Dice.pwn(99) : error 017: undefined symbol "response"
C:\Users\shalev\Desktop\ъйчйд згщд (2)\Reality Style RP\filterscripts\Dice.pwn(115) : warning 217: loose indentation
C:\Users\shalev\Desktop\ъйчйд згщд (2)\Reality Style RP\filterscripts\Dice.pwn(123) : warning 217: loose indentation
C:\Users\shalev\Desktop\ъйчйд згщд (2)\Reality Style RP\filterscripts\Dice.pwn(142) : error 030: compound statement not closed at the end of file (started at line 21)
And this is the Code
pawn Код:
#define FILTERSCRIPT

#include <a_samp>

#include <sscanf2>
#include <YSI\y_commands>

// Set some ID you don not use in other scripts
#define DIALOG_ID_DICE (7777)

public OnPlayerConnect(playerid)
{
        SetPVarInt(playerid, "Invited", -1);
        SetPVarInt(playerid, "Invited By", -1);
        SetPVarInt(playerid, "Amount", 0);
        return 1;
}

public onPlayerCommandText(playerid, cmdtext[])
{
    if (!strcmp("/dicebet", cmdtext))
   {
        new target, amount;

        if(sscanf(params, "ri", target, amount))
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "Use: /dice [ID] [amount]");
            return 1;
        }

    if(playerid == target)
    {
        SendClientMessage(playerid, 0xFFFFFFFF, "You can not challenge yourself!");
        return 1;
        }

    new szTargetName[MAX_PLAYER_NAME], szMessage[128];
    GetPlayerName(target, szTargetName, sizeof(szTargetName));

    if(GetPVarInt(playerid, "Invited") != -1)
    {
        SendClientMessage(playerid, 0xFFFFFFFF, "You have already challenged someone else.");
        return 1;
    }

    if(GetPVarInt(target, "Invited By") != -1)
    {
                format(szMessage, sizeof(szMessage), "Player %s has been invited to dice already.", szTargetName);
                SendClientMessage(playerid, 0xFFFFFFFF, szMessage);
                return 1;
    }

    if(amount < 0)
    {
        SendClientMessage(playerid, 0xFFFFFFFF, "You can't dice for $0!");
                return 1;
    }

        if(GetPlayerMoney(playerid) < amount)
        {
                SendClientMessage(playerid, 0xFFFFFFFF, "You do not have enough money.");
                return 1;
        }

        if(GetPlayerMoney(target) > amount)
        {
            format(szMessage, sizeof(szMessage), "Player %s does not have enough money.", szTargetName);
            SendClientMessage(playerid, 0xFFFFFFFF, szMessage);
            return 1;
        }

    new szPlayerName[MAX_PLAYER_NAME];
        GetPlayerName(playerid, szPlayerName, sizeof(szPlayerName));

        format(szMessage, sizeof(szMessage), "You have challenged %s to dice for $%i.", szTargetName, amount);
        SendClientMessage(playerid, 0xFFFFFFFF, szMessage);

        format(szMessage, sizeof(szMessage), "Player %s has challenged you to dice for $%i.", szPlayerName, amount);
        ShowPlayerDialog(target, DIALOG_ID_DICE, DIALOG_STYLE_MSGBOX, "Dice", szMessage, "Accept", "Deny");

        SetPVarInt(playerid, "Invited", target);
        SetPVarInt(playerid, "Amount", amount);
        SetPVarInt(target, "Invited By", playerid);
        return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
        if(dialogid == DIALOG_ID_DICE)
        {
            new inviter = GetPVarInt(playerid, "Invited By");

            new szInviterName[MAX_PLAYER_NAME], szPlayerName[MAX_PLAYER_NAME], szMessage[128],
                amount = GetPVarInt(inviter, "Amount");

                GetPlayerName(playerid, szPlayerName, sizeof(szPlayerName));
                GetPlayerName(inviter, szInviterName, sizeof(szInviterName));

            if(!response)
            {
                        format(szMessage, sizeof(szMessage), "Player %s has declined your invitation to gamble for $%i.", szPlayerName, amount);
                        SendClientMessage(inviter, 0xFFFFFFFF, szMessage);

                        return 1;
            }
            else
            {
                // Randomize numbers, make sure they are not the same and that they are in range 1-6

                // randomNumbers[0] - inviter's number
                // randomNumbers[1] - player's number

                new randomNumbers[2];

                        randomNumbers[0] = random(7);
                        randomNumbers[1] = random(7);

                        while(randomNumbers[0] == randomNumbers[1])
                        {
                            randomNumbers[random(2)] = random(7);

                            while(randomNumbers[0] == 0) randomNumbers[0] = random(7);
                                while(randomNumbers[1] == 0) randomNumbers[1] = random(7);
                        }

                        format(szMessage, sizeof(szMessage), "%s diced %i and %s diced %i so %s won $%i!", szInviterName, randomNumbers[0], szPlayerName, randomNumbers[1], randomNumbers[0] > randomNumbers[1] ? szInviterName : szPlayerName, amount);
                        SendClientMessageToAll(0xFFFFFFFF, szMessage);

                        GivePlayerMoney(randomNumbers[0] > randomNumbers[1] ? inviter : playerid, amount);
                        GivePlayerMoney(randomNumbers[0] > randomNumbers[1] ? playerid : inviter, -amount);

                        SetPVarInt(inviter, "Invited", -1);
                        SetPVarInt(inviter, "Amount", 0);
                        SetPVarInt(playerid, "Invited By", -1);
            }


        }

        return 1;
}
Reply
#2

Someone help please?
Reply
#3

Omg, have a better way of scripting, this is just....

pawn Код:
#define FILTERSCRIPT

#include <a_samp>

#include <sscanf2>
#include <YSI\y_commands>

#define DIALOG_ID_DICE 7777 // Removed the brackets.

public OnPlayerConnect(playerid)
{
        SetPVarInt(playerid, "Invited", -1);
        SetPVarInt(playerid, "Invited By", -1);
        SetPVarInt(playerid, "Amount", 0);
        return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if (!strcmp("/dicebet", cmdtext))
    {
        new target, amount;

        if(sscanf(params, "ri", target, amount))
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "Use: /dice [ID] [amount]");
            return 1;
        }

        if(playerid == target)
        {
        SendClientMessage(playerid, 0xFFFFFFFF, "You can not challenge yourself!");
        return 1;
        }

        new szTargetName[MAX_PLAYER_NAME], szMessage[128];
        GetPlayerName(target, szTargetName, sizeof(szTargetName));

        if(GetPVarInt(playerid, "Invited") != -1)
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "You have already challenged someone else.");
            return 1;
        }

        if(GetPVarInt(target, "Invited By") != -1)
        {
                    format(szMessage, sizeof(szMessage), "Player %s has been invited to dice already.", szTargetName);
                    SendClientMessage(playerid, 0xFFFFFFFF, szMessage);
                    return 1;
        }

        if(amount < 0)
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "You can't dice for $0!");
                    return 1;
        }

        if(GetPlayerMoney(playerid) < amount)
        {
                SendClientMessage(playerid, 0xFFFFFFFF, "You do not have enough money.");
                return 1;
        }

        if(GetPlayerMoney(target) > amount)
        {
            format(szMessage, sizeof(szMessage), "Player %s does not have enough money.", szTargetName);
            SendClientMessage(playerid, 0xFFFFFFFF, szMessage);
            return 1;
        }

        new szPlayerName[MAX_PLAYER_NAME];
        GetPlayerName(playerid, szPlayerName, sizeof(szPlayerName));

        format(szMessage, sizeof(szMessage), "You have challenged %s to dice for $%i.", szTargetName, amount);
        SendClientMessage(playerid, 0xFFFFFFFF, szMessage);

        format(szMessage, sizeof(szMessage), "Player %s has challenged you to dice for $%i.", szPlayerName, amount);
        ShowPlayerDialog(target, DIALOG_ID_DICE, DIALOG_STYLE_MSGBOX, "Dice", szMessage, "Accept", "Deny");

        SetPVarInt(playerid, "Invited", target);
        SetPVarInt(playerid, "Amount", amount);
        SetPVarInt(target, "Invited By", playerid);
        return 1;
    }// added this
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
        if(dialogid == DIALOG_ID_DICE)
        {
            new inviter = GetPVarInt(playerid, "Invited By");

            new szInviterName[MAX_PLAYER_NAME], szPlayerName[MAX_PLAYER_NAME], szMessage[128],
                amount = GetPVarInt(inviter, "Amount");

                GetPlayerName(playerid, szPlayerName, sizeof(szPlayerName));
                GetPlayerName(inviter, szInviterName, sizeof(szInviterName));

            if(!response)
            {
                        format(szMessage, sizeof(szMessage), "Player %s has declined your invitation to gamble for $%i.", szPlayerName, amount);
                        SendClientMessage(inviter, 0xFFFFFFFF, szMessage);

                        return 1;
            }
            if(response)
            {
                // Randomize numbers, make sure they are not the same and that they are in range 1-6

                // randomNumbers[0] - inviter's number
                // randomNumbers[1] - player's number

                        new randomNumbers[2];

                        randomNumbers[0] = random(7);
                        randomNumbers[1] = random(7);

                        while(randomNumbers[0] == randomNumbers[1])
                        {
                            randomNumbers[random(2)] = random(7);

                            while(randomNumbers[0] == 0) randomNumbers[0] = random(7);
                                while(randomNumbers[1] == 0) randomNumbers[1] = random(7);
                        }

                        format(szMessage, sizeof(szMessage), "%s diced %i and %s diced %i so %s won $%i!", szInviterName, randomNumbers[0], szPlayerName, randomNumbers[1], randomNumbers[0] > randomNumbers[1] ? szInviterName : szPlayerName, amount);
                        SendClientMessageToAll(0xFFFFFFFF, szMessage);

                        GivePlayerMoney(randomNumbers[0] > randomNumbers[1] ? inviter : playerid, amount);
                        GivePlayerMoney(randomNumbers[0] > randomNumbers[1] ? playerid : inviter, -amount);

                        SetPVarInt(inviter, "Invited", -1);
                        SetPVarInt(inviter, "Amount", 0);
                        SetPVarInt(playerid, "Invited By", -1);
            }
        }
        return 1;
}
Try this.
Reply
#4

Quote:
Originally Posted by Affan
Посмотреть сообщение
Omg, have a better way of scripting, this is just....

pawn Код:
#define FILTERSCRIPT

#include <a_samp>

#include <sscanf2>
#include <YSI\y_commands>

#define DIALOG_ID_DICE 7777 // Removed the brackets.

public OnPlayerConnect(playerid)
{
        SetPVarInt(playerid, "Invited", -1);
        SetPVarInt(playerid, "Invited By", -1);
        SetPVarInt(playerid, "Amount", 0);
        return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if (!strcmp("/dicebet", cmdtext))
    {
        new target, amount;

        if(sscanf(params, "ri", target, amount))
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "Use: /dice [ID] [amount]");
            return 1;
        }

        if(playerid == target)
        {
        SendClientMessage(playerid, 0xFFFFFFFF, "You can not challenge yourself!");
        return 1;
        }

        new szTargetName[MAX_PLAYER_NAME], szMessage[128];
        GetPlayerName(target, szTargetName, sizeof(szTargetName));

        if(GetPVarInt(playerid, "Invited") != -1)
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "You have already challenged someone else.");
            return 1;
        }

        if(GetPVarInt(target, "Invited By") != -1)
        {
                    format(szMessage, sizeof(szMessage), "Player %s has been invited to dice already.", szTargetName);
                    SendClientMessage(playerid, 0xFFFFFFFF, szMessage);
                    return 1;
        }

        if(amount < 0)
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "You can't dice for $0!");
                    return 1;
        }

        if(GetPlayerMoney(playerid) < amount)
        {
                SendClientMessage(playerid, 0xFFFFFFFF, "You do not have enough money.");
                return 1;
        }

        if(GetPlayerMoney(target) > amount)
        {
            format(szMessage, sizeof(szMessage), "Player %s does not have enough money.", szTargetName);
            SendClientMessage(playerid, 0xFFFFFFFF, szMessage);
            return 1;
        }

        new szPlayerName[MAX_PLAYER_NAME];
        GetPlayerName(playerid, szPlayerName, sizeof(szPlayerName));

        format(szMessage, sizeof(szMessage), "You have challenged %s to dice for $%i.", szTargetName, amount);
        SendClientMessage(playerid, 0xFFFFFFFF, szMessage);

        format(szMessage, sizeof(szMessage), "Player %s has challenged you to dice for $%i.", szPlayerName, amount);
        ShowPlayerDialog(target, DIALOG_ID_DICE, DIALOG_STYLE_MSGBOX, "Dice", szMessage, "Accept", "Deny");

        SetPVarInt(playerid, "Invited", target);
        SetPVarInt(playerid, "Amount", amount);
        SetPVarInt(target, "Invited By", playerid);
        return 1;
    }// added this
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
        if(dialogid == DIALOG_ID_DICE)
        {
            new inviter = GetPVarInt(playerid, "Invited By");

            new szInviterName[MAX_PLAYER_NAME], szPlayerName[MAX_PLAYER_NAME], szMessage[128],
                amount = GetPVarInt(inviter, "Amount");

                GetPlayerName(playerid, szPlayerName, sizeof(szPlayerName));
                GetPlayerName(inviter, szInviterName, sizeof(szInviterName));

            if(!response)
            {
                        format(szMessage, sizeof(szMessage), "Player %s has declined your invitation to gamble for $%i.", szPlayerName, amount);
                        SendClientMessage(inviter, 0xFFFFFFFF, szMessage);

                        return 1;
            }
            if(response)
            {
                // Randomize numbers, make sure they are not the same and that they are in range 1-6

                // randomNumbers[0] - inviter's number
                // randomNumbers[1] - player's number

                        new randomNumbers[2];

                        randomNumbers[0] = random(7);
                        randomNumbers[1] = random(7);

                        while(randomNumbers[0] == randomNumbers[1])
                        {
                            randomNumbers[random(2)] = random(7);

                            while(randomNumbers[0] == 0) randomNumbers[0] = random(7);
                                while(randomNumbers[1] == 0) randomNumbers[1] = random(7);
                        }

                        format(szMessage, sizeof(szMessage), "%s diced %i and %s diced %i so %s won $%i!", szInviterName, randomNumbers[0], szPlayerName, randomNumbers[1], randomNumbers[0] > randomNumbers[1] ? szInviterName : szPlayerName, amount);
                        SendClientMessageToAll(0xFFFFFFFF, szMessage);

                        GivePlayerMoney(randomNumbers[0] > randomNumbers[1] ? inviter : playerid, amount);
                        GivePlayerMoney(randomNumbers[0] > randomNumbers[1] ? playerid : inviter, -amount);

                        SetPVarInt(inviter, "Invited", -1);
                        SetPVarInt(inviter, "Amount", 0);
                        SetPVarInt(playerid, "Invited By", -1);
            }
        }
        return 1;
}
Try this.
now i got only one error
pawn Код:
C:\Users\shalev\Desktop\ъйчйд згщд (2)\Reality Style RP\filterscripts\Dice.pwn(24) : error 017: undefined symbol "params"
C:\Users\shalev\Desktop\ъйчйд згщд (2)\Reality Style RP\filterscripts\Dice.pwn(55) : warning 217: loose indentation
Reply
#5

Try

pawn Код:
#define FILTERSCRIPT

#include <a_samp>

#include <sscanf2>
#include <YSI\y_commands>

#define DIALOG_ID_DICE 7777 // Removed the brackets.

public OnPlayerConnect(playerid)
{
        SetPVarInt(playerid, "Invited", -1);
        SetPVarInt(playerid, "Invited By", -1);
        SetPVarInt(playerid, "Amount", 0);
        return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if (!strcmp("/dicebet", cmdtext))
    {
        new target, amount;

        if(sscanf(cmdtext, "ri", target, amount))
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "Use: /dice [ID] [amount]");
            return 1;
        }

        if(playerid == target)
        {
        SendClientMessage(playerid, 0xFFFFFFFF, "You can not challenge yourself!");
        return 1;
        }

        new szTargetName[MAX_PLAYER_NAME], szMessage[128];
        GetPlayerName(target, szTargetName, sizeof(szTargetName));

        if(GetPVarInt(playerid, "Invited") != -1)
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "You have already challenged someone else.");
            return 1;
        }

        if(GetPVarInt(target, "Invited By") != -1)
        {
            format(szMessage, sizeof(szMessage), "Player %s has been invited to dice already.", szTargetName);
            SendClientMessage(playerid, 0xFFFFFFFF, szMessage);
            return 1;
        }

        if(amount < 0)
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "You can't dice for $0!");
            return 1;
        }

        if(GetPlayerMoney(playerid) < amount)
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "You do not have enough money.");
            return 1;
        }

        if(GetPlayerMoney(target) > amount)
        {
            format(szMessage, sizeof(szMessage), "Player %s does not have enough money.", szTargetName);
            SendClientMessage(playerid, 0xFFFFFFFF, szMessage);
            return 1;
        }

        new szPlayerName[MAX_PLAYER_NAME];
        GetPlayerName(playerid, szPlayerName, sizeof(szPlayerName));

        format(szMessage, sizeof(szMessage), "You have challenged %s to dice for $%i.", szTargetName, amount);
        SendClientMessage(playerid, 0xFFFFFFFF, szMessage);

        format(szMessage, sizeof(szMessage), "Player %s has challenged you to dice for $%i.", szPlayerName, amount);
        ShowPlayerDialog(target, DIALOG_ID_DICE, DIALOG_STYLE_MSGBOX, "Dice", szMessage, "Accept", "Deny");

        SetPVarInt(playerid, "Invited", target);
        SetPVarInt(playerid, "Amount", amount);
        SetPVarInt(target, "Invited By", playerid);
        return 1;
    }// added this
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
        if(dialogid == DIALOG_ID_DICE)
        {
            new inviter = GetPVarInt(playerid, "Invited By");

            new szInviterName[MAX_PLAYER_NAME], szPlayerName[MAX_PLAYER_NAME], szMessage[128],
                amount = GetPVarInt(inviter, "Amount");

                GetPlayerName(playerid, szPlayerName, sizeof(szPlayerName));
                GetPlayerName(inviter, szInviterName, sizeof(szInviterName));

            if(!response)
            {
                        format(szMessage, sizeof(szMessage), "Player %s has declined your invitation to gamble for $%i.", szPlayerName, amount);
                        SendClientMessage(inviter, 0xFFFFFFFF, szMessage);

                        return 1;
            }
            if(response)
            {
                // Randomize numbers, make sure they are not the same and that they are in range 1-6

                // randomNumbers[0] - inviter's number
                // randomNumbers[1] - player's number

                        new randomNumbers[2];

                        randomNumbers[0] = random(7);
                        randomNumbers[1] = random(7);

                        while(randomNumbers[0] == randomNumbers[1])
                        {
                            randomNumbers[random(2)] = random(7);

                            while(randomNumbers[0] == 0) randomNumbers[0] = random(7);
                                while(randomNumbers[1] == 0) randomNumbers[1] = random(7);
                        }

                        format(szMessage, sizeof(szMessage), "%s diced %i and %s diced %i so %s won $%i!", szInviterName, randomNumbers[0], szPlayerName, randomNumbers[1], randomNumbers[0] > randomNumbers[1] ? szInviterName : szPlayerName, amount);
                        SendClientMessageToAll(0xFFFFFFFF, szMessage);

                        GivePlayerMoney(randomNumbers[0] > randomNumbers[1] ? inviter : playerid, amount);
                        GivePlayerMoney(randomNumbers[0] > randomNumbers[1] ? playerid : inviter, -amount);

                        SetPVarInt(inviter, "Invited", -1);
                        SetPVarInt(inviter, "Amount", 0);
                        SetPVarInt(playerid, "Invited By", -1);
            }
        }
        return 1;
}
Reply
#6

Quote:
Originally Posted by Affan
Посмотреть сообщение
Try

pawn Код:
#define FILTERSCRIPT

#include <a_samp>

#include <sscanf2>
#include <YSI\y_commands>

#define DIALOG_ID_DICE 7777 // Removed the brackets.

public OnPlayerConnect(playerid)
{
        SetPVarInt(playerid, "Invited", -1);
        SetPVarInt(playerid, "Invited By", -1);
        SetPVarInt(playerid, "Amount", 0);
        return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if (!strcmp("/dicebet", cmdtext))
    {
        new target, amount;

        if(sscanf(cmdtext, "ri", target, amount))
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "Use: /dice [ID] [amount]");
            return 1;
        }

        if(playerid == target)
        {
        SendClientMessage(playerid, 0xFFFFFFFF, "You can not challenge yourself!");
        return 1;
        }

        new szTargetName[MAX_PLAYER_NAME], szMessage[128];
        GetPlayerName(target, szTargetName, sizeof(szTargetName));

        if(GetPVarInt(playerid, "Invited") != -1)
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "You have already challenged someone else.");
            return 1;
        }

        if(GetPVarInt(target, "Invited By") != -1)
        {
            format(szMessage, sizeof(szMessage), "Player %s has been invited to dice already.", szTargetName);
            SendClientMessage(playerid, 0xFFFFFFFF, szMessage);
            return 1;
        }

        if(amount < 0)
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "You can't dice for $0!");
            return 1;
        }

        if(GetPlayerMoney(playerid) < amount)
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "You do not have enough money.");
            return 1;
        }

        if(GetPlayerMoney(target) > amount)
        {
            format(szMessage, sizeof(szMessage), "Player %s does not have enough money.", szTargetName);
            SendClientMessage(playerid, 0xFFFFFFFF, szMessage);
            return 1;
        }

        new szPlayerName[MAX_PLAYER_NAME];
        GetPlayerName(playerid, szPlayerName, sizeof(szPlayerName));

        format(szMessage, sizeof(szMessage), "You have challenged %s to dice for $%i.", szTargetName, amount);
        SendClientMessage(playerid, 0xFFFFFFFF, szMessage);

        format(szMessage, sizeof(szMessage), "Player %s has challenged you to dice for $%i.", szPlayerName, amount);
        ShowPlayerDialog(target, DIALOG_ID_DICE, DIALOG_STYLE_MSGBOX, "Dice", szMessage, "Accept", "Deny");

        SetPVarInt(playerid, "Invited", target);
        SetPVarInt(playerid, "Amount", amount);
        SetPVarInt(target, "Invited By", playerid);
        return 1;
    }// added this
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
        if(dialogid == DIALOG_ID_DICE)
        {
            new inviter = GetPVarInt(playerid, "Invited By");

            new szInviterName[MAX_PLAYER_NAME], szPlayerName[MAX_PLAYER_NAME], szMessage[128],
                amount = GetPVarInt(inviter, "Amount");

                GetPlayerName(playerid, szPlayerName, sizeof(szPlayerName));
                GetPlayerName(inviter, szInviterName, sizeof(szInviterName));

            if(!response)
            {
                        format(szMessage, sizeof(szMessage), "Player %s has declined your invitation to gamble for $%i.", szPlayerName, amount);
                        SendClientMessage(inviter, 0xFFFFFFFF, szMessage);

                        return 1;
            }
            if(response)
            {
                // Randomize numbers, make sure they are not the same and that they are in range 1-6

                // randomNumbers[0] - inviter's number
                // randomNumbers[1] - player's number

                        new randomNumbers[2];

                        randomNumbers[0] = random(7);
                        randomNumbers[1] = random(7);

                        while(randomNumbers[0] == randomNumbers[1])
                        {
                            randomNumbers[random(2)] = random(7);

                            while(randomNumbers[0] == 0) randomNumbers[0] = random(7);
                                while(randomNumbers[1] == 0) randomNumbers[1] = random(7);
                        }

                        format(szMessage, sizeof(szMessage), "%s diced %i and %s diced %i so %s won $%i!", szInviterName, randomNumbers[0], szPlayerName, randomNumbers[1], randomNumbers[0] > randomNumbers[1] ? szInviterName : szPlayerName, amount);
                        SendClientMessageToAll(0xFFFFFFFF, szMessage);

                        GivePlayerMoney(randomNumbers[0] > randomNumbers[1] ? inviter : playerid, amount);
                        GivePlayerMoney(randomNumbers[0] > randomNumbers[1] ? playerid : inviter, -amount);

                        SetPVarInt(inviter, "Invited", -1);
                        SetPVarInt(inviter, "Amount", 0);
                        SetPVarInt(playerid, "Invited By", -1);
            }
        }
        return 1;
}
no errors i will go check it on the server
Reply
#7

Quote:
Originally Posted by Affan
Посмотреть сообщение
Try

pawn Код:
#define FILTERSCRIPT

#include <a_samp>

#include <sscanf2>
#include <YSI\y_commands>

#define DIALOG_ID_DICE 7777 // Removed the brackets.

public OnPlayerConnect(playerid)
{
        SetPVarInt(playerid, "Invited", -1);
        SetPVarInt(playerid, "Invited By", -1);
        SetPVarInt(playerid, "Amount", 0);
        return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if (!strcmp("/dicebet", cmdtext))
    {
        new target, amount;

        if(sscanf(cmdtext, "ri", target, amount))
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "Use: /dice [ID] [amount]");
            return 1;
        }

        if(playerid == target)
        {
        SendClientMessage(playerid, 0xFFFFFFFF, "You can not challenge yourself!");
        return 1;
        }

        new szTargetName[MAX_PLAYER_NAME], szMessage[128];
        GetPlayerName(target, szTargetName, sizeof(szTargetName));

        if(GetPVarInt(playerid, "Invited") != -1)
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "You have already challenged someone else.");
            return 1;
        }

        if(GetPVarInt(target, "Invited By") != -1)
        {
            format(szMessage, sizeof(szMessage), "Player %s has been invited to dice already.", szTargetName);
            SendClientMessage(playerid, 0xFFFFFFFF, szMessage);
            return 1;
        }

        if(amount < 0)
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "You can't dice for $0!");
            return 1;
        }

        if(GetPlayerMoney(playerid) < amount)
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "You do not have enough money.");
            return 1;
        }

        if(GetPlayerMoney(target) > amount)
        {
            format(szMessage, sizeof(szMessage), "Player %s does not have enough money.", szTargetName);
            SendClientMessage(playerid, 0xFFFFFFFF, szMessage);
            return 1;
        }

        new szPlayerName[MAX_PLAYER_NAME];
        GetPlayerName(playerid, szPlayerName, sizeof(szPlayerName));

        format(szMessage, sizeof(szMessage), "You have challenged %s to dice for $%i.", szTargetName, amount);
        SendClientMessage(playerid, 0xFFFFFFFF, szMessage);

        format(szMessage, sizeof(szMessage), "Player %s has challenged you to dice for $%i.", szPlayerName, amount);
        ShowPlayerDialog(target, DIALOG_ID_DICE, DIALOG_STYLE_MSGBOX, "Dice", szMessage, "Accept", "Deny");

        SetPVarInt(playerid, "Invited", target);
        SetPVarInt(playerid, "Amount", amount);
        SetPVarInt(target, "Invited By", playerid);
        return 1;
    }// added this
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
        if(dialogid == DIALOG_ID_DICE)
        {
            new inviter = GetPVarInt(playerid, "Invited By");

            new szInviterName[MAX_PLAYER_NAME], szPlayerName[MAX_PLAYER_NAME], szMessage[128],
                amount = GetPVarInt(inviter, "Amount");

                GetPlayerName(playerid, szPlayerName, sizeof(szPlayerName));
                GetPlayerName(inviter, szInviterName, sizeof(szInviterName));

            if(!response)
            {
                        format(szMessage, sizeof(szMessage), "Player %s has declined your invitation to gamble for $%i.", szPlayerName, amount);
                        SendClientMessage(inviter, 0xFFFFFFFF, szMessage);

                        return 1;
            }
            if(response)
            {
                // Randomize numbers, make sure they are not the same and that they are in range 1-6

                // randomNumbers[0] - inviter's number
                // randomNumbers[1] - player's number

                        new randomNumbers[2];

                        randomNumbers[0] = random(7);
                        randomNumbers[1] = random(7);

                        while(randomNumbers[0] == randomNumbers[1])
                        {
                            randomNumbers[random(2)] = random(7);

                            while(randomNumbers[0] == 0) randomNumbers[0] = random(7);
                                while(randomNumbers[1] == 0) randomNumbers[1] = random(7);
                        }

                        format(szMessage, sizeof(szMessage), "%s diced %i and %s diced %i so %s won $%i!", szInviterName, randomNumbers[0], szPlayerName, randomNumbers[1], randomNumbers[0] > randomNumbers[1] ? szInviterName : szPlayerName, amount);
                        SendClientMessageToAll(0xFFFFFFFF, szMessage);

                        GivePlayerMoney(randomNumbers[0] > randomNumbers[1] ? inviter : playerid, amount);
                        GivePlayerMoney(randomNumbers[0] > randomNumbers[1] ? playerid : inviter, -amount);

                        SetPVarInt(inviter, "Invited", -1);
                        SetPVarInt(inviter, "Amount", 0);
                        SetPVarInt(playerid, "Invited By", -1);
            }
        }
        return 1;
}
Dude i try the commands in the mode and thats dont work
Reply
#8

Someone?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)