18.10.2009, 09:02
(
Последний раз редактировалось [03]Garsino; 19.10.2011 в 19:15.
)
Suggestions for functions
pawn Код:
native Attach3DTextLabelToObject(Text3D:id, objectid, Float:OffsetX, Float:OffsetY, Float:OffsetZ);
native TextDrawFadeInOut(Text:text, fade, time);
native TogglePlayerInteriorEnterExits(playerid, entrance, bool:toggle); // 'entrance' would be something like ENTRANCE_AMMU, ENTRANCE_PIZZA, etc.
native ToggleClientCommand(playerid, command[], bool:toggle); // Toggle the use of a client command, like disabling /save (some people use it to ripoff other servers). Should not work for /quit or /q
native SetPlayerWayPoint(playerid, Float:x, Float:y, Float:z); // Set the waypoint for a player with GTA SA nodes
native GetVehicelParamsEx(vehicleid, &engine, &lights, &alarm, &doors, &bonnet, &boot, &objective, &feature) // Add 'feature' parameter (like the one on the packer, andromada, etc.)
native SetVehicelParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective, feature); // Add 'feature' parameter (like the one on the packer, andromada, etc.)
native ToggleVehicleBlip(vehicleid, bool:toggle); // Toggle grey blip on radar for a vehicle
native TogglePlayerTearGasEffect(playerid, bool:toggle);
native Set3DTextSize(Text3D:id, Float:size);
native ShowNameTags(enabled, mode); // Modes: 0 = off, 1 = names, 2 = health/armour, 3 = all
native GetLOS(Float:x, Float:y, Float:z, Float:x2, Float:y2, Float:z2); // Returns the line-of-sight distance between 2 points.
native SetPlayerCheckpoint(playerid, Float:x, Float:y, Float:z, Float:size, color); // Add color parameter
native SetPlayerRaceCheckpoint(playerid, Float:x, Float:y, Float:z, Float:size, color); // Add color parameter
native SetPlayerChatBubble(playerid, text[], color, Float:drawdistance, expiretime, testLOS); // Add LOS parameter
native WalkToPos(Float:x, Float:y, Float:z, mode); // Make the NPC walk to a point. The modes are: 0 = walking, 1 = jogging, 2 = sprinting
native CreatePlayerPickup(playerid, model, type, Float:X, Float:Y, Float:Z, Virtualworld)
native ToggleVehicleCollision(vehicleid, bool:toggle);
native ToggleObjectCollision(objectid, bool:toggle);
native FadePlayerCamera(playerid, Float:speed);
native SetWaterLevel(Float:height);
native SetWaveHeight(Float:height);
native GetPlayerCursorPos(playerid, , &Float:x, &Float:y);
native GetMouseClickPos(playerid, &Float:x, &Float:y);
native TogglePlayerMinimap(playerid, bool:toggle);
native TogglePlayerChat(playerid, bool:toggle);
native SetPlayerCameraFocusVehicle/Player (camera follows said player/vehicle)
native MovePlayerCamera(playerid, Float:x, Float:y, Float:z);
native SetVehicleHandling(?);
native PutPlayerInCrane(playerid, craneid);
native TogglePlayerSPCheat(playerid, cheatname[], bool:toggle);
native GetTrainDirection(vehicleid); // Returns true if the train is driving clockwise on the train track, false if it is going counterclockwise.
native SetTrainDirection(vehicleid, bool:clockwise);
native GetTrainSpeed(vehicleid, &Float:speed);
native SetTrainSpeed(vehicleid, Float:speed);
native UsePlayerCopShootAnim();
native SetPlayerGravity(playerid, Float:gravity);
native SetVehicleGravity(vehicleid, Float:gravity);
native IsPlayerUsingJoypad(playerid);
native TogglePlayerScoreBoard(playerid, bool:toggle);
native IsPlayerChatShown(playerid); // Returns 1 if chat is shown, returns 0 if otherwis
native SetScoreHeader(header[]); // or something similar - changes the 'score' header to header[]
native GetPlayerNoise(playerid, &Float:noise); // just like in the burgulary missions
native ToggleReturnToClassSelection or something similar to disable the effect of F4
native SetPlayerID(playerid, id); // Sets the ID of a player. Returns 1 if change was successfull, returns 0 if it were unable to complete the request (ID bigger than MAX_PLAYERS or invalid ID - below 0), returns -1 if it were unable to change the ID because of it already being used by another player/npc.
native GetPlayerLungCapacity(playerid, &Float:Capacity);
native SetPlayerLungCapacity(playerid, Float:Capacity);
native SetPlayerParamsForPlayer(playerid, forplayerid, objective, color); // basically making objectives in selected color to show above players like in SP
native SetVehicleParamsForPlayer(vehicleid, playerid, objective, color, doorslocked); // being able to choose color of the objective
native TogglePlayerHUD(playerid, hudid, bool:toggle); // 0 - Radar, 1 - Money, 2 - HealthBar, etc.
native TogglePlayerPillEffect(playerid, bool:toggle); // Pretty self explanatory, toggles the slow motion effect caused by the pill pickup.
native CreateFaced3DTextLabel(text[], color, Float:x, Float:y, Float:z, Float:angle, Float:drawdistance, virtualworld, testLOS);
native TextDrawMove(Text:text, Float:x, Float:y, Float:speed);
native ToggleOcuppiedVehicleDamage(bool:toggle);
native ToggleWorldSun(bool:toggle);
native AddScoreboardColumn(name[], position) // Position is the position of the column (like before player id column, after player id column, etc).
native RemoveScoreboardColumn(name[]);
native SetScoreboardColumnValue(playerid, name[], value);
native SendDeathMessageForPlayer(playerid, killer, victim, reason);
native AttachVehicleToObject(vehicleid, objectid);
native ShowPlayerDialog(playerid, dialogid, style, caption[], info[], {Float,_}:...); // Change button1[] and button2[] to allow for 1 or more buttons
native TogglePlayerMouseCursor(playerid, bool:toggle);
native TogglePlayerControllable(playerid, mode) // modes: 0 - controllable 1 - cant move, but can move camera 2 - completely uncontrollable
native SetPlayerMaxHealth(playerid, Float:health); // If health is above 100, it will increase the healthbar
native GetPlayerMaxHealth(playerid, &Float:health);
native TogglePlayerSpeedBlur(playerid, bool:toggle);
native ToggleVehicleDamage(vehicleid, bool:toggle); // Works on vacant vehicles too (vacant vehicles set to invincible by default).
native ToggleCombineHarvesterDeath(bool:toggle);
native TogglePlayerHead(playerid, bool:toggle);
native GetPlayerPageSize(playerid);
Suggestions for callbacks
pawn Код:
forward OnObjectDamage(objectid, Float:damage, destroyed);
forward OnPlayerEnterVehicle(playerid, vehicleid, seatid); // Add seatid parameter
forward OnPlayerClickPlayer(playerid, clickedplayerid, source); // Add sources: CLICK_SOURCE_CHAT and CLICK_SOURCE_NAMETAG
forward OnPlayerVend(playerid, oldmoney, newmoney, machinetype);
forward OnPlayerCasinoPlay(playerid, oldmoney, newmoney, casinoid, machinetype); // Machine type is like vending machine, blackjack, etc. casinoid is the casino (4 dragons, casigulas, redsands)
forward OnPlayerRecieveStuntBonus(playerid, amount);
forward OnPlayerDeath(playerid, killerid, reason, bodypart); // Add bodypart parameter
forward OnPlayerMouseClick(playerid, press, buttonid); // Press would be 1 if the player is pressing, 0 if releasing. buttonid would be LMB, RMB, MMB, etc.
forward OnPlayerShoot(playerid, weaponid, Float:x, Float:y, Float:z);
forward OnVehicleDeath(vehicleid, reason); // Reason would be fire, water, explosion, etc.
forward OnEnterExitModShop(playerid, enterexit, interiorid); // returning 0 here will prevent the player from entering
Suggestions for gameplay tuning
Код:
Remove all default sounds from interiors (casino music, ammunation, saint marks bistro, shamal interior, welcome pump diner interior, strip clubs, etc) Sync flames Vehicle on vehicle surfing (for example ability to transport cars on the packer) The ability to right click on a server in the internet/hosted list to add it to your favourites Search for hostname in the server browser Display a message if the password is incorrect on the client, instead of ingame. Synced back doors on 4door cars Synced paintjobs and vehicle colors Synced furniture in burgulary houses fix drive-by for passenger - the player can keep his head down and tuck in pressing "H" Send the 'Connected to servername' message BEFORE OnPlayerConnect Ability to highlight text in chat like in the type-box (and copy etc.) Log opcodes to a file Make TAB show the scoreboard, and hide when it is released
Suggestions for the server controlling
Код:
RCON command (re/un)loadplugin [pluginname]
Other suggestions
Код:
GVars (Global Vars) - possibly put the plugin by Incognito "into" SA:MP Control over dialog design Functions to attach vehicles to players and vice-versa Functions to create and control the design of buttons playerid parameter is UsePlayerPedAnims Detection for all keys Client-sided timers Rounded textdraw corners (toggle) A way to add messages to the 'breif' section of a player's pause menu Automatic directory creation in fwrite if the directory doesn't exist -1 in the 'world' parameter of 3D labels //---------------------------------------------------- New dialog types: Tickbox dialog type Radio button dialog type TAB dialog type (like a button that's either push in or out, and stays like that) //---------------------------------------------------- New spectate modes
- SPECTATE_MODE_CINEMATIC (spec with cinematic view)
- SPECTATE_MODE_TEXTDRAW (hide textdraws)
- SPECTATE_MODE_RADAR (show radar)
A function to hide the class selection GUI
Enable pool tables (or a function to toggle it) (OnPlayerPlayPool - OnPlayerPoolBallHit)
A 'freeze' parameter in SetPlayerCameraPos that determins whether a player can move their camera after
A function to let players use the minigun like in the RC baron mission with zero in singleplayer
A function to disable auto-aim (weapons)
Enable/Disable Spawnbuttons
The ability to attach players to vehicles
//--------------------------------------------------------------------------------
Make colour embedding work in dialog buttons
"\a<1-3>" --Sets the alignment for the following text in a dialog (1=left alignment, 2=center, 3=right alignment)
"\p<0-1>" --Sets proportional characters for even spacing (0=disable, 1=enable)
"\d" --The following texts won't be selectable if using DIALOG_STYLE_LIST
"\e" --The following texts will be selectable
"\i<0-1>" --Italics (0=disable, 1=enable)
"\b<0-1>" --Bold (0=disable, 1=enable)
"\s<1-40>" --Letter size
"\u<0-1>" --Under lining (0=disable, 1=enable)