* Microsoft Visual Studio 2010 veya daha üstü bir sürüm
* SA:MP Plugin SDK dosyaları
LIBRARY "Yazdığınız Plugin İsmi"
EXPORTS
Supports
Load
Unload
AmxLoad
AmxUnload
#include "..\SDK\amx\amx.h"
#include "..\SDK\plugincommon.h"
typedef void(*logprintf_t)(char* format, ...);
logprintf_t logprintf;
extern void *pAMXFunctions;
cell AMX_NATIVE_CALL Topla(AMX* amx, cell* params)
{
return params[1] + params[2];
}
cell AMX_NATIVE_CALL Cikar(AMX* amx, cell* params)
{
return params[1] - params[2];
}
cell AMX_NATIVE_CALL Bol(AMX* amx, cell* params)
{
return params[1] / params[2];
}
cell AMX_NATIVE_CALL Carp(AMX* amx, cell* params)
{
return params[1] * params[2];
}
PLUGIN_EXPORT unsigned int PLUGIN_CALL Supports()
{
return SUPPORTS_VERSION | SUPPORTS_AMX_NATIVES;
}
PLUGIN_EXPORT bool PLUGIN_CALL Load(void **ppData)
{
pAMXFunctions = ppData[PLUGIN_DATA_AMX_EXPORTS];
logprintf = (logprintf_t)ppData[PLUGIN_DATA_LOGPRINTF];
logprintf("\n ========================\n");
logprintf(" Plugin Açıldı ! \n");
logprintf(" ========================\n");
return true;
}
PLUGIN_EXPORT void PLUGIN_CALL Unload()
{
logprintf("\n ========================\n");
logprintf(" Plugin Kapatıldı \n");
logprintf(" ========================\n");
}
AMX_NATIVE_INFO PluginNatives[] =
{
{ "Topla", Topla },
{ "Cikar", Cikar },
{ "Bol", Bol },
{ "Carp", Carp },
{ 0, 0 }
};
PLUGIN_EXPORT int PLUGIN_CALL AmxLoad(AMX *amx)
{
return amx_Register(amx, PluginNatives, -1);
}
PLUGIN_EXPORT int PLUGIN_CALL AmxUnload(AMX *amx)
{
return AMX_ERR_NONE;
}
native Topla(nTopla1, nTopla2);
native Cikar(ncikar1, ncikar2);
native Bol(nBol1, nBol2);
native Carp(nCarp1, nCarp2);
main()
{
printf("\n========== PLUGIN TEST ========== \n");
printf(" Toplama: %d", Topla(10, 10));
printf(" Çıkar: %d", Cikar(10, 5));
printf(" Böl: %d", Bol(10, 2));
printf(" Çarp: %d\n", Carp(20, 2));
printf("========== PLUGIN TEST ========== \n");
}
#define ARMEDBODY_USE_HEAVY_WEAPON (false)
static
armedbody_pTick[MAX_PLAYERS];
if(GetTickCount() - armedbody_pTick[playerid] > 113){ //prefix check itter
new
weaponid[13],weaponammo[13],pArmedWeapon;
pArmedWeapon = GetPlayerWeapon(playerid);
GetPlayerWeaponData(playerid,1,weaponid[1],weaponammo[1]);
GetPlayerWeaponData(playerid,2,weaponid[2],weaponammo[2]);
GetPlayerWeaponData(playerid,4,weaponid[4],weaponammo[4]);
GetPlayerWeaponData(playerid,5,weaponid[5],weaponammo[5]);
#if ARMEDBODY_USE_HEAVY_WEAPON
GetPlayerWeaponData(playerid,7,weaponid[7],weaponammo[7]);
#endif
if(weaponid[1] && weaponammo[1] > 0){
if(pArmedWeapon != weaponid[1]){
if(!IsPlayerAttachedObjectSlotUsed(playerid,0)){
SetPlayerAttachedObject(playerid,0,GetWeaponModel(weaponid[1]),1, 0.199999, -0.139999, 0.030000, 0.500007, -115.000000, 0.000000, 1.000000, 1.000000, 1.000000);
}
}
else {
if(IsPlayerAttachedObjectSlotUsed(playerid,0)){
RemovePlayerAttachedObject(playerid,0);
}
}
}
else if(IsPlayerAttachedObjectSlotUsed(playerid,0)){
RemovePlayerAttachedObject(playerid,0);
}
if(weaponid[2] && weaponammo[2] > 0){
if(pArmedWeapon != weaponid[2]){
if(!IsPlayerAttachedObjectSlotUsed(playerid,1)){
SetPlayerAttachedObject(playerid,1,GetWeaponModel(weaponid[2]),8, -0.079999, -0.039999, 0.109999, -90.100006, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000);
}
}
else {
if(IsPlayerAttachedObjectSlotUsed(playerid,1)){
RemovePlayerAttachedObject(playerid,1);
}
}
}
else if(IsPlayerAttachedObjectSlotUsed(playerid,1)){
RemovePlayerAttachedObject(playerid,1);
}
if(weaponid[4] && weaponammo[4] > 0){
if(pArmedWeapon != weaponid[4]){
if(!IsPlayerAttachedObjectSlotUsed(playerid,2)){
SetPlayerAttachedObject(playerid,2,GetWeaponModel(weaponid[4]),7, 0.000000, -0.100000, -0.080000, -95.000000, -10.000000, 0.000000, 1.000000, 1.000000, 1.000000);
}
}
else {
if(IsPlayerAttachedObjectSlotUsed(playerid,2)){
RemovePlayerAttachedObject(playerid,2);
}
}
}
else if(IsPlayerAttachedObjectSlotUsed(playerid,2)){
RemovePlayerAttachedObject(playerid,2);
}
if(weaponid[5] && weaponammo[5] > 0){
if(pArmedWeapon != weaponid[5]){
if(!IsPlayerAttachedObjectSlotUsed(playerid,3)){
SetPlayerAttachedObject(playerid,3,GetWeaponModel(weaponid[5]),1, 0.200000, -0.119999, -0.059999, 0.000000, 206.000000, 0.000000, 1.000000, 1.000000, 1.000000);
}
}
else {
if(IsPlayerAttachedObjectSlotUsed(playerid,3)){
RemovePlayerAttachedObject(playerid,3);
}
}
}
else if(IsPlayerAttachedObjectSlotUsed(playerid,3)){
RemovePlayerAttachedObject(playerid,3);
}
#if ARMEDBODY_USE_HEAVY_WEAPON
if(weaponid[7] && weaponammo[7] > 0){
if(pArmedWeapon != weaponid[7]){
if(!IsPlayerAttachedObjectSlotUsed(playerid,4)){
SetPlayerAttachedObject(playerid,4,GetWeaponModel(weaponid[7]),1,-0.100000, 0.000000, -0.100000, 84.399932, 112.000000, 10.000000, 1.099999, 1.000000, 1.000000);
}
}
else {
if(IsPlayerAttachedObjectSlotUsed(playerid,4)){
RemovePlayerAttachedObject(playerid,4);
}
}
}
else if(IsPlayerAttachedObjectSlotUsed(playerid,4)){
RemovePlayerAttachedObject(playerid,4);
}
#endif
armedbody_pTick[playerid] = GetTickCount();
}
stock GetWeaponModel(weaponid)
{
switch(weaponid)
{
case 1:
return 331;
case 2..8:
return weaponid+331;
case 9:
return 341;
case 10..15:
return weaponid+311;
case 16..18:
return weaponid+326;
case 22..29:
return weaponid+324;
case 30,31:
return weaponid+325;
case 32:
return 372;
case 33..45:
return weaponid+324;
case 46:
return 371;
}
return 0;
Sayfa 0.021 saniyede 10 sorgu ile oluşturuldu.