GTAMulti - GTA Türkiye

San Andreas Multiplayer => PAWN Kodlama => Mod Galerisi => Konuyu başlatan: aceXTracer - 15 Mayıs 2020, 17:56:48

Başlık: /savepos - /loadpos
Gönderen: aceXTracer - 15 Mayıs 2020, 17:56:48
Merhaba, sizlere /savepos ve /loadpos komutlarını yapmayı göstereceğim.

Bu komutlar ne işimize yarar? Bu komutlar özellikle roleplay sunucularında admin ve helper'ler için oldukça yararlı komutlardır.

PAWN Kodu: Seç
#include <a_samp>
#include <zcmd>

new Float:posX[MAX_PLAYERS];
new Float:posY[MAX_PLAYERS];
new Float:posZ[MAX_PLAYERS];
new Float:posA[MAX_PLAYERS];
new Interior[MAX_PLAYERS];
new VirtualWorld[MAX_PLAYERS];
new Saved[MAX_PLAYERS];

public OnPlayerConnect(playerid)
{
posX[playerid] = 0.000000, posY[playerid] = 0.000000, posZ[playerid] = 0.000000;
posA[playerid] = 0.000000, Interior[playerid] = 0, VirtualWorld[playerid] = 0;
Saved[playerid] = 0;
return 1;
}

CMD:s(playerid, params[])
{
if(IsPlayerInAnyVehicle(playerid))
{
new vehicleid = GetPlayerVehicleID(playerid);
GetVehiclePos(vehicleid, posX[playerid], posY[playerid], posZ[playerid]);
GetVehicleZAngle(vehicleid, posA[playerid]);
}
else
{
    GetPlayerPos(playerid, posX[playerid], posY[playerid], posZ[playerid]);
GetPlayerFacingAngle(playerid, posA[playerid]);
}
Interior[playerid] = GetPlayerInterior(playerid);
VirtualWorld[playerid] = GetPlayerVirtualWorld(playerid);
SendClientMessage(playerid, -1, "<!> Pozisyonunuzu kaydettiniz.");
Saved[playerid] = 1;
return 1;
}

CMD:savepos(playerid, params[])
{
return cmd_s(playerid, params);
}

CMD:r(playerid, params[])
{
if(Saved[playerid] == 1)
{
if(IsPlayerInAnyVehicle(playerid))
{
new vehicleid = GetPlayerVehicleID(playerid);
    SetVehiclePos(vehicleid, posX[playerid], posY[playerid], posZ[playerid]);
SetVehicleZAngle(vehicleid, posA[playerid]);
LinkVehicleToInterior(vehicleid, Interior[playerid]);
SetVehicleVirtualWorld(vehicleid, VirtualWorld[playerid]);
}
else
{
    SetPlayerPos(playerid, posX[playerid], posY[playerid], posZ[playerid]);
    SetPlayerFacingAngle(playerid, posA[playerid]);
    SetPlayerInterior(playerid, Interior[playerid]);
SetPlayerVirtualWorld(playerid, VirtualWorld[playerid]);
}
SendClientMessage(playerid, -1, "<!> Kayıtlı konuma döndünüz.");
}
else
{
    SendClientMessage(playerid, -1, "<!> Herhangi bir kayıtlı konumunuz yok.");
}
return 1;
}

CMD:loadpos(playerid, params[])
{
return cmd_r(playerid, params);
}
Başlık: Ynt: /savepos - /loadpos
Gönderen: Hata - 15 Mayıs 2020, 18:00:16
Teşekkürler ihtiyacım olan bir sistemdi.
Başlık: Ynt: /savepos - /loadpos
Gönderen: Hata - 15 Mayıs 2020, 23:17:22
Bunu ekledim sunucuma fakat sunucu ana avrad şey oldu düzelt bunu .d
Başlık: Ynt: /savepos - /loadpos
Gönderen: aceXTracer - 16 Mayıs 2020, 00:50:40

Güncelledim, şu an hiç hata bulunmuyor. İyi kullanımlar.


(https://www.upload.ee/image/11705606/sa-mp-014.png)
Başlık: Ynt: /savepos - /loadpos
Gönderen: Xchatt - 16 Mayıs 2020, 00:55:56
Nereye kayıt oluyor kodlar hocam merak ettim
Başlık: Ynt: /savepos - /loadpos
Gönderen: Hata - 16 Mayıs 2020, 01:12:34
Alıntı yapılan: aceXTracer - 16 Mayıs 2020, 00:50:40
Güncelledim, şu an hiç hata bulunmuyor. İyi kullanımlar.


(https://www.upload.ee/image/11705606/sa-mp-014.png)
bu sistemi sunuya ekleyince bende yere düşünce direk paintball alanına ışınlanıyodu ayağı kalkıyodu direk sonra sildim düzeldi bu hata giderildimi?
Başlık: Ynt: /savepos - /loadpos
Gönderen: SpawN - 16 Mayıs 2020, 17:25:34
Alıntı yapılan: Xchatt - 16 Mayıs 2020, 00:55:56
Nereye kayıt oluyor kodlar hocam merak ettim
SQL Eklenmemiş relog atarsa helper&admin direkt gider.
Başlık: Ynt: /savepos - /loadpos
Gönderen: Creutzfeld - 16 Mayıs 2020, 17:54:49
Alıntı yapılan: Xchatt - 16 Mayıs 2020, 00:55:56
Nereye kayıt oluyor kodlar hocam merak ettim
Mod belleğine kaydedilir, restart atıldığı zaman sıfırlanır.
Başlık: Ynt: /savepos - /loadpos
Gönderen: maXpoWer - 18 Mayıs 2020, 01:45:51
Teşekkürler.
Başlık: Ynt: /savepos - /loadpos
Gönderen: Gavirilia - 23 Mayıs 2020, 13:09:54
Teşekkür ederim, helperlar için güzel.