/sabithiz Komutu Mesela /sabithiz 20 yazdiginizda araciniz kendi kendine sabit olarak 20km ile gider
Modun basina:
Kod:
new
bool: HizAc[MAX_PLAYERS],
Float:HizMiktari[MAX_PLAYERS];
Komutlari modun herhangi biryere ekliyoruz dcmd oldugu icin:
Kod:
dcmd_sabithiz(playerid, params[])
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFB0000FF, "Bir aracin icinde olmalisiniz!");
if(!strlen(params)) return SendClientMessage(playerid, 0xFB0000FF, "[Kullanim] /sabithiz [hiz miktari]");
if(strval(params) < 0 || strval(params) > 20) return SendClientMessage(playerid, 0xFB0000FF, ">> Hiz 0 ile 20 arasinda olmalidir.");
SendClientMessage(playerid, 0xFB0000FF, ">> Sabit hiziniz ayarlandi. Kapatmak icin /kapathiz yaziniz!");
HizAc[playerid] = true;
HizMiktari[playerid] = floatdiv(floatstr(params), 160.0);
return true;
}
Kod:
dcmd_kapathiz(playerid, params[])
{
#pragma unused params
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFB0000FF, "Bir aracin icinde olmalisiniz!");
SendClientMessage(playerid, 0xFB0000FF, ">> Araciniz geri normal hale getirildi!");
HizAc[playerid] = false;
return true;
}
public OnPlayerUpdate(playerid)
{
if(IsPlayerConnected(playerid))
{
if(IsPlayerInAnyVehicle(playerid))
{
if(HizAc[playerid] == true)
{
new
Float:vA;
GetVehicleZAngle(GetPlayerVehicleID(playerid), vA);
SetVehicleVelocity(GetPlayerVehicleID(playerid), floatadd(0.0, (HizMiktari[playerid] * floatsin(-vA, degrees))), floatadd(0.0, (HizMiktari[playerid] * floatcos(-vA, degrees))), 0.0);
}
}
else
{
HizAc[playerid] = false;
}
}
return 1;
}
OnPlayerCommandText altina:
Kod:
dcmd(sabithiz, 8, cmdtext);
dcmd(kapathiz, 8, cmdtext);
OnPlayerDeath ve OnPlayerDisconnect altina:
Kod:
HizAc[playerid] = false;
Ve Bitmiştir Hepsi Ayrı Ayrı Hepsini Alt Alta Yazmayınız ozaman Olmaz