| Welcome, Guest |
You have to register before you can post on our site.
|
| Online Users |
There are currently 298 online users. » 0 Member(s) | 293 Guest(s) Google, Applebot, Baidu, Bing, Yandex
|
| Latest Threads |
🎮 Free SA-MP Server Hosti...
Forum: Chat
Last Post: Centnodes
2026-03-22, 12:55 PM
» Replies: 13
» Views: 2,713
|
Pawno compiler (pawncc.ex...
Forum: Support
Last Post: PutuSuhartawan
2026-03-20, 11:12 PM
» Replies: 0
» Views: 52
|
[0.3.7 & 0.3.DL] Los Sant...
Forum: Advertisements
Last Post: renza1st
2026-03-16, 05:58 AM
» Replies: 0
» Views: 70
|
Las Venturas Gang Wars - ...
Forum: Advertisements
Last Post: lvgwgta
2026-03-13, 11:17 AM
» Replies: 0
» Views: 84
|
Atlanta DeathMatch/Team D...
Forum: Advertisements
Last Post: NixaSha
2026-03-10, 04:57 AM
» Replies: 1
» Views: 114
|
mysql_samp
Forum: Plugins
Last Post: NullSablex
2026-03-10, 03:33 AM
» Replies: 0
» Views: 153
|
backtrace
Forum: Questions and Suggestions
Last Post: Lyvex
2026-03-09, 06:32 AM
» Replies: 0
» Views: 100
|
Open Multiplayer ✅ loggin...
Forum: Pawn Scripting
Last Post: walid_dz
2026-03-05, 04:19 AM
» Replies: 0
» Views: 245
|
Argonath RPG SA:MP Reviva...
Forum: Advertisements
Last Post: Melon_Sam
2026-03-03, 06:37 PM
» Replies: 1
» Views: 217
|
RevolutionX Since (2008) ...
Forum: Advertisements
Last Post: DerekZ905
2026-03-02, 02:46 PM
» Replies: 0
» Views: 131
|
|
|
| sqlite and inputtext |
|
Posted by: robertocaribbean - 2021-03-21, 05:42 PM - Forum: Pawn Scripting
- Replies (6)
|
 |
I am trying to create an SQLite database, I only have three variables to keep it simple.
The problem is that the password is not saved unless I pass <inputtext> directly to the query.
Variables:
Code: enum USER_DATA {
? ? USER_ID,
? ? USER_NICKNAME[MAX_PLAYER_NAME],
? ? USER_PASSWORD[20]
};
new gUserData[MAX_PLAYERS][USER_DATA];
Code working:
Code: public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
? ? switch (dialogid) {
? ? ? ? case DIALOG_REGISTRATION: {
? ? ? ? ? ? if (!response) return Kick(playerid);
? ? ? ? ? ? if (!(3 <= strlen(inputtext) <= 20)) {
? ? ? ? ? ? ? ? SendClientMessage(playerid, -1, "Tu contrase?a debe tener entre 3 y 20 car?cteres");
? ? ? ? ? ? ? ? ShowPlayerDialog(playerid, DIALOG_REGISTRATION, DIALOG_STYLE_PASSWORD, "Register", "Type in a password below to register an account.", "Register", "Leave" );
? ? ? ? ? ? ? ? return 1;
? ? ? ? ? ? }
? ? ? ? ? ? new query[208], DBResult: result;
? ? ? ? ? ?
? ? ? ? ? ? format(query, sizeof query, "INSERT INTO users (nickname, password) VALUES ('%q', '%s')", gUserData[playerid][USER_NICKNAME], inputtext);
? ? ? ? ? ? db_query(db_handle, query);
? ? ? ? ? ? SendClientMessage(playerid, 0x00FF00FF, "[SERVER]: You have just registered to our server! You have been automatically logged in!");
? ? ? ? ? ? result = db_query(db_handle, "SELECT last_insert_rowid()");
? ? ? ? ? ? gUserData[playerid][USER_ID] = db_get_field_int(result);
? ? ? ? ? ? db_free_result(result);
? ? ? ? }
? ? }
? ? return 1;
}
Code isn't working:
Code: gUserData[playerid][USER_PASSWORD] = inputtext[strlen(inputtext)];? ? ? ? ? ?
? ? ? ? ? ? format(query, sizeof query, "INSERT INTO users (nickname, password) VALUES ('%q', '%s')", gUserData[playerid][USER_NICKNAME], gUserData[playerid][USER_PASSWORD]);
The password field on the database is empty, and other values are ok. No error has given from the compiler.
|
|
|
|
| How to save the position of a car? |
|
Posted by: Boxi - 2021-03-21, 11:45 AM - Forum: Pawn Scripting
- Replies (1)
|
 |
Hello everyone :'D?
Would anyone know how to make a system to save the position of a car? where the player leaves his car somewhere and when he connects again the car is there, basically how is the saving of the player's position. Obviously I'm not asking for any of you to write that code, just an idea of where I should start if I wanted to do it. Greetings to all.
|
|
|
|
| mysql_query suggest |
|
Posted by: Zow - 2021-03-19, 09:49 PM - Forum: Pawn Scripting
- Replies (4)
|
 |
