Error 017 undefined symbol max_players

error 017 undefined symbol max_players

sprers.eu › › AMXModX › Плъгини › Заявки за плъгини. error undefined symbol "mysql_query_string" F:\mod crmp\Моды\Мо new ggg[MAX_PLAYERS]; ggg[playerid] = 8+random(21);. csgo_sprers.eu // // C:\Users\duzyn\OneDrive\Pulpit\addons\amxmodx\scripting\csgo_sprers.eu(56): error undefined symbol "MAX_PLAYERS". error 017 undefined symbol max_players

youtube video

unable to open file$ tclasss. lab //linker error // tutorial of turbo c/c++

Error 017 undefined symbol max_players - really. was

CSGOMOD By ozone

L 09/17/ - [amxbans_main.] [AMXBans] [AMXBans]<HLTV - sprers.eu trzyma FPS> has been banned 72 times before. L 09/17/ - [mapsmenu.] Cmd: "mhL<28><STEAM_><>" changelevel "css_dust3" L 09/17/ - Mapchange to css_dust3 L 09/17/ - [] Plugin file open error (plugin "hltvchecker.") L 09/17/ - [] Plugin "csgo_system_jackpot." failed to load: Plugin uses an unknown function (name "csgo_set_user_coin") - check your sprers.eu L 09/17/ - [] Plugin "csgo_ranks_us." failed to load: Plugin uses an unknown function (name "add_user_elo") - check your sprers.eu L 09/17/ - [] Plugin "sklepsms_usluga_euro." failed to load: Module/Library "shop_sms" required for plugin. Check sprers.euóż dodałem plugin Jackpot i on nie trybi na serwie po wpisaniu amx_plugins unkown unkown csgo_system_sprers.eu load jakieś porady o co chodzi?

Moje plugins-csgo
; :GO Mod csgo_mod.               ; silnik :go moda csgo_clans.             ; system klanow csgo_accounts.          ; system kont csgo_ranks.             ; rangi oparte o elo csgo_ranks_us. debug csgo_c4.                ; model paki csgo_nades.             ; modele granatow + medium i short throw csgo_vip.               ; (flaga t) i supervip (flaga x) csgo_system_jackpot. debug csgo_server_menu.       ; glowne menu serwera (klawisz v i /menu) csgo_transfer.          ; transfer pieniedzy csgo_assist_revenge.    ; asysta i zemsta csgo_operations.        ; operacje csgo_molotov.           ; molotov csgo_smoke.             ; smoke csgo_zeus.              ; zeus csgo_runboost.          ; run boost csgo_inspect.           ; inspectowanie broni csgo_buymenu.           ; nowe menu kupowania csgo_unprecacher.       ; usuwanie zbednych zasobow Moje sprers.eu
; Mod X plugins   ; Admin Base - Always one has to be activated amxbans_core. amxbans_main. admin. ; admin base (required for any admin-related) admin_sql. ; admin base - SQL version (comment admin.) nVaultAdmins.   ; Basic admincmd. ; basic admin console commands adminhelp. ; help command for admin console commands adminslots. ; slot reservation multilingual. ; Multi-Lingual management   ; Menus menufront. ; front-end for admin menus cmdmenu. ; command menu (speech, settings) plmenu. ; players menu (kick, ban, client cmds.) ;telemenu. ; teleport menu (Fun Module required!) mapsmenu. ; maps menu (vote, changelevel) pluginmenu. ; Menus for commands/cvars organized by plugin   ; Chat / Messages adminchat. ; console chat commands antiflood. ; prevent clients from chat-flooding the server scrollmsg. ; displays a scrolling message imessage. ; displays information messages adminvote. ; vote commands   ; Map related nextmap. ; displays next map in mapcycle mapchooser. ; allows to vote for next map timeleft. ; displays time left on map   ; Configuration pausecfg. ; allows to pause and unpause some plugins statscfg. ; allows to manage stats plugins via menu and commands   ; Counter-Strike ;restmenu. ; restrict weapons menu statsx. ; stats on death or round end (CSX Module required!) ;miscstats. ; bunch of events announcement for Counter-Strike ;stats_logging. ; weapons stats logging (CSX Module required!)     ; Custom - Add 3rd party plugins here hltvchecker. ; Wpuszcza na serwer tylko HLTV dodane przez panel sklep_sms. ad_manager. parachute. abdv2_by_formoza. cs_team_semiclip. antiflashbug. Kontakt. sprers.eu zrobic zeby działał ten jackpot?

Użytkownik SkanujeLepiejNizAvast edytował ten post

  • +
  • -
  • 0

PAYDAY $A:MP - Masks Preview

Viewing all articles

Information
PAYDAY $A:MP is an upcoming server which will feature the possibilities of the actual PAYDAY 2 game to be found in our lovely game, SA:MP. Today we will have a look at some of the Masks that we have.



What are the masks?
Masks are worn by the Heisters during a Heist. Our server currently has over 50 masks and we keep adding! You can find an album below with some of the masks.

Album: sprers.eu



How can I stay updated with the server progress?
You can stay tuned with the server news by simply joining the Discord below!




Players on my server sometimes when they join got same weapons, money or even Admin rank. I don't know if it's about IDs messing up- I need help :o
Repair system loading created another one in the database.

OnGameModeInit:






Olá, eu sou novo aqui no fórum oficial do Sa-mp, eu preciso de ajuda com um problema aparentemente simples porém não estou conseguindo resolver, já tentei algumas formas que encontrei aqui no site mas mesmo assim não resolveu :c

Código


ERRO:


Agradeço se alguém descobrir ou saber o que está havendo com meu código
Has anyone encountered actors not appearing consistently over the ocean? I know many things do not work consistently over the ocean, but they do however end up working randomly. I am doubtful it would be them falling through custom objects as I've checked and do not see them, and I've set position resetting timers to no avail. It's very inconsistent, sometimes a whole mass is in an area, and sometimes only a few. It changes frequently, sometimes they all appear, sometimes nearly none. I'm not sure of a potential solution as I've found hotfixes for some of the problems (for example, it can be modified locally to fix melee combat over the ocean) but from a script perspective I'm really not sure.
I have had problems when they start voting the player is disconnected as I can do so that one is disconnected the player cancels the voting?






my server get crashed when ever I type the password in input box.

I wanted to try out this gamemode on private server but after seeing the server working fine, i decided to login to the game which ended up crashing the server and closing up.

This is from sprers.eu


This is crashinfo


I'm dumb at scripting and just wanted to see how was the gamemode.
hi i want to create some kind of fire fighter job for my game mode , how can i detecate that player is aiming on the fire object ? i searched on forum and find out i should use GetPlayerCameraPos / GetPlayerCameraFrontVector but i tried and cant use them , can you give a exp of using this func. ? i want to get if player is aiming on fire object pos then destroy that ( i know about holding KEY_FIRE key just want to know how should i get his aiming area ) thnx
Code


