GTAMulti.com - Türkiye'nin Türkçe GTA Sitesi

Samp Locker sistemi

Başlatan #McAllen, 16 Temmuz 2021, 14:42:04

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

#McAllen

Öncelikle merhabalar sizden bir şey isteyeceğim kurduğum modda üniformaları, silahları aldığımız sistem bozuk birlik sistemleri her şey çalışıyor fakat locker sistemine ihtiyacım var komutla ekleyebileceğim örneğin /locker ekle gibi faction ID'sini falan girsek uzun koda gerek yok kısa bir şey yazabilir misiniz rica etsem?

Developer

squarepants

Kullandığın sunucuyu bilmiyorum ve anlatmaya çalıştığın sistemi de tam olarak anlayamadım ancak bu konuda sana gerekli argümanı sağlayabilirim, aşağıda senin için hazırladığım örnek fonksiyon ve kullanımı mevcut. Kendi moduna göre düzenlemelisin :
#define SCM SendClientMessage
const B_KIMLIK = 1;
new Br_Veri[MAX_PLAYERS][B_KIMLIK];
stock Tech_Ver(playerid = 0xFFFF, bid = -1, slid = -1, miktar, unifid)
{
    if(IsPlayerConnected(playerid) &&
    (bid > -1 && Br_Veri[playerid][0] == bid))
    {
        GivePlayerWeapon(playerid, slid, miktar);
        UniformVer(unifid); //kendi uniform fonksiyonunu kullan
    }
    return 1;
}
CMD:tver(playerid, params[])
{
    new pid, bidd, slidd, mik, uni;
    if(sscanf(params,"ddddd", pid, bidd, slidd, mik, uni))
        return SCM(playerid, -1, "Kullanim : /tver [playerid] [birlikid] [silahid] [miktar] [uniformid]");
   
    return Tech_Ver(pid, bidd, slidd, mik, uni);
}





#McAllen

Alıntı yapılan: ThePosition - 16 Temmuz 2021, 16:16:35
Kullandığın sunucuyu bilmiyorum ve anlatmaya çalıştığın sistemi de tam olarak anlayamadım ancak bu konuda sana gerekli argümanı sağlayabilirim, aşağıda senin için hazırladığım örnek fonksiyon ve kullanımı mevcut. Kendi moduna göre düzenlemelisin :
#define SCM SendClientMessage
const B_KIMLIK = 1;
new Br_Veri[MAX_PLAYERS][B_KIMLIK];
stock Tech_Ver(playerid = 0xFFFF, bid = -1, slid = -1, miktar, unifid)
{
    if(IsPlayerConnected(playerid) &&
    (bid > -1 && Br_Veri[playerid][0] == bid))
    {
        GivePlayerWeapon(playerid, slid, miktar);
        UniformVer(unifid); //kendi uniform fonksiyonunu kullan
    }
    return 1;
}
CMD:tver(playerid, params[])
{
    new pid, bidd, slidd, mik, uni;
    if(sscanf(params,"ddddd", pid, bidd, slidd, mik, uni))
        return SCM(playerid, -1, "Kullanim : /tver [playerid] [birlikid] [silahid] [miktar] [uniformid]");
   
    return Tech_Ver(pid, bidd, slidd, mik, uni);
}





Bunun tarzı ama dinamik bi ekran olsaydı daha güzel olabilirdi rica etsem yapabilir misin? @ThePosition

Developer

#McAllen

Yani şöyle diyeyim roleplay sunucusu olacak bi örneğin roleplaylerde giysi dükkanına girmek için bi objenin pickup'un içine girersin Y'ye basarsın ama bunda öyle olmayacak /dolap yazacaksın ve 3 tane menü çıkacak Üniformalar, Ekipmanlar, Ekipman sıfırla gibi eğerki yapacaksan seni zorlamayacaksam yapabilir misin?

Developer

squarepants

Şu an için biraz meşgulüm, ama aşağıdaki şekilde deneyebilirsin. Uniform için kullandığın sistemi bilmediğim için herhangi bir uygulama yapmadım, kendine göre düzenlemelisin. Eğer kafana takılan bir soru olursa özelden de yazabilirsin. İyi forumlar :

