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 408 online users.
» 0 Member(s) | 406 Guest(s)
Google, Bing

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: 206

 
Lightbulb Optimization in pawno.
Posted by: AsteriskRin - 2020-12-03, 04:34 AM - Forum: Pawn Scripting - Replies (4)

Hello. I am still new at pawno. Could you tell me which one is more efficient from these code? These code has the same purpose.



First Code

Code:
forward test();

public test();

{

? ? new rows;

? ? for(new i = 0; i < rows; i) {

? ? ? ? new string[128];

? ? ? ? format(string, sizeof string, "%d is printed.", i);

? ? ? ? SendClientMessage(0, 0xFFFFFFFF, string);

? ? }

}



Second Code

Code:
forward test();

public test();

{

? ? new rows;

? ? new string[128];

? ? for(new i = 0; i < rows; i) {

? ? ? ? format(string, sizeof string, "%d is printed.", i);

? ? ? ? SendClientMessage(0, 0xFFFFFFFF, string);

? ? }

}


  Learn to pawn (basic/medium/advanced level)
Posted by: Ryder Sixz - 2020-12-02, 01:09 PM - Forum: Tutorials - Replies (3)

Hi, I know this may sound stupid XD but I do it with the best of intentions. Some time ago I downloaded a fairly complete tutorial on how to learn pawn. It is in Spanish (you can translate it in 1 second with the tool that Google Chrome brings) Well, I hope it is helpful for you. When you download it, you only have to open it with a browser.



ʚ�힫殺낟(nivel涫≲_medio_avanzado)+MPᚊ.htm/file]http://www.mediafire.com/file/82qh8180xe6ept2/[Tutorial]ʚ�힫殺낟(nivel涫≲_medio_avanzado)+MPᚊ.htm/file



Personally, he helped me a lot. All credits to the creator of that post!


  Advanced Model Selection Menu (eSelection)
Posted by: TommyB - 2020-12-02, 12:50 PM - Forum: Libraries - Replies (3)

eSelection



[Image: sampctl-eSelection-2f2f2f.svg?style=for-the-badge]



This library adds the ability to create dynamic model selection menus in your SA-MP gamemodes. It's an edit of the original eSelection include created by the developers of the Interactive Roleplay SA-MP server back in 2013. I've been using it in my own server for many years and made countless adjustments, fixes, optimizations and feature changes to it. After a bit of consideration, I decided to open source the changes I've made.



