question :)
#1

guys i want to make /rob command and i want to make that rob can fail like when player will rob something or he wants to have 2 ways : he can rob it and he can't rob it ( FAIL ) ... i hope u unterstand me :S

Thanks
Reply
#2

https://sampforum.blast.hk/showthread.php?tid=58401

This is a fliterscript for a rob command, not sure if it's what your looking for, but you can always edit it.
Reply
#3

pawn Код:
#include <a_samp>

#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

#define DISTANCE_BETWEEN_PLAYERS 5
#define COLOR_ROB 0x00FFFFFF
#define COLOR_FAIL 0x00FFFFFF
#define COLOR_ERROR 0xFF0000FF
#define ROB_TIME 7000


new robtime[MAX_PLAYERS];
new ID;


stock Float:GetDistanceBetweenPlayers(p1,p2){
    new Float:x1,Float:y1,Float:z1,Float:x3,Float:y3,Float:z3;
    if (!IsPlayerConnected(p1) || !IsPlayerConnected(p2)){
        return -1.00;
    }
    GetPlayerPos(p1,x1,y1,z1);
    GetPlayerPos(p2,x3,y3,z3);
    return floatsqroot(floatpower(floatabs(floatsub(x3,x1)),2)+floatpower(floatabs(floatsub(y3,y1)),2)+floatpower(floatabs(floatsub(z3,z1)),2));
}

forward robtimer(id);

