GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: MiKE_ - 2015. február 17. - 22:16:02

Cím: Járművek letiltása parancsban
Írta: MiKE_ - 2015. február 17. - 22:16:02
Üdv.
Csináltam egy parancsot, ami egy kisebb tuning menüt hoz be és azt szeretném, hogy bizonyos járműveknél ne lehessen ezt a parancsot használni, igazán egyszerűen hangzik, nekem valahogy mégsem sikerül.
 

if (strcmp(\"/tuning\", cmdtext, true, 10) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
//if(GetPlayerVehicleID(playerid) == 417||425||430||446||447||448||449||452||453||454||460||461||462||463||468||469||472||473||476||481||484||487||488||493||497||509||510||511||512||513||519||520||521||522||523||539||548||553||563||577||581||586||592||593||595) return GameTextForPlayer(playerid,\"~r~You can\'t mod this vehicle!\", 2000, 5);
ShowMenuForPlayer(Tuning_Menu, playerid);
TogglePlayerControllable(playerid,0);
} else {
GameTextForPlayer(playerid,\"~r~You are not in a vehicle!\", 2000, 5);
}
return 1;
}

 
Előre is köszönöm a válaszokat!
Cím: Járművek letiltása parancsban
Írta: Andriis - 2015. február 17. - 22:26:04
Ha a zöld rész elöl kiveszed a // jelet, és a GetPlayerVehicleID elé írsz egy felkiáltójelet így: if (!GetPlayerVehicleID
Akkor elvileg jónak kell lennie.
Cím: Járművek letiltása parancsban
Írta: MiKE_ - 2015. február 17. - 22:29:58
Ha van felkiáltó ha nincs, ha az a sor \"aktív\" akkor minden járműnél kiírja a gametextet, hogy nem tudom mod-olni a járművet.
Cím: Járművek letiltása parancsban
Írta: BackUP - 2015. február 17. - 22:40:55
if(GetPlayerVehicleID(playerid) ==123||GetPlayerVehicleID(playerid) == 321) // igy tovabb

Bocs telorol irtam.  :)
Cím: Járművek letiltása parancsban
Írta: CANNONN - 2015. február 17. - 23:31:56
Én így csinálnám:
 
   new ok = 0;
switch(GetPlayerVehicleID(playerid))
{
case 417, 425, 130, 446, 447, 448, 449, 452, 453, 454, 460, 461, 462, 463, 468: ok = 1;
case 469, 472, 473, 476, 481, 484, 487, 488, 493, 497, 509, 510, 511, 512, 513: ok = 1;
case 519..523, 539, 548, 553, 563, 577, 581, 586, 592, 593, 595: ok = 1;
}
if(!ok) return GameTextForPlayer(playerid,\"~r~You can\'t mod this vehicle!\", 2000, 5);
Cím: Járművek letiltása parancsban
Írta: .random. - 2015. február 18. - 06:15:47
GetVehicleModel(GetPlayerVehicleID(playerid))
Cím: Járművek letiltása parancsban
Írta: MiKE_ - 2015. február 18. - 16:03:03
Idézetet írta: BackUP date=1424209255\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"52635\" data-ipsquote-contentclass=\"forums_Topic

if(GetPlayerVehicleID(playerid) ==123||GetPlayerVehicleID(playerid) == 321) // igy tovabb

Bocs telorol irtam.  :)
 
Semmi változás, ugyan az történik. :D
 

Én így csinálnám:
 
   new ok = 0;
switch(GetPlayerVehicleID(playerid))
{
case 417, 425, 130, 446, 447, 448, 449, 452, 453, 454, 460, 461, 462, 463, 468: ok = 1;
case 469, 472, 473, 476, 481, 484, 487, 488, 493, 497, 509, 510, 511, 512, 513: ok = 1;
case 519..523, 539, 548, 553, 563, 577, 581, 586, 592, 593, 595: ok = 1;
}
if(!ok) return GameTextForPlayer(playerid,\"~r~You can\'t mod this vehicle!\", 2000, 5);

 

[/quote]
Kipróbátam, így se a menü nem jön be egyik járműnél se, se pedig a gametext nem jelenik meg.
 

 
GetVehicleModel(GetPlayerVehicleID(playerid))

 

[/quote]
Sajnos ez sem változtat semmin! :/
Azért kösz a segítséget, srácok!
Cím: Járművek letiltása parancsban
Írta: Tomasz - 2015. február 18. - 17:39:09
Én stock-kal csinálnám.
 

stock IsTuning(vehid)
{
switch(GetVehicleModel(vehid))
{
case 417: return 0;
case 425: return 0;
//stb.
}
return 1;
}
if(IsTuning(GetPlayerVehicleID(playerid))) //tudja tuningolni
else //nem tudja tuningolni

 
UI: Eddig azért nem volt jó mert rossz függvénnyel kérted le a kocsikat.
Cím: Járművek letiltása parancsban
Írta: MiKE_ - 2015. február 18. - 17:47:41
Az else -el csak annyi a gondom, hogy ugye a parancsban már van egy, és nem igazán tudom hogy hogy helyezzem el úgy hogy ne kavarodjon össze, hogy melyik else melyik if -hez tartozik. :D
Cím: Járművek letiltása parancsban
Írta: Tomasz - 2015. február 18. - 20:48:23

if(strcmp(\"/tuning\", cmdtext, true, 10) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
if(IsTuning(GetPlayerVehicleID(playerid)))
{
   ShowMenuForPlayer(Tuning_Menu,playerid);
   TogglePlayerControllable(playerid,0);
}
else GameTextForPlayer(playerid,\"~r~You can\'t mod this vehicle!\", 2000, 5);
}
else GameTextForPlayer(playerid,\"~r~You are not in a vehicle!\", 2000, 5);
return 1;
}
Cím: Járművek letiltása parancsban
Írta: MiKE_ - 2015. február 18. - 21:31:27
Áh, már értem, így működik, köszi a segítséget! :D