const
    B_KIMLIK = 1,
    DIALOG_MENU = 0xDC,
    DIALOG_SILAH = DIALOG_MENU + 1,
    DIALOG_UNI = DIALOG_SILAH + 1,
    SISIM = 21,
    SATIR = 19 * 3
;

new const SilahIsim[SATIR][SISIM] = {
{"Fist"             }, {"Brass knuckles"}, {"Golf club"           },
{"Nightstick"       }, {"Knife"         }, {"Bat"                 },
{"Shovel"           }, {"Pool cue"      }, {"Katana"              },
{"Chainsaw"         }, {"Purple dildo"  }, {"Dildo"               },
{"Vibrator"         }, {"Vibrator"      }, {"Flowers"             },
{"Cane"             }, {"Grenade"       }, {"Tear gas"            },
{"Molotov"          }, {"Vehicle gun"   }, {"Vehicle gun"         },
{""                 }, {"Colt 45"       }, {"Silenced pistol"     },
{"Deagle"           }, {"Shotgun"       }, {"Sawn-off shotgun"    },
{"Combat shotgun"   }, {"Mac-10"        }, {"MP5"                 },
{"AK-47"            }, {"M4"            }, {"Tec-9"               },
{"Cuntgun"          }, {"Sniper"        }, {"Rocket launcher"     },
{"Heat seeking RPG" }, {"Flamethrower"  }, {"Minigun"             },
{"Satchel"          }, {"Detonator"     }, {"Spraycan"            },
{"Fire extinguisher"}, {"Camera"        }, {"Night vision goggles"},
{"Infrared goggles" }, {"Parachute"     }, {"Fake pistol"         },
{"Pistol whip"      }, {"Vehicle"       }, {"Helicopter blades"   },
{"Explosion"        }, {"Car parking"   }, {"Drowning"            },
{"Collision"        }, {"Splat"         }, {"Unknown"             }
};

stock Dizi_Index_Ara_String(const d_dizim[][], hucrem = sizeof(d_dizim), const adegerm[]){
 for(new i = 0; i < hucrem; i++){
 if(strcmp(d_dizim[i], adegerm) != 0)
     continue;
 else
     return i;
 }
 return -1;
}

CMD:dolap(playerid)
{
    return ShowPlayerDialog(playerid, DIALOG_MENU, DIALOG_STYLE_LIST, "MENU", "EKIPMAN\nUNIFORMA\nEKIPMAN SIFIRLA", "Tamam", "Iptal");
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if (dialogid == DIALOG_MENU)
    {
        if (response)
        {
           switch(listitem)
           {
               case 0: ShowPlayerDialog(playerid, DIALOG_SILAH, DIALOG_STYLE_LIST, "SILAH", "Fist\nBrass knuckles\nGolf club", "Tamam", "Iptal");
               case 1: ShowPlayerDialog(playerid, DIALOG_UNI, DIALOG_STYLE_LIST, "UNIFORMA", "U1\nU2\nU3", "Tamam", "Iptal");
               case 2: ResetPlayerWeapons(playerid);
           }
        }
        return 1;
    }
    if (dialogid == DIALOG_SILAH)
    {
        if (response)
        {
            GivePlayerWeapon(playerid, Dizi_Index_Ara_String(SilahIsim, sizeof(SilahIsim), SilahIsim[listitem]), 500);
        }
        return 1;
    }
    if (dialogid == DIALOG_UNI)
    {
        if (response)
        {
           //uniform için gerekli olayları, etkinlikleri burada yap
        }
        return 1;
    }
    return 0;
}
Son düzenlenme: 18 Temmuz 2021, 15:24:27 ThePosition

#McAllen

Alıntı yapılan: ThePosition - 18 Temmuz 2021, 15:18:27
Şu an için biraz meşgulüm, ama aşağıdaki şekilde deneyebilirsin. Uniform için kullandığın sistemi bilmediğim için herhangi bir uygulama yapmadım, kendine göre düzenlemelisin. Eğer kafana takılan bir soru olursa özelden de yazabilirsin. İyi forumlar :

