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

Username
  

Password
  





Search Forums



(Advanced Search)

Forum Statistics
» Members: 7,525
» Latest member: v01dtrace
» Forum threads: 2,416
» Forum posts: 12,368

Full Statistics

Online Users
There are currently 494 online users.
» 1 Member(s) | 490 Guest(s)
Bing, Google, Applebot, swuffted

Latest Threads
Possibility of Multiplaye...
Forum: General Discussions
Last Post: sandrawelker
Today, 04:54 AM
» Replies: 0
» Views: 39
United Gaming Life Rolepl...
Forum: Advertisements
Last Post: Cruncher
Yesterday, 06:18 PM
» Replies: 0
» Views: 67
Adding new vehicles and s...
Forum: Programming
Last Post: __.A.__
2025-09-15, 02:52 AM
» Replies: 2
» Views: 249
How to create a custom SA...
Forum: Tech
Last Post: HELLHOUND
2025-09-15, 12:12 AM
» Replies: 1
» Views: 866
Silly little render a did...
Forum: Art
Last Post: HELLHOUND
2025-09-14, 09:00 PM
» Replies: 0
» Views: 141
HWID BAN
Forum: Questions and Suggestions
Last Post: HELLHOUND
2025-09-14, 08:44 PM
» Replies: 1
» Views: 972
Manual sorting of servers...
Forum: Questions and Suggestions
Last Post: HELLHOUND
2025-09-14, 08:35 PM
» Replies: 1
» Views: 797
San Fierro Cops And Robbe...
Forum: Advertisements
Last Post: Dr0pp
2025-09-13, 08:33 PM
» Replies: 0
» Views: 166
Zona América del Sur Free...
Forum: Advertisements
Last Post: kevinberriosflores
2025-09-12, 02:16 PM
» Replies: 1
» Views: 202
Busco copia de gamemode S...
Forum: Spanish/Espa?ol
Last Post: briancristaldo2021
2025-09-11, 11:14 AM
» Replies: 0
» Views: 205

 
  HELP! How to get better recommend than `udb_hash()` and bcrypt system?
Posted by: PutuSuhartawan - 2021-05-19, 08:41 PM - Forum: Pawn Scripting - Replies (1)

People need to secure the password from the communist.

Code:
Example



main(){

bcrypt_hash(0,"OnPassswordHash","text",12);

}



forward OnPassswordHash(playerid);

public OnPassswordHash(playerid){

new dest[60];

bcrypt_get_hash(dest);

bcrypt_verify(playerid,"OnPassswordVerify","text",dest);

}



forward OnPassswordVerify(playerid,bool:success);

public OnPassswordVerify(playerid,bool:success){

//success denotes verifying was successful or not

if(success){

//verfied

} else{

//hash doesn't match with text

}

}


  SA-MP 0.3.7-R4-2 Client
Posted by: Leonardo - 2021-05-18, 10:33 PM - Forum: Discusi?n GTA SA Multijugador - No Replies

Hace unos d?as/semanas acaban de publicar ?sta nueva versi?n del cliente en la web de SA-MP.



Estos son los cambios (seg?n foros rusos, no es oficial):


  • Se arregl? una vulnerabilidad que permit?a a los desarrolladores de servidores de SA-MP ejecutar cualquier c?digo en la PC de los clientes de SA-MP.


La descarga est? disponible en la misma web de SA-MP.


  TSYS Roleplay Demo/Base script
Posted by: _tAxI_ - 2021-05-18, 03:42 PM - Forum: Gamemodes - No Replies

Well, it's been a hot minute since I posted up on the SA-mp forums and I finally made my way over here...



I was asked by some of the guys I used to code for to post up my older game modes (and this one specifically) since the base code is still somewhat useful - it's been years however since it was confirmed to be working and I fully expect it will need some serious work to get going on newer software versions of the server. You have been warned lol.



What is it?




