GTAMulti - GTA Türkiye

San Andreas Multiplayer => Yardım Talepleri => PAWN Kodlama => Kilitli Konular => Konuyu başlatan: Metehan - 13 Eylül 2017, 15:37:58

Başlık: Aracı İnteriora Park Edememe [SORUN]
Gönderen: Metehan - 13 Eylül 2017, 15:37:58
Başlıkta okuduğunuz gibi /park komutunu uygulayınca 0. inte ayarlanıyor fakat ben o hesaba ait karakterin hangi interiorda ise araç aynı interiorda olmasını istiyorum bide nasıl yaptığınızı anlatırsanız çok hoş olur pawnoya sardımda biraz :P
PAWN Kodu: Seç
CMD:park(playerid, params[])
{
if(PlayerInfo[playerid][pVehicleKeysFrom] != INVALID_PLAYER_ID)
{
new carid;
new Float:plocx;
new Float:plocy;
new Float:plocz;
new ownerid = PlayerInfo[playerid][pVehicleKeysFrom];
if(IsPlayerConnected(ownerid))
{
new d = PlayerInfo[playerid][pVehicleKeys];
if(IsPlayerInVehicle(playerid, PlayerVehicleInfo[ownerid][d][pvId]))
{
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_GREY, "Sürücü koltuğunda olman lazım.");
new Float:x, Float:y, Float:z, Float:angle, Float:health;
GetVehicleHealth(PlayerVehicleInfo[ownerid][d][pvId], health);
if(health < 800) return SendClientMessage(playerid, COLOR_GREY, " Aracınız park etmek için çok hasarlı.");
if(PlayerInfo[playerid][pLockCar] == GetPlayerVehicleID(playerid)) PlayerInfo[playerid][pLockCar] = INVALID_VEHICLE_ID;
if(IsARC(GetPlayerVehicleID(playerid))) // RC Vehicles
{
new Float:vehPos[3];
GetVehiclePos(GetPlayerVehicleID(playerid),vehPos[0], vehPos[1], vehPos[2]);
SetPlayerPos(playerid,vehPos[0], vehPos[1]+0.5, vehPos[2]+0.5);
}
GetVehiclePos(PlayerVehicleInfo[ownerid][d][pvId], x, y, z);
GetVehicleZAngle(PlayerVehicleInfo[ownerid][d][pvId], angle);
SetVehiclePos(carid,plocx,plocy+4, plocz);
SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
SurfingCheck(GetPlayerVehicleID(playerid));
UpdatePlayerVehicleParkPosition(ownerid, d, x, y, z, angle, health);
PutPlayerInVehicle(playerid, GetPlayerVehicleID(playerid), 0);
SetPlayerArmedWeapon(playerid, 0);
SetPVarInt(playerid, "fuelonoff", 0);
HideProgressBarForPlayer(playerid, FuelBar[playerid]);
DestroyProgressBar(FuelBar[playerid]);
FuelBar[playerid] = INVALID_BAR_ID;

new string[29 + (MAX_PLAYER_NAME * 2)];
format(string, sizeof(string), "* %s adlı kişi %s adlı kişinin aracını parketti.", GetPlayerNameEx(playerid), GetPlayerNameEx(ownerid));
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 1;
}
}
}
Başlık: Ynt: Aracı İnteriora Park Edememe [SORUN]
Gönderen: Excision - 13 Eylül 2017, 16:23:49
CMD:park(playerid, params&#91;])
{
if(PlayerInfo[playerid][pVehicleKeysFrom] != INVALID_PLAYER_ID)
{
new carid;
new Float:plocx;
new Float:plocy;
new Float:plocz;
new ownerid = PlayerInfo[playerid][pVehicleKeysFrom];
if(IsPlayerConnected(ownerid))
{
new d = PlayerInfo[playerid][pVehicleKeys];
if(IsPlayerInVehicle(playerid, PlayerVehicleInfo[ownerid][d][pvId]))
{
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_GREY, "Sürücü koltuğunda olman lazım.");
new Float:x, Float:y, Float:z, Float:angle, Float:health;
GetVehicleHealth(PlayerVehicleInfo[ownerid][d][pvId], health);
if(health < 800) return SendClientMessage(playerid, COLOR_GREY, " Aracınız park etmek için çok hasarlı.");
if(PlayerInfo[playerid][pLockCar] == GetPlayerVehicleID(playerid)) PlayerInfo[playerid][pLockCar] = INVALID_VEHICLE_ID;
if(IsARC(GetPlayerVehicleID(playerid))) // RC Vehicles
{
new Float:vehPos[3];
GetVehiclePos(GetPlayerVehicleID(playerid),vehPos[0], vehPos[1], vehPos[2]);
SetPlayerPos(playerid,vehPos[0], vehPos[1]+0.5, vehPos[2]+0.5);
}
GetVehiclePos(PlayerVehicleInfo[ownerid][d][pvId], x, y, z);
GetVehicleZAngle(PlayerVehicleInfo[ownerid][d][pvId], angle);
SetVehiclePos(carid,plocx,plocy+4, plocz);
SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
LinkVehicleToInterior(carid, GetPlayerInterior(playerid));//
SurfingCheck(GetPlayerVehicleID(playerid));
UpdatePlayerVehicleParkPosition(ownerid, d, x, y, z, angle, health);
PutPlayerInVehicle(playerid, GetPlayerVehicleID(playerid), 0);
SetPlayerArmedWeapon(playerid, 0);
SetPVarInt(playerid, "fuelonoff", 0);
HideProgressBarForPlayer(playerid, FuelBar[playerid]);
DestroyProgressBar(FuelBar[playerid]);
FuelBar[playerid] = INVALID_BAR_ID;

new string[29 + (MAX_PLAYER_NAME * 2)];
format(string, sizeof(string), "* %s adlı kişi %s adlı kişinin aracını parketti.", GetPlayerNameEx(playerid), GetPlayerNameEx(ownerid));
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 1;
}
}
}

Sorununu çözebilir.
Başlık: Ynt: Aracı İnteriora Park Edememe [SORUN]
Gönderen: Metehan - 13 Eylül 2017, 16:37:03
Hocam çok özür dilerim ben komutun yarısını vermişim o yüzden baya bi hata verdi
PAWN Kodu: Seç
CMD:park(playerid, params[])
{
if(PlayerInfo[playerid][pVehicleKeysFrom] != INVALID_PLAYER_ID)
{
new carid;
new Float:plocx;
new Float:plocy;
new Float:plocz;
new ownerid = PlayerInfo[playerid][pVehicleKeysFrom];
if(IsPlayerConnected(ownerid))
{
new d = PlayerInfo[playerid][pVehicleKeys];
if(IsPlayerInVehicle(playerid, PlayerVehicleInfo[ownerid][d][pvId]))
{
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_GREY, "Sürücü koltuğunda olman lazım.");
new Float:x, Float:y, Float:z, Float:angle, Float:health;
GetVehicleHealth(PlayerVehicleInfo[ownerid][d][pvId], health);
if(health < 800) return SendClientMessage(playerid, COLOR_GREY, " Aracınız park etmek için çok hasarlı.");
if(PlayerInfo[playerid][pLockCar] == GetPlayerVehicleID(playerid)) PlayerInfo[playerid][pLockCar] = INVALID_VEHICLE_ID;
if(IsARC(GetPlayerVehicleID(playerid))) // RC Vehicles
{
new Float:vehPos[3];
GetVehiclePos(GetPlayerVehicleID(playerid),vehPos[0], vehPos[1], vehPos[2]);
SetPlayerPos(playerid,vehPos[0], vehPos[1]+0.5, vehPos[2]+0.5);
}
GetVehiclePos(PlayerVehicleInfo[ownerid][d][pvId], x, y, z);
GetVehicleZAngle(PlayerVehicleInfo[ownerid][d][pvId], angle);
SetVehiclePos(carid,plocx,plocy+4, plocz);
SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
SurfingCheck(GetPlayerVehicleID(playerid));
UpdatePlayerVehicleParkPosition(ownerid, d, x, y, z, angle, health);
PutPlayerInVehicle(playerid, GetPlayerVehicleID(playerid), 0);
SetPlayerArmedWeapon(playerid, 0);
SetPVarInt(playerid, "fuelonoff", 0);
HideProgressBarForPlayer(playerid, FuelBar[playerid]);
DestroyProgressBar(FuelBar[playerid]);
FuelBar[playerid] = INVALID_BAR_ID;

new string[29 + (MAX_PLAYER_NAME * 2)];
format(string, sizeof(string), "* %s adlı kişi %s adlı kişinin aracını parketti.", GetPlayerNameEx(playerid), GetPlayerNameEx(ownerid));
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 1;
}
}
}
for(new d = 0 ; d < MAX_PLAYERVEHICLES; d++)
{
if(IsPlayerInVehicle(playerid, PlayerVehicleInfo[playerid][d][pvId]))
{
new Float:x, Float:y, Float:z, Float:angle, Float:health;
GetVehicleHealth(PlayerVehicleInfo[playerid][d][pvId], health);
            if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_GREY, "Sürücü koltuğunda olman lazım.");
if(health < 800) return SendClientMessage(playerid, COLOR_GREY, " Aracınız park etmek için çok hasarlı.");
if(PlayerInfo[playerid][pLockCar] == GetPlayerVehicleID(playerid)) PlayerInfo[playerid][pLockCar] = INVALID_VEHICLE_ID;
GetVehiclePos(PlayerVehicleInfo[playerid][d][pvId], x, y, z);
GetVehicleZAngle(PlayerVehicleInfo[playerid][d][pvId], angle);
SurfingCheck(GetPlayerVehicleID(playerid));
UpdatePlayerVehicleParkPosition(playerid, d, x, y, z, angle, health);
PutPlayerInVehicle(playerid, PlayerVehicleInfo[playerid][d][pvId], 0);
SetPlayerArmedWeapon(playerid, 0);
SetPVarInt(playerid, "fuelonoff", 0);
HideProgressBarForPlayer(playerid, FuelBar[playerid]);
DestroyProgressBar(FuelBar[playerid]);
FuelBar[playerid] = INVALID_BAR_ID;

new string[30 + (MAX_PLAYER_NAME * 2)];
format(string, sizeof(string), "* %s aracını parketti.", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 1;
}
}
SendClientMessage(playerid, COLOR_GREY, "Sahip olduğun aracın içersinde olmalısın");
return 1;
}
Seni kullanmış gibi oldum özür dilerim. Hata sayısı o kadar çok ki foruma yazılmıyor
Başlık: Ynt: Aracı İnteriora Park Edememe [SORUN]
Gönderen: Excision - 13 Eylül 2017, 16:44:22
UpdatePlayerVehicleParkPosition fonksiyonunu da atar mısın.
Başlık: Ynt: Aracı İnteriora Park Edememe [SORUN]
Gönderen: Metehan - 13 Eylül 2017, 16:55:40
Alıntı yapılan: Excision - 13 Eylül 2017, 16:44:22