const
    B_KIMLIK = 1,
    DIALOG_MENU = 0xDC,
    DIALOG_SILAH = DIALOG_MENU + 1,
    DIALOG_UNI = DIALOG_SILAH + 1,
    SISIM = 21,
    SATIR = 19 * 3
;

new const SilahIsim[SATIR][SISIM] = {
{"Fist"             }, {"Brass knuckles"}, {"Golf club"           },
{"Nightstick"       }, {"Knife"         }, {"Bat"                 },
{"Shovel"           }, {"Pool cue"      }, {"Katana"              },
{"Chainsaw"         }, {"Purple dildo"  }, {"Dildo"               },
{"Vibrator"         }, {"Vibrator"      }, {"Flowers"             },
{"Cane"             }, {"Grenade"       }, {"Tear gas"            },
{"Molotov"          }, {"Vehicle gun"   }, {"Vehicle gun"         },
{""                 }, {"Colt 45"       }, {"Silenced pistol"     },
{"Deagle"           }, {"Shotgun"       }, {"Sawn-off shotgun"    },
{"Combat shotgun"   }, {"Mac-10"        }, {"MP5"                 },
{"AK-47"            }, {"M4"            }, {"Tec-9"               },
{"Cuntgun"          }, {"Sniper"        }, {"Rocket launcher"     },
{"Heat seeking RPG" }, {"Flamethrower"  }, {"Minigun"             },
{"Satchel"          }, {"Detonator"     }, {"Spraycan"            },
{"Fire extinguisher"}, {"Camera"        }, {"Night vision goggles"},
{"Infrared goggles" }, {"Parachute"     }, {"Fake pistol"         },
{"Pistol whip"      }, {"Vehicle"       }, {"Helicopter blades"   },
{"Explosion"        }, {"Car parking"   }, {"Drowning"            },
{"Collision"        }, {"Splat"         }, {"Unknown"             }
};

stock Dizi_Index_Ara_String(const d_dizim[][], hucrem = sizeof(d_dizim), const adegerm[]){
 for(new i = 0; i < hucrem; i++){
 if(strcmp(d_dizim[i], adegerm) != 0)
     continue;
 else
     return i;
 }
 return -1;
}

CMD:dolap(playerid)
{
    return ShowPlayerDialog(playerid, DIALOG_MENU, DIALOG_STYLE_LIST, "MENU", "EKIPMAN\nUNIFORMA\nEKIPMAN SIFIRLA", "Tamam", "Iptal");
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if (dialogid == DIALOG_MENU)
    {
        if (response)
        {
           switch(listitem)
           {
               case 0: ShowPlayerDialog(playerid, DIALOG_SILAH, DIALOG_STYLE_LIST, "SILAH", "Fist\nBrass knuckles\nGolf club", "Tamam", "Iptal");
               case 1: ShowPlayerDialog(playerid, DIALOG_UNI, DIALOG_STYLE_LIST, "UNIFORMA", "U1\nU2\nU3", "Tamam", "Iptal");
               case 2: ResetPlayerWeapons(playerid);
           }
        }
        return 1;
    }
    if (dialogid == DIALOG_SILAH)
    {
        if (response)
        {
            GivePlayerWeapon(playerid, Dizi_Index_Ara_String(SilahIsim, sizeof(SilahIsim), SilahIsim[listitem]), 500);
        }
        return 1;
    }
    if (dialogid == DIALOG_UNI)
    {
        if (response)
        {
           //uniform için gerekli olayları, etkinlikleri burada yap
        }
        return 1;
    }
    return 0;
}


Tamam anlıyorum discordun var mı foruma genellikle çok bakmıyorum da?

Developer

Anestezi

Alıntı yapılan:  Bölüm kuralları
10 günü geçen konulara cevap gelmediği taktirde konu sahibi tarafından konu altına güncel yazılmazsa konu kilitlenip, kilitli konular bölümüne taşınacaktır.
K/A