This is largely speaking a demo of the features available in my TSYS RPG System. The mode is playable although will need to be fleshed out and have features added to be really good. However it serves as a good demo of how to integrate and utilize all of the features present in the toolkit.



What does it have?




Banking system, Housing system, business system, user login and save features, admin system and features, basic (very!) anticheat, very advanced vehicle management system (the whole thing evolved from older code which was an RPG vehicle system): Locking and booby trapping etc, call vehicle, park vehicle (reset spawn position etc), on the fly mod saving (if you mod it it will respawn with mods), vehicle admin system, fuel system with gas stations even for planes and helis.



This is given out freely and open so do with it what you want. I will likely never develop this again myself but if it's of use to someone then please be my guest.



Download


  TSYS RPG system toolkit - depreciated
Posted by: _tAxI_ - 2021-05-18, 03:21 PM - Forum: Libraries - No Replies

What is it? -? This is a integrated RPG type system for SA-MP with SQlite backend saving (is that even still a thing???)



What does it do? - Adds RPG type functionallity such as: Vehicle ownership and control (modsaving, booby traps, spawn location setting, admin locking and administrator functions etc), Vehicle fuel system, house ownership system, business ownership system, basic anticheat (will likely need an overhaul though), Banking and money tracking (ATM etc), minimap icon streaming, user login and autosaving etc.



Depreciated??? - I haven't worked on this code in years and likely never will again... I was however asked by a member of the community to re-post the code i designed years ago up here for the very few that still use it lol (Thanks Russian RPG Fam!)



Instructions for use and integration are in the readme file. This system also has in game editing for some of the systems but largely speaking it uses a batch import system which requires a specific formatting to startup the server and get everything ready to go so make sure to READ IT BEFORE STARTING THE SERVER FIRST TIME.



I'm uploading it to my own private server so it shouldn't disappear any time soon. Use what you want, any way you want, and enjoy. This is posted up completely open with no restrictions so go to town guys.



A Demo of the fully integrated system can be downloaded from This Thread.



Download


  3d iterator array
Posted by: K.a.r.o.l - 2021-05-18, 11:35 AM - Forum: Pawn Scripting - Replies (1)

Hi i?have the latest version of ysi 5.05.0301 but i have a problem with 3d iterator array.





Code:
new

Iterator:Iter3[5][8]<10>;

for (new i = 0; i != Iter_InternalSize(Iter3); )

{

Iter_Init(Iter3[i]);

}

Iter_Add(Iter3[3][6], 7);







Errors:





error 017: undefined symbol "Iter_InternalSize"

error 028: invalid subscript (not an array or too many subscripts): "Iter_Init@Iter3"

warning 215: expression has no effect

error 001: expected token: ";", but found "]"

error 029: invalid expression, assumed zero

fatal error 107: too many error messages on one line





i also tried this





Code:
#define SIZE 5

new

Iterator:Iter3[SIZE][8]<10>;

for (new i = 0; i != SIZE; )

{

Iter_Init(Iter3[i]);

}

Iter_Add(Iter3[3][6], 7);





and this





Code:
for (new i = 0; i != Iter_InternalSize(Iter3); )

{

Iter_InitInternal(Iter_InternalArray(Iter3[i]), Iter_InternalSize(Iter3[]), Iter_InternalSize(Iter3[][]) - 1);

}





but its doesnt work



Pls help


  [Solved] Get Difference Between Time Period
Posted by: Radical - 2021-05-18, 12:34 AM - Forum: Pawn Scripting - Replies (3)

I have an function to get difference between time period.

But it has a little problem. If start_hour is the current hour and stop_hour is 24am, it does not accurately calculate the difference Between Time.



Code:
new start_hour, start_minute, start_second, hours, minutes, seconds;



gettime(start_hour, start_minute, start_second);

DifferenceBetweenTimePeriod(start_hour, 24, start_minute, 0, start_second, 0, hours, minutes, seconds);







