Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums



(Advanced Search)

Forum Statistics
» Members: 7,910
» Latest member: selmir.beha
» Forum threads: 2,401
» Forum posts: 12,316

Full Statistics

Online Users
There are currently 447 online users.
» 2 Member(s) | 441 Guest(s)
Google, Bing, Applebot, Yandex, 1NS, samuelmatheus0502

Latest Threads
samp-essentials
Forum: Libraries
Last Post: 1NS
Less than 1 minute ago
» Replies: 0
» Views: 1
problem dialog clan membe...
Forum: Pawn Scripting
Last Post: selmir.beha
7 hours ago
» Replies: 2
» Views: 121
Unban
Forum: Chat
Last Post: stryzo125
Yesterday, 11:59 PM
» Replies: 2
» Views: 46
It has been a while
Forum: Chat
Last Post: Mauzen
Yesterday, 08:36 PM
» Replies: 0
» Views: 20
HWID BAN
Forum: Questions and Suggestions
Last Post: stryzo125
Yesterday, 03:27 PM
» Replies: 2
» Views: 1,889
Looking for Players for N...
Forum: Chat
Last Post: AlmightyJeremy
2026-02-04, 11:22 PM
» Replies: 0
» Views: 35
Manual sorting of servers...
Forum: Questions and Suggestions
Last Post: cherybomb
2026-02-04, 02:58 AM
» Replies: 2
» Views: 1,438
Project: Las Venturas Rol...
Forum: Advertisements
Last Post: Kremzy
2026-02-02, 10:14 PM
» Replies: 0
» Views: 59
Looking for Players for N...
Forum: Advertisements
Last Post: AlmightyJeremy
2026-02-02, 07:04 PM
» Replies: 0
» Views: 44
ExDM Reborn
Forum: Advertisements
Last Post: 0775448400
2026-02-02, 03:38 PM
» Replies: 1
» Views: 83

 
  SA-MP 0.3DL compatibility plus other added features and bug fixes - SERVER BETA RELEA
Posted by: Potassium - 2022-09-08, 09:26 AM - Forum: Development Updates - No Replies

Posted in our Discord server announcements channel by kseny (discord.gg/samp)



Hello everyone



We have just released open.mp server beta 9, fixing several reported issues and adding several new features. The most notable change being - SA:MP 0.3DL support. You can now run 0.3.7 and 0.3.DL compatible servers from the same binary!



Other Changes


  • Dynamic tick rate. Specify a target tickrate, rather than a fixed sleep time.

    - Use the tickrate console command to set the rate

    - sleep can now be a float to accomodate precise tick rates.
  • More plugin compatibility - fsutil, Discord connector (only with non static build)

  • SetSpawnInfo return fixed.

  • Fix weather and time not resetting after GMX.

  • Fix various GMX bugs.

  • Fix various console commands.

  • Fix GetPlayerClass.

  • Fix GetVehicleLastDriver.

  • Add GetVehicles native.

  • Add GetPlayers native.

  • Add GetActors native.

  • All lagcomp modes are now available through config.

  • Fix trailer sync.

  • Fix GetVehicleLastDriver.

  • Fix GetPlayerRotationQuat.

  • Fix crash in vehicle component.






SA:MP DL





This is the big news obviously, and comes with a whole host of new settings:


  • Implemented all DL natives and callbacks (AddSimpleModel, AddSimpleModelTimed, GetPlayerCustomSkin, OnPlayerFinishedDownloading, OnPlayerRequestDownload):

    - RedirectDownload native and OnPlayerRequestDownload callback are now deprecated in favour of CDN config options.

  • Add artwork.enable (legacy: useartwork) config option.

  • Add artwork.models_path (legacy: artpath) config option.

    - Server can load custom models from artconfig.txt file like SA:MP does.

  • 0.3.7 compatibility is preserved and can be configured by network.allow_037_clients config option (true by default).

  • open.mp server comes now with a built in webserver used to serve custom models

    - Webserver is using open.mp server bind address and port. Please allow TCP connections on your port in firewall if you plan to use it.- If your public IP address is different than bind address (ex: you're behind a router) you'll need to set it in network.public_addr config option.


Notes


  • Due to few changes old config.json files may not work properly. Please use ./omp-server --default-config to generate a new one

  • server.cfg users are not affected.

  • While allowing 0.3.7 connections only 1000 objects can be created

  • open.mp server now provides two types of Linux builds, standard and static. You are encouraged to use the standard build if possible, it will minimize incompatibilities with various plugins; however, it will require openssl 1.1 installed on your system. If you can't install modern openssl on your system (typically if it's very old), you can use the static build, but some plugins or components might fail to load and crash the server.