How can I?improve this code?
PHP Code: Account_PromptLogin(playerid) {
? ? new
? ? ? ? query[81],
? ? ? ? playerHash[62],
? ? ? ? playerDate[11],
? ? ? ? playerTime[9],
? ? ? ? playerIP[16],
? ? ? ? rows;
? ? mysql_format(MySQL_GetHandle(), query, sizeof query,
? ? "\
? ? ? ? SELECT * FROM `players` WHERE `username` = '%e' LIMIT 1\
? ? ",
? ? ? ? Player_GetName(playerid)
? ? );
? ? mysql_query(MySQL_GetHandle(), query);
? ? cache_get_row_count(rows);
? ? if (!rows) {
? ? ? ? Player_Kick(playerid);
? ? ? ? return 0;
? ? }
? ? cache_get_value_name(0, "password", playerHash, sizeof(playerHash));
? ? cache_get_value_name(0, "date_reg", playerDate, sizeof(playerDate));
? ? cache_get_value_name(0, "time_reg", playerTime, sizeof(playerTime));
? ? cache_get_value_name(0, "ip", playerIP, sizeof(playerIP));
? ? Player_SetAccountHash(playerid, playerHash);
? ? Player_SetAccountDate(playerid, playerDate);
? ? Player_SetAccountTime(playerid, playerTime);
? ? Player_SetAccountIP(playerid, playerIP);
? ? Dialog_ShowCallback(playerid,
? ? ? ? using public Account_Login<iiiis>,
? ? ? ? DIALOG_STYLE_PASSWORD,
? ? ? ? SERVER_NAME,
? ? ? ? "Welcome",
? ? ? ? "Login",
? ? ? ? "Exit"
? ? );
? ? return 1;
}
forward Account_Login(playerid, dialogid, response, listitem, string:inputtext[]);
public Account_Login(playerid, dialogid, response, listitem, string:inputtext[]) {
? ? if (response) {
? ? ? ? bcrypt_verify(playerid, "OnPasswordVerify", inputtext, Player_GetAccountHash(playerid));
? ? }
? ? else {
? ? ? ? Kick(playerid);
? ? }
? ? return 1;
}
PHP Code: forward OnPasswordVerify(playerid, bool:success);
public OnPasswordVerify(playerid, bool:success) {
? ? if (success)
? ? {
? ? ? ? CallLocalFunction("OnPlayerLogin", "d", playerid);
? ? }
? ? else
? ? {
? ? ? ? Account_PromptLogin(playerid);
? ? }
}
|
|
|
|
| Duplicate CallBack call |
|
Posted by: RhaegarX - 2021-03-19, 04:45 PM - Forum: Support
- Replies (9)
|
 |
In my gamemode I use mysql as a data saving system. Most of the player data I will save the moment it is changed to avoid problems in case of server crash or crash, and I also save the player data when restarting the server (/ gmx).
PHP Code: public OnPlayerDisconnect() { Player_DestroyAllVehicles(playerid); Player_SaveRanking(playerid); Player_SaveConfig(playerid); Player_SaveMoney(playerid); ? ? Player_SaveData(playerid); ? ? Player_ClearVars(playerid); Player_ClearAcessories(playerid); Player_ClearInfo(playerid); Inventory_Reset(playerid); }
PHP Code: public OnGameModeExit() { foreach(new i : Player) { Player_DestroyAllVehicles(i); Player_SaveRanking(i); Player_SaveConfig(i); Player_SaveMoney(i); Player_SaveData(i); Player_ClearVars(i); Player_ClearAcessories(i); Player_ClearInfo(i); Inventory_Reset(i); } DestroyAllDynamicMapIcons(); DestroyAllDynamic3DTextLabels(); DestroyAllDynamicPickups(); mysql_close(ConexaoSQL); return 1; }
What I noticed is that when I restart the server, OnGameModeExit is saved and OnPlayerDisconnect is saved, doubling each player's save. For example: when I restart the server (/ gmx) the player's money is saved in OnGameModeExit and OnPlayerDisconnect, being saved 2 times without need.
How do I avoid this duplication of calls? Do I need to save player data on OnGameModeExit or just OnPlayerDisconnect?
Is OnPlayerDisconnect called by default by OnGameModeExit?
|
|
|
|
| Sound ID isn't working |
|
Posted by: robertocaribbean - 2021-03-18, 10:47 PM - Forum: Pawn Scripting
- Replies (4)
|
 |
Hi there,
I want to place in my script, a death sound when a player dies. I looked in the folder "data/audioevents.txt" and found the sound I was looking for:
SOUND_PED_DEATH_CRUNCH 1189.
But unfortunately, that id doesn't play any sound. I tried with other ids and they work perfectly.
Code (I'm using weapon-config):
Code: public OnPlayerDamageDone(playerid, Float:amount, issuerid, weapon, bodypart) {
? ? if (amount == 0.0) {
? ? ? ? PlayerPlaySound(playerid, 1189, 0.0, 0.0, 0.0);
? ? ? ? SendClientMessage(playerid, -1, "Death");
? ? }
? ? return 1;
}
|
|
|
|
|