function:

Code:
DifferenceBetweenTimePeriod(start_hour, stop_hour, start_minute, stop_minute, start_second, stop_second, &hours, &minutes, &seconds) {

? ? while (stop_second > start_second) {

? ? ? ? --start_minute;

? ? ? ? start_second = 60;

? ? }

? ? seconds = start_second - stop_second;

? ? while (stop_minute > start_minute) {

? ? ? ? --start_hour;

? ? ? ? start_minute = 60;

? ? }

? ? minutes = start_minute - stop_minute;

? ? hours = start_hour - stop_hour;

}



Is there a problem with the function?



Solved:



This is resolved if I put?24 in?start_hour.

Code:
DifferenceBetweenTimePeriod(24,?start_hour, start_minute, 0, start_second, 0, hours, minutes, seconds);


  [SOLVED] How Find New ID from enum for SQL with forward loop function ?
Posted by: PutuSuhartawan - 2021-05-18, 12:01 AM - Forum: Pawn Scripting - Replies (4)

SOLUTION:

Need get cahce?GetSVarInt("SlotTrunkUsed")

Code:
GetFreeTrunkID(v, s)

{

????for (new i = 1; i <= 100; i)

????{

????????if (!get_vehicle_trunk[v][s][i])

????????{

????????????return i  GetSVarInt("SlotTrunkUsed");

????????}

????}

????return -1; //Return -1 when there is no free trunk ID

}



return SQL:

Code:
? ? ? ? ? ? ? if(sscanf( inputtext, "iiiii", targetOC_ID, slot, item_type, amount, value)) return SCM(playerid, -1, "USAGE: [targetOC_ID]? [slot] [item_type] [amount] [value]");



? ? ? ? ? ? ? new playa,carid=GetRealIdCar(targetOC_ID);



? ? ? ? ? ? ? SetPVarInt(playerid, "SelectedSlot", slot);



? ? ? ? ? ? ? printf("DEBUG: Checking VID changer from vehicle ID:[%d]", carid);



? ? ? ? ? ? ?



? ? ? ? ? ? ? if(slot >= MAX_TRUNK_SLOTS || slot <= 0) return SCM(playerid, -1, "VEHICLE: Max trunk slot is 3 sir.",1);



? ? ? ? ? ? ? printf("DEBUG: Adding item trunk in slot:[%d]", slot);



? ? ? ? ? ? ? LoadOCTrunks(playerid, carid);



? ? ? ? ? ? ? if(get_vehicle_trunk[carid][slot][TRUNK_SLOT]==slot) return SCM(playerid, -1, "OC_TRUNK: That slot has been used in this vehicle sir. Please remove item from this slot first.",1);



? ? ? ? ? ? ?



? ? ? ? ? ? ? /*



? ? ? ? ? ? ? ? for(new s=1; s<=10; s)



? ? ? ? ? ? ? ? ? ? {



? ? ? ? ? ? ? ? ? ? ? ? if(get_vehicle_trunk[carid][s][TRUNK_SQL_ID]>0)continue;



? ? ? ? ? ? ? ? ? ? ? ? if(get_vehicle_trunk[carid][s][TRUNK_SQL_ID]==slot)



? ? ? ? ? ? ? ? ? ? ? ? {







? ? ? ? ? ? ? ? ? ? ? ? break;



? ? ? ? ? ? ? ? ? ? ? ? }



? ? ? ? ? ? ? ? ? ? }



? ? ? ? ? ? ? */



? ? ? ? ? ? ? if(!IsValidVehicle(carid))return SCM(playerid, -1, "VEHICLE: Thats vehicle has not exist sir.",1);



? ? ? ? ? ? ? printf("DEBUG: Slot filter hassben passed sir");



? ? ? ? ? ? ? new VID = targetOC_ID;



? ? ? ? ? ? ? new result = n_mysql_query(g_Sql, "SELECT * FROM `trunkdata`", true); //ORDER BY oc_id ASC, slot ASC