Code


Code


And here the ERROR


The line error


Hello, how can I make command // where I can chat with other? I have command with strcmp but I need better variant
I'm trying to make a robbing system which only allows you to rob when you're in certain interiors.

I didn't want to create lots of if's for every interior because the script would be messy, and it wouldn't be practical, so I stored the interior IDs into an array.




Now, I had to make it so if the interior ID the player is in doesn't match one of the IDs from the list, it won't let him rob the store, but the problem is how to make it so it checks every number from the array. This is what I have from the robbing command now:



This returns:


.

How can I make it so it checks all numbers from the array in the script? I will give reputation to whoever helps me, and thanks in advance. :)
 îáùåì ïðîáëåìà òàêîâà, íå çàïèñûâàþòñÿ íîâûå äàííûå â áàçó äàííûõ, ëîãè îøèáîê íèêàêèõ íå âûäàþò, ðàçâå ÷òî åñòü sprers.eu â êîòîðîì íå ïðèñâàèâàåòñÿ Èìÿ èãðîêà íà êîòîðîãî íåîáõîäèìî ñîõðàíèòü èíôîðìàöèþ:



Êîä:



Excuse me guys im making a gm with 2 languages but im losing my mind why in the tutorial part only sow me 1 text draw and not th others can u told me why?


Problema Skyn System!

Am o mica problema cu un skyn system:

C:\Documents and Settings\SkyNet\Desktop\www\SkinSystem\pawno\include\sprers.eu() : error undefined symbol "PlayerTextDrawSetPreviewModel"

C:\Documents and Settings\SkyNet\Desktop\www\SkinSystem\pawno\include\sprers.eu() : error undefined symbol "PlayerTextDrawSetPreviewRot"

[pawn]//

// Model Selection using previews. For SA-MP x and above.

// - D0erfler

// - Kye

//

// Version R2

/*Functions to be used

LoadModelSelectionMenu(f_name[])

HideModelSelectionMenu(playerid)

ShowModelSelectionMenu(playerid, ListID, header_text[], dialogBGcolor = 0x4A5A6BBB, previewBGcolor = 0x , tdSelectionColor = 0xFFFF00AA)

ShowModelSelectionMenuEx(playerid, items_array[], item_amount, header_text[], extraid, Float:Xrot = , Float:Yrot = , Float:Zrot = , Float:mZoom = , dialogBGcolor = 0x4A5A6BBB, previewBGcolor = 0x , tdSelectionColor = 0xFFFF00AA)

*/

// Callbacks

forward OnPlayerModelSelection(playerid, response, listid, modelid);

forward OnPlayerModelSelectionEx(playerid, response, extraid, modelid);

// settings static lists

#define mS_TOTAL_ITEMS        // Max amount of items from all lists

#define mS_TOTAL_LISTS 20 // Max amount of lists

#define mS_TOTAL_ROT_ZOOM // Max amount of items using extra information like zoom or rotations

// settings dynamic per player lists

#define mS_CUSTOM_MAX_ITEMS 20

new gCustomList[MAX_PLAYERS][mS_CUSTOM_MAX_ITEMS];

#define mS_INVALID_LISTID mS_TOTAL_LISTS

#define mS_CUSTOM_LISTID (mS_TOTAL_LISTS+1)

#define mS_NEXT_TEXT  "Ileri"

#define mS_PREV_TEXT  "Geri"

#define mS_CANCEL_TEXT  "Kapat"

#define mS_SELECTION_ITEMS 21

#define mS_ITEMS_PER_LINE  7

#define mS_DIALOG_BASE_X 

#define mS_DIALOG_BASE_Y 

#define mS_DIALOG_WIDTH   

#define mS_DIALOG_HEIGHT 

#define mS_SPRITE_DIM_X   

#define mS_SPRITE_DIM_Y   

new PlayerText:gCurrentPageTextDrawId[MAX_PLAYERS];

new PlayerText:gHeaderTextDrawId[MAX_PLAYERS];

new PlayerText:gBackgroundTextDrawId[MAX_PLAYERS];

new PlayerText:gNextButtonTextDrawId[MAX_PLAYERS];

new PlayerText:gPrevButtonTextDrawId[MAX_PLAYERS];

new PlayerText:gCancelButtonTextDrawId[MAX_PLAYERS];

new PlayerText:gSelectionItems[MAX_PLAYERS][mS_SELECTION_ITEMS];

new gSelectionItemsTag[MAX_PLAYERS][mS_SELECTION_ITEMS];

new gItemAt[MAX_PLAYERS];

#define mS_LIST_START 0

#define mS_LIST_END 1

new gLists[mS_TOTAL_LISTS][2]; // list information start/end index

#define mS_ITEM_MODEL 0

#define mS_ITEM_ROT_ZOOM_ID 1

new gItemList[mS_TOTAL_ITEMS][2];

new Float:gRotZoom[mS_TOTAL_ROT_ZOOM][4]; // Array for saving rotation and zoom info

new gItemAmount = 0; // Amount of items used

new gListAmount = 0; // Amount of lists used

new gRotZoomAmount = 0; // Amount of Rotation/Zoom informations used

//

stock mS_GetNumberOfPages(ListID)

{

new ItemAmount = mS_GetAmountOfListItems(ListID);

if((ItemAmount >= mS_SELECTION_ITEMS) && (ItemAmount % mS_SELECTION_ITEMS) == 0)

{

return (ItemAmount / mS_SELECTION_ITEMS);

}

else return (ItemAmount / mS_SELECTION_ITEMS) + 1;

}

//

stock mS_GetNumberOfPagesEx(playerid)

{

new ItemAmount = mS_GetAmountOfListItemsEx(playerid);

if((ItemAmount >= mS_SELECTION_ITEMS) && (ItemAmount % mS_SELECTION_ITEMS) == 0)

{

return (ItemAmount / mS_SELECTION_ITEMS);

}

else return (ItemAmount / mS_SELECTION_ITEMS) + 1;

}

//

stock mS_GetAmountOfListItems(ListID)

{

return (gLists[ListID][mS_LIST_END] - gLists[ListID][mS_LIST_START])+1;

}

//

stock mS_GetAmountOfListItemsEx(playerid)

{

return GetPVarInt(playerid, "mS_custom_item_amount");

}

//

stock mS_GetPlayerCurrentListID(playerid)

{

if(GetPVarInt(playerid, "mS_list_active") == 1) return GetPVarInt(playerid, "mS_list_id");

else return mS_INVALID_LISTID;

}

//

stock PlayerText:mS_CreateCurrentPageTextDraw(playerid, Float:Xpos, Float:Ypos)

