Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal

Yakın zamanda açılacak olan, patent tescili olan Türkçe GTA Platformu olan GTATurk.com.tr yakın zamanda aktif ediliyor! GTATurk.com.tr adresine gitmek için buraya tıklayın.

beyinyiyen

Members
  • Content Count

    4
  • Joined

  • Last visited

Community Reputation

0 Neutral

Personal Information

  • Platform
    SA:MP 3DL
  • Platform Language
    Türkçe
    English

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. beyinyiyen

    Mobil Veri Tabanı Textdraw

    Böyle tasarımlar çok eskide kaldı, geliştiriciler artık 0.3DL nimetinden yararlanarak uçmalı kaçmalı tasarımlar peşinde. Oyuncular da bundan hoşlanıyor. Pek tercih edileceğini sanmıyorum, yinede paylaşım için teşekkürler.
  2. beyinyiyen

    Basit Çadır Sistemi

    OnPlayerDisconnect callbackinde pVar'ları silebilir, üstüne de çadırı kaldırabilirsin. PVar'da kurduğu çadırın numarasını alırsan senin için daha kolay olur.
  3. beyinyiyen

    Basit bir balıkçılık sistemi

    Kodlar çok garip. Oyuncunun üzerinde olduğu aracı bulmak için herhangi bir ek fonksiyon oluşturmaya gerek yok, vereceğim adresteki fonksiyon işini görecektir. https://wiki.sa-mp.com/wiki/GetPlayerSurfingVehicleID
  4. Aegis'in açmış olduğu konuda bir takım eksiklikler, performans sorunları ve her modda çalışmayacağını gördüm. Bunun için kodlarını düzenledim yada en baştan kendim oluşturdum. Her modda kullanılabilir durumda, yönetici engeli için Aegis'in orijinal konusuna göz atabilirsiniz. Herkes tarafından anlaşılabilir bir duruma getirdim. Kendisi de harika oluşturmuş, bu içeriğin oluşmasına vesile olduğu için teşekkürler. // NOT: /gotols, /gotolv, /gotosf sizi istediğiniz pozisyonlara götürmeyecektir. Pozisyon ayarlamalarını yapmadım. Kendiniz yapabilirsiniz. // BILMENIZ GEREKENLER: Pawn CMD ve kullanımı, sscanf ve kullanımı /******************************************************************************************************************/ /* [===== GEREKENLER ====] */ /* [KÜTÜPHANELER] */ #include <a_samp> #include <Pawn.CMD> #include <YSI\y_iterate> #include <sscanf2> /* [NATIVE] (?: Native'ler aslında SA-MP'ta olan ancak geliştirici takımının aktif etmeyi unuttuğu fonksiyonlardır.) */ native IsValidVehicle(vehicleid); /******************************************************************************************************************/ /* [BILGILENDIRME: SendPlayerPos ve İşleyiş] */ /* "SendPlayerPos" fonksiyonunu oluşturduk, çünkü bütün komutlarda tek tek araç kontrolü yapmak yorucu olabilir. */ /* SendPlayerPos fonksiyonunu ışınlanma işlemlerimizin tamamında kullanabilir olduk. */ /* Developerin işleri azalmış oldu ve kodlar daha refah hale geldi. Buda çalışma verimliliğini arttırdı. */ /* Hiç kimse okumakta yada anlamakta zorlandığı bir oyun modunda çalışmak istemez. Çalışsa bile verimsiz olur. */ /******************************************************************************************************************/ /******************************************************************************************************************/ /* [BILGILENDIRME: Değişken Oluşturumu ve Performans] */ /* Bütün değişkenleri en başta oluşturmak pawn scriptte mantıklı değildir. Çünkü değişkenler belirli byte kaplar. */ /* Sadece kullanacağımız zamandan değişkenleri oluşturmak daha mantıklıdır. Kod bir nedenden dolayı durabilir. */ /* /goto komutunda komutların bir sebepten dolayı durabildiğini görebiliyoruz. Spec ve aktiflik durumu gibi. */ /* Değişkenlerimizi hiç kullanmamış ama hafızada onlara yer vermiş olacaktık. */ /* Bu sebepten dolayı da bizim oluşturduğumuz değişkenler sadece hafızada boşuna yer kaplamış olacaktı. */ /* Bu şekilde önüne geçmiş olduk. */ /******************************************************************************************************************/ /******************************************************************************************************************/ CMD:apm(playerid, params[]) { /******************************************************************************************************************/ /* [BILGILENDIRME] */ /* Bir satırda en fazla 144 karakter olur. "Yönetici: " 9 karaktere eşit. Bu yüzden "msg" değişkenini 135 yaptık. */ /* str değişkeni ise 144'e eşit, çünkü içerisinde MSG ve "Yönetici: " kısmını barındıracak. */ /******************************************************************************************************************/ new userid, msg[135]; if(sscanf(params, "us[135]", userid, msg)) return SendClientMessage(playerid, -1, "/amsg [oyuncu id] [mesaj]"); if(!IsPlayerConnected(userid)) return SendClientMessage(playerid, -1, "Geçersiz oyuncu."); new str[144]; format(str, sizeof(str), "Yönetici: %s", msg); SendClientMessage(playerid, -1, "Karaktere başarıyla mesaj gönderdin. MESAJ:"); SendClientMessage(playerid, -1, str); return SendClientMessage(userid, -1, str); } CMD:goto(playerid, params[]) { new userid; if(sscanf(params, "u", userid)) return SendClientMessage(playerid, -1, "/goto [ışınlanılacak id]"); if(!IsPlayerConnected(userid)) return SendClientMessage(playerid, -1, "Işınlanacağınız kişi oyunda değil."); if(GetPlayerState(userid) == PLAYER_STATE_SPECTATING) return SendClientMessage(playerid, -1, "Bu oyuncu izleme modunda."); new Float:posX, Float:posY, Float:posZ, playerWorld, playerInterior; GetPlayerPos(userid, posX, posY, posZ); playerWorld = GetPlayerVirtualWorld(userid); playerInterior = GetPlayerInterior(userid); SendClientMessage(playerid, -1, "Işınlandın."); return SendPlayerPos(playerid, posX, posY, posZ, playerWorld, playerInterior); } CMD:gethere(playerid, params[]) { new userid; if(sscanf(params, "u", userid)) return SendClientMessage(playerid, -1, "/gethere [çekilecek id]"); if(!IsPlayerConnected(userid)) return SendClientMessage(playerid, -1, "Çekeceğiniz kişi oyunda değil."); if(GetPlayerState(userid) == PLAYER_STATE_SPECTATING) return SendClientMessage(playerid, -1, "Bu oyuncu izleme modunda."); new Float:posX, Float:posY, Float:posZ, playerWorld, playerInterior; GetPlayerPos(playerid, posX, posY, posZ); playerWorld = GetPlayerVirtualWorld(playerid); playerInterior = GetPlayerInterior(playerid); SendClientMessage(playerid, -1, "Işınladın."); return SendPlayerPos(userid, posX, posY, posZ, playerWorld, playerInterior); } CMD:p2p(playerid, params[]) { new userid, targetid; if(sscanf(params, "uu", userid, targetid)) return SendClientMessage(playerid, -1, "/p2p [gönderilecek id] [gideceği id]"); if(!IsPlayerConnected(userid)) return SendClientMessage(playerid, -1, "Gönderilecek kişi oyunda değil."); if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, -1, "Oyuncunun gideceği kişi oyunda değil."); new Float:posX, Float:posY, Float:posZ, playerWorld, playerInterior; GetPlayerPos(targetid, posX, posY, posZ); playerWorld = GetPlayerVirtualWorld(userid); playerInterior = GetPlayerInterior(userid); SendClientMessage(playerid, -1, "Karakteri diğer kişiye ışınladın."); return SendPlayerPos(userid, posX, posY, posZ, playerWorld, playerInterior); } CMD:gotols(playerid) { SendClientMessage(playerid, -1, "Los Santos'a ışınlandın."); return SendPlayerPos(playerid, 1529.4974, -1676.6726, 13.3828); } CMD:gotosf(playerid) { SendClientMessage(playerid, -1, "San Fierro'ya ışınlandın."); return SendPlayerPos(playerid, -1404.3580, -320.8462, 14.0000); } CMD:gotolv(playerid) { SendClientMessage(playerid, -1, "Las Venturas'a ışınlandın."); return SendPlayerPos(playerid, 1692.9183, 1445.7848, 10.7645); } CMD:x(playerid, params[]) { new Float:amountX; if(sscanf(params, "f", amountX)) return SendClientMessage(playerid, -1, "/x [değer]"); new Float:posX, Float:posY, Float:posZ, playerWorld, playerInterior; GetPlayerPos(playerid, posX, posY, posZ); playerWorld = GetPlayerVirtualWorld(playerid); playerInterior = GetPlayerInterior(playerid); return SendPlayerPos(playerid, posX + amountX, posY, posZ, playerWorld, playerInterior); } CMD:y(playerid, params[]) { new Float:amountY; if(sscanf(params, "f", amountY)) return SendClientMessage(playerid, -1, "/y [değer]"); new Float:posX, Float:posY, Float:posZ, playerWorld, playerInterior; GetPlayerPos(playerid, posX, posY, posZ); playerWorld = GetPlayerVirtualWorld(playerid); playerInterior = GetPlayerInterior(playerid); return SendPlayerPos(playerid, posX, posY + amountY, posZ, playerWorld, playerInterior); } CMD:z(playerid, params[]) { new Float:amountZ; if(sscanf(params, "f", amountZ)) return SendClientMessage(playerid, -1, "/z [değer]"); new Float:posX, Float:posY, Float:posZ, playerWorld, playerInterior; GetPlayerPos(playerid, posX, posY, posZ); playerWorld = GetPlayerVirtualWorld(playerid); playerInterior = GetPlayerInterior(playerid); return SendPlayerPos(playerid, posX, posY, posZ + amountZ, playerWorld, playerInterior); } CMD:cekilisyap(playerid) { /******************************************************************************************************************/ /* [BILGILENDIRME] */ /* "msg" değişkenini hazırlarken onun boyutuna dikkat ettik. */ /* " bir çekiliş yaptı ve kazandı." %s'leri çıkarttığımız zaman mesajımızın içinde bunlar kalıyor. 31 karaktere eşit. */ /* İki tane de MAX_PLAYER_NAME kullandık. Yani (MAX_PLAYER_NAME * 2) yaparak toplam boyutu bulabiliriz. */ /* Bu şekilde yaparak performans anlamında tasarruf ettik ve hafızada kaplanan alanı küçülttük. */ /******************************************************************************************************************/ new randomPlayer = getRandomPlayer(); if(!IsPlayerConnected(randomPlayer)) return pc_cmd_cekilisyap(playerid); new msg[(MAX_PLAYER_NAME * 2) + 31]; format(msg, sizeof(msg), "%s bir çekiliş yaptı ve %s kazandı.", playerName(playerid), playerName(randomPlayer)); return SendClientMessageToAll(-1, msg); } CMD:freezeall(playerid) { foreach(new i : Player) { TogglePlayerControllable(playerid, false); } new msg[MAX_PLAYER_NAME + 24]; format(msg, sizeof(msg), "Yönetici %s herkesi dondurdu.", playerName(playerid)); return SendClientMessageToAll(-1, msg); } CMD:unfreezeall(playerid) { foreach(new i : Player) { TogglePlayerControllable(playerid, false); } new msg[MAX_PLAYER_NAME + 24]; format(msg, sizeof(msg), "Yönetici %s herkesi çözdü.", playerName(playerid)); return SendClientMessageToAll(-1, msg); } SendPlayerPos(playerid, Float:x, Float:y, Float:z, world = 0, interior = 0) { new vehicleID = GetPlayerVehicleID(playerid); if(IsValidVehicle(vehicleID)) { new seatID = GetPlayerVehicleSeat(playerid); SetVehiclePos(vehicleID, x, y, z); LinkVehicleToInterior(vehicleID, interior); SetVehicleVirtualWorld(vehicleID, world); PutPlayerInVehicle(playerid, vehicleID, seatID); } else { SetPlayerPos(playerid, x, y, z); } SetPlayerVirtualWorld(playerid, world); SetPlayerInterior(playerid, world); return 1; } getRandomPlayer() { new count = 0, randomid = INVALID_PLAYER_ID; while (randomid == INVALID_PLAYER_ID || !IsPlayerConnected(randomid)) { randomid = random(MAX_PLAYERS); if(count > MAX_PLAYERS || IsPlayerConnected(randomid)) break; count++; } return randomid; } playerName(playerid) { new name[MAX_PLAYER_NAME]; if(IsPlayerConnected(playerid)) { GetPlayerName(playerid, name, sizeof(name)); } else { name = "Bilinmeyen"; } return name; }

GTAModel.com

TR: GTA Model, adından da anlaşıldığı gibi GTA üzerine yapılan modifikasyonları ve modellemeleri paylaşma platformudur. Platforma hemen katılmak için kayıt olabilir ve ardından istek bir modifikasyon veya modelleme için tasarımcılar ile görüşebilirsiniz. Tüm hakları saklıdır, 2020.

EN: GTA Model, as the name suggests, is a platform for sharing modifications and models made on GTA. You can register to join the platform right now, and then contact the designers for a modification or modeling request. All rights reserved, 2020.

×