-
Üdv!
Kerestem a fórumon több szkriptet de sajnos nem találtam olyan leírás vagy szkriprtet a frakció kocsik készítésérõl ezért készítettem egyett egy példával de nem nagyon mûkõdik valaki nem tudná jelezni vagy megcsinálni a problémát? Ezt egy \"kis\" leírás alapján készítettem de nem megyen ! :(
Mi lenne a probléma? Hát mikor beszálok a kocsiba akkor minden jármûre \"Nem vagy Rendõr!\" szöveget add ki valaki meg nézné az egészet..?
#include <a_samp>
new gTeam[MAX_PLAYERS];
#define TEAM_RENDOR 0 // Rendõr
#define TEAM_PIZZA 1 //Pizzás
#define TEAM_SZERELO 2 //Szerelõ
#define TEAM_MENTOS 3 //Mentõs
#define TEAM_TAXI 4 //Taxis
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if (RendorJarmu(vehicleid) && gTeam[playerid] == TEAM_RENDOR)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, 0xFF1717FF, \"Ez a jármûvet csak Rendõr használhatja!\");
}
if (PizzaJarmu(vehicleid) && gTeam[playerid] == TEAM_PIZZA)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, 0xFF1717FF, \"Nem vagy Pizza Szállító!!\");
}
if (SzereloJarmu(vehicleid) && gTeam[playerid] == TEAM_SZERELO)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, 0xFF1717FF, \"Ezt a jármûvet csak Szerelõ használhatja!\");
}
if (MentosJarmu(vehicleid) && gTeam[playerid] == TEAM_MENTOS)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, 0xFF1717FF, \"Ezt a jármûvet csak Mentõs használhatja!\");
}
if (TaxisJarmu(vehicleid) && gTeam[playerid] == TEAM_TAXI)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, 0xFF1717FF, \"Ezt a jármûvet csak Taxis használhatja!\");
}
return 1;
}
stock RendorJarmu(vehid)
{
new model = GetVehicleModel(vehid);
if(model == 425 || model == 432 || model == 470 || model == 490 || model == 497 || model == 596 || model == 598 || model == 599 || model == 601 || model == 523 || model == 430 || model == 427) return 1;
return 1;
}
stock PizzaJarmu(vehid)
{
new model = GetVehicleModel(vehid);
if(model == 448) return 1;
return 1;
}
stock SzereloJarmu(vehid)
{
new model = GetVehicleModel(vehid);
if(model == 525) return 1;
return 1;
}
stock MentosJarmu(vehid)
{
new model = GetVehicleModel(vehid);
if(model == 416) return 1;
return 1;
}
stock TaxisJarmu(vehid)
{
new model = GetVehicleModel(vehid);
if(model == 420) return 1;
return 0;
}
-
vehicleid == TEAM_RENDOR
pl?
-
Micsoda?? ??? ???
-
E: DOUBLE FACEPALM.... dafuq... akkor ha: a játékos beszáll egy olyan kocsiba aminek az idje 0 akkor azlegyen xD
flash már álmos vagy xd
onplayerconnectnél:
gTeam[playerid] = -1;
#define TEAM_RENDOR 5 // Rendõr
-
Nem jó :(
Más megoldás? :confused:
-
AZ OnPlayerEnterVehicle nem lesz jó erre a célra, írd meg az OnPlayerStateChange alá õket, igaz ott már ki is kell tenni a játékost a jármûbõl mert ott benne is van a játékos már a jármûben, csak akkor mûködik.
Vagy valami más megoldást kell találni.
A hiba amúgy az egyes jármû típus felismerésben van. stock RendorJarmu, stock Pizza... stb.:
Ha készítesz egy ilyent ami feltételt szab valaminek ne mind a két eset végét \"return 1;\" -el zárd mivel nem lesz közte semmilyen különbség amivel az \"if\" különbséget tud tenni.
Pl.:
stock RendorJarmu(vehid)
{
new model = GetVehicleModel(vehid);
if(model == 425 || model == 432 || model == 470 || model == 490 || model == 497 || model == 596 || model == 598 || model == 599 || model == 601 || model == 523 || model == 430 || model == 427) return 1; // Valamelyiknek return 0; kell lennie.
return 1; // vagy ennek return 0; kell lennie.
}
Tehát az egyiknek 1-el kell vissza térnie a másiknak nullával, ha mind kettõ egyel tér vissza akkor semmi haszna.
-
Logikusabb, hogy ha feltöltöd a jármû változóját a játékos csapat értékével, tehát hogy ha a jármû frakció értéke 2, és a játékosé is, akkor használhatja.
-
if (RendorJarmu(vehicleid) && gTeam[playerid] == TEAM_RENDOR)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, 0xFF1717FF, \"Ez a jármûvet csak Rendõr használhatja!\");
}
Eleve ott van elb4szva, hogy ha rendõr vagy, csak akkor írja ki, hogy nem szállhatsz be mer rendõr vagy, a többit beenegedi.. Ugyanúgy a többinél.
-
#include <a_samp>
new gTeam[MAX_PLAYERS];
#define TEAM_RENDOR 0 // Rendõr
#define TEAM_PIZZA 1 //Pizzás
#define TEAM_SZERELO 2 //Szerelõ
#define TEAM_MENTOS 3 //Mentõs
#define TEAM_TAXI 4 //Taxis
public OnPlayerStateChange(playerid, newstate, oldstate)
{
new vehicleid;
vehicleid = GetPlayerVehicleId(playerid);
if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
{
if (RendorJarmu(vehicleid) && gTeam[playerid] != TEAM_RENDOR)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, 0xFF1717FF, \"Ez a jármûvet csak Rendõr használhatja!\");
}
if (PizzaJarmu(vehicleid) && gTeam[playerid] != TEAM_PIZZA)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, 0xFF1717FF, \"Nem vagy Pizza Szállító!!\");
}
if (SzereloJarmu(vehicleid) && gTeam[playerid] != TEAM_SZERELO)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, 0xFF1717FF, \"Ezt a jármûvet csak Szerelõ használhatja!\");
}
if (MentosJarmu(vehicleid) && gTeam[playerid] != TEAM_MENTOS)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, 0xFF1717FF, \"Ezt a jármûvet csak Mentõs használhatja!\");
}
if (TaxisJarmu(vehicleid) && gTeam[playerid] != TEAM_TAXI)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, 0xFF1717FF, \"Ezt a jármûvet csak Taxis használhatja!\");
}
}
return 1;
}
stock RendorJarmu(vehid)
{
new model = GetVehicleModel(vehid);
if(model == 425 || model == 432 || model == 470 || model == 490 || model == 497 || model == 596 || model == 598 || model == 599 || model == 601 || model == 523 || model == 430 || model == 427) return 1;
return 1;
}
stock PizzaJarmu(vehid)
{
new model = GetVehicleModel(vehid);
if(model == 448) return 1;
return 1;
}
stock SzereloJarmu(vehid)
{
new model = GetVehicleModel(vehid);
if(model == 525) return 1;
return 1;
}
stock MentosJarmu(vehid)
{
new model = GetVehicleModel(vehid);
if(model == 416) return 1;
return 1;
}
stock TaxisJarmu(vehid)
{
new model = GetVehicleModel(vehid);
if(model == 420) return 1;
return 0;
}
-
Error: error 017: undefined symbol \"vehicleid\" :-[
-
Error: error 017: undefined symbol \"vehicleid\" :-[
Javítva.