Quantcast
Channel: SA-MP Forums - Filterscripts
Viewing all 595 articles
Browse latest View live

[FilterScript] SA Tube v1.0 [RELEASED]

$
0
0

SA TUBE SYSTEM

What is it?


It's like a audio player , That plays the link you enter in search box,
and there is also a list of TOP 27 Musics, which you can also play and You can add your desire songs as well, by following the method showed below, but with some unique textdraws, Different from others,

Video

Click on the image to see the video !

Some Feautures


* Youtube GUI in samp with TextDraws.
* Youtube player.
* Alternative TOP 27 musics are available and can also be changed very easily, Just follow those steps.

Adding new custom music

Goto line 50, and add Comma " , " at the end, and then add this code, change it to your needs.
Code:

{"Song Name","www.youtube.com/YOURLINK"}

and in the last code don't add comma " , "
Now it'll show the name in dialog as well,

Total textdraws are: 76.
Version: 1.0, Stay tune for updates.

Download

Pastebin
Mediafire

Credits

FuNkYTheGreat - For making this script.
adri1 - For his awesome Textdraw Editor.
Zeex - For ZCMD.

Update Logs
Code:

Converted Player Textdraws to Global TextDraws, Thanks to Pottus

Note: If it's not working then press ESC > then goto Options > Audio Setup > and make sure your Radio Volume is not 0.

[FilterScript] requesting 'Hitman' Group system

$
0
0
i dont know where to request a fs ? anyways if you can help me with that ... do it ! Just do it

[FilterScript] [MV]_cPanel: the new, the better .. the rescripted. (Admin/VIP system)

$
0
0
[MV]_cPanel

Introduction
I'm sure you heard this name before - right here, years ago: click. But it was time for an update .. a serious update .. a rescripted update. So here it is. And meanwhile everyone can contribute (and should). Last months or so I decided to rescript and work on it.

What's this?
As previous script, this is a filterscript with an admin and vip system for your server. It has admin commands, anti-cheat, sql saving and more stuff! You can also access player variables (like money, score etc) from within your gamemode.

You can do much stuff with all the commands but /cpanel is where you start at.

Requirements

Features

Installation

Configuration

These are the things you can edit, from colors to disabling features. These are the default values:
Code:

#define COL_ADMIN_1        "{FF0A00}"
#define COL_ADMIN_2        "{FFFFFF}"
#define COL_VIP_1        "{411053}"
#define COL_VIP_2        "{7B498D}"

#define SQL_SERVER        "127.0.0.1"
#define SQL_USER        ""
#define SQL_PASS        ""
#define SQL_DB                ""

#define COOLDOWN_COMMAND        5        //time in seconds between command executes
#define COOLDOWN_CHAT                2        //time in seconds between chat messages
#define COOLDOWN_VIP_HEAL        600        //time in seconds between vip healing (/vipheal)

#define MAX_WARNINGS                5        //max warnings a player can have before he gets kicked/banned
#define MAX_PING                500        //max ping a player can get, above = kick (0 to disable)

#define BAN_ON_WARN                false        //if true, a player which reaches MAX_WARNINGS he'll get banned, else kicked.
#define BAN_ON_FWEAPON                true        //if true, a player that has a forbidden weapon (from the forbiddenWeapons array) he'll get banned, else kicked.

#define MUTE_EQUALS_NOCMDS        true        //if true, a player that is muted won't be able to execute any commands either.
#define ADMIN_SKIN                84        //the skinid of admins when u do /adminduty
#define FREE_DIALOG_ID                100        //specify a dialogid that isn't used by your gamemode
#define AC_NAME                "Server"//a name for your server or anti-cheat.

#define LOG_COMMANDS                false        //Log ALL commands.
#define LOG_ADMINCOMMANDS        true        //log admin commands with all the info they give (almost the same like LOG_COMMANDS but u get more info in the db)
#define LOG_REPORTS                true        //log all the reports that have been sent to admins
#define LOG_ANTICHEAT                true        //log all the actions from the anti-cheat
#define LOG_MYSQL                false        //This is just to enable/disable the logging of the plugin, litterally every query etc.

new forbiddenWeapons[] =                //define any forbidden weaponids in this array, the anti-cheat will ban/kick the player if he has any of these weapons
{
        WEAPON_MINIGUN,
        WEAPON_HEATSEEKER,
        WEAPON_SATCHEL
};

How to make myself owner?
There are 2 ways to do this:
  • Go in your server, register your account, login as rcon admin and do /cpanel.
  • Go in your server, register your account, go to your database and edit the `Adminlevel` column in the `Players` table to 5

Upcoming features/plans

Download

Source

[FilterScript] Requesting For a FilterScript

$
0
0
Hello, so i saw on one server they had like a who killed who system like this: http://imgur.com/a/E1P9r?
If someone can give me a script like this i would appreciate it!

[FilterScript] Nickk's TextDraw Editor [BETA 4.0] (iPLEOMAX Inspired)

$
0
0

About Me:
Hello dear SA-MP community :) My name's Nickk888, i'm a German/Polish PAWN Scripter for about 6 years now, I own a YouTube channel about SA-MP Scripting in Polish language and I create scripts for the public for free. Excuse my English skill, I'm no native English speaker, so please keep this in mind :) I'll try my best ^_^

About Script:
Nickk's TextDraw editor is a TextDraw editor that is basically inspired by iPLEOMAX's TextDraw editor, my goal was to make a much simpler but cool looking version without any plugins, much more stuff, it has to be stable and easy to use.