{

new PlayerText:txtInit;

  txtInit = CreatePlayerTextDraw(playerid, Xpos, Ypos, "0/0");

  PlayerTextDrawUseBox(playerid, txtInit, 0);

PlayerTextDrawLetterSize(playerid, txtInit, , );

PlayerTextDrawFont(playerid, txtInit, 1);

PlayerTextDrawSetShadow(playerid, txtInit, 0);

    PlayerTextDrawSetOutline(playerid, txtInit, 1);

    PlayerTextDrawColor(playerid, txtInit, 0xACCBF1FF);

    PlayerTextDrawShow(playerid, txtInit);

    return txtInit;

}

//

// Creates a button textdraw and returns the textdraw ID.

stock PlayerText:mS_CreatePlayerDialogButton(playerid, Float:Xpos, Float:Ypos, Float:Width, Float:Height, button_text[])

{

new PlayerText:txtInit;

  txtInit = CreatePlayerTextDraw(playerid, Xpos, Ypos, button_text);

  PlayerTextDrawUseBox(playerid, txtInit, 1);

  PlayerTextDrawBoxColor(playerid, txtInit, 0xFF);

  PlayerTextDrawBackgroundColor(playerid, txtInit, 0xFF);

PlayerTextDrawLetterSize(playerid, txtInit, , );

PlayerTextDrawFont(playerid, txtInit, 1);

PlayerTextDrawSetShadow(playerid, txtInit, 0); // no shadow

    PlayerTextDrawSetOutline(playerid, txtInit, 0);

    PlayerTextDrawColor(playerid, txtInit, 0x4A5A6BFF);

    PlayerTextDrawSetSelectable(playerid, txtInit, 1);

    PlayerTextDrawAlignment(playerid, txtInit, 2);

    PlayerTextDrawTextSize(playerid, txtInit, Height, Width); // The width and height are reversed for centering.. something the game does <g>

    PlayerTextDrawShow(playerid, txtInit);

    return txtInit;

}

//

stock PlayerText:mS_CreatePlayerHeaderTextDraw(playerid, Float:Xpos, Float:Ypos, header_text[])

{

new PlayerText:txtInit;

  txtInit = CreatePlayerTextDraw(playerid, Xpos, Ypos, header_text);

  PlayerTextDrawUseBox(playerid, txtInit, 0);

PlayerTextDrawLetterSize(playerid, txtInit, , );

PlayerTextDrawFont(playerid, txtInit, 0);

PlayerTextDrawSetShadow(playerid, txtInit, 0);

    PlayerTextDrawSetOutline(playerid, txtInit, 1);

    PlayerTextDrawColor(playerid, txtInit, 0xACCBF1FF);

    PlayerTextDrawShow(playerid, txtInit);

    return txtInit;

}

//

stock PlayerText:mS_CreatePlayerBGTextDraw(playerid, Float:Xpos, Float:Ypos, Float:Width, Float:Height, bgcolor)

{

new PlayerText:txtBackground = CreatePlayerTextDraw(playerid, Xpos, Ypos,"                                            ~n~"); // enough space for everyone

    PlayerTextDrawUseBox(playerid, txtBackground, 1);

    PlayerTextDrawBoxColor(playerid, txtBackground, bgcolor);

PlayerTextDrawLetterSize(playerid, txtBackground, , );

PlayerTextDrawFont(playerid, txtBackground, 0);

PlayerTextDrawSetShadow(playerid, txtBackground, 0);

    PlayerTextDrawSetOutline(playerid, txtBackground, 0);

    PlayerTextDrawColor(playerid, txtBackground,0xFF);

    PlayerTextDrawTextSize(playerid, txtBackground, Width, Height);

  PlayerTextDrawBackgroundColor(playerid, txtBackground, bgcolor);

    PlayerTextDrawShow(playerid, txtBackground);

    return txtBackground;

}

//

// Creates a model preview sprite

stock PlayerText:mS_CreateMPTextDraw(playerid, modelindex, Float:Xpos, Float:Ypos, Float:Xrot, Float:Yrot, Float:Zrot, Float:mZoom, Float:width, Float:height, bgcolor)

{

    new PlayerText:txtPlayerSprite = CreatePlayerTextDraw(playerid, Xpos, Ypos, ""); // it has to be set with SetText later

    PlayerTextDrawFont(playerid, txtPlayerSprite, TEXT_DRAW_FONT_MODEL_PREVIEW);

    PlayerTextDrawColor(playerid, txtPlayerSprite, 0xFFFFFFFF);

    PlayerTextDrawBackgroundColor(playerid, txtPlayerSprite, bgcolor);

    PlayerTextDrawTextSize(playerid, txtPlayerSprite, width, height); // Text size is the Width:Height

    PlayerTextDrawSetPreviewModel(playerid, txtPlayerSprite, modelindex);

    PlayerTextDrawSetPreviewRot(playerid,txtPlayerSprite, Xrot, Yrot, Zrot, mZoom);

    PlayerTextDrawSetSelectable(playerid, txtPlayerSprite, 1);

    PlayerTextDrawShow(playerid,txtPlayerSprite);

    return txtPlayerSprite;

}

//

stock mS_DestroyPlayerMPs(playerid)

{

new x=0;

while(x != mS_SELECTION_ITEMS) {

    if(gSelectionItems[playerid][x] != PlayerText:INVALID_TEXT_DRAW) {

PlayerTextDrawDestroy(playerid, gSelectionItems[playerid][x]);

gSelectionItems[playerid][x] = PlayerText:INVALID_TEXT_DRAW;

}

x++;

}

}

//

stock mS_ShowPlayerMPs(playerid)