? ? ? ? ? ? ? new rows = cache_num_rows();



? ? ? ? ? ? ? new number=get_vehicle_trunk[carid][slot][TRUNK_SQL_ID];



? ? ? ? ? ? ? for(new v; v<=MAX_VEHICLES; v)



? ? ? ? ? ? ? {



? ? ? ? ? ? ? ? ? ? for(new slot; slot<=MAX_TRUNK_SLOTS; slot)



? ? ? ? ? ? ? ? ? ? {



? ? ? ? ? ? ? ? ? ?



? ? ? ? ? ? ? ? ? ? ? for(new idx; idx <= rows; idx )



? ? ? ? ? ? ? ? ? ? ? ? ? {



? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cache_get_value_int(idx, "id", get_vehicle_trunk[v][slot][TRUNK_SQL_ID] );



? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /*



? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(get_vehicle_trunk[v][slot][TRUNK_SQL_ID]>0)continue;



? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? number;



? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(number != get_vehicle_trunk[v][slot][TRUNK_SQL_ID])



? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? number;



? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("[TRUNK]: New id:[%d]", number );



? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(number != get_vehicle_trunk[v][slot][TRUNK_SQL_ID])



? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? {



? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? number;



? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(number != get_vehicle_trunk[v][slot][TRUNK_SQL_ID])



? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? number;



? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(number != get_vehicle_trunk[v][slot][TRUNK_SQL_ID])



? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? NewSQL_ID = number;



? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? number;



? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(number != get_vehicle_trunk[v][slot][TRUNK_SQL_ID])



? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? NewSQL_ID = number;



? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? number;



? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(number != get_vehicle_trunk[v][slot][TRUNK_SQL_ID])



? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("[TRUNK]: New final SQL id:[%d]", number );







? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //if(NewSQL_ID ==0 )



? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? break; // find emty slot vehicle ID. with find number primary car player



? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }*/



? ? ? ? ? ? ? ? ? ? ? ? ? }?



? ? ? ? ? ? ? ? ? ? }











? ? ? ? ? ? ? }



? ? ? ? ? ? ?



? ? ? ? ? ? ? cache_delete(result);



? ? ? ? ? ? ? NewSQL_ID = GetFreeTrunkID(carid, slot); printf("[TRUNK ID]: New final SQL id:[%d]", NewSQL_ID );



? ? ? ? ? ? ? format(str, sizeof(str), "{FFBBBB}DEBUG: NewSQL_ID: [%i]", NewSQL_ID); SCM(playerid, 0xFFCCCCFF, str);







? ? ? ? ? ? ? if(NewSQL_ID==0)return SCM(playerid, -1, "{FFBBBB}SQL: {FFFFFF}System new ID SQL was failed sir");



? ? ? ? ? ? ? if(NewSQL_ID>=0)printf("{FFBBBB}DEBUG: New id SQL trunk has been found",VID,GetRPName(playerid));



? ? ? ? ? ? ?



? ? ? ? ? ? ? slot, get_vehicle_trunk[carid][slot][TRUNK_ITEM_TYPE] = item_type, get_vehicle_trunk[carid][slot][TRUNK_ITEM_AMOUNT] = amount, get_vehicle_trunk[carid][slot][TRUNK_ITEM_VALUE] = value;



? ? ? ? ? ? ? //get_vehicle_trunk[carid][slot][TRUNK_SQL_ID]=get_vehicle_trunk[carid][slot][TRUNK_SQL_ID];



? ? ? ? ? ? ? if(get_vehicle_trunk[carid][slot][TRUNK_SQL_ID] == NewSQL_ID)