Official Includes



Preparing a full release is not just having a working server, but all the other peripherals as well - libraries, tools, documentation, and more. On the pawn side open.mp is a significant upgrade, with many QoL improvements already seen through fixes and new functions, and more to come. A big part of this push is more compiler diagnostics to find code problems ahead of time, mostly through more tags and const-correctness. While the offical versions aren't out yet you can still help in the meantime by testing your code with the following includes and tools:



https://github.com/pawn-lang/samp-stdlib...y-overhaul?

https://github.com/pawn-lang/pawn-stdlib...ed-natives?

https://github.com/openmultiplayer/upgrade?

https://github.com/pawn-lang/compiler



These were originally developed to improve the default SA:MP includes, but never fully released (i.e. never merged to master, despite the PR being accepted). The open.mp includes build on the foundation established here so think of these as a stepping-stone to full open.mp tag and const safety; and important feedback on their direction. See the links above for far more information and documentation on upgrading.



As ever, if you don't want to upgrade old code and includes will still work (at least for the first release).


  optimize the code?
Posted by: nbx2000 - 2022-08-07, 07:44 PM - Forum: Pawn Scripting - No Replies

You can improve this script or leave it like this
#include <a_samp>

#define? TIME? ? ? ? ? ? 1? //When the contest will start (Minutes)
#define? PRIZE? ? 3000 //Reward ($$$) when win in Math Contest
#define? PRIZESCORE? ? ? 5? //Reward (Score) when win in Math Contest

new answer;
new endm = 0;
new no1, no2, no3;
new typem = -1;
new timermath;
new timermath2;
new str[128];

forward Math();
forward MathEnd();

#define COLOR_YELLOW? ? 0xFFFF00FF

#define white? ? ? ? ? ? "{FFFFFF}"
#define red? ? ? ? ? ? ? "{FF002B}"
#define orange? ? ? ? ? "{F2C80C}"

#define FILTERSCRIPT
#if defined FILTERSCRIPT

public OnFilterScriptInit()
{
print("\n");
print("* Math System by BuzZ *");
print("* Loaded *");
print("\n");
typem = -1;
endm = 0;
timermath = SetTimer("Math", 1000*60*TIME, true);
return 1;
}

public OnFilterScriptExit()
{
print("\n");
print("* Math System by BuzZ *");
print("* Unloaded *");
print("\n");
typem = -1;
endm = 0;
KillTimer(timermath);
return 1;
}

#endif

public Math()
{
typem = random(2);
no1 = random(600);
no2 = random(50);
no3 = random(100);

endm = 1;
switch(typem)
{
case 0:
{
? ? answer = no1 no2 no3;
format(str, sizeof(str), "MATH: "white"The first one who answers (solve) this "red"%d%d%d "orange"wins $3,000 5 score", no1, no2, no3);
SendClientMessageToAll(COLOR_YELLOW, str);
}
case 1:
{
answer = no1 - no2 - no3;
format(str, sizeof(str), "MATH: "white"The first one who answers (solve) this "red"%d-%d-%d "orange"wins $3,000 5 score", no1, no2, no3);
SendClientMessageToAll(COLOR_YELLOW, str);
}
case 2:
{
answer = no1 * no2 * no3;
format(str, sizeof(str), "MATH: "white"The first one who answers (solve) this "red"%dx%dx%d "orange"wins $3,000 5 score", no1, no2, no3);
SendClientMessageToAll(COLOR_YELLOW, str);
}
}
SendClientMessageToAll(-1, "Math will end on 30 seconds!");
timermath2 = SetTimer("MathEnd", 1000*30, false);
return 1;
}