This edit (well, it's closer to a rewrite) makes use of dynamic PawnPlus containers, adds in an improved API, descriptive text per model preview and also adds the ability to call task-based menu responses, which will be demonstrated below.



[Image: wDal7si.png] [Image: kvkg8t8.png]



Installation



Simply install to your project:



Code:
sampctl package install TommyB123/eSelection



Include in your code and begin using the library:



PHP Code:
#include <eSelection> 



Functions



Adds a new model to a model selection list. Descriptive text and preview rotations are supported as optional arguments.



PHP Code:
AddModelMenuItem(List:menulistmodelid, const text[] = ""bool:usingrotation falseFloat:rotx 0.0Float:roty 0.0Float:rotz 0.0Float:zoom 1.0



Shows a model selection menu to a player. OnModelSelectionResponse will be called when using this function.



PHP Code:
ShowModelSelectionMenu(playerid, const header[], extraid, List:items



Shows a model selection menu to a player. Requires waiting for a PawnPlus task to receive the response results.



PHP Code:
Task:ShowAsyncModelSelectionMenu(playerid, const header[], List:items



Non-task-based model selection menu responses are handled via the callback below.



PHP Code:
public OnModelSelectionResponse(playeridextraidindexmodelidresponse



extraid is the ID of the model menu provided in ShowModelSelectionMenu. This functionality is similar to the dialog ID argument in ShowPlayerDialog.



index is the list index of the model that was clicked. If the first model in a menu is clicked, index will 0. If the second model is clicked, index will be 1. You get the point, I hope.



modelid is the model ID that was clicked. If a player clicks on skin ID 5 in a model menu, this variable would also be 5.



Relevant constants



MODEL_RESPONSE_CANCEL - Response value when a player cancels a model menu.



MODEL_RESPONSE_SELECT - Response value when a player clicks on a model inside of a model menu.



The following constants are used in the array response when handling a task-based model menu response.



E_MODEL_SELECTION_RESPONSE - The response value to be compared with the constants described above. Equiavelent to the response argument in OnModelSelectionResponse



E_MODEL_SELECTION_INDEX - The index of the model selection menu response. Equivalent to the index argument in OnModelSelectionResponse



E_MODEL_SELECTION_MODELID - The model ID of the model selection menu response. Equivalent to the modelid argument in OnModelSelectionResponse



Usage



Example of a traditional model selection response when using ShowModelSelectionMenu



PHP Code:
// define an ID for the model selection menu below

#define MODEL_SELECTION_SKIN_MENU (0)



ShowSkinModelMenu(playerid)

{

? ? 
// create a dynamic PawnPlus list to populate with models.

? ? // you don't need to worry about deleting this list, it's handled by the include once it's passed to it

? ? new List:skins list_new();



? ? 
// add skin IDs 0, 1, 29 and 60 with "cool people only" text above skin ID 29.

? ? AddModelMenuItem(skins0);

? ? 
AddModelMenuItem(skins1);

? ? 
AddModelMenuItem(skins29"Cool people only");

? ? 
AddModelMenuItem(skins60);



? ? 
// show the menu to the player

? ? ShowModelSelectionMenu(playerid"Skins"MODEL_SELECTION_SKIN_MENUskins);

}



// model selection response

public OnModelSelectionResponse(playeridextraidindexmodelidresponse)

{

? ? 
// make sure the extraid matches the skin menu ID

? ? if(extraid == MODEL_SELECTION_SKIN_MENU)

? ? {

? ? ? ? 
// make sure the player actually clicked on a model and not the close button

? ? ? ? if(response == MODEL_RESPONSE_SELECT)

? ? ? ? {

? ? ? ? ? ? 
// assign the player the skin of their choosing

? ? ? ? ? ? SetPlayerSkin(playeridmodelid);

? ? ? ? ? ? return 
1;

? ? ? ? }

? ? }





Example of waiting for a task-based model selection menu response with ShowAsyncModelSelectionMenu



PHP Code:
// enable the "await" syntax from PawnPlus before including it

#define PP_SYNTAX_AWAIT



ShowSkinModelMenu(playerid)

{

? ? 
// create a dynamic PawnPlus list to populate with models.

? ? // you don't need to worry about deleting this list, it's handled by the include once it's passed to it

? ? new List:skins list_new();



? ? 
// add skin IDs 0, 1, 29 and 60 with "cool people only" text above skin ID 29.

? ? AddModelMenuItem(skins0);

? ? 
AddModelMenuItem(skins1);

? ? 
AddModelMenuItem(skins29"Cool people only");

? ? 
AddModelMenuItem(skins60);



? ? 
// declare an array that will be populated with the model selection menu response data

? ? new response[E_MODEL_SELECTION_INFO];



? ? 
// use await_arr and set the response array to the model selection menu result

? ? await_arr(responseShowAsyncModelSelectionMenu(playerid"Skins"skins);



? ? 
// make sure the player actually clicked on a model and not the close button

? ? if(response[E_MODEL_SELECTION_RESPONSE] == MODEL_RESPONSE_SELECT)

? ? {

? ? ? ? 
// assign the player the skin of their choosing

? ? ? ? SetPlayerSkin(playeridresponse[E_MODEL_SELECTION_MODELID]);

? ? }





Credits



Interactive Roleplay Developer(s) - Original authors of this library



Me - Numerous feature updates, housekeeping, etc


  [Ajuda] Formata??o de Cronometro
Posted by: ztioluh - 2020-12-02, 11:20 AM - Forum: Portuguese/Portugu?s - Replies (2)

Estou criando um sistema de pris?o do zero que j? esta tudo ok por?m eu queria deixar o tempo exibido na textdraw no estilo "00:00:00".. atualmente fica "0:0:0".. E como n?o tenho experi?ncia o suficiente fiquei travado nisso.. Poderiam me ajudar a formatar dessa forma? Desde j? agrade?o.


  samp-async-objects | Edit an object with pawnplus tasks!
Posted by: Mergevos - 2020-12-01, 11:42 PM - Forum: Libraries - No Replies

Redirect to github:?

[Image: Mergevos-samp--async--objects-2f2f2f.svg...-the-badge]

Installation



Simply install to your project:



Code:
sampctl package install Mergevos/samp-async-objects



Include in your code and begin using the library:



Code:
#include <async-objects>



Usage



Let's look at the following example:



Code:
YCMD:test(playerid, params[], help)

{

? ? if(help) {

? ? ? ? return 0;

? ? }

? ? SelectObject(playerid);



? ? return 1;

}



public OnPlayerSelectObject(playerid, type, objectid, modelid, Float:fX, Float:fY, Float:fZ)

{

? ? new obj_res[e_OBJECT_INFO];

? ? await_arr(obj_res) AsyncObject_Edit(playerid, objectid);

? ? print("Response awaited");

? ? if(obj_res[E_OBJECT_Response] == EDIT_RESPONSE_FINAL) {

? ? ? ? print("Response final, player clicked on save icon.");

? ? } else if(obj_res[E_OBJECT_Response] == EDIT_RESPONSE_CANCEL) {

? ? ? ? print("Canceled");

? ? }

? ? return 1;

}



The /test?command executes the SelectObject function which allows you to select an object you would like to edit. When you select the object it calls OnPlayerSelectObject, GUI is going to show up and allows you to edit, move, rotate and save the object changes. If you hit a cancel or the save button, it awaits task response and when it finishes, it returns task results in an array, thus, you can check, save and modify the object. In the code above, that array way obj_res, which is abbreviation of object_response, also, we've checked if player hit save button, a.k.a EDIT_RESPONSE_FINAL?or cancel button with obviously EDIT_RESPONSE_FINAL?and then we simply output a message. If, for some reason, messages didn't get output, then there's most likely a problem.



The functions you're going to use are:



Code:
Task: AsyncObject_Edit(playerid, objectid)



The params are obvious, the function also has a wrapper. By defining `ASYNC_OBJECT_SYNTAX_EDIT` you allow yourself to use it:

Code:
Task: EditObjectAsync(playerid, objectid)



Note: You've to put `OnPlayerEditObject` callback in your script.*



Testing



To test, simply run the package, connect to a server and then execute /test:



Code:
sampctl package run


  How to break line in TDE Editor
Posted by: Frajola - 2020-12-01, 10:04 PM - Forum: Pawn Scripting - Replies (1)

Hi guys. How do I break the line in the textdraw using the TDE Editor? I'm putting "\n" but it's not breaking the line.



[Image: RbOYy0Z.png]


Sad Fusez Map Editor not loading...
Posted by: cristixxh - 2020-12-01, 07:25 PM - Forum: Support - Replies (1)

Hi there! I got Fusez Map Editor, and I have a hosted server especially for this. I got the editor files in the server files, i put "filterscripts mapedit" into server.cfg, and there is nothing. It should normally show me the controls when joining the server, but it's working just as the simple bare gamemode. Any help, please?


  New feature in SA-MP -Piano
Posted by: ATomas - 2020-11-30, 08:12 PM - Forum: Videos and Screenshots - Replies (5)

Hello all,

I made a piano to SA-MP. You can play at this a real songs! Look at this:



https://www.youtube.com/watch?v=t-5Ipn0P...ZGamesPlay



play.superparba.eu:7777


  Texture Studio
Posted by: Sprwok - 2020-11-30, 07:02 PM - Forum: Support - No Replies

Hi, I have a problem with texture studio. I don't know why he shows me this error:



[debug] Run time error 8: "Heap underflow"

[debug]? Heap pointer (HEA) is 0x2525C50, heap bottom (HLW) is 0x2BF8B5C

[debug] AMX backtrace:





I need some help with that, thank's.


Question How to get camera angle
Posted by: Marllun - 2020-11-30, 02:05 PM - Forum: Pawn Scripting - Replies (3)

I would like to know how to get camera angle. Player camera.