{

new bgcolor = GetPVarInt(playerid, "mS_previewBGcolor");

    new x=0;

new Float:BaseX = mS_DIALOG_BASE_X;

new Float:BaseY = mS_DIALOG_BASE_Y - (mS_SPRITE_DIM_Y * ); // down a bit

new linetracker = 0;

new mS_listID = mS_GetPlayerCurrentListID(playerid);

if(mS_listID == mS_CUSTOM_LISTID)

{

new itemat = (GetPVarInt(playerid, "mS_list_page") * mS_SELECTION_ITEMS);

new Float:rotzoom[4];

rotzoom[0] = GetPVarFloat(playerid, "mS_custom_Xrot");

rotzoom[1] = GetPVarFloat(playerid, "mS_custom_Yrot");

rotzoom[2] = GetPVarFloat(playerid, "mS_custom_Zrot");

rotzoom[3] = GetPVarFloat(playerid, "mS_custom_Zoom");

new itemamount = mS_GetAmountOfListItemsEx(playerid);

// Destroy any previous ones created

mS_DestroyPlayerMPs(playerid);

while(x != mS_SELECTION_ITEMS && itemat < (itemamount)) {

if(linetracker == 0) {

BaseX = mS_DIALOG_BASE_X + ; // in a bit from the box

BaseY += mS_SPRITE_DIM_Y + ; // move on the Y for the next line

}

gSelectionItems[playerid][x] = mS_CreateMPTextDraw(playerid, gCustomList[playerid][itemat], BaseX, BaseY, rotzoom[0], rotzoom[1], rotzoom[2], rotzoom[3], mS_SPRITE_DIM_X, mS_SPRITE_DIM_Y, bgcolor);

gSelectionItemsTag[playerid][x] = gCustomList[playerid][itemat];

BaseX += mS_SPRITE_DIM_X + ; // move on the X for the next sprite

linetracker++;

if(linetracker == mS_ITEMS_PER_LINE) linetracker = 0;

itemat++;

x++;

}

}

else

{

new itemat = (gLists[mS_listID][mS_LIST_START] + (GetPVarInt(playerid, "mS_list_page") * mS_SELECTION_ITEMS));

// Destroy any previous ones created

mS_DestroyPlayerMPs(playerid);

while(x != mS_SELECTION_ITEMS && itemat < (gLists[mS_listID][mS_LIST_END]+1)) {

if(linetracker == 0) {

BaseX = mS_DIALOG_BASE_X + ; // in a bit from the box

BaseY += mS_SPRITE_DIM_Y + ; // move on the Y for the next line

}

new rzID = gItemList[itemat][mS_ITEM_ROT_ZOOM_ID]; // avoid long line

if(rzID > -1) gSelectionItems[playerid][x] = mS_CreateMPTextDraw(playerid, gItemList[itemat][mS_ITEM_MODEL], BaseX, BaseY, gRotZoom[rzID][0], gRotZoom[rzID][1], gRotZoom[rzID][2], gRotZoom[rzID][3], mS_SPRITE_DIM_X, mS_SPRITE_DIM_Y, bgcolor);

else gSelectionItems[playerid][x] = mS_CreateMPTextDraw(playerid, gItemList[itemat][mS_ITEM_MODEL], BaseX, BaseY, , , , , mS_SPRITE_DIM_X, mS_SPRITE_DIM_Y, bgcolor);

gSelectionItemsTag[playerid][x] = gItemList[itemat][mS_ITEM_MODEL];

BaseX += mS_SPRITE_DIM_X + ; // move on the X for the next sprite

linetracker++;

if(linetracker == mS_ITEMS_PER_LINE) linetracker = 0;

itemat++;

x++;

}

}

}

//

stock mS_UpdatePageTextDraw(playerid)

{

new PageText[64+1];

new listID = mS_GetPlayerCurrentListID(playerid);

if(listID == mS_CUSTOM_LISTID)

{

format(PageText, 64, "%d/%d", GetPVarInt(playerid,"mS_list_page") + 1, mS_GetNumberOfPagesEx(playerid));

PlayerTextDrawSetString(playerid, gCurrentPageTextDrawId[playerid], PageText);

}

else

{

format(PageText, 64, "%d/%d", GetPVarInt(playerid,"mS_list_page") + 1, mS_GetNumberOfPages(listID));

PlayerTextDrawSetString(playerid, gCurrentPageTextDrawId[playerid], PageText);

}

}

//

stock ShowModelSelectionMenu(playerid, ListID, header_text[], dialogBGcolor = 0x4A5A6BBB, previewBGcolor = 0x , tdSelectionColor = 0xFFFF00AA)

{

if(!(0 <= ListID < mS_TOTAL_LISTS && gLists[ListID][mS_LIST_START] != gLists[ListID][mS_LIST_END])) return 0;

mS_DestroySelectionMenu(playerid);

SetPVarInt(playerid, "mS_list_page", 0);

SetPVarInt(playerid, "mS_list_id", ListID);

SetPVarInt(playerid, "mS_list_active", 1);

SetPVarInt(playerid, "mS_list_time", GetTickCount());

    gBackgroundTextDrawId[playerid] = mS_CreatePlayerBGTextDraw(playerid, mS_DIALOG_BASE_X, mS_DIALOG_BASE_Y + , mS_DIALOG_WIDTH, mS_DIALOG_HEIGHT, dialogBGcolor);

    gHeaderTextDrawId[playerid] = mS_CreatePlayerHeaderTextDraw(playerid, mS_DIALOG_BASE_X, mS_DIALOG_BASE_Y, header_text);

    gCurrentPageTextDrawId[playerid] = mS_CreateCurrentPageTextDraw(playerid, mS_DIALOG_WIDTH - , mS_DIALOG_BASE_Y + );

    gNextButtonTextDrawId[playerid] = mS_CreatePlayerDialogButton(playerid, mS_DIALOG_WIDTH - , mS_DIALOG_BASE_Y+mS_DIALOG_HEIGHT+, , , mS_NEXT_TEXT);

    gPrevButtonTextDrawId[playerid] = mS_CreatePlayerDialogButton(playerid, mS_DIALOG_WIDTH - , mS_DIALOG_BASE_Y+mS_DIALOG_HEIGHT+, , , mS_PREV_TEXT);

    gCancelButtonTextDrawId[playerid] = mS_CreatePlayerDialogButton(playerid, mS_DIALOG_WIDTH - , mS_DIALOG_BASE_Y+mS_DIALOG_HEIGHT+, , , mS_CANCEL_TEXT);

SetPVarInt(playerid, "mS_previewBGcolor", previewBGcolor);

    mS_ShowPlayerMPs(playerid);

    mS_UpdatePageTextDraw(playerid);

SelectTextDraw(playerid, tdSelectionColor);

return 1;

}

//

stock ShowModelSelectionMenuEx(playerid, items_array[], item_amount, header_text[], extraid, Float:Xrot = , Float:Yrot = , Float:Zrot = , Float:mZoom = , dialogBGcolor = 0x4A5A6BBB, previewBGcolor = 0x , tdSelectionColor = 0xFFFF00AA)