Features:
  • Clickable interface.
  • No Plugins needed!
  • Polish and English version.
  • Build-in Sprite selector(Over 300 sprites!).
  • Preview Model and Sprites support.
  • Changeable TextDraw variable name in-game.
  • Over 35 Pre-made colors to choose.
  • Fully customizable interface(Button colors, override colors & interface position).
  • TextDraw templates(Pre-made TextDraws to choose).
  • Quick Selection tool(Just select your TextDraw! No need to search within the Dialog!).
  • TextDraw visibility option(If you want to show other players your work!).
  • Fully editable Preview Model(Rotation, Zoom, ID and colors!).
  • Easy export your project(Simple export or Self-working Script).
  • Quick and fluid working environment.
  • Very Stable.
  • Automatic update checking.
This is only a small list, there is a lot more!

Screenshots:
CLICK HERE

Video:
Beta 1.0: https://youtu.be/QUJnacXmN3Y
Beta 2.0: https://youtu.be/gcR3WwWP8bc
Beta 3.0: https://youtu.be/zZ67sAh6TDU
Beta 4.0: https://youtu.be/Q4xXw2qBoKw

Changelog:
Beta 1.0
Code:

First Release.
Beta 2.0
Code:

- Fixed small errors.
*ADDED* editor close button.
*ADDED* Settings button.
*ADDED* Option to move the editor.
*ADDED* editor color option.
*ADDED* Option to invert the Shift buttons from Spacebar.
*ADDED* 29 new Pre-Made colors.
*ADDED* Confirmation messages for deleting anything.
*ADDED* Colorized identification for selected TextDraw in the dialog.
*ADDED* Direct transparency settings for Text, Background, and Box.
*FIXED* Detecting other TextDraw when the script is off.

Beta 3.0
Code:

- Optimized TextDrawow Updates.
- Editing TextDraws has been speeded up.
*ADDED* Quick Selection feature.
*ADDED* Welcome Screen after starting editor.
*ADDED* SelectTextDraw when exporting with clickable TextDraws.
*ADDED* Shows how many created TextDraws there are & Time/Date in the Project list.
*ADDED* Built-in Sprite Library, faster selection of the corresponding sprite.
*ADDED* Flashing TextDraw after selecting, to show where it is located.
*ADDED* 12 Pre-made Templates.
*IMPROVED* New TextDraw will be automatically selected

Beta 4.0
Code:

- Fixed small errors.
- Some dialogs are now "DIALOG_STYLE_TABLIST_HEADERS".
*ADDED* Additional language (English).
*ADDED* TextDrawing Display for everyone when editing.
*ADDED* You can change the name of the variable for each TextDraw.
*ADDED* "LD_POOL" sprite library.
*ADDED* "SAMAPS" sprite library.
*ADDED* New textures in "NTD_RESOURCES.txd"
*REMOVE* Color "Dark Khaki".
*IMPROVED* New texture names in "NTD_RESOURCES.txt".
*FIXED* A clickable TextDraw is clickable in the Dialog.

Download:
CLICK HERE!

Last words:
I really hope you like my TextDraw editor :) I will still update the script until Full Release. Please let me know for any bugs you find, also please correct my English translation for the script here in the thread. Download and Enjoy! ^_^

[FilterScript] Alcor's event system!

$
0
0
Introduction

This is just a simple event system, ideal for RPG servers as it doesn't have teleportation commands or whatnot. That's about if for the introduction, see the video for more information on how it works and how to use it in the game. You don't need to put any credits for me, it took me 10 minutes to do as a quick addition to my own server. I have used sscanf2 and ZCMD for this, but you can optimize it for your own needs.


Commands available

/event - View the information of an existing event, anyone can use this command.
/e - Speak on the event organizer's chat, you can only use this if you're the organizer of the event, only the event organizer can use this command.
/cancelrequest - Cancel an outstanding event request you have, anyone who has requested an event can use this command.
/stopevent - Stop an event that you're hosting, only the event organizer and RCON admins can use this command.
/requestevent - Request to host an event, must be approved by admins before it being published, anyone can use this command.
/acceptevent - Accept an incoming event request, only admins can use this command.
** NEW ** /rejectevent - Reject an event that was submitted, with a given reason, only RCON admins can use this command.
** NEW ** /pendingevents - Shows a dialog of a list style where you can see the outstanding events that have been requested, this includes the player, the player's ID and the requested event's title, only RCON admins can use this command.
** NEW ** /checkevent - A bit like the command /event, but with this command you can check the details of the event before it being accepted. Only RCON admins can use this command too.


Installation of the script


First thing you want to do is to add the global variables, so put the following at the top of your script:

Code:

new eventorganizer[MAX_PLAYERS];
new requestingevent[MAX_PLAYERS];
new requestingtitle[MAX_PLAYERS][50];
new requestinglocation[MAX_PLAYERS][50];
new requestingdescription[MAX_PLAYERS][100];
new requestingprize[MAX_PLAYERS];
new requestingtime[MAX_PLAYERS][50];

new activeevent;
new eventtitle[50];
new eventlocation[50];
new eventdescription[100];
new eventprize;
new eventtime[50];

Second thing, under OnPlayerDisconnect add the following code:

Code:

requestingevent[playerid] = 0;
eventorganizer[playerid] = 0;

For our third step, we'll be adding the commands

Code:

CMD:event(playerid, params[])
{
        if(activeevent == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}There is currently no active event running.");
        new string[300], name[MAX_PLAYER_NAME];
        for(new i = 0; i < MAX_PLAYERS; i ++)
        {
            if(eventorganizer[i] == 1)
            {
                GetPlayerName(i, name, sizeof(name));
                }
        }
        SendClientMessage(playerid, 0xFFFFFFFF, "-------------------------------------------");
        format(string, sizeof(string), "{FFFF00}Title: %s Location: %s Time: %s", eventtile, eventlocation, eventtime);
        SendClientMessage(playerid, 0xFFFFFFFF, string);
        format(string, sizeof(string), "{FFFF00}Organizer: %s Prize: $%s", third, Comma(eventprize));
        SendClientMessage(playerid, 0xFFFFFFFF, string);
        format(string, sizeof(string), "{FFFF00}Description: %s", eventdescription);
        SendClientMessage(playerid, 0xFFFFFFFF, string);
        SendClientMessage(playerid, 0xFFFFFFFF, "-------------------------------------------");
        return 1;
}

CMD:e(playerid, params[])
{
        if(eventorganizer[playerid] == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}You're not the organizer of the event.");
        new text[250];
        if(sscanf(params, "s[250]", text)) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Syntax: /e [text]");
    new string[300], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof(string), "{7094DB}Event Organizer %s: %s", name, text);
    SendClientMessageToAll(0xFFFFFFFF, string);
    return 1;
}

CMD:cancelrequest(playerid, params[])
{
        if(requestingevent[playerid] == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}You're not requesting an event.");
        requestingevent[playerid] = 0;
        SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Your event request has been cancelled.");
        return 1;
}

CMD:stopevent(playerid, params[])
{
        if(activeevent == 0 && IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}There isn't any events to stop.");
        if(eventorganizer[playerid] == 0 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}You're not the organizer of the event.");
        for(new i = 0; i < MAX_PLAYERS; i ++)
        {
            eventorganizer[i] = 0;
        }
        SendClientMessageToAll(0xFFFFFFFF, "-------------------------------------------");
        SendClientMessageToAll(0xFFFFFFFF, "{FFFF00}Event over.");
        SendClientMessageToAll(0xFFFFFFFF, "-------------------------------------------");
        activeevent = 0;
        return 1;
}

CMD:acceptevent(playerid, params[])
{
        if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}You're not an admin.");
        if(activeevent == 1) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}There's already an active event.");
        new evetnid;
        if(sscanf(params, "d", eventid)) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Syntax: /acceptevent [eventid]");
        if(requestingevent[eventid] == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Invalid event ID.");
        strmid(eventtitle, requestingtitle[eventid], 0, strlen(requestingtitle[eventid]));
        strmid(eventlocation, requestinglocation[eventid], 0, strlen(requestinglocation[eventid]));
        strmid(eventdescription, requestingdescription[eventid], 0, strlen(requestingdescription[eventid]));
        eventprize = requestingprize[eventid];
        strmid(eventtime, requestingtime[eventid], 0, strlen(requestingtime[eventid]));
        new string[300], name[MAX_PLAYER_NAME];
        GetPlayerName(eventid, name, sizeof(name));
        SendClientMessageToAll(0xFFFFFFFF, "-------------------------------------------");
        format(string, sizeof(string), "{FFFF00}Event: %d Title: %s Location: %s Time: %s", eventid, eventtitle, eventlocation, eventtime);
        SendClientMessageToAll(0xFFFFFFFF, string);
        format(string, sizeof(string), "{FFFF00}Organizer: %s Prize: $%s", name, Comma(eventprize));
        SendClientMessageToAll(0xFFFFFFFF, string);
        format(string, sizeof(string), "{FFFF00}Description: %s", eventdescription);
        SendClientMessageToAll(0xFFFFFFFF, string);
        SendClientMessageToAll(0xFFFFFFFF, "-------------------------------------------");
        eventorganizer[eventid] = 1;
        requestingevent[eventid] = 0;
        activeevent = 1;
        return 1;
}