? ? ? ? ? ? ? {







? ?



? ? ? ? ? ? ? ? ? format(str, sizeof(str), "UPDATE `trunkdata` SET `oc_id`='%d',`slot`='%d',`item_type`='%d',`amount`='%d',`value`='%d',`owner_id`='%d' WHERE `id`='%d'", VID, slot, item_type, amount, value, pInfo[playerid][ID],? NewSQL_ID);



? ? ? ? ? ? ? ? ? n_mysql_query(g_Sql, str);



? ? ? ? ? ? ? ? ? get_vehicle_trunk[carid][slot][TRUNK_SQL_ID] = NewSQL_ID;



? ? ? ? ? ? ? }



? ? ? ? ? ? ? else



? ? ? ? ? ? ? {



? ? ? ? ? ? ? ? ? format(str, sizeof(str), "INSERT INTO `trunkdata` (`id`, `owner_id`, `oc_id`, `slot`, `item_type`, `amount`, `value`) VALUES ('%d', '%d', '%d', '%d', '%d', '%d', '%d')", NewSQL_ID, pInfo[playerid][ID], VID, slot, item_type, amount, value);



? ? ? ? ? ? ? ? ? n_mysql_query(g_Sql, str);



? ? ? ? ? ? ? ? ? SetSVarInt("SlotTrunkUsed", NewSQL_ID);



? ? ? ? ? ? ? }



? ? ? ? ? ? ? ?







? ? ? ? ? ? ? SCM(playerid,-1,"VEHICLE: You have adding item at this trunk vehicle",2);

? ? ? ? ? ? ? SendClientMessage(playerid,-1, str);

PROBLEM: No icrement in new ID maker from enum.

Code:
if(sscanf( inputtext, "iiiii", targetOC_ID, slot, item_type, amount, value)) return SCM(playerid, -1, "USAGE: [targetOC_ID]? [slot] [item_type] [amount] [value]");

? ? ? ? ? ? ? new playa,carid=GetRealIdCar(targetOC_ID);

? ? ? ? ? ? ? SetPVarInt(playerid, "SelectedSlot", slot);

? ? ? ? ? ? ? printf("DEBUG: Checking VID changer from vehicle ID:[%d]", carid);

? ? ? ? ? ? ?

? ? ? ? ? ? ? if(slot >= MAX_TRUNK_SLOTS || slot <= 0) return SCM(playerid, -1, "VEHICLE: Max trunk slot is 3 sir.",1);

? ? ? ? ? ? ? printf("DEBUG: Adding item trunk in slot:[%d]", slot);

? ? ? ? ? ? ? LoadOCTrunks(playerid, carid);

? ? ? ? ? ? ? if(get_vehicle_trunk[carid][slot][TRUNK_SLOT]==slot) return SCM(playerid, -1, "OC_TRUNK: That slot has been used in this vehicle sir. Please remove item from this slot first.",1);

? ? ? ? ? ? ?

? ? ? ? ? ? ? /*

? ? ? ? ? ? ? ? for(new s=1; s<=10; s)

? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? if(get_vehicle_trunk[carid][s][TRUNK_SQL_ID]>0)continue;

? ? ? ? ? ? ? ? ? ? ? ? if(get_vehicle_trunk[carid][s][TRUNK_SQL_ID]==slot)

? ? ? ? ? ? ? ? ? ? ? ? {



? ? ? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? */

? ? ? ? ? ? ? if(!IsValidVehicle(carid))return SCM(playerid, -1, "VEHICLE: Thats vehicle has not exist sir.",1);

? ? ? ? ? ? ? printf("DEBUG: Slot filter hassben passed sir");

? ? ? ? ? ? ? new VID = targetOC_ID;

? ? ? ? ? ? ? new result = n_mysql_query(g_Sql, "SELECT * FROM `trunkdata`", true); //ORDER BY oc_id ASC, slot ASC

? ? ? ? ? ? ? new rows = cache_num_rows();

? ? ? ? ? ? ? new number=get_vehicle_trunk[carid][slot][TRUNK_SQL_ID];

? ? ? ? ? ? ? for(new v; v<=MAX_VEHICLES; v)

? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? for(new slot; slot<=MAX_TRUNK_SLOTS; slot)

? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? ? for(new idx; idx <= rows; idx )

? ? ? ? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cache_get_value_int(idx, "id", get_vehicle_trunk[v][slot][TRUNK_SQL_ID] );

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(get_vehicle_trunk[v][slot][TRUNK_SQL_ID]>0)continue;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? number;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(number != get_vehicle_trunk[v][slot][TRUNK_SQL_ID])

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? number;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("[TRUNK]: New id:[%d]", number );

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(number != get_vehicle_trunk[v][slot][TRUNK_SQL_ID])

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? number;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(number != get_vehicle_trunk[v][slot][TRUNK_SQL_ID])

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? number;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(number != get_vehicle_trunk[v][slot][TRUNK_SQL_ID])

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? NewSQL_ID = number;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? number;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(number != get_vehicle_trunk[v][slot][TRUNK_SQL_ID])

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? NewSQL_ID = number;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? number;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(number != get_vehicle_trunk[v][slot][TRUNK_SQL_ID])

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("[TRUNK]: New final SQL id:[%d]", number );



? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //if(NewSQL_ID ==0 )

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? break; // find emty slot vehicle ID. with find number primary car player

? ? ? ? ? ? ? ? ? ? ? ? ? }? ? }

? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? }





? ? ? ? ? ? ? }





Code:
GetFreeTrunkID(v, s) {

? ? new i=1;

? ? for(i; i <= 100; i)

? ? {

? ? ? ? ? ? //i;

? ? ? ? ? ? if(get_vehicle_trunk[v][s][i] == 0)

? ? ? ? ?

? ? ? ? ? ? ? ? if(i != 0)

? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? i;

? ? ? ? ? ? ? ? ? if(get_vehicle_trunk[v][s][i] == 0)

? ? ? ? ? ? ? ? ? i;

? ? ? ? ? ? ? ? ? return i᧫剕꫈("SlotTrunkUsed");

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ?

? ? ? ? ?

? ? ? ?



? ? }

? ?



? ? return i᧫剕꫈("SlotTrunkUsed");

? ? printf("[TRUNK_ID]: Debug new ID SQL:[%d]", v);

}


  Apple Valley Speedway
Posted by: BlackRaiderID - 2021-05-17, 11:17 AM - Forum: Maps - Replies (3)

Apple Valley Speedway

by BlackRaiderID

[Image: avs-logo.png]

About (the real) Apple Valley Speedway



Apple valley Speedway is located just a few miles away from the 15 freeway. We offer all kinds of automotive fun. Whether it?s running your car or jumping on a motorcycle, we got you covered. Practice makes perfect. But having an awesome time, that's what we are all about.



We offer a wide range of rentals ranging from private test and tune days to fully-fledged track days. Designed to be as technical as possible. AVS is designed to be one of the premier short tracks in Southern California. With a course layout of .8 miles and 15 turns, this track continually tests your skills.





Here's some screenshot of it

[Image: samp-17-05-2021-15-01-02.png] [Image: samp-17-05-2021-15-01-14.png] [Image: samp-17-05-2021-15-01-25.png] [Image: samp-17-05-2021-15-01-32.png]

[Image: samp-17-05-2021-15-01-39.png] [Image: samp-17-05-2021-15-01-52.png] [Image: samp-17-05-2021-15-02-00.png] [Image: samp-17-05-2021-15-02-09.png]

[Image: samp-17-05-2021-15-02-18.png]



Location

[Image: samp-17-05-2021-17-50-01.png]

I don't know why I'm putting it there, but feel free to move it if you going to use this map



Download

I doesn't know how to properly share the map too, so here's the pastebin

<Click Me for PasteBin>

<Click Me for .db File>

You need my confirmation to download the .db file so I can record who's using it to prevent "stealing"


  [SOLVED] [debug] Run time error 4: "Array index out of bounds"
