Welcome, Guest |
You have to register before you can post on our site.
|
Online Users |
There are currently 275 online users. » 1 Member(s) | 271 Guest(s) Bing, Google, Yandex, kourtneyroberts
|
|
|
[AJUDA]Travar o comando para destruir o veiculo |
Posted by: willian franco - 2020-12-16, 10:36 PM - Forum: Portuguese/Portugu?s
- Replies (1)
|
 |
Boa noite!! criei um comando para criar o veiculo e outro para destrui-lo porem gostaria de travar para destrui-lo quando o player estiver no veiculo, o comando consegue destruir mesmo n?o estado no veiculo.??
Code: ? ? CMD:dcivil(playerid, x_nr[])
{
if(!strlen(x_nr))
{
? ? SendClientMessage(playerid, COLOR_GRAD1, "USE: /dcivil [numero do veiculo]");
}
? ? ? return 1;
}
else if(strcmp(x_nr,"1",true)==0)
{
? ? ? ?? ? ? ? ? ? ?DestroyVehicle(Civilcarro[0]);
? ? ? ? ? ? ? ? ? ? carrocivil[0] = 0;
? ? ? ? ? ? ? ? ? ? SendClientMessage(playerid, COR_AMARELO, "Veiculo Civil Destruido..");
? ? ? ? ? }
? ? ? ? ? }
? ? return 1;
? ? }
else if(strcmp(x_nr,"2",true)==0)
? ? ? ? ? ? {
? ? if(carrocivil[1] == 1)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? DestroyVehicle(Civilcarro[1]);
? ? ? ? ? ? ? ? ? ? carrocivil[1] = 0;
? ? ? ? ? ? ? ? ? ? SendClientMessage(playerid, COR_AMARELO, "Veiculo Civil Destruido..");
? ? ? ? ? }
? ? ? ? ? }
? ? ? ? return 1;
? ? }
? ? else if(strcmp(x_nr,"3",true)==0)
? ? ? ? ? ? {
? ? ? if(carrocivil[2] == 1)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? DestroyVehicle(Civilcarro[2]);
? ? ? ? ? ? ? ? ? ? carrocivil[2] = 0;
? ? ? ? ? ? ? ? ? ? SendClientMessage(playerid, COR_AMARELO, "Veiculo Civil Destruido..");
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? return 1;
? ? ? ? }
? ? else if(strcmp(x_nr,"4",true)==0)
? ? ? ? ? ? {
? ? ? ? ? ? ? if(carrocivil[3] == 1)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? DestroyVehicle(Civilcarro[3]);
? ? ? ? ? ? ? ? ? ? carrocivil[3] = 0;
? ? ? ? ? ? ? ? ? ? SendClientMessage(playerid, COR_AMARELO, "Veiculo Civil Destruido..");
? ? ? ? ? ? ? ? }
? ? ? ? return 1;
? ? ? ? }
os comando em diante s?o todos iguais por isso n?o coloquei ele completo.
objetivo -? estou testando esse sistema para tentar diminuir a quantidade de ve?culos no servidor que esta est?o sendo usado.
Quero apenas pode usar o comando no veiculo desejado estando no motorista.
voltei a pouco tempo a editar servidor?
obrigadooo a comunidade!!!?
|
|
|
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.
|
|
|
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:
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:
|
|
|
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.
|
|
|
|