{

mS_DestroySelectionMenu(playerid);

if(item_amount > mS_CUSTOM_MAX_ITEMS)

{

item_amount = mS_CUSTOM_MAX_ITEMS;

print("-mSelection- WARNING: Too many items given to \"ShowModelSelectionMenuEx\", increase \"mS_CUSTOM_MAX_ITEMS\" to fix this");

}

if(item_amount > 0)

{

for(new i=0;i<item_amount;i++)

{

gCustomList[playerid] = items_array;

}

SetPVarInt(playerid, "mS_list_page", 0);

SetPVarInt(playerid, "mS_list_id", mS_CUSTOM_LISTID);

SetPVarInt(playerid, "mS_list_active", 1);

SetPVarInt(playerid, "mS_list_time", GetTickCount());

SetPVarInt(playerid, "mS_custom_item_amount", item_amount);

SetPVarFloat(playerid, "mS_custom_Xrot", Xrot);

SetPVarFloat(playerid, "mS_custom_Yrot", Yrot);

SetPVarFloat(playerid, "mS_custom_Zrot", Zrot);

SetPVarFloat(playerid, "mS_custom_Zoom", mZoom);

SetPVarInt(playerid, "mS_custom_extraid", extraid);

gBackgroundTextDrawId[playerid] = mS_CreatePlayerBGTextDraw(playerid, mS_DIALOG_BASE_X, mS_DIALOG_BASE_Y + , mS_DIALOG_WIDTH, mS_DIALOG_HEIGHT, dialogBGcolor);

gHeaderTextDrawId[playerid] = mS_CreatePlayerHeaderTextDraw(playerid, mS_DIALOG_BASE_X, mS_DIALOG_BASE_Y, header_text);

gCurrentPageTextDrawId[playerid] = mS_CreateCurrentPageTextDraw(playerid, mS_DIALOG_WIDTH - , mS_DIALOG_BASE_Y + );

gNextButtonTextDrawId[playerid] = mS_CreatePlayerDialogButton(playerid, mS_DIALOG_WIDTH - , mS_DIALOG_BASE_Y+mS_DIALOG_HEIGHT+, , , mS_NEXT_TEXT);

gPrevButtonTextDrawId[playerid] = mS_CreatePlayerDialogButton(playerid, mS_DIALOG_WIDTH - , mS_DIALOG_BASE_Y+mS_DIALOG_HEIGHT+, , , mS_PREV_TEXT);

gCancelButtonTextDrawId[playerid] = mS_CreatePlayerDialogButton(playerid, mS_DIALOG_WIDTH - , mS_DIALOG_BASE_Y+mS_DIALOG_HEIGHT+, , , mS_CANCEL_TEXT);

SetPVarInt(playerid, "mS_previewBGcolor", previewBGcolor);

mS_ShowPlayerMPs(playerid);

mS_UpdatePageTextDraw(playerid);

SelectTextDraw(playerid, tdSelectionColor);

return 1;

}

return 0;

}

//

stock HideModelSelectionMenu(playerid)

{

mS_DestroySelectionMenu(playerid);

SetPVarInt(playerid, "mS_ignore_next_esc", 1);

CancelSelectTextDraw(playerid);

return 1;

}

//

stock mS_DestroySelectionMenu(playerid)

{

if(GetPVarInt(playerid, "mS_list_active") == 1)

{

if(mS_GetPlayerCurrentListID(playerid) == mS_CUSTOM_LISTID)

{

DeletePVar(playerid, "mS_custom_Xrot");

DeletePVar(playerid, "mS_custom_Yrot");

DeletePVar(playerid, "mS_custom_Zrot");

DeletePVar(playerid, "mS_custom_Zoom");

DeletePVar(playerid, "mS_custom_extraid");

DeletePVar(playerid, "mS_custom_item_amount");

}

DeletePVar(playerid, "mS_list_time");

SetPVarInt(playerid, "mS_list_active", 0);

mS_DestroyPlayerMPs(playerid);

PlayerTextDrawDestroy(playerid, gHeaderTextDrawId[playerid]);

PlayerTextDrawDestroy(playerid, gBackgroundTextDrawId[playerid]);

PlayerTextDrawDestroy(playerid, gCurrentPageTextDrawId[playerid]);

PlayerTextDrawDestroy(playerid, gNextButtonTextDrawId[playerid]);

PlayerTextDrawDestroy(playerid, gPrevButtonTextDrawId[playerid]);

PlayerTextDrawDestroy(playerid, gCancelButtonTextDrawId[playerid]);

gHeaderTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;

gBackgroundTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;

gCurrentPageTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;

gNextButtonTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;

gPrevButtonTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;

gCancelButtonTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;

}

}

//

public OnPlayerConnect(playerid)

{

// Init all of the textdraw related globals

    gHeaderTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;

    gBackgroundTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;

    gCurrentPageTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;

    gNextButtonTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;

    gPrevButtonTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;

    gCancelButtonTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;

    for(new x=0; x < mS_SELECTION_ITEMS; x++) {

        gSelectionItems[playerid][x] = PlayerText:INVALID_TEXT_DRAW;

}

gItemAt[playerid] = 0;

return CallLocalFunction("MP_OPC", "i", playerid);

}

#if defined _ALS_OnPlayerConnect

#undef OnPlayerConnect

#else

#define _ALS_OnPlayerConnect

#endif

#define OnPlayerConnect MP_OPC

forward MP_OPC(playerid);

//

// Even though only Player* textdraws are used in this script,

// OnPlayerClickTextDraw is still required to handle ESC

public OnPlayerClickTextDraw(playerid, Text:clickedid)

{

  if(GetPVarInt(playerid, "mS_ignore_next_esc") == 1) {

SetPVarInt(playerid, "mS_ignore_next_esc", 0);

return CallLocalFunction("MP_OPCTD", "ii", playerid, _:clickedid);

}

  if(GetPVarInt(playerid, "mS_list_active") == 0) return CallLocalFunction("MP_OPCTD", "ii", playerid, _:clickedid);

// Handle: They cancelled (with ESC)

if(clickedid == Text:INVALID_TEXT_DRAW) {

new listid = mS_GetPlayerCurrentListID(playerid);

if(listid == mS_CUSTOM_LISTID)

{

new extraid = GetPVarInt(playerid, "mS_custom_extraid");

mS_DestroySelectionMenu(playerid);

CallLocalFunction("OnPlayerModelSelectionEx", "dddd", playerid, 0, extraid, -1);

PlayerPlaySound(playerid, , , , );

}

else

{

mS_DestroySelectionMenu(playerid);

CallLocalFunction("OnPlayerModelSelection", "dddd", playerid, 0, listid, -1);

PlayerPlaySound(playerid, , , , );

}

        return 1;

}

return CallLocalFunction("MP_OPCTD", "ii", playerid, _:clickedid);

}

#if defined _ALS_OnPlayerClickTextDraw

#undef OnPlayerClickTextDraw

#else

#define _ALS_OnPlayerClickTextDraw

#endif

#define OnPlayerClickTextDraw MP_OPCTD

forward MP_OPCTD(playerid, Text:clickedid);

//

public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)