public MathEnd()
{
switch(typem)
{
case 0:
{
format(str, sizeof(str), "MATH: "white"No one won the Math Contest the answer is '%d'", answer);
SendClientMessageToAll(COLOR_YELLOW, str);
}
case 1:
{
format(str, sizeof(str), "MATH: "white"No one won the Math Contest the answer is '%d'", answer);
SendClientMessageToAll(COLOR_YELLOW, str);
}
case 2:
{
format(str, sizeof(str), "MATH: "white"No one won the Math Contest the answer is '%d'", answer);
SendClientMessageToAll(COLOR_YELLOW, str);
}
}
endm = 0;
KillTimer(timermath2);
return 1;
}

public OnPlayerText(playerid, text[])
{
if(strval(text) == answer && endm == 1)
{
? ? format(str, sizeof(str), "MATH: %s(%d) won the Math Contest, He/She won the $%d %i score [ Answer: %d ]", GetName(playerid), playerid, PRIZE, PRIZESCORE, answer);
? ? SendClientMessageToAll(COLOR_YELLOW, str);
? ? GivePlayerMoney(playerid, PRIZE);
? ? SetPlayerScore(playerid, GetPlayerScore(playerid) PRIZESCORE);
? ? KillTimer(timermath2);
? ? endm = 0;
? ? return 0;
}
return 1;
}

You can improve this script or leave it like this? ??


  goto label
Posted by: claudespeed - 2022-07-29, 11:36 PM - Forum: Pawn Scripting - No Replies

//SOLVED


Lightbulb Fusez's Map Editor (Version 3) [Dynamic Categories] [Improved] [Best of Version 1&2 C
Posted by: fusez - 2022-07-19, 07:30 PM - Forum: Filterscripts - Replies (2)

[Image: GXbn2ba.png]

Version 3?GitHub?Page


Question [MySQL] Problema con registro de datos
Posted by: GARS - 2022-07-19, 05:47 PM - Forum: Programaci?n - Replies (2)

Hola, tengo un problema con MySQL al registrar nuevos datos, mi servidor era SQLite y lo pase a MySQL pero al registrar un nuevo dato (registrar cuenta) en la base de datos esta no me figura/registra la el ID de forma ascendiente, me explico, en la tabla solo me registra como ID 0, as?:



[Image: 2UtuvbC.png]



Y cuando quiero volver a registrar otros datos(cuenta) no registra.



Ac? como est? la DB:





Code:
CREATE TABLE `cuenta` (

? `ID` int(11) NOT NULL,

? `IP` varchar(16) DEFAULT NULL,

? `NAME` varchar(24) DEFAULT NULL,

? `EMAIL` varchar(32) DEFAULT NULL,

? `PASS` varchar(65) DEFAULT NULL,

? `CONNECTED` int(11) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8;



ALTER TABLE `cuenta`



? ADD PRIMARY KEY (`ID`);



Y en la gamemode as?



Code:
RegisterNP(playerid)

{

new DB_Query[500];

format(DB_Query, sizeof DB_Query,

"\

INSERT INTO `CUENTA`\

(\

`IP`, `NAME`, `EMAIL`, `PASS`, `CONNECTED`\

)\

VALUES\

(\

'%q', '%q', '%q', '%q', '1'\

);\

", INFO_AC[playerid][iac_IP], INFO_AC[playerid][iac_NAME], INFO_AC[playerid][iac_EMAIL], INFO_AC[playerid][iac_PASS]);

mysql_tquery(DATABASE, DB_Query, "LoadRegisterNP", "i", playerid);

return 1;

}


  My suggestions [Update: 2022-07-06]
Posted by: Radical - 2022-07-02, 11:07 PM - Forum: Questions and Suggestions - Replies (1)

Objects & PlayerObjects:

PHP Code:
SetObjectSize(objectidFloatfXFloatfYFloatfZ);

SetPlayerObjectSize(objectidFloatfXFloatfYFloatfZ);

GetObjectSize(objectid, &FloatfX, &FloatfY, &FloatfZ);

GetPlayerObjectSize(objectid, &FloatfX, &FloatfY, &FloatfZ); 



Textdraws & PlayerTextDraws:

PHP Code:
TextDrawFont(Text:textfontface[]); //Able to use any font in TextDraw

PlayerTextDrawFont(playeridPlayerText:text,?fontface[]);



TextDrawRotateText(Text:textFloat:rotate);

PlayerTextDrawRotateText(playeridPlayerText:textFloat:rotate);



Make it possible to add a new txd and player download it when connect to the server. [../omp server/models/txd]

(
Like samp 0.3.DL download skin character files from server) (https://ibb.co/R2qgXLJ)



Add color gradient textdraws



Keys:

PHP Code:
Supporting all?Keys.

if (
newkeys == 0x41// 'A' key 



File functions:

PHP Code:
Reading a directory in scriptfiles.

readdir(...); 



Players:

PHP Code:
ReconnectPlayer(playeriddelay=0);

TogglePlayerHUD(playeridtoggle); //Show/Hide game hud

TogglePlayerChat(playeridtoggle); //Show/Hide chats

ForcePlayerTakeScreenShot(playerid);

BurnPlayer(playerid);

TogglePlayerInvulnerable(playeridtoggle);

ReloadPlayerArmedWeapon(playerid);

RemoveWeaponFromPlayer(playeridweaponid);



PlayerDeathListShow(playerid);

PlayerDeathListHide(playerid);

PlayerDeathListPos(playeridFloat:XFloat:Y);



SetPlayerFpsLimit(playeridamount); // /fpslimit (30 to 90)

GetPlayerFpsLimit(playerid);

SetPlayerFontSize(playeridsize); //Chat font size /fontsize (-3 to 5)

GetPlayerFontSize(playerid);

SetPlayerPageSize(playeridsize); // /pagesize (10 to 20)

GetPlayerPageSize(playerid);

TogglePlayerHeadMove(playeridtoggle); // /headmove

TogglePlayerDebugLabels(playeridtoggle); // /dl

TogglePlayerTimestamp(playeridtoggle); // /timestamp

TogglePlayerAudioMsg(playeridtoggle); // /audiomsg

QuitPlayer(playerid); // /quit



TogglePlayerFirstPerson(playeridtoggle);

TogglePlayerIronFist(playeridtoggle);

TogglePlayerInfiniteRun(playeridtoggle);

SetPlayerMapMarkPos(playerid,?Float:xFloat:y,?Float:z); //Red mark on map

GetPlayerMapMarkPos(playerid,?&Float:x,?&Float:y,?&Float:z);

GetPlayerBreathBar(playerid, &Float:amount); //Blue bar that appears on breathing underwater (idk what to name this func)

TogglePlayerSeaWaves(playeridtoggle); //Toggle 0 = The sea does not wave and the water?are smooth 



Damage:

PHP Code:
OnPlayerTakeDamage(...);

OnPlayerGiveDamage(...);

- If 
returns 0prevent player from health loss.



Add new weaponid supportsWEAPON_HYDRAWEAPON_HUNTERWEAPON_SEASPAROWWEAPON_BARRONWEAPON_RUSTLER.



-?
It would be nice to add all weapon-config?functions like SetWeaponDamage() to omp.



- If 
the player jumps from a height and dies , return last player who damage him. (On OnPlayerDeath



Player HUD:

PHP Code:
Change game hud?position:

HUD_HealthPos(playeridFloat:XFloat:Y);

HUD_ArmourPos(playeridFloat:XFloat:Y);

HUD_BreathBarPos(playeridFloat:XFloat:Y);

HUD_WantedPos(playeridFloat:XFloat:Y);

HUD_MoneyPos(playeridFloat:XFloat:Y);

HUD_TimePos(playeridFloat:XFloat:Y);

HUD_WeaponPos(playeridFloat:XFloat:Y);

HUD_MiniMapPos(playerid,?Float:XFloat:Y);



Show/Hide game hud:

HUD_HealthToggle(playeridtoggle);

HUD_ArmourToggle(playeridtoggle);

HUD_BreathBarToggle(playeridtoggle);

HUD_WantedToggle(playeridtoggle);

HUD_MoneyToggle(playeridtoggle);

HUD_TimeToggle(playeridtoggle);

HUD_WeaponToggle(playeridtoggle);

HUD_MiniMapToggle(playeridtoggle); 



Audio Stream:

PHP Code:
PlayAudioStreamForPlayerEx(playeridurl[], play_from_second 0,?Float:posX 0.0Float:posY 0.0Float:posZ 0.0Float:distance 50.0usepos 0); //Play audio from a specific second

PauseAudioStreamForPlayer(playerid);

ResumeAudioStreamForPlayer(playerid);

UpdateAudioStreamPosForPlayer(playeridFloat:posX 0.0,?Float:posY?= 0.0Float:posZ 0.0); //If positions is 0.0?consider to player pos

GetPlayerAudioStreamUrl(playerid, &dest[], len sizeof dest);

GetPlayerAudioStreamCurrentTime(playerid);?//Return in seconds

GetPlayerAudioStreamPos(playerid, &Float:posX, &Float:posY, &Float:posZ);

GetPlayerAudioStreamDistance(playerid, &Float:distance);

IsPlayerAudioStreamPaused(playerid);

GetAudioStreamUrlLength(url[]);?//Return in seconds 



Vehicles:

PHP Code:
ToggleVehicleInvulnerable(vehicleidtoggle);

SetVehicleSpeed(vehicleidFloat:speed);

Float:GetVehicleSpeed(vehicleid);



ToggleVehicleShoot(vehicleidtoggle); //Disable Hydra/Hunter/Rustler/SeaSparrow shooting

ToggleVehicleLightBars(vehicleidtoggle); //Police vehicles or Ambulance vehicles?

ToggleVehicleBlowFuelTank(vehicleidtoggle); //In gta sa offline you able to blow vehicle?by shooting at fuel tank.

FlipVehicle(vehicleid); //new Float:angle;?GetVehicleZAngle(vehicleid, angle),?SetVehicleZAngle(vehicleid, angle); 



Actors:

PHP Code:
SetActorArmedWeapon(actoridweaponid);

GetActorArmedWeapon(actorid); 



Validation:
PHP Code:
IsValidWeaponID(weaponid);

IsValidVehicleModel(modelid);

IsPositionInWater(FloatxFloatyFloatz);

IsVehicleOverturned(vehicleid);

IsPlayerAFK(playerid); //or IsPlayerPaused(playerid);

IsPlayerWalking(playerid); //W  ALT

IsPlayerRunning(playerid); //W  Space

IsPlayerStanding(playerid);

IsPlayerInvulnerable(playerid);

IsVehicleInvulnerable(vehicleid); 



Strings:

PHP Code:
IsNumeric(string[]);

IsDigit(string[]);

IsSpace(string[]);

IsLower(string[]);

IsUpper(string[]);

StrReplace(oldvalue[], newvalue[], &dest[], len sizeof dest);

StrCpy(dest[], source[]);

StrCapitalize(string[], &dest[], len sizeof dest); //First character to upper case 



Server:

PHP Code:
GetServerIP(); //Server?public IP address

GetServerPing(); 



Socket:

PHP Code:
Add TCP UDP connections and functions



Fixes:

PHP Code:
RemoveBuildingForPlayer(...); // It crashes game if number of removes is above 1000



Enable tear gas coughing effect/animAlso return amount of damage in OnPlayerTakeDamage.



When a vehicle dies then respawned the ID was changeID should not change.



Head bleeding with headshotanimation deleted from sa-mp. Return it.



OnPlayerWeaponShoot(...); //Doesn't work in lagcompmode 0



When player press TAB key the server textdraws are hide



Telegram: t.me/adib_yg

Discord: Adib#5980


  Weapon-config.inc no damage
Posted by: yukie - 2022-06-20, 03:17 PM - Forum: Pawn Scripting - No Replies

Is there any other way to fix this on weapon-config, because there's no damage on my server


Information [Work in progress] TextDraw Editor (online)
Posted by: Leonardo - 2022-06-12, 09:00 AM - Forum: Releases - Replies (3)

TextDraw Editor



A TextDraw Editor built in Vanilla JS



Work in progress!! For more information, visit the github repository.



Preview



[Image: 2fQfySy.jpg]



Source code



https://github.com/Leonardo541/TextDrawEditor



Demo at



https://leonardo541.github.io/TextDrawEditor/


  How to get rid and replace the SERVER: Unknown command message?
Posted by: Haitam - 2022-06-07, 07:16 PM - Forum: Pawn Scripting - Replies (1)

Hello, I am trying to learn PAWN scripting, how can I get rid of the SERVER: Unknown command message? And please tell me a good way to learn basics and start scripting! Thanks.


  So whats up now is the beta is out?
Posted by: NoxxeR - 2022-06-06, 06:54 PM - Forum: Questions and Suggestions - No Replies

Whats up with the new Open Multiplayer client? Will it be released to the public? The server beta has been released.



Everybody will enjoy life if you guys release the Client, some of us havent played in a long time GTA SA, we need a good client soon.