CMD:requestevent(playerid, params[])
{
        if(activeevent == 1) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}There's already an active event.");
        if(requestingevent[playerid] == 1) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}You're already requesting an event, cancel it first.");
    new title[50], location[50], description[100], prize, time[50];
    if(sscanf(params, "p<|>s[50]s[50]s[50]s[100]d", title, location, time, description, prize)) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Syntax: /requestevent [Title|Location|Time|Description|Prize]");
        if(strlen(title) < 1 || strlen(title) > 50) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Invalid amount of characters in title.");
        if(strlen(location) < 1 || strlen(location) > 50) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Invalid amount of characters in location.");
        if(strlen(time) < 1 || strlen(time) > 50) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Invalid amount of characters in time.");
        if(strlen(description) < 1 || strlen(description) > 100) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Invalid amount of characters in description.");
        if(prize < 1 || prize > 5000000) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Invalid prize amount.");
        new string[300], name[MAX_PLAYER_NAME];
        GetPlayerName(playerid, name, sizeof(name));
        requestingevent[playerid] = 1;
        strmid(requestingtitle[playerid], title, 0, strlen(title));
        strmid(requestinglocation[playerid], location, 0, strlen(location));
        strmid(requestingdescription[playerid], description, 0, strlen(description));
        requestingprize[playerid] = prize;
        strmid(requestingtime[playerid], time, 0, strlen(time));
        if(!IsPlayerAdmin(playerid)) SendClientMessage(playerid, 0xFFFFFFFF, "-------------------------------------------");
        for(new i = 0; i < MAX_PLAYERS; i ++)
        {
            if(IsPlayerAdmin(i))
            {
                SendClientMessage(i, 0xFFFFFFFF, "-------------------------------------------");
                }
        }
        format(string, sizeof(string), "{FFFF00}Event %d has been requested, details are below.", playerid);
        if(!IsPlayerAdmin(playerid)) SendClientMessage(playerid, 0xFFFFFFFF, string);
        for(new i = 0; i < MAX_PLAYERS; i ++)
        {
            if(IsPlayerAdmin(i))
            {
                SendClientMessage(i, 0xFFFFFFFF, string);
                }
        }
        format(string, sizeof(string), "{FFFF00}Event: %d Title: %s Location: %s Time: %s", playerid, title, location, time);
        if(!IsPlayerAdmin(playerid)) SendClientMessage(playerid, 0xFFFFFFFF, string);
        for(new i = 0; i < MAX_PLAYERS; i ++)
        {
            if(IsPlayerAdmin(i))
            {
                SendClientMessage(i, 0xFFFFFFFF, string);
                }
        }
        format(string, sizeof(string), "{FFFF00}Organizer: %s Prize: $%s", name, Comma(prize));
        if(!IsPlayerAdmin(playerid)) SendClientMessage(playerid, 0xFFFFFFFF, string);
        for(new i = 0; i < MAX_PLAYERS; i ++)
        {
            if(IsPlayerAdmin(i))
            {
                SendClientMessage(i, 0xFFFFFFFF, string);
                }
        }
        format(string, sizeof(string), "{FFFF00}Description: %s", description);
        if(PlayerData[playerid][pAdmin] < 1) SendClientMessage(playerid, 0xFFFFFFFF, string);
        for(new i = 0; i < MAX_PLAYERS; i ++)
        {
            if(IsPlayerAdmin(i))
            {
                SendClientMessage(i, 0xFFFFFFFF, string);
                }
        }
        format(string, sizeof(string), "{FFFF00}Use [/acceptevent %d] to accept this event.", playerid);
        for(new i = 0; i < MAX_PLAYERS; i ++)
        {
            if(IsPlayerAdmin(i))
            {
                SendClientMessage(i, 0xFFFFFFFF, string);
                }
        }
        SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Your event is pending approval from an admin, please wait.");
        if(!IsPlayerAdmin(playerid)) SendClientMessage(playerid, 0xFFFFFFFF, "-------------------------------------------");
        for(new i = 0; i < MAX_PLAYERS; i ++)
        {
            if(IsPlayerAdmin(i))
            {
                SendClientMessage(i, 0xFFFFFFFF, string);
                }
        }
        return 1;
}