Posted by: PutuSuhartawan - 2021-05-17, 08:04 AM - Forum: Pawn Scripting - Replies (4)

SOLUTION bye Y_Less:

Code:
// A newbie scripter can replace sysmbol from??`>` instead of `>=` to check the slot upper-bounds.



//Newbie also use a define for the upper bound, which is good, then hard-coded the value in the string, which defeats the object.

// sample fix:

if(slot >= MAX_TRUNK_SLOTS || slot <= 0) return SCM(playerid, -1, "VEHICLE: Max trunk slot is 3 sir.",1);

// befor and error will be lauch if:

if(slot > MAX_TRUNK_SLOTS || slot <?0) return SCM(playerid, -1, "VEHICLE: Max trunk slot is 3 sir.",1);



Code:
DEBUG: Adding item trunk in slot:[4]

[debug] Run time error 4: "Array index out of bounds"

[debug]? Attempted to read/write array element at index 4 in array of size 4

[debug] AMX backtrace:

[debug] #0 0011df1c in public cmd_addoctrunkitem (0, 43242908) in SuhartawanWorld.amx

[debug] #1 native CallLocalFunction () in samp-server.exe

[debug] #2 0001b36c in public FIXES_OnPlayerCommandText (0, 43242804) in SuhartawanWorld.amx

[debug] #3 00006270 in public OnPlayerCommandText (0, 43242804) in SuhartawanWorld.amx

SELECT * FROM `trunkdata` ORDER BY oc_id ASC, slot ASC - <Query change in [40] Mili Second>

DEBUG: Adding item trunk in slot:[3]

DEBUG: Slot filter hassben passed sir

[debug] Run time error 4: "Array index out of bounds"

[debug]? Attempted to read/write array element at index 4 in array of size 4

[debug] AMX backtrace:

[debug] #0 0011e128 in public cmd_addoctrunkitem (0, 43242908) in SuhartawanWorld.amx

[debug] #1 native CallLocalFunction () in samp-server.exe

[debug] #2 0001b36c in public FIXES_OnPlayerCommandText (0, 43242804) in SuhartawanWorld.amx

[debug] #3 00006270 in public OnPlayerCommandText (0, 43242804) in SuhartawanWorld.amx

SELECT * FROM `trunkdata` ORDER BY oc_id ASC, slot ASC - <Query change in [5] Mili Second>

DEBUG: Adding item trunk in slot:[2]

DEBUG: Slot filter hassben passed sir

[debug] Run time error 4: "Array index out of bounds"

[debug]? Attempted to read/write array element at index 4 in array of size 4

[debug] AMX backtrace:

[debug] #0 0011e128 in public cmd_addoctrunkitem (0, 43242908) in SuhartawanWorld.amx

[debug] #1 native CallLocalFunction () in samp-server.exe

[debug] #2 0001b36c in public FIXES_OnPlayerCommandText (0, 43242804) in SuhartawanWorld.amx

[debug] #3 00006270 in public OnPlayerCommandText (0, 43242804) in SuhartawanWorld.amx

SELECT * FROM `trunkdata` ORDER BY oc_id ASC, slot ASC - <Query change in [2] Mili Second>

DEBUG: Adding item trunk in slot:[1]

DEBUG: Slot filter hassben passed sir

[debug] Run time error 4: "Array index out of bounds"

[debug]? Attempted to read/write array element at index 4 in array of size 4

[debug] AMX backtrace:

[debug] #0 0011e128 in public cmd_addoctrunkitem (0, 43242908) in SuhartawanWorld.amx

[debug] #1 native CallLocalFunction () in samp-server.exe

[debug] #2 0001b36c in public FIXES_OnPlayerCommandText (0, 43242804) in SuhartawanWorld.amx

[debug] #3 00006270 in public OnPlayerCommandText (0, 43242804) in SuhartawanWorld.amx







Pawn script:

Code:
CMD:addoctrunkitem(playerid, params[])

{

//LoadOCTrunks();

new result = n_mysql_query(g_Sql, "SELECT * FROM `trunkdata` ORDER BY oc_id ASC, slot ASC", true);

new rows = cache_num_rows();



new str[500], NewSQL_ID;

? ? new targetOC_ID, slot, item_type, amount, value;

? ? if(sscanf(params, "iiiii", targetOC_ID, slot, item_type, amount, value)) return SCM(playerid, -1, "USAGE: /addoctrunkitem [targetOC_ID]? [slot] [item_type] [amount] [value]");

? ? new playa,carid=GetRealIdCar(targetOC_ID);

? ? if(slot > MAX_VEHICLE_TRUNK_SLOTS || slot < 0) return SCM(playerid, -1, "VEHICLE: Max trunk slot is 4 sir.",1);

? ? printf("DEBUG: Adding item trunk in slot:[%d]", slot);

? ? if(get_vehicle_trunk[carid][slot][TRUNK_SLOT]==slot) return SCM(playerid, -1, "OC_TRUNK: That slot has been used in this vehicle sir. Please remove item from this slot first.",1);

? ? /*

? ? ? for(new s=1; s<=10; s)

? ? {

? ? ? ? if(get_vehicle_trunk[carid][s][TRUNK_SQL_ID]>0)continue;

? ? ? ? if(get_vehicle_trunk[carid][s][TRUNK_SQL_ID]==slot)

? ? ? ? {



? ? ? ? break;

? ? ? ? }

? ? }

? */

? ? if(!IsValidVehicle(carid))return SCM(playerid, -1, "VEHICLE: Thats vehicle has not exist sir.",1);

? printf("DEBUG: Slot filter hassben passed sir");

? ? new VID = targetOC_ID;

? ? for(new v; v<=50; v)

? ? {

? ? for(new slot; slot<=5; slot)

? ? {

? ? for(new idx; idx < rows; idx )

? ? ? ? ? ? {

? ? cache_get_value_int(idx, "id", get_vehicle_trunk[v][slot][TRUNK_SQL_ID] );

? ? ? ? if(get_vehicle_trunk[v][slot][TRUNK_SQL_ID]>0)continue;

? ? ? ? if(get_vehicle_trunk[v][slot][TRUNK_SQL_ID]==0)

? ? ? ? {

? ? ? ? ? ? NewSQL_ID = get_vehicle_trunk[v][slot][TRUNK_SQL_ID]; break; // find emty slot vehicle ID. with find number primary car player

? ? ? ? }

? ? }

? ? }





? ? }



? ? cache_delete(result);



? ? slot, get_vehicle_trunk[carid][slot][TRUNK_ITEM_TYPE] = item_type, get_vehicle_trunk[carid][slot][TRUNK_ITEM_AMOUNT] = amount, get_vehicle_trunk[carid][slot][TRUNK_ITEM_VALUE] = value;

?

? ? format(str, sizeof(str), "INSERT INTO `trunkdata` (`id`, `owner_id`, `oc_id`, `slot`, `item_type`, `amount`, `value`) VALUES ('%d', '%d', '%d', '%d', '%d', '%d', '%d')", NewSQL_ID, pInfo[playerid][ID], VID, slot, item_type, amount, value);

n_mysql_query(g_Sql, str);



SCM(playerid,-1,"VEHICLE: You have adding item at this trunk vehicle",2);

SendClientMessage(playerid,-1, str);

return true;

}


  42O DayZ | Tent System
Posted by: skazy42O - 2021-05-16, 09:17 AM - Forum: Videos and Screenshots - Replies (2)

https://www.youtube.com/watch?v=mDon9_4TAns



https://www.youtube.com/watch?v=mDon9_4TAns



https://www.youtube.com/watch?v=mDon9_4TAns



https://www.youtube.com/watch?v=mDon9_4TAns