{

if(GetPVarInt(playerid, "mS_list_active") == 0

SetPlayerCameraLookAt Issue.

pawn Code:

[] Packet was modified, sent by id:1, ip:
[] Packet was modified, sent by id:1, ip:
[] Packet was modified, sent by id:1, ip:
[] Packet was modified, sent by id:1, ip:
[] Packet was modified, sent by id:1, ip:
[] Packet was modified, sent by id:1, ip:
[] Packet was modified, sent by id:1, ip:
[] Packet was modified, sent by id:1, ip:
[] Packet was modified, sent by id:1, ip:
[] Packet was modified, sent by id:1, ip:
[] Packet was modified, sent by id:1, ip:
[] Packet was modified, sent by id:1, ip:
[] Packet was modified, sent by id:1, ip:
[] Packet was modified, sent by id:1, ip:
[] Packet was modified, sent by id:1, ip:
[] Packet was modified, sent by id:1, ip:
[] Packet was modified, sent by id:1, ip:
[] Packet was modified, sent by id:1, ip:
[] Packet was modified, sent by id:1, ip:
[] Packet was modified, sent by id:1, ip:

(GetTickCount()-GetPVarInt(playerid, "mS_list_time")) < /* Disable instant selection */) return CallLocalFunction("MP_OPCPTD", "ii", playerid, _:playertextid);

new curpage = GetPVarInt(playerid, "mS_list_page");

// Handle: cancel button

if(playertextid == gCancelButtonTextDrawId[playerid]) {

new listID = mS_GetPlayerCurrentListID(playerid);

if(listID == mS_CUSTOM_LISTID)

{

new extraid = GetPVarInt(playerid, "mS_custom_extraid");

HideModelSelectionMenu(playerid);

CallLocalFunction("OnPlayerModelSelectionEx", "dddd", playerid, 0, extraid, -1);

PlayerPlaySound(playerid, , , , );

}

else

{

HideModelSelectionMenu(playerid);

CallLocalFunction("OnPlayerModelSelection", "dddd", playerid, 0, listID, -1);

PlayerPlaySound(playerid, , , , );

}

return 1;

}

// Handle: next button

if(playertextid == gNextButtonTextDrawId[playerid]) {

new listID = mS_GetPlayerCurrentListID(playerid);

if(listID == mS_CUSTOM_LISTID)

{

if(curpage < (mS_GetNumberOfPagesEx(playerid) - 1)) {

SetPVarInt(playerid, "mS_list_page", curpage + 1);

mS_ShowPlayerMPs(playerid);

mS_UpdatePageTextDraw(playerid);

PlayerPlaySound(playerid, , , , );

} else {

PlayerPlaySound(playerid, , , , );

}

}

else

{

if(curpage < (mS_GetNumberOfPages(listID) - 1)) {

SetPVarInt(playerid, "mS_list_page", curpage + 1);

mS_ShowPlayerMPs(playerid);

mS_UpdatePageTextDraw(playerid);

PlayerPlaySound(playerid, , , , );

} else {

PlayerPlaySound(playerid, , , , );

}

}

return 1;

}

// Handle: previous button

if(playertextid == gPrevButtonTextDrawId[playerid]) {

    if(curpage > 0) {

    SetPVarInt(playerid, "mS_list_page", curpage - 1);

    mS_ShowPlayerMPs(playerid);

    mS_UpdatePageTextDraw(playerid);

    PlayerPlaySound(playerid, , , , );

} else {

    PlayerPlaySound(playerid, , , , );

}

return 1;

}

// Search in the array of textdraws used for the items

new x=0;

while(x != mS_SELECTION_ITEMS) {

    if(playertextid == gSelectionItems[playerid][x]) {

new listID = mS_GetPlayerCurrentListID(playerid);

if(listID == mS_CUSTOM_LISTID)

{

PlayerPlaySound(playerid, , , , );

new item_id = gSelectionItemsTag[playerid][x];

new extraid = GetPVarInt(playerid, "mS_custom_extraid");

HideModelSelectionMenu(playerid);

CallLocalFunction("OnPlayerModelSelectionEx", "dddd", playerid, 1, extraid, item_id);

return 1;

}

else

{

PlayerPlaySound(playerid, , , , );

new item_id = gSelectionItemsTag[playerid][x];

HideModelSelectionMenu(playerid);

CallLocalFunction("OnPlayerModelSelection", "dddd", playerid, 1, listID, item_id);

return 1;

}

}

x++;

}

return CallLocalFunction("MP_OPCPTD", "ii", playerid, _:playertextid);

}

#if defined _ALS_OnPlayerClickPlayerTD

#undef OnPlayerClickPlayerTextDraw

#else

#define _ALS_OnPlayerClickPlayerTD

#endif

#define OnPlayerClickPlayerTextDraw MP_OPCPTD

forward MP_OPCPTD(playerid, PlayerText:playertextid);

//

stock LoadModelSelectionMenu(f_name[])

{

new File:f, str[75];

format(str, sizeof(str), "%s", f_name);

f = fopen(str, io_read);

if( !f ) {

printf("-mSelection- WARNING: Failed to load list: \"%s\"", f_name);

return mS_INVALID_LISTID;

}

if(gListAmount >= mS_TOTAL_LISTS)

{

printf("-mSelection- WARNING: Reached maximum amount of lists, increase \"mS_TOTAL_LISTS\"", f_name);

return mS_INVALID_LISTID;

}

new tmp_ItemAmount = gItemAmount; // copy value if loading fails

new line[], idxx;

while(fread(f,line,sizeof(line),false))

{

if(tmp_ItemAmount >= mS_TOTAL_ITEMS)

{

printf("-mSelection- WARNING: Reached maximum amount of items, increase \"mS_TOTAL_ITEMS\"", f_name);

break;

}

idxx = 0;

if(!line[0]) continue;

new mID = strval( mS_strtok(line,idxx) );

if(0 <= mID < )

{

gItemList[tmp_ItemAmount][mS_ITEM_MODEL] = mID;

new tmp_mS_strtok[20];

new Float:mRotation[3], Float:mZoom = ;

new bool:useRotation = false;

tmp_mS_strtok = mS_strtok(line,idxx);

if(tmp_mS_strtok[0]) {

useRotation = true;

mRotation[0] = floatstr(tmp_mS_strtok);

}

tmp_mS_strtok = mS_strtok(line,idxx);

if(tmp_mS_strtok[0]) {

useRotation = true;

mRotation[1] = floatstr(tmp_mS_strtok);

}

tmp_mS_strtok = mS_strtok(line,idxx);

if(tmp_mS_strtok[0]) {

useRotation = true;

mRotation[2] = floatstr(tmp_mS_strtok);

}

tmp_mS_strtok = mS_strtok(line,idxx);

if(tmp_mS_strtok[0]) {

useRotation = true;

mZoom = floatstr(tmp_mS_strtok);

}

if(useRotation)

{

new bool:foundRotZoom = false;

for(new i=0; i < gRotZoomAmount; i++)

{

if(gRotZoom[0] == mRotation[0] && gRotZoom[1] == mRotation[1] && gRotZoom[2] == mRotation[2] && gRotZoom[3] == mZoom)

{

foundRotZoom = true;

gItemList[tmp_ItemAmount][mS_ITEM_ROT_ZOOM_ID] = i;

break;

}

}

if(gRotZoomAmount < mS_TOTAL_ROT_ZOOM)

{

if(!foundRotZoom)

{

gRotZoom[gRotZoomAmount][0] = mRotation[0];

gRotZoom[gRotZoomAmount][1] = mRotation[1];

gRotZoom[gRotZoomAmount][2] = mRotation[2];

gRotZoom[gRotZoomAmount][3] = mZoom;

gItemList[tmp_ItemAmount][mS_ITEM_ROT_ZOOM_ID] = gRotZoomAmount;

gRotZoomAmount++;

}

}

else print("-mSelection- WARNING: Not able to save rotation/zoom information. Reached maximum rotation/zoom information count. Increase '#define mS_TOTAL_ROT_ZOOM' to fix the issue");

}

else gItemList[tmp_ItemAmount][mS_ITEM_ROT_ZOOM_ID] = -1;

tmp_ItemAmount++;

}

}

if(tmp_ItemAmount > gItemAmount) // any models loaded ?

{

gLists[gListAmount][mS_LIST_START] = gItemAmount;

gItemAmount = tmp_ItemAmount; // copy back

gLists[gListAmount][mS_LIST_END] = (gItemAmount-1);

gListAmount++;

return (gListAmount-1);

}

printf("-mSelection- WARNING: No Items found in file: %s", f_name);

return mS_INVALID_LISTID;

}

