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

Unmarked araçlara siren takma

Başlatan Hasan Sangrento, 13 Temmuz 2021, 23:57:01

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Hasan Sangrento

windowsi indirmek için tıklayın.
En üstlere yapıştırın
PAWN Kodu: Seç
#include <windosi>

#if !defined IsValidVehicle
    native IsValidVehicle(vehicleid);
#endif
CMD'lerin olduğu yerlere yapıştırın.
PAWN Kodu: Seç
CMD:sirentak(playerid) {
new vehicleid;
// if(GetFactionType(playerid) != BIRLIK_LSPD) return 0;
vehicleid = GetPlayerVehicleID(playerid);
        if(IsPlayerInVehicle(playerid, vehicleid) == 0) return SendClientMessage(playerid, -1, "aracta degilsin"); // thx 4 sug. ThePosition
InstallVehicleSiren(vehicleid);
PutPlayerInVehicle(playerid, vehicleid, 0);
return 1;
}

CMD:sirencikar(playerid) {
new vehicleid;
// if(GetFactionType(playerid) != BIRLIK_LSPD) return 0;
vehicleid = GetPlayerVehicleID(playerid);
        if(IsPlayerInVehicle(playerid, vehicleid) == 0) return SendClientMessage(playerid, -1, "aracta degilsin"); // thx 4 sug. ThePosition
UninstallVehicleSiren(vehicleid);
PutPlayerInVehicle(playerid, vehicleid, 0);
return 1;
}

CMD:kapiac(playerid, params[]) {
new id, doorNumber;
id = GetNearestVehicle(playerid);
if(id == 65535) // returns 65535 if you dont have a car with you
return SendClientMessage(playerid, -1, "araba nerde");
if(sscanf(params, "i", doorNumber))
return SendClientMessage(playerid, -1, "/kapiac [1-4]");
if(doorNumber < 1 || doorNumber > 4)
return SendClientMessage(playerid, -1, "/kapiac [1-4]");
if(doorNumber == 1 || doorNumber == 3) {
ApplyAnimation(playerid, "PED", "CAR_OPEN_RHS", 4.1, 0, 1, 0, 1, 1, 1); // this right animation
} else if(doorNumber == 2 || doorNumber == 4) {
ApplyAnimation(playerid, "PED", "CAR_OPEN_LHS", 4.1, 0, 1, 0, 1, 1, 1); // this left animation
}
OpenVehicleDoor(id, doorNumber);
// TODO: /ame add command
return 1;
}

CMD:kapikapat(playerid, params[]) {
new id, doorNumber;
id = GetNearestVehicle(playerid);
if(id == 65535)
return SendClientMessage(playerid, -1, "araba nerde");
if(sscanf(params, "i", doorNumber))
return SendClientMessage(playerid, -1, "/kapikapat [1-4]");
if(doorNumber < 1 || doorNumber > 4)
return SendClientMessage(playerid, -1, "/kapikapat [1-4]");
if(doorNumber == 1 || doorNumber == 3) {
ApplyAnimation(playerid, "PED", "CAR_CLOSE_RHS", 4.1, 0, 1, 0, 1, 1, 1); // this right animation
} else if(doorNumber == 2 || doorNumber == 4) {
ApplyAnimation(playerid, "PED", "CAR_CLOSE_LHS", 4.1, 0, 1, 0, 1, 1, 1); // this left animation
}
CloseVehicleDoor(id, doorNumber);
// TODO: /ame add command
return 1;
}

CMD:camac(playerid, params[]) {
new id, windowNumber;
id = GetPlayerVehicleID(playerid);
if(id == 0) return SendClientMessage(playerid, -1, "araca bin");
if(sscanf(params, "i", windowNumber))
return SendClientMessage(playerid, -1, "/camac [1-4]");
if(windowNumber < 1 || windowNumber > 4)
return SendClientMessage(playerid, -1, "/camac [1-4]");
OpenVehicleWindow(id, windowNumber);
// TODO: /ame add command
return 1;
}

