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

Username
  

Password
  





Search Forums



(Advanced Search)

Forum Statistics
» Members: 7,234
» Latest member: welwlell3
» Forum threads: 2,373
» Forum posts: 12,327

Full Statistics

Online Users
There are currently 99 online users.
» 0 Member(s) | 96 Guest(s)
Google, Bing, Applebot

Latest Threads
Liberty City map
Forum: Pawn Scripting
Last Post: ziyadprogamer
2025-06-28, 04:55 PM
» Replies: 2
» Views: 2,131
GameText styles in open.m...
Forum: Pawn Scripting
Last Post: Miki
2025-06-28, 01:25 PM
» Replies: 1
» Views: 45
Very Basic SAMP UCP
Forum: Videos and Screenshots
Last Post: bullyalina
2025-06-28, 12:43 PM
» Replies: 49
» Views: 12,976
Script[gamemodes/gamemode...
Forum: Pawn Scripting
Last Post: Miki
2025-06-27, 05:08 PM
» Replies: 1
» Views: 426
Want to edit my profile n...
Forum: Chat
Last Post: Hera.
2025-06-26, 08:41 PM
» Replies: 1
» Views: 551
Farsi
Forum: Other
Last Post: acc.gangbeni
2025-06-25, 08:21 AM
» Replies: 2
» Views: 3,060
Las Venturas Gang Wars - ...
Forum: Advertisements
Last Post: lvgwgta
2025-06-22, 06:47 PM
» Replies: 0
» Views: 55
[Request] Linko Gaming Ro...
Forum: General Discussions
Last Post: JamesC
2025-06-20, 07:34 PM
» Replies: 0
» Views: 67
RevolutionX DM/Stunt/Race...
Forum: Advertisements
Last Post: DerekZ905
2025-06-18, 03:12 PM
» Replies: 0
» Views: 87
samp-cef
Forum: Questions and Suggestions
Last Post: jamespssamp
2025-06-18, 11:36 AM
» Replies: 0
» Views: 71

 
Star [MAP] Medical Department/Hospital - Exterior
Posted by: RisQ Development - 2020-12-16, 07:56 AM - Forum: Videos and Screenshots - Replies (1)

Good Morning,



i want?to show you a new Map , the Medical Department.



Objekts: 640 Objects

Mappingtime: 4 Days

YouTube URL:?https://youtu.be/pLBL1SUce5k



Thank you.


  CODE: A Hands-on Approach
Posted by: phlair - 2020-12-16, 02:01 AM - Forum: Tutorials - Replies (3)

Information



CODE: A Hands-on Approach (cahoa) is a project that aims to serve as a hands-on tutorial for teaching programming (via PAWN, and currently SA-MP). People of different skill levels/experience will benefit from this, but it is mainly targeted at beginners.



Details



You'll find the most up to date draft as a GitHub Gist here



I look forward to your responses and feedback!



Update



The Git Repository is live, and can be found?on GitHub



I'll update it over time, and give some progress updates here and on Discord.


  Disappearance of dynamic objects
Posted by: Radical - 2020-12-15, 11:07 PM - Forum: Pawn Scripting - Replies (4)

I have 10,300 dynamic objects, some of which disappear after 24 hours.

Game mode runs on a vps with 1 GB of RAM.

The problem is the lack of RAM or what?


Wink Saving variables into multiple tables
Posted by: Epureanu - 2020-12-15, 01:13 PM - Forum: Pawn Scripting - Replies (8)

Hi, I am using a mysql saving system, that basically creates a enumerator with variables, but natively they are all saved into one table. I tried to just put a ", 2ndtablename" into the saving and loading query, but I had a feeling that it would save those variables both in the main table and the secondary. I need to save certain variables ONLY to second table. Is there any way on how to do this without running a new query for each table? Thanks!


  GetVehicleRotationQuat & GetVehicleZAngle
Posted by: Bakr - 2020-12-14, 07:54 PM - Forum: Questions and Suggestions - No Replies

Are there any plans?to fix these functions for unoccupied vehicles? Referencing the tip on the wiki

Quote:There is no 'set' variation of this function; you can not SET a vehicle's rotation (apart from the Z angle) This function may return incorrect values for unoccupied vehicles. The reason is that the third row of the vehicle's internal rotation matrix gets corrupted if it gets updated while unoccupied.


  samp-account
Posted by: Bakr - 2020-12-14, 07:49 PM - Forum: Libraries - Replies (5)

samp-account

samp-account was created to allow extensive user-account systems to be streamlined by not worrying about implementation details. This means we can have a fully working user account system, with data loaded from a database, and stored to a database, all with one function call.

samp-account uses the SA:MP native SQLite database system for storage, Slice?s pointers library for data binding, Y_Less? YSI hooks library for callback hooking, and Y_Less' Whirlpool plugin for encryption.

Installation

Simply install to your project:

Code:
sampctl package install bwhitmire55/samp-account

Include in your code and begin using the library:

Code:
#include <account>

Functions

Code:
/*
PARAMS:?
name - The name of the database column to store the data?
type - The psuedo-type of the data (TYPE_INT, TYPE_FLOAT, TYPE_STRING)?
{Float,_}:... - The variable to store the data?
?
RETURNS:?
1 on success, otherwise 0?
*/
stock AddAccountData(const name[ACCOUNT_MAX_COLUMN_NAME], Types: type, {Float,_}:...)

Code:
/*
PARAMS:  
playerid - The playerid to update the database for
{Float,_}:... - Which data to updat  
  
RETURNS:  
1 on success, otherwise 0  
*/
stock UpdateAccountData(playerid, {Float, _}:...);

Code:
/*
PARAMS:?
playerid - The playerid attempting to be registered?
password - The password of the player (in plain text)?
?
RETURNS:?
1 on success, otherwise 0?
*/
stock RegisterPlayer(playerid, const password[])

Code:
/*
PARAMS:?
playerid - The playerid attempting to be logged in?
password - The password of the player (in plain text)?
?
RETURNS:?
1 on success, otherwise 0
*/
stock LoginPlayer(playerid, const password[])

Code:
/*
PARAMS:?
playerid - The playerid to check?
?
RETURNS:?
1 (true) if logged-in, otherwise 0 (false)
*/
bool: IsPlayerLoggedIn(playerid)

Code:
/*
PARAMS:?
playerid - The playerid to check?
?
RETURNS:?
The unique-ID of the player in the database if exists, otherwise 0?
*/
stock GetPlayerUID(playerid)

Usage

Simply create variables in which to store your players? data

Code:
new
? ? gPlayerKills[MAX_PLAYERS],
? ? gPlayerHealth[MAX_PLAYERS],
? ? gPlayerNickname[MAX_PLAYERS][MAX_PLAYER_NAME];

Add that data to the system (and database) via AddAccountData

Code:
public OnGameModeInit() {
? ? AddAccountData("kills", TYPE_INT, gPlayerKills);
? ? AddAccountData("health", TYPE_FLOAT, gPlayerHealth);
? ? AddAccountData("nickname", TYPE_STRING, gPlayerNickname);

? ? return 1;
}

Anytime a user logs into their account, their information will be loaded from the database and into the corresponding variables. Likewise for disconnecting, their data will be updated inside the database.

NOTE: The variables do no reset themselves, so you should zero-out their values upon the player exiting the server.

You are free to use the variables as normal with no effect:

Code:
public OnPlayerDeath(playerid, killerid, reason) {
? ? gPlayerDeaths[playerid];
? ? return 1;
}

Now we just need to call RegisterPlayer or LoginPlayer. This will most likely be done via command/dialog

Code:
ZCMD:register(playerid, params[]) {
? ? if(IsPlayerLoggedIn(playerid)) {
? ? ? ? return SendClientMessage(playerid, 0xFF0000FF, "Already logged-in!");
? ? }

? ? if(isnull(params)) {
? ? ? ? return SendClientMessage(playerid, 0xFFFF00FF, "Usage: /register <password>");
? ? }

? ? if(RegisterPlayer(playerid, params)) {
? ? ? ? SendClientMessage(playerid, 0x00FF00FF, "You have successfully registered an account!");
? ? } else {
? ? ? ? // RegisterPlayer will return 0 if the account already exists, or there is an issue with the database.
? ? ? ? // For this example, we'll assume the former.
? ? ? ? SendClientMessage(playerid, 0xFF0000FF, "Error! This username is already registered.");
? ? }
? ? return 1;
}

And that?s it! You now have a fully working account system, which can store any data you like, without touching a database or file. Nice!

Callbacks

This library also includes two callbacks, OnPlayerRegister and OnPlayerLogin.

Code:
public OnPlayerRegister(playerid) {
? ? SendClientMessageToAll(0x00FF00FF, "A new member has registered!");
? ? return 1;
}

public OnPlayerLogin(playerid) {
? ? SendClientMessageToAll(0x00FF00FF, "An existing member has rejoined us!");
? ? return 1;
}

Macros

All macros are as followed:

Code:
// The database file
#define ACCOUNT_DATABASE? ? ? ? "mydatabase.db"

Code:
// The database table to store the account data
#define ACCOUNT_DATABASE_TABLE? "mydatabasetable"

Code:
// The amount of 'data' you wish to store
// i.e., how many times you will use AddAccountData
#define ACCOUNT_MAX_COLUMNS? ? (100)

Code:
// The maximum length of a column name in the database
#define ACCOUNT_MAX_COLUMN_NAME (24)

All of these can be redefined to suite your script

Code:
#define ACCOUNT_DATABASE? ? ? ? "COD-DB.db"
#define ACCOUNT_DATABASE_TABLE? "users"
#include <account>

Testing

To test, simply run the package:

Code:
sampctl package run


  Interior Hospital
Posted by: Mashermosh - 2020-12-13, 10:49 PM - Forum: Maps - Replies (4)

My discord: elmarcapiel
Credits pls
Download: https://pastebin.com/ZgWifRgu

Images:
[Image: sa-mp-006.png]
[Image: sa-mp-007.png]
[Image: sa-mp-008.png]
[Image: sa-mp-009.png]
[Image: sa-mp-010.png]
[Image: sa-mp-001.png]
[Image: sa-mp-002.png]
[Image: sa-mp-003.png]
[Image: sa-mp-004.png]
[Image: sa-mp-005.png]


  SA-MP Random Name
Posted by: Tama - 2020-12-12, 01:56 AM - Forum: Libraries - Replies (1)

When i'm bored, sometimes i just starring at blank screen until i got some idea.
So, in this case i am creating a library called SA-MP Random Name

You can download it here:
Kirima2nd/samp-random-name

The usage should be like this:

PHP Code:
#include <a_samp>
#include <RandomName>

main() {
? ? new 
? ? ? ? 
str[MAX_PLAYER_NAME];

? ? 
RandomName(str);
? ? print(
str);


And it will automatically give you results like this:

Code:
Filterscripts
---------------
? Loaded 0 filterscripts.

Chad_Chrysa
Number of vehicle models: 0

Feel free to give me a?suggestions, issues, etc ??


  How to check alt-tabbing using onplayerupdate?
Posted by: c4p - 2020-12-11, 12:40 PM - Forum: Pawn Scripting - Replies (5)

I tried different methods to check if the player is in menu or tabbed, but they most likely return false activity when the player tabs out to the desktop. There were some onplayerupdate tabbing checkers on the original forums, but they are no longer available, so i am stuck. If you have a code snippet please help this man out.


  How to check if you have a vehicle in position
Posted by: Frajola - 2020-12-09, 01:37 AM - Forum: Support - Replies (3)

Hello guys, I have a problem. I'm making a garage system and I would like to know if there are any vehicles parked.





I tried that way, but the vehicle is created in the same position in the second wave, the system works perfectly until the second wave, the third time the truck is created on top of the other.



My English is bad, for a better interpretation of the problem, watch the video:?https://youtu.be/QOKytHFMVQQ

Code:
enum VacancyInfo

{

? ? Float:posX,

? ? Float:posY,

? ? Float:posZ,

? ? Float:posA

}

new TruckerVacancy[MAX_TRUCKER_VACANCY][VacancyInfo] =

{

? ? {2788.3999000,-2484.7000000,14.8000000,90.0000000},

? ? {2788.3999000,-2474.3999000,14.8000000,90.0000000},

? ? {2788.3999000,-2464.1001000,14.8000000,90.0000000},

? ? {2788.3999000,-2453.8000000,14.8000000,90.0000000},

? ? {2788.3999000,-2443.5000000,14.8000000,90.0000000},

? ? {2788.3999000,-2433.2000000,14.8000000,90.0000000},

? ? {2788.3999000,-2422.8999000,14.8000000,90.0000000}

};



#define IsVehicleInRangeOfPoint(%0,%1,%2,%3,%4)\

? ? (%1 >= GetVehicleDistanceFromPoint(%0, %2, %3, %4))



stock IsVehicleFromRangePointEx(Float:range, Float:x, Float:y, Float:z)

{

? ? foreach(new i: Vehicle)

? ? {

? ? ? ? return IsVehicleInRangeOfPoint(i, range, x, y, z);

? ? }

? ? return 0;

}



CMD:etruck(playerid, params[])

{

? ? for(new i; i < MAX_TRUCKER_VACANCY; i)

? ? {

? ? ? ? if(!IsVehicleFromRangePointEx(5.0, TruckerVacancy[i][posX],TruckerVacancy[i][posY],TruckerVacancy[i][posZ]))

? ? ? ? {

? ? ? ? ? ? CreateVehicleEx(403, TruckerVacancy[i][posX],TruckerVacancy[i][posY],TruckerVacancy[i][posZ],TruckerVacancy[i][posA], 0, 0);

? ? ? ? ? ? return 1;

? ? ? ? }

? ? }

? ? return 1;

}