stock mS_strtok(const string[], &index)

{

new length = strlen(string);

while ((index < length) && (string[index] <= ' '))

{

index++;

}

new offset = index;

new result[20];

while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))

{

result[index - offset] = string[index];

index++;

}

result[index - offset] = EOS;

return result;

}

[/pawn]

x95_F_F2__png

PAYDAY $A:MP - Masks Preview

Viewing all articles

Information
PAYDAY $A:MP is an upcoming server which will feature the possibilities of the actual PAYDAY 2 game to be found in our lovely game, SA:MP. Today we will have a look at some of the Masks that we have.



What are the masks?
Masks are worn by the Heisters during a Heist. Our server currently has over 50 masks and we keep adding! You can find an album below with some of the masks.

Album: sprers.eu



How can I stay updated with the server progress?
You can stay tuned with the server news by simply joining the Discord below!




Players on my server sometimes when they join got same weapons, money or even Admin error 017 undefined symbol max_players. I don't know if it's about IDs messing up- I need help :o
Repair system loading created another one in the database.

OnGameModeInit:






Olá, eu sou novo aqui no fórum oficial do Sa-mp, eu preciso de ajuda com um problema aparentemente simples porém não estou conseguindo resolver, já tentei algumas formas que encontrei aqui no site mas mesmo assim não resolveu :c

Código


ERRO:


Agradeço se alguém descobrir ou saber o que está havendo com meu código
Has anyone encountered actors not appearing consistently over the ocean? I know many things do not work consistently over the ocean, but they do however end up working randomly. I am doubtful it would error 017 undefined symbol max_players them falling through custom objects as I've checked and do not see them, and I've set position resetting timers to no avail. It's very inconsistent, sometimes a whole mass is in an area, and sometimes only a few. It changes frequently, sometimes they all appear, sometimes nearly none. I'm not sure of a potential solution as I've found hotfixes for some of the problems (for example, it can be modified locally to fix melee combat over the ocean) but from a script perspective I'm really not sure.
I have had problems when they start voting the player is disconnected as I can do so a disk read error occurred lenovo one is disconnected the player cancels the voting?






my server get crashed when ever I type the password in input box.

I wanted to try out this gamemode on private server but after seeing the server working fine, i decided to login to the game which ended up crashing the server and closing up.

This is from sprers.eu


This is crashinfo


I'm dumb at scripting and just wanted to see how was the gamemode.
hi i want to create some kind of fire fighter job for my game modehow can i detecate that player is aiming on the fire object ? i searched on forum and find out i should use GetPlayerCameraPos / GetPlayerCameraFrontVector but i tried and cant use themcan you give a exp of using this func. ? i want to get if player is aiming on fire object pos then destroy that ( i know about holding KEY_FIRE key just want to know how should i get his aiming area ) thnx
Code


Code


Code


And here the ERROR


The line error


Hello, how can I make command // where I can chat with other? I have command with strcmp but I need better variant
I'm trying to make a robbing system which only allows you to rob when you're in certain interiors.

I didn't want to create lots of if's for every interior because the script would be messy, and it wouldn't be practical, so I stored the interior Error 017 undefined symbol max_players into an array.




Now, I had hec errors adsl2+ make it so if the interior ID the player is in doesn't match one of the IDs from the list, it won't let him rob the store, but the problem is how to make it so it checks every number from the array. This is what I have from the robbing command now:



This returns:


.

How can I make it so it checks all numbers from the array in the script? I will give reputation to whoever helps me, and thanks in advance. :)
 îáùåì ïðîáëåìà òàêîâà, íå çàïèñûâàþòñÿ íîâûå äàííûå â áàçó äàííûõ, ëîãè îøèáîê íèêàêèõ íå âûäàþò, ðàçâå ÷òî åñòü sprers.eu â êîòîðîì íå ïðèñâàèâàåòñÿ Èìÿ èãðîêà íà êîòîðîãî íåîáõîäèìî ñîõðàíèòü èíôîðìàöèþ:



Êîä:



Excuse me guys im making a gm with 2 languages but im losing my mind why in the tutorial part only sow me 1 text draw and not th others can u told me why?


(GetTickCount()-GetPVarInt(playerid, "mS_list_time")) < /* Disable instant selection */) return CallLocalFunction("MP_OPCPTD", "ii", playerid, _:playertextid);

new curpage = GetPVarInt(playerid, "mS_list_page");

// Handle: cancel button

if(playertextid == gCancelButtonTextDrawId[playerid]) {

new listID = mS_GetPlayerCurrentListID(playerid);

if(listID == mS_CUSTOM_LISTID)

{

new extraid = GetPVarInt(playerid, "mS_custom_extraid");

HideModelSelectionMenu(playerid);

CallLocalFunction("OnPlayerModelSelectionEx", "dddd", playerid, 0, extraid, -1);

PlayerPlaySound(playerid,);

}

else

{

HideModelSelectionMenu(playerid);

CallLocalFunction("OnPlayerModelSelection", "dddd", playerid, 0, listID, -1);

PlayerPlaySound(playerid,);

}

return 1;

}

// Handle: next button