CMD:c***apat(playerid, params[]) {
new id, windowNumber;
id = GetPlayerVehicleID(playerid);
if(id == 0) return SendClientMessage(playerid, -1, "araca bin");
if(sscanf(params, "i", windowNumber))
return SendClientMessage(playerid, -1, "/c***apat [1-4]");
if(windowNumber < 1 || windowNumber > 4)
return SendClientMessage(playerid, -1, "/c***apat [1-4]");
CloseVehicleWindow(id, windowNumber);
// TODO: /ame add command
return 1;
}

stock GetNearestVehicle(playerid) // nereden buldum hatırlamıyorum ama tşk
{
static
    Float:fX,
    Float:fY,
    Float:fZ;

for (new i = 1; i != MAX_VEHICLES; i ++) if (IsValidVehicle(i) && GetVehiclePos(i, fX, fY, fZ))
{
    if (IsPlayerInRangeOfPoint(playerid, 3.5, fX, fY, fZ)) return i;
}
return INVALID_VEHICLE_ID;
}

Dostlar selam, bir arkadaşım unmarked araçlara nasıl siren takabiliriz gibisinden bir şey sormuştu, küçük bir googlelama ile windowsi denilen include'u buldum ve bir kaç example code yazdım. Bu durumda YSF'yi de inceledim ve SAMP_03DL ile çalıştırdığımda nedense siren değerini değiştirsem de işlemedi. Unmarked araçların yanına araçlarınızda kapılarınızın camı açıp kapatma, kapılarınızı açma kapatma gibisinden fonksiyonları ekledim. Böylece rol esnasında birinin kapısını açma gibisinden tatlı rolleri yapabilirsiniz. Geliştirmek isteyen ya da fikir sunmak/yapamadığı yerlerde çözüm isteyen arkadaşlar bu konu altında geliştirme yaparlarsa çok sevinirim, iyi forumlar. :serefe:
Son düzenlenme: 14 Temmuz 2021, 21:46:01 Hasan Sangrento

Rodeiun

başarılı bir o kadarda güzel bir include


jaweed


baum224

to greatest marina reborn

squarepants

Birkaç hatalı kullanım var galiba:
CMD:sirentak(playerid) {
new vehicleid;
// if(GetFactionType(playerid) != BIRLIK_LSPD) return 0;
vehicleid = GetPlayerVehicleID(playerid);
InstallVehicleSiren(vehicleid);
PutPlayerInVehicle(playerid, vehicleid, 0);
return 1;
}
Burada oyuncu zaten araçtayken PutPlayerInVehicle fonksiyonunu kullanmaya gerek var mı acaba, ek olarak oyuncunun araçta olup olmadığı da kontrol edilmemiş.
        new id, doorNumber;
id = GetNearestVehicle(playerid);
if(doorNumber == 65535) // returns 65535 if you dont have a car with you
return SendClientMessage(playerid, -1, "araba nerde");
if(sscanf(params, "i", doorNumber))
return SendClientMessage(playerid, -1, "/kapiac [1-4]");
Bu kısımda ise doorNumber adlı değişken birinci koşulda sürekli olarak 0 döneceği için koşul sağlıklı çalışmayacak, sscanf parametresinden sonra bu koşulu kullanmanız sorunu ortadan kaldıracaktır. Bu arada paylaşım için teşekkürler, iyi forumlar
 


Hasan Sangrento

Alıntı yapılan: ThePosition - 14 Temmuz 2021, 15:42:38
Birkaç hatalı kullanım var galiba:
CMD:sirentak(playerid) {
new vehicleid;
// if(GetFactionType(playerid) != BIRLIK_LSPD) return 0;
vehicleid = GetPlayerVehicleID(playerid);
InstallVehicleSiren(vehicleid);
PutPlayerInVehicle(playerid, vehicleid, 0);
return 1;
}
Burada oyuncu zaten araçtayken PutPlayerInVehicle fonksiyonunu kullanmaya gerek var mı acaba, ek olarak oyuncunun araçta olup olmadığı da kontrol edilmemiş.
        new id, doorNumber;
id = GetNearestVehicle(playerid);
if(doorNumber == 65535) // returns 65535 if you dont have a car with you
return SendClientMessage(playerid, -1, "araba nerde");
if(sscanf(params, "i", doorNumber))
return SendClientMessage(playerid, -1, "/kapiac [1-4]");
Bu kısımda ise doorNumber adlı değişken birinci koşulda sürekli olarak 0 döneceği için koşul sağlıklı çalışmayacak, sscanf parametresinden sonra bu koşulu kullanmanız sorunu ortadan kaldıracaktır. Bu arada paylaşım için teşekkürler, iyi forumlar
 