dcmd_rob(playerid, params[])
    {
        new pname[MAX_PLAYER_NAME];
        GetPlayerName(playerid, pname, sizeof(pname));
        if(!strlen(params))
        {
            SendClientMessage(playerid, COLOR_ERROR, "Correct usage: /rob [PLAYERID]");
        }
        else
        {
            ID = strval(params);
            if(robtime[playerid] == 0)
            {
                if(ID != playerid)
                {
                    if(IsPlayerConnected(ID))
                    {
                        new oname[MAX_PLAYER_NAME];
                        GetPlayerName(ID, oname, sizeof(oname));
                        if(GetDistanceBetweenPlayers(playerid, ID) <= DISTANCE_BETWEEN_PLAYERS)
                        {
                            if(!GetPlayerVehicleID(ID) || GetPlayerVehicleID(ID) == GetPlayerVehicleID(ID))
                            {
                                if(GetPlayerMoney(ID) > 0)
                                {
                                    new rob = random(11);
                                    if(rob == 1 || rob == 2 || rob == 10 || rob == 11)
                                    {
                                        new string[256];
                                        format(string, sizeof(string), "%s (%i) noticed you trying to rob him. Attempt failed!",oname, ID);
                                        SendClientMessage(playerid, COLOR_ROB, string);
                                        format(string, sizeof(string), "~w~%s Noticed you trying to rob him.~n~Attempt failed!.",oname, ID);
                                        GameTextForPlayer(playerid, string, 5000, 4);
                                        GetPlayerName(playerid,pname,sizeof(pname));
                                        format(string, sizeof(string), "You noticed %s (%i) trying to rob you. His attempt has failed!", pname, playerid);
                                        SendClientMessage(ID, COLOR_ROB, string);
                                        format(string, sizeof(string), "~w~You noticed %s trying to rob you.~n~His attempt has failed!", pname, playerid);
                                        GameTextForPlayer(ID, string, 5000, 4);
                                    }
                                    else if(rob == 3)
                                    {
                                        new pcash = GetPlayerMoney(ID);
                                        new robcash = random(pcash);
                                        GivePlayerMoney(ID, -robcash);
                                        GivePlayerMoney(playerid, robcash);
                                        GetPlayerName(playerid, pname, sizeof(pname));
                                        new string[256];
                                        format(string, sizeof(string), "You have robbed $%i from %s (%i).", robcash, oname, ID);
                                        SendClientMessage(playerid, COLOR_ROB, string);
                                        format(string, sizeof(string), "~w~Robbed $%i from %s.", robcash, oname);
                                        GameTextForPlayer(playerid, string, 5000, 4);
                                        format(string, sizeof(string), "%s (%i) has robbed $%i from you.", pname, playerid, robcash);
                                        SendClientMessage(ID, COLOR_ROB, string);
                                        format(string, sizeof(string), "~w~%s has robbed $%i from you.", pname, robcash);
                                        GameTextForPlayer(ID, string, 5000, 4);
                                    }
                                    else if(rob == 4 || rob == 5 || rob == 8)
                                    {
                                        new pcash = GetPlayerMoney(ID);
                                        new robcash = random(pcash);
                                        new robcash2 = robcash-random(robcash);
                                        GivePlayerMoney(ID, -robcash2);
                                        GivePlayerMoney(playerid, robcash2);
                                        new string[256];
                                        GetPlayerName(playerid, pname, sizeof(pname));
                                        format(string, sizeof(string), "You have robbed $%i from %s (%i).", robcash2, oname, ID);
                                        SendClientMessage(playerid, COLOR_ROB, string);
                                        format(string, sizeof(string), "~w~Robbed $%i from %s.", robcash2, oname);
                                        GameTextForPlayer(playerid, string, 5000, 4);
                                        format(string, sizeof(string), "%s (%i) has robbed $%i from you.", pname, playerid, robcash2);
                                        SendClientMessage(ID, COLOR_ROB, string);
                                        format(string, sizeof(string), "~w~%s has robbed $%i from you.", pname, robcash2);
                                        GameTextForPlayer(ID, string, 5000, 4);
                                    }
                                    else if(rob == 6 || rob == 7)
                                    {
                                        new pcash = GetPlayerMoney(ID);
                                        new robcash = random(pcash);
                                        new robcash2 = robcash-random(robcash);
                                        new robcash3 = robcash2-random(robcash2);
                                        GivePlayerMoney(ID, -robcash3);
                                        GivePlayerMoney(playerid, robcash3);
                                        new string[256];
                                        GetPlayerName(playerid, pname, sizeof(pname));
                                        format(string, sizeof(string), "You have robbed $%i from %s (%i).", robcash3, oname, ID);
                                        SendClientMessage(playerid, COLOR_ROB, string);
                                        format(string, sizeof(string), "%s (%i) has robbed $%i from you.", pname, playerid, robcash3);
                                        SendClientMessage(ID, COLOR_ROB, string);
                                        format(string, sizeof(string), "~w~Robbed $%i from %s.", robcash3, oname);
                                        GameTextForPlayer(playerid, string, 5000, 4);
                                        format(string, sizeof(string), "~w~%s has robbed $%i from you.", pname, robcash3);
                                        GameTextForPlayer(ID, string, 5000, 4);
                                    }
                                    else
                                    {
                                        SetPlayerHealth(playerid, -69);
                                        new string[256];
                                        GetPlayerName(playerid, pname, sizeof(pname));
                                        format(string, sizeof(string), "Your hand has stuck to %s (%i)'s pocket. ", oname, ID);
                                        SendClientMessage(playerid, COLOR_FAIL, string);
                                        SendClientMessage(playerid, COLOR_FAIL, "He noticed it and stabbed your arm.");
                                        format(string, sizeof(string), "%s (%i)'s hand is in your pocket!", pname, playerid);
                                        SendClientMessage(ID, COLOR_FAIL, string);
                                        SendClientMessage(ID, COLOR_FAIL, "You noticed it and stab his arm.");
                                        format(string, sizeof(string), "*** %s (%i) has bled to death.", pname, playerid);
                                        SendClientMessageToAll(0x880000FF, string);
                                        format(string, sizeof(string), "~w~%s has stabbed your arm.", oname, ID);
                                        GameTextForPlayer(playerid, string, 5000, 4);
                                        format(string, sizeof(string), "~w~Stabbed %s's arm!", oname, ID);
                                        GameTextForPlayer(ID, string, 5000, 4);
                                    }
                                    robtime[playerid] = 1;
                                    SetTimerEx("robtimer", ROB_TIME, false, "i", playerid);
                                }
                                else
                                {
                                    new string[256];
                                    format(string, sizeof(string), "%s (%i) has no money to rob!", oname, ID);
                                    SendClientMessage(playerid, COLOR_ERROR, string);
                                }
                            }
                            else
                            {
                                new string[256];
                                format(string, sizeof(string), "%s (%i) has to be in the same vehicle as you to be able to rob!", oname, ID);
                                SendClientMessage(playerid, COLOR_ERROR, string);
                            }
                        }
                        else
                        {
                            new string[256];
                            format(string, sizeof(string), "%s (%i) is not close enough to rob.", oname, ID);
                            SendClientMessage(playerid, COLOR_ERROR, string);
                        }
                    }
                    else
                    {
                        SendClientMessage(playerid, COLOR_ERROR, "That player is not connected!");
                    }
                }
                else
                {
                    SendClientMessage(playerid, COLOR_ERROR, "You cannot rob yourself!");
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_ERROR, "Please wait before robbing someone again.");
            }
        }
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    dcmd(rob, 3, cmdtext);
    return 0;
}
public robtimer(id)
{
    robtime[id] = 0;
}
With the dcmd format!
It was an edit from the one Hayden posted.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)