UpdatePlayerVehicleParkPosition fonksiyonunu da atar mısın.
PAWN Kodu: Seç
stock UpdatePlayerVehicleParkPosition(playerid, playervehicleid, Float:newx, Float:newy, Float:newz, Float:newangle, Float:health)
{
    new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
if(PlayerVehicleInfo[playerid][playervehicleid][pvId] != INVALID_PLAYER_VEHICLE_ID)
{
new Float:oldx, Float:oldy, Float:oldz;
oldx = PlayerVehicleInfo[playerid][playervehicleid][pvPosX];
oldy = PlayerVehicleInfo[playerid][playervehicleid][pvPosY];
oldz = PlayerVehicleInfo[playerid][playervehicleid][pvPosZ];
if(oldx == newx && oldy == newy && oldz == newz) return 0;
PlayerVehicleInfo[playerid][playervehicleid][pvPosX] = newx;
PlayerVehicleInfo[playerid][playervehicleid][pvPosY] = newy;
PlayerVehicleInfo[playerid][playervehicleid][pvPosZ] = newz;
PlayerVehicleInfo[playerid][playervehicleid][pvPosAngle] = newangle;
//oldfuel = VehicleFuel[PlayerVehicleInfo[playerid][playervehicleid][pvId]];
//VehicleFuel[PlayerVehicleInfo[playerid][playervehicleid][pvId]] = 100.0;
UpdatePlayerVehicleMods(playerid, playervehicleid);
DestroyVehicle(PlayerVehicleInfo[playerid][playervehicleid][pvId]);
new carcreated = CreateVehicle(PlayerVehicleInfo[playerid][playervehicleid][pvModelId], PlayerVehicleInfo[playerid][playervehicleid][pvPosX], PlayerVehicleInfo[playerid][playervehicleid][pvPosY], PlayerVehicleInfo[playerid][playervehicleid][pvPosZ],
PlayerVehicleInfo[playerid][playervehicleid][pvPosAngle],PlayerVehicleInfo[playerid][playervehicleid][pvColor1], PlayerVehicleInfo[playerid][playervehicleid][pvColor2], -1);
         PlayerVehicleInfo[playerid][playervehicleid][pvId] = carcreated;
         //VehicleFuel[carcreated] = oldfuel;
         SetVehicleNumberPlate(carcreated, PlayerVehicleInfo[playerid][playervehicleid][pvNumberPlate]);
         SetVehicleHealth(carcreated, health);
if(PlayerVehicleInfo[playerid][playervehicleid][pvLocked] == 1) LockPlayerVehicle(playerid, PlayerVehicleInfo[playerid][playervehicleid][pvId], PlayerVehicleInfo[playerid][playervehicleid][pvLock]);
         LoadPlayerVehicleMods(playerid, playervehicleid);
         return 1;
}
return 0;
}
Başlık: Ynt: Aracı İnteriora Park Edememe [SORUN]
Gönderen: Metehan - 13 Eylül 2017, 17:29:25
up pls
Başlık: Ynt: Aracı İnteriora Park Edememe [SORUN]
Gönderen: Metehan - 13 Eylül 2017, 19:07:30
Up
Başlık: Ynt: Aracı İnteriora Park Edememe [SORUN]
Gönderen: Jawié - 13 Eylül 2017, 20:51:44
Createvehicle fonksiyonun alt satırına aşağıdaki kodu ekle.