Selam, PutPlayerInVehicle fonksiyonunun kullanılma sebebi, include yüzünden aracımızı silip tekrardan oluşturmasından kaynaklı(include'u incelemek için tıklayın) olduğu için kişiyi araca tekrardan yerleştirmek için kullandığım bir fonksiyon idi. Ve evet haklısınız, aslında kontrol etse iyi olabilirdi. Bu aklımdan nedense çıkmış.

Etrafınızda araç bulunmuyorsa size 65535 değerini döndürüyor, orada not olarak eklemiştim. O yüzden en başta onu yazdırdım ki eğer etrafında bir araç yok ise "araba nerde" diye bir yazı yazdırsın, eğer bir araç var ise de sscanf ile hangi kapıyı açmak istediğini belirten bir sscanf devreye giriyor. Teşekkür ederim, iyi forumlar.
Son düzenlenme: 14 Temmuz 2021, 15:55:39 Hasan Sangrento

Radless

new vehicleid;
vehicleid = GetPlayerVehicleID(playerid);
if(IsPlayerInVehicle(playerid, vehicleid) == 0)

yaparak kodu uzatmak yerine:

if (!GetPlayerVehicleID(playerid)) return SendClientMessage(playerid, -1, "Araçta değilsiniz!");

ya da

if (!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "Araçta değilsiniz!");

yapabilirsin @Hasan Sangrento

"Life's too short to hold grudges."

Hasan Sangrento

Alıntı yapılan: Radless - 14 Temmuz 2021, 19:46:27
new vehicleid;
vehicleid = GetPlayerVehicleID(playerid);
if(IsPlayerInVehicle(playerid, vehicleid) == 0)

yaparak kodu uzatmak yerine:

if (!GetPlayerVehicleID(playerid)) return SendClientMessage(playerid, -1, "Araçta değilsiniz!");

ya da

if (!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "Araçta değilsiniz!");

yapabilirsin @Hasan Sangrento
Evet aslında yalnız sonuç olarak ikisi de aynı kapıya çıkıyor, çok teşekkür ederim öneri için.


sharax


jaweed

Alıntı yapılan: sharax - 14 Temmuz 2021, 20:55:40
bu adam yapıyor
evet efeniiim, kopernik pizza. hangi sistemi yaptırmak istersiniz? :kahkaha2:


squarepants

@Hasan Sangrento merhabalar. Evet, normal koşullar altında bahsettiğiniz değerin dönmesi gerekiyor ama orada doorNumber adlı değişken koşul haricinde hiçbir yerde kullanılmadığı için varsayılan değeri olan 0 değerini döndürecektir.


Hasan Sangrento

Alıntı yapılan: ThePosition - 14 Temmuz 2021, 21:25:44
@Hasan Sangrento merhabalar. Evet, normal koşullar altında bahsettiğiniz değerin dönmesi gerekiyor ama orada doorNumber adlı değişken koşul haricinde hiçbir yerde kullanılmadığı için varsayılan değeri olan 0 değerini döndürecektir.
Ne dengesiz herifim ya. Kusura bakmayın gerçekten if statement'i "id" kısmına tanımlamam gerekirken doorNumber'a tanımlamışım. Düzeltiyorum çok sağolun.


☆☬κɪɴɢ☬☆

pixlr bg result (2)" border="0
SA-MP Başlangiç: 2020 Türk Ibiza

SA-MP daki nicklerim: bet, BeT.BeY, Sirhan,

Samp Hayatim Bitti

Ben onun gülüşüne öldüm o benim ölüşüme güldü...🥀

Giden gitmiştir gittiği gün bitmiştir ben gideni değil giden beni kaybetmiştir...

Hasan Sangrento

Güzel yorumlarınız için çok teşekkür ederim, ayriyeten @ThePosition 'a ayrı teşekkür ederim. Altı yıl önceki bir include olduğu için biraz sıkıntılı olması muhtemel evet, yapamadığınız bir yer olursa bu konu üzerinden iletişime geçmeyi unutmayın.