CMD:rejectevent(playerid, params[])
{
        if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Only admins can use this command.");
        new id, reason[100];
        if(sscanf(params, "us[100]", id, reason)) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Syntax: /rejectevent [eventid] [reason]");
        if(requestingevent[id] == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Invalid event ID.");
        new string[300], sendername[MAX_PLAYER_NAME], receivername[MAX_PLAYER_NAME];
        requestingevent[id] = 0;
        GetPlayerName(playerid, sendername, sizeof(sendername));
        GetPlayerName(id, receivername, sizeof(receivername));
        format(string, sizeof(string), "{FFFF00}Admin %s has rejected your event, reason: %s", sendername, reason);
        SendClientMessage(id, 0xFFFFFFFF, string);
        format(string, sizeof(string), "{FFFF00}You rejected %s's event, reason: %s", receivername, reason);
        SendClientMessage(playerid, 0xFFFFFFFF, string);
        return 1;
}

CMD:pendingevents(playerid, params[])
{
        if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Only admins can use this command.");
        new string[1000], tmpstring[100], titlestring[100], count = 0, name[MAX_PLAYER_NAME;
        for(new i = 0; i < MAX_PLAYERS; i ++)
        {
            if(IsPlayerConnected(i))
            {
                if(requestingevent[i] == 1)
                {
                    GetPlayerName(i, name, sizeof(name));
                    format(tmpstring, sizeof(tmpstring), "Name: %s | ID: %d | Title: %s", name, i, requestingtitle[i]);
                                strcat(string, tmpstring);
                                count ++;
                        }
                }
        }
        if(count == 0) return ShowPlayerDialog(playerid, 5345, DIALOG_STYLE_MSGBOX, "Pending Requests: 0", "There are no pending requests.", "Done", "");
        format(titlestring, sizeof(titlestring), "Pending Requests: %d", count);
        ShowPlayerDialog(playerid, 5345, DIALOG_STYLE_LIST, titlestring, string, "Done", "");
        SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Use the command /checkevent to check the pending event information.");
        return 1;
}

CMD:checkevent(playerid, params[])
{
        if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Only admins can use this command.");
        new eventid;
        if(sscanf(params, "u", eventid)) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Syntax: /checkevent [eventid]");
        if(requestingevent[eventid] == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Invalid event ID.");
        new string[300], name[MAX_PLAYER_NAME];
        GetPlayerName(eventid, name, sizeof(name));
        SendClientMessage(playerid, 0xFFFFFFFF, "-------------------------------------------");
        format(string, sizeof(string), "{FFFF00}Title: %s Location: %s Time: %s", requestingtitle[eventid], requestinglocation[eventid], requestingtime[eventid]);
        SendClientMessage(playerid, 0xFFFFFFFF, string);
        format(string, sizeof(string), "{FFFF00}Organizer: %s Prize: $%s", name, Comma(requestingprize[eventid]));
        SendClientMessage(playerid, 0xFFFFFFFF, string);
        format(string, sizeof(string), "{FFFF00}Description: %s", requestingdescription[eventid]);
        SendClientMessage(playerid, 0xFFFFFFFF, string);
        format(string, sizeof(string), "{FFFF00}Use [/acceptevent %d] to accept this event.", eventid);
        SendClientMessage(playerid, 0xFFFFFFFF, string);
        SendClientMessage(playerid, 0xFFFFFFFF, "-------------------------------------------");
        return 1;
}

Fourthly, just add the stocks that I've used here, i.e. the Comma stock. Credits to whomever made it, I forgot...

Code:

stock Comma(numbers)
{
    new temp[100], counter = -1;
    valstr(temp, numbers);
    for(new i = strlen(temp);i > 0; i--)
    {
        counter++;
        if(counter == 3)
        {
            strins(temp, ",", i);
            counter = 0;
        }
    }
    return temp;
}


Now, that'll be done. Just go into the game and test it out. I know some of the code is pretty bad for a good scripter, but I did do it in 10 minutes and now I need to go out.

[FilterScript] [SQLite] Advanced IP Logger (dialogs + save up to 50 ips per user with next buttons)

$
0
0
Greetings everyone, I'm a new scripter,,


Explanation
I've been scripting this system, and it's kinda good as it seems. When a user join with a certain IP twice, his ip log will update automatically (Date, Time, and If he logged in or not).. but if the same username joined the server with a different IP, this ip will be saved in his userlog.. so when you try the command on him, it will pop up a dialog with all of his IP's...

Here's a fast snap:





Commands
/iplog username (it will show you the ip log of a certain user)
/cleariplog username (it will erase the ip log of a certain user)



Notes
I've made a registeration system based on sqlite as well, just for testing.. you can remove it, and put the stocks, dialogs and the commands in your script..


The log can save up to 50 ip! Yes, there are next buttons! when there are more than 10 ips, you can swip to the next dialog, next ips.. (50 ips, 5 pages maximum) can be increased..


The log is constantly showed ACCORDING to unix timestamp (ordered descendingly, so the newest gets showed at first)


This is new.. it may have some bugs but I'd be glad if you appoint me to fix them :)


Download Link
https://pastebin.com/tGum8Fkm


Credits: Zeex for zcmd include, maddinat0r for sscanf include, Omar & Metho for testing with me, and Jlalt for telling me to do this.

[FilterScript] Realistic ATM System - MySQL

$
0
0
Hi, I've been trying so hard for this system. The system has 2 languages (English & Turkish).

RolePlay is suitable for servers. I did not encounter any errors. Let me know if you find an error. Thank you, I apologize for my bad english.



The language setting:
Code:

#define    Language  (2)  //  1 = TR (Turkish)  |  2 = EN (English)
ATM Settings
Code:

#define    MAX_ATM                (5)    //  Maximum number of ATMs
#define    ATM_OBJECT                (19324) // Atm object

Commands:

Code:

/createatm  -- Atm creates.
/deleteatm -- Atm deletes.
/editatm -- Edit ATM.



Pictures





Download:

Pastebin

Note: MySQL R40+ was used.

[FilterScript] Xeon's Speedometer (Analog Speedmeter)

$
0
0
Xeon Speedmeter


Introduction:

Hello,

This is another speedo filterscript, just like othres but this one uses analogic speed counter instand of numeric one.
this fs has been done using 18 Global textdraws and 4 Player textdraws and it was optimized so much, testing/recording was done by Abyss Morgan (Big Thanks!), hope you have fun by doing it. for future versions of this speedmeter im gonna add fuel support and nitros. you can find source code here.

Screenshots:

https://cdn.discordapp.com/attachmen.../sa-mp-086.png
https://cdn.discordapp.com/attachmen.../sa-mp-087.png

(The pictures resolutions is too big, sorry about that)

Video:

https://youtu.be/_I5l2s974xM

How to install?:

- Download xspeedo.pwn and edistance.inc
- C&P edistance.inc in the include folder at your pawn directory
- Edit "Xeon Test Server" & MAX_SLOTS on to anything you want.
- Press on F5 (Complie the script)
- Copy output file name (xspeedo.amx) to filterscripts folder on your server root directory.
- Add it on server.cfg
- Restart your server and you are done!

Download:

xspeedo.pwn
edistance.inc

Credits:

*SA:MP Team (a_samp)
*eDistance (EditPawn)
*Abyss Morgan (Testing, Recording, Supporting)
*Kar (Reserve detection)
*Michael (GetPlayerSpeed)

[FilterScript] Coins system

$
0
0
Coins system

I'M BRAZILIAN!
Well, well guys, this is my first FilterScript ...
I hope you like it. My first FilterScript is a basic Coins system. Nothing so amazing, but usable! Remember that this filterscript will go through updates frequently, so that the use for you can be better!

I used the most common directives ... "a_samp", "zcmd", "sscanf" and "dof2"
Yes, I made the storage in DOF2, I am not able to use MySQL.
I Accept Reviews and Suggestions!

v0.1
v0.5


Agradecimentos:
A_SAMP - Team SA-MP
ZCMD - ZeeX
DOF2 - Double-O-Seven
SSCANF - Y_Less

[FilterScript] RPH - No need for helpers in your server anymore !

$
0
0
RPH V1.0 by R4nd4ll



Hello there !

This is my first FS. I created this while trying to learn PAWN.


It's a simple Roleplay rules guide for the lazy new players in your server which doesn't have time (lazy idiots) to read the basic rolepaly rules on your forums.

Yeah so, It's pretty simple.

Use /rphelp to see a menu with all the basic RP knowledge you need.


Features :




1- Short explanations, You don't need to spend hours trying to learn how to use [/do] or [/me].
2- You got all the basic rules for a newbie in role-playing.
3- No need for helpers to explain the same rule over and over.
4- Examples are given for each rule.
5- Easy to use.
6- Easy to edit, You don't need any scripting knowledge to edit the rules.



Screenshots:



To do list :


Converting from Menus to Dialog boxes


Download :


Pastebin

[FilterScript] Simple DJ System For Admins

[FilterScript] Mine Sweeper - Casino System

[FilterScript] DJ System

$
0
0
Introduction
hello guys i made this second filterscript name : A DJ System

Credits
ZCMD >Zeex
sscanf > Y_Less

Codes
PHP Code:

/*         Credits
 RoyalEmpire

What's new?
> Added : Commands
> Admins CMD: /setdj, /kickdj
> /playsong
> /stopsong
> /dc
> /djsay
*/
#define FILTERSCRIPT

//Includes
#include <a_samp>
#include <zcmd>
#include <sscanf2>

//New defines
new djlvl[MAX_PLAYERS];

//Colours
#define COLOR_YELLOW 0xFFFF00FF
#define COLOR_RED 0xFF0000FF
#define COLOR_LBLUE 0x99FFFFFF
#define COLOR_WHITE 0xFFFFFFFF

//Credits
public OnFilterScriptInit()
{
    print(
"\n--------------------------------------");
    print(
" Dj System by Royal Empire");
    print(
"--------------------------------------\n");
    return 
1;
}

public 
OnFilterScriptExit()
{
    return 
1;
}
public 
OnPlayerRequestClass(playeridclassid)
{
    
SetPlayerPos(playerid1958.37831343.157215.3746);
    
SetPlayerCameraPos(playerid1958.37831343.157215.3746);
    
SetPlayerCameraLookAt(playerid1958.37831343.157215.3746);
    return 
1;
}

public 
OnPlayerConnect(playerid)
{
    return 
1;
}

public 
OnPlayerDisconnect(playeridreason)
{
    return 
1;
}

public 
OnPlayerSpawn(playerid)
{
    return 
1;
}

public 
OnPlayerDeath(playeridkilleridreason)
{
    return 
1;
}

public 
OnVehicleSpawn(vehicleid)
{
    return 
1;
}

public 
OnVehicleDeath(vehicleidkillerid)
{
    return 
1;
}

public 
OnPlayerText(playeridtext[])
{
    return 
1;
}

public 
OnPlayerCommandText(playeridcmdtext[])
{
    if (
strcmp("/mycommand"cmdtexttrue10) == 0)
    {
        
// Do something here
        
return 1;
    }
    return 
0;
}

public 
OnPlayerEnterVehicle(playeridvehicleidispassenger)
{
    return 
1;
}

public 
OnPlayerExitVehicle(playeridvehicleid)
{
    return 
1;
}

public 
OnPlayerStateChange(playeridnewstateoldstate)
{
    return 
1;
}

public 
OnPlayerEnterCheckpoint(playerid)
{
    return 
1;
}

public 
OnPlayerLeaveCheckpoint(playerid)
{
    return 
1;
}

public 
OnPlayerEnterRaceCheckpoint(playerid)
{
    return 
1;
}

public 
OnPlayerLeaveRaceCheckpoint(playerid)
{
    return 
1;
}

public 
OnRconCommand(cmd[])
{
    return 
1;
}

public 
OnPlayerRequestSpawn(playerid)
{
    return 
1;
}

public 
OnObjectMoved(objectid)
{
    return 
1;
}

public 
OnPlayerObjectMoved(playeridobjectid)
{
    return 
1;
}

public 
OnPlayerPickUpPickup(playeridpickupid)
{
    return 
1;
}

public 
OnVehicleMod(playeridvehicleidcomponentid)
{
    return 
1;
}

public 
OnVehiclePaintjob(playeridvehicleidpaintjobid)
{
    return 
1;
}

public 
OnVehicleRespray(playeridvehicleidcolor1color2)
{
    return 
1;
}

public 
OnPlayerSelectedMenuRow(playeridrow)
{
    return 
1;
}

public 
OnPlayerExitedMenu(playerid)
{
    return 
1;
}

public 
OnPlayerInteriorChange(playeridnewinterioridoldinteriorid)
{
    return 
1;
}

public 
OnPlayerKeyStateChange(playeridnewkeysoldkeys)
{
    return 
1;
}

public 
OnRconLoginAttempt(ip[], password[], success)
{
    return 
1;
}

public 
OnPlayerUpdate(playerid)
{
    return 
1;
}

public 
OnPlayerStreamIn(playeridforplayerid)
{
    return 
1;
}

public 
OnPlayerStreamOut(playeridforplayerid)
{
    return 
1;
}

public 
OnVehicleStreamIn(vehicleidforplayerid)
{
    return 
1;
}

public 
OnVehicleStreamOut(vehicleidforplayerid)
{
    return 
1;
}

public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    return 
1;
}

public 
OnPlayerClickPlayer(playeridclickedplayeridsource)
{
    return 
1;
}
CMD:setdj(playeridparams[])
{
    new 
giveplayeridgiveplayer[25], playername[25], string[256];
    if (
sscanf(params"u"giveplayerid)) return SendClientMessage(playeridCOLOR_WHITE"Usage: /setdj [playerid]");
    if (!
IsPlayerConnected(giveplayerid)) return SendClientMessage(playeridCOLOR_RED"Error: Inactive player id!");
    
GetPlayerName(giveplayeridgiveplayerMAX_PLAYER_NAME);
    if(
djlvl[giveplayerid] > 0)
    {
        
format(string64"%s is already DJ"giveplayer);
        
SendClientMessage(playeridCOLOR_WHITEstring);
        return 
1;
    }
    else
    {
        
GetPlayerName(playeridplayernameMAX_PLAYER_NAME);
        
djlvl[playerid] = 1;
        
format(string64"You have been set as DJ.Use /djcmds for commands");
        
SendClientMessage(giveplayeridCOLOR_YELLOWstring);
        
format(string64"You have set %s as a DJ member",giveplayer);
        
SendClientMessage(playerid,COLOR_YELLOW,string);
     }
    return 
1;
}

CMD:kickdj(playeridparams[])
{
    new 
giveplayeridgiveplayer[25], playername[25], string[256];
    if (
sscanf(params"u"giveplayerid)) return SendClientMessage(playeridCOLOR_WHITE"Usage: /kickdj [playerid]");
    if (!
IsPlayerConnected(giveplayerid)) return SendClientMessage(playeridCOLOR_RED"Error: Inactive player id!");
    
GetPlayerName(giveplayeridgiveplayerMAX_PLAYER_NAME);
    if(
djlvl[giveplayerid] < 1)
    {
        
format(string64"%s is already kicked from DJ"giveplayer);
        
SendClientMessage(playeridCOLOR_WHITEstring);
        return 
1;
    }
    
GetPlayerName(playeridplayernameMAX_PLAYER_NAME);
    
djlvl[playerid] = 0;
    
format(string64"You have been kicked from a DJ");
    
SendClientMessage(giveplayeridCOLOR_REDstring);
    
format(string64"You have kicked %s from a DJ",giveplayer);
    
SendClientMessage(playerid,COLOR_YELLOW,string);
    return 
1;
}


CMD:dc(playeridparams[])
{
    new 
playername[25],tmp[256];
    if(
djlvl[playerid] < 1) return 1;
    if(
sscanf(params"s[256]"tmp)) return SendClientMessage(playerid, -1"[Usage]: /dc [message]");
    
GetPlayerName(playeridplayernameMAX_PLAYER_NAME);
    
format(tmpsizeof(tmp), "{99FFFF}[DJ Chat]{FFFFFF} %s: %s"playernametmp);
    for(new 
MAX_PLAYERSi++)
    {
        if(
IsPlayerConnected(i) && djlvl[i] != 0SendClientMessage(i,COLOR_WHITE,tmp);
    }
    return 
1;
}

CMD:djsay(playeridparams[])
{
    new 
tmp[256], playername[25], tmp2[256],string[256];
    if (
djlvl[playerid] == 0) return SendClientMessage(playeridCOLOR_RED"Error: You aren't a DJ member.");
    if (
sscanf(params"s[128]"tmp)) return SendClientMessage(playeridCOLOR_WHITE"Usage: /djsay [message]");
    
GetPlayerName(playeridplayernameMAX_PLAYER_NAME);
    if (
djlvl[playerid] == 1)
    {
    
format(tmp2sizeof(tmp2), "say %s"tmp);
    
format(stringsizeof(string), "* DJ Member: %s"tmp);
    
SendClientMessageToAll(COLOR_LBLUEstring);
    }
    
printf("[ssay] %s: %s"playernametmp);
    return 
1;
}

CMD:djcmds(playeridparams[])
{
    if(
djlvl[playerid] == 1)
    {
        
SendClientMessage(playerid,COLOR_RED,"|||||===== DJ COMMANDS =====|||||");
        
SendClientMessage(playerid,COLOR_LBLUE,"/playsong, /stopsong, /dc, /djsay");
    }
    return 
1;
}

CMD:requestsong(playeridparams[])
{
    new 
playername[25],tmp[256];
    if(
sscanf(params"s[256]"tmp)) return SendClientMessage(playerid, -1"[Usage]: /requestsong [Song name]");
    
GetPlayerName(playeridplayernameMAX_PLAYER_NAME);
    
format(tmpsizeof(tmp), "{99FFFF}[ Song Request ]%s: %s"playernametmp);
    for(new 
MAX_PLAYERSi++)
    {
        if(
IsPlayerConnected(i) && djlvl[i] != 0SendClientMessage(i,COLOR_WHITE,tmp);
    }
    return 
1;
}

CMD:stopsong(playeridparams[])
{
        new 
string[256], playername[25];
        if(
djlvl[playerid] < 1) return 0;
        
GetPlayerName(playeridplayernameMAX_PLAYER_NAME);
        
format(stringsizeof(string), "{99FFFF}[DJ]{FFFFFF} %s: Stoped a song."playername);
        if(
adlvl[playerid]> 1)
        {
            
format(stringsizeof(string), "{99FFFF}[Admin]{FFFFFF} %s Had Stoped The Song."playername);
        }
        
SendClientMessageToAll2(0xFFFFFFAA,string);
        for(new 
0PLAYERSi++)
        {
             if(
IsPlayerConnected(i))
            {
                
StopAudioStreamForPlayer(i);
            }
        }
        return 
1;
}
CMD:playsong(playeridparams[])
{
        new 
string[256], playername[25], song[256];
        if(
djlvl[playerid] < 1) return 0;
        if(
sscanf(params"s[256]"song)) return SendClientMessage(playerid, -1"Usage: /playsong [url]");
        
GetPlayerName(playeridplayernameMAX_PLAYER_NAME);
        
format(stringsizeof(string), "{99FFFF}[DJ]{FFFFFF} %s has played a song."playername);
           if(
adlvl[playerid]> 1)
        {
            
format(stringsizeof(string), "{99FFFF}%s has played a song."playername);
        }
        
SendClientMessageToAll2(0xFFFFFFAA,string);
        for(new 
PLAYERSi++)
        {
                if(
IsPlayerConnected(i))
                {
                    
PlayAudioStreamForPlayer(isong);
                }
        }
        return 
1;
}
CMD:setdj(playeridparams[]) 

    new 
playerdjlvl
    else if(
sscanf(params"ui"playeriddjlvl)) return SendClientMessage(playerid, -1"Usage: /setdj [id] [0 - remove, 1-setdj]"); 
    else if(
djlvl || djlvl 1) return SendClientMessage(playerid, -1"Only levels 0-1"); 
    else if(
player == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1"Player Is Not Currently Connected"); 
    else 
    { 
        new 
string[128], string1[128], target[MAX_PLAYER_NAME], pName[MAX_PLAYER_NAME]; 
        
GetPlayerName(playerpNamesizeof(pName)); 
        
GetPlayerName(playeridtargetsizeof(target)); 
        
format(stringsizeof(string), "You have set %s DJ Member to %i"targetdjlvl); 
        
SendClientMessage(playerid, -1string); 
        
format(stringsizeof(string), "You has been set as DJ %i by %s"djlvlpName); 
        
SendClientMessage(player, -1string1); 
        
PlayerInfo[player][pDJ] = djlvl
    } 
    return 
1


Commands Help
Code:

* /setdj = To set player DJ
* /kickdj = To kick player from DJ
* /playsong = DJ can play song by this command
* /stopsong = DJ can stop the song by this command
* /dc = DJ's can chat with this command
* /djsay = DJ's can announce by this command
* /requestsong = players can request song with this command
* /setdj = new Dj with saving


*= New
*Added /stopsong
*Added /playsong
I hope this script will good for you guys
+Rep if you like it

[FilterScript] San Andreas Essentials: ePing | Freeze Player With High Ping | Anti-High Ping |

$
0
0
Hello everyone. This is "ePing" from San Andreas Essentials. I have released a few earlier versions on Github but not on SA-MP forums as I believed it was too simple and 'buggy'. This is a stable release. Yes this script is small and simple and it's made to be like that. It's nothing serious. I'm learning PAWN so my work isn't exactly 100% and my SAMP knowledge isn't 100% too.

You can edit this script as how you like but please do not release it under your own name. In-fact, do not release it at all. You can only edit it and use it for your own needs.

What is ePing?
ePing is a basic filterscript to make your server fair and making sure players with high pings do not have any advantages or disadvantages over any other players.


How does it work?
If a players ping is above MAX_PING then they will be frozen.
Hey what if other players attack them while they are frozen?
That is not possible as the script saves their current health health and gives them infinity health. After the players ping goes down then they will be unfrozen and get their original health back.


Credits
Code:

  • fouzen (helped me on saving players original health and a few bugs)

  • Billz (me)



Github
This project is being updated on it's Github page. There you can find it's previous versions and latest updates.



How does the projects Github work?
Visit /old/ for the projects previous (and current) versions
Visit /updates/for the projects current updates
Visit the main dictionary for the latest .pwn project files


Finally, the download/link
Github ePing.pwn: https://raw.githubusercontent.com/SA...ster/ePing.pwn <- Save as .pwn
Github UPDATES .txt: https://raw.githubusercontent.com/SA...tes/ePing.txt?

Screenshots

My health before I got Ping Banned: (My health was 29.0)

My health while I was Ping Banned: (My health was INFINITE and I was FROZEN)

My health after I was Ping Banned: (My health after the Ping Ban returned back to 29.0)

[FilterScript] Simple Admin Vehicle system

[Map] Los Santos International Map

[FilterScript] xFriendship – Friendship System

$
0
0

Hello everyone,

With this system, you can add friends to your friend list and you can create chat groups for group chats.


Features

* You can see if your friend on your friend list is online or offline.
* You can add friends by ID or name.
* You can send PM to your friends. (“/friends > Player’s Name > Send PM”)
* You can remove players from your friend list.
* You can create Chat Groups and add your friends.


Video

https://youtu.be/bO80M3P9HgQ
(Video is from the Turkish version of the script. But you can you can figure out how it works :))


Screenshots












Download

Mediafire

[FilterScript] Crates System Copies B-Zone (Romanian Server)

[FilterScript] Marvel™ Super Heroes | 0.3.8 SA-MP Version

$
0
0
Marvel™ Super Heroes
by iAmir(aka: amirab)

Start and Informations

Hello there ,
Since we got new version of samp (Still RC) , now we can models!
so ! as I always wanted to add Super Heroes or people with Super Natural powers , I started making it.
I'll add more super heroes in every updates.
And yep, i know it’s phuking easy ! But hey! That’s a new idea


Heroes

Code:

Deadpool:
You'll have unlimited health and 2 handed pistols and also a Katana

Flash
You'll ability to run fast and unlimited health

Hulk
You'll ability to jump higher and unlimited health
and also destroyer hands ! everything will BOOM by clicking
You can not have weapons

Ironman
Unlimited health and flying ability

Commands

Code:

/ironman
/dp
/hulk
/flash


How to install

- Download the files and extract them
- Open models/artconfig.txt and them to your server artconfig.txt
- Replace other folders
- Load filterscript and use commands , Enjoy =)



Video

Click on meh



Model Credits

Code:

http://www.gtainside.com/en/sanandreas/mods/84985-hulk-mod-version-2-1/download/
https://www.gtaall.com/gta-san-andreas/skins/92247-the-flash-tv-the-flash-2024.html
http://www.gtainside.com/en/sanandreas/skins/73137-iron-man-mark-43-svengers-2/
http://www.gtainside.com/en/sanandreas/skins/51673-deadpool/

Credits

Ironman flying - OTACAN
Holding key method - Tannz0rz

Download
Solidfiles.com


Share your ideas my mind is not working here's 4am !
Tell me any features I need to add to heroes or If there's any heroes you like me to add
Viewing all 595 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>