GTAMulti - GTA Türkiye

San Andreas Multiplayer => Yardım Talepleri => PAWN Kodlama => Kilitli Konular => Konuyu başlatan: #McAllen - 16 Temmuz 2021, 14:42:04

Başlık: Samp Locker sistemi
Gönderen: #McAllen - 16 Temmuz 2021, 14:42:04
Ö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?
Başlık: Ynt: Samp Locker sistemi
Gönderen: squarepants - 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);
}



Başlık: Ynt: Samp Locker sistemi
Gönderen: #McAllen - 18 Temmuz 2021, 00:21:34
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
Başlık: Ynt: Samp Locker sistemi
Gönderen: #McAllen - 18 Temmuz 2021, 00:27:47
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?
Başlık: Ynt: Samp Locker sistemi
Gönderen: squarepants - 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;
}
Başlık: Ynt: Samp Locker sistemi
Gönderen: #McAllen - 18 Temmuz 2021, 15:29:49
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?
Başlık: Ynt: Samp Locker sistemi
Gönderen: Anestezi - 30 Temmuz 2021, 00:32:11
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