LinkVehicleToInterior(carcreated, GetPlayerInterior(playerid));
Başlık: Ynt: Aracı İnteriora Park Edememe [SORUN]
Gönderen: Metehan - 13 Eylül 2017, 22:09:02
Alıntı yapılan: Jawié - 13 Eylül 2017, 20:51:44

Createvehicle fonksiyonun alt satırına aşağıdaki kodu ekle.

LinkVehicleToInterior(carcreated, GetPlayerInterior(playerid));


PAWN Kodu: Seç
D:\MOD\gamemodes\KARARLI.pwn(66069 -- 66070) : error 001: expected token: ",", but found ";"
D:\MOD\gamemodes\KARARLI.pwn(66071) : warning 215: expression has no effect
D:\MOD\gamemodes\KARARLI.pwn(66071) : warning 215: expression has no effect
D:\MOD\gamemodes\KARARLI.pwn(66071) : warning 215: expression has no effect
D:\MOD\gamemodes\KARARLI.pwn(66071) : warning 215: expression has no effect
D:\MOD\gamemodes\KARARLI.pwn(66071) : error 001: expected token: ";", but found ")"
D:\MOD\gamemodes\KARARLI.pwn(66071) : error 029: invalid expression, assumed zero
D:\MOD\gamemodes\KARARLI.pwn(66071) : warning 215: expression has no effect
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


3 Errors.
Böyle hata verdi hocam
Başlık: Ynt: Aracı İnteriora Park Edememe [SORUN]
Gönderen: Metehan - 14 Eylül 2017, 11:31:51
 Up