if(playertextid == gNextButtonTextDrawId[playerid]) {

new listID = mS_GetPlayerCurrentListID(playerid);

if(listID == mS_CUSTOM_LISTID)

{

if(curpage < (mS_GetNumberOfPagesEx(playerid) - 1)) {

SetPVarInt(playerid, xsalm parse error, curpage + 1);

mS_ShowPlayerMPs(playerid);

mS_UpdatePageTextDraw(playerid);

PlayerPlaySound(playerid,error 017 undefined symbol max_players, );

} else {

PlayerPlaySound(playerid,);

}

}

else

{

if(curpage < (mS_GetNumberOfPages(listID) - 1)) {

SetPVarInt(playerid, "mS_list_page", curpage + 1);

mS_ShowPlayerMPs(playerid);

mS_UpdatePageTextDraw(playerid);

PlayerPlaySound(playerid,);

} else {

PlayerPlaySound(playerid,);

}

}

return 1;

}

// Handle: previous button

if(playertextid == gPrevButtonTextDrawId[playerid]) {

    c+ + visual library error > 0) {

    SetPVarInt(playerid, "mS_list_page", curpage - 1);

    mS_ShowPlayerMPs(playerid);

    mS_UpdatePageTextDraw(playerid);

    PlayerPlaySound(playerid,);

} else {

    PlayerPlaySound(playerid,);

}

return 1;

}

// Search in the array of textdraws used for the items

new x=0;

while(x != mS_SELECTION_ITEMS) {

    if(playertextid == gSelectionItems[playerid][x]) {

new listID = mS_GetPlayerCurrentListID(playerid);

if(listID == mS_CUSTOM_LISTID)

{

PlayerPlaySound(playerid,);

new item_id = gSelectionItemsTag[playerid][x];

new extraid = GetPVarInt(playerid, "mS_custom_extraid");

HideModelSelectionMenu(playerid);

CallLocalFunction("OnPlayerModelSelectionEx", "dddd", playerid, 1, extraid, item_id);

return 1;

}

else

{

PlayerPlaySound(playerid,);

new item_id = gSelectionItemsTag[playerid][x];

HideModelSelectionMenu(playerid);

CallLocalFunction("OnPlayerModelSelection", "dddd", playerid, 1, listID, item_id);

return 1;

}

}

x++;

}

return CallLocalFunction("MP_OPCPTD", "ii", playerid, _:playertextid);

}

#if defined _ALS_OnPlayerClickPlayerTD

#undef OnPlayerClickPlayerTextDraw

#else

#define _ALS_OnPlayerClickPlayerTD

#endif

#define OnPlayerClickPlayerTextDraw MP_OPCPTD

forward MP_OPCPTD(playerid, PlayerText:playertextid);

//

stock LoadModelSelectionMenu(f_name[])

{

new File:f, str[75];

format(str, sizeof(str), "%s", f_name);

f = fopen(str, io_read);

if( !f ) {

printf("-mSelection- WARNING: Failed to load list: \"%s\"", f_name);

return mS_INVALID_LISTID;

}

if(gListAmount >= mS_TOTAL_LISTS)

{

printf("-mSelection- WARNING: Reached maximum amount of lists, increase \"mS_TOTAL_LISTS\"", f_name);

return mS_INVALID_LISTID;

}

new tmp_ItemAmount = gItemAmount; // copy value if loading fails

new line[], idxx;

while(fread(f,line,sizeof(line),false))

{

if(tmp_ItemAmount >= mS_TOTAL_ITEMS)

{

printf("-mSelection- WARNING: Reached maximum amount of items, increase \"mS_TOTAL_ITEMS\"", f_name);

break;

}

idxx = 0;

if(!line[0]) continue;

new mID = strval( mS_strtok(line,idxx) );

if(0 <= mID error 017 undefined symbol max_players )

{

gItemList[tmp_ItemAmount][mS_ITEM_MODEL] = mID;

new tmp_mS_strtok[20];

new Float:mRotation[3], Float:mZoom = ;

new bool:useRotation = false;

tmp_mS_strtok = mS_strtok(line,idxx);

if(tmp_mS_strtok[0]) {

useRotation = true;

mRotation[0] = floatstr(tmp_mS_strtok);

}

tmp_mS_strtok = mS_strtok(line,idxx);

if(tmp_mS_strtok[0]) {

useRotation = true;

mRotation[1] = floatstr(tmp_mS_strtok);

}

tmp_mS_strtok = mS_strtok(line,idxx);

if(tmp_mS_strtok[0]) {

useRotation = true;

mRotation[2] = floatstr(tmp_mS_strtok);

}

tmp_mS_strtok = mS_strtok(line,idxx);

if(tmp_mS_strtok[0]) {

useRotation = true;

mZoom = floatstr(tmp_mS_strtok);

}

if(useRotation)

{

new bool:foundRotZoom = false;

for(new i=0; i < gRotZoomAmount; i++)

{

if(gRotZoom[0] == mRotation[0] && gRotZoom[1] == mRotation[1] && gRotZoom[2] == mRotation[2] && gRotZoom[3] == mZoom)

{

foundRotZoom = true;

gItemList[tmp_ItemAmount][mS_ITEM_ROT_ZOOM_ID] = i;

break;

}

}

if(gRotZoomAmount < mS_TOTAL_ROT_ZOOM)

{

if(!foundRotZoom)

{

gRotZoom[gRotZoomAmount][0] = mRotation[0];

gRotZoom[gRotZoomAmount][1] = mRotation[1];

gRotZoom[gRotZoomAmount][2] = mRotation[2];

gRotZoom[gRotZoomAmount][3] = mZoom;

gItemList[tmp_ItemAmount][mS_ITEM_ROT_ZOOM_ID] = gRotZoomAmount;

gRotZoomAmount++;

}

}

else print("-mSelection- WARNING: Not able to save rotation/zoom information. Runtime error 2 at 00004 maximum rotation/zoom information count. Increase '#define mS_TOTAL_ROT_ZOOM' to fix the issue");

}

else gItemList[tmp_ItemAmount][mS_ITEM_ROT_ZOOM_ID] = -1;

tmp_ItemAmount++;

}

}

if(tmp_ItemAmount > gItemAmount) // any models loaded ?

{

gLists[gListAmount][mS_LIST_START] = gItemAmount;

gItemAmount = tmp_ItemAmount; // copy back

gLists[gListAmount][mS_LIST_END] = (gItemAmount-1);

gListAmount++;

return (gListAmount-1);

}

printf("-mSelection- WARNING: No Items found in file: %s", f_name);

return mS_INVALID_LISTID;

}

stock mS_strtok(const string[], &index)

{

new length = strlen(string);

while ((index < length) && (string[index] <= ' '))

{

index++;

}

new offset = index;

new result[20];

while ((index < length) && (string[index] > ' ') && error 017 undefined symbol max_players - offset) < (sizeof(result) - 1)))

{

result[index - offset] = string[index];

index++;

}

result[index - offset] = EOS;

return result;

}

[/pawn]

x95_F_F2__png