Skripta koju koristim:FB
Detaljan opis problema:Jel zna neko kako da napravim da kad udjes u kola i ne kucas /pojas ili kad sednes na motor ne kucas /kaciga kad udaris skida ti malo hp i sve tako i umres onda dao sam kodove od /pojas i /kaciga ako vam znaci nesto hvala uanpred.
Dio skripte: eto za pojas CMD:pojas(playerid, params[])
{
if(IsPlayerConnected(playerid))
{
new string[128];
if(IsPlayerInAnyVehicle(playerid))
{
if(!IsModelABike(GetPlayerVehicleID(playerid)))
{
if(UsingBelt[playerid] == 0)
{
SCM(playerid, TEAM_CYAN_COLOR, "* Vezali ste vas pojas.");
format(string, sizeof(string), "* %s vezuje svoj pojas.", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5);
UsingBelt[playerid] = 1;
}
else
{
SCM(playerid, TEAM_CYAN_COLOR, "* Odvezali ste vas pojas.");
format(string, sizeof(string), "* %s odvezuje svoj pojas.", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5);
UsingBelt[playerid] = 0;
}
}
else
{
SCM(playerid, COLOR_GREY,"* Vi ste na motoru, koristite kacigu! (/kaciga)");
return 1;
}
}
}
return 1;
}
Evo i za kacigu CMD:kaciga(playerid, params[])
{
if(IsPlayerConnected(playerid))
{
new car;
new string[128];
car = GetPlayerVehicleID(playerid)
if(PlayerTied[playerid] == 1 || PlayerCuffed[playerid] > 0)
{
SCM(playerid, COLOR_GREY, "**Vezani ste, ne mozete da stavite kacigu!");
return 1;
}
if(IsPlayerInAnyVehicle(playerid))
{
if(IsModelABike(car))
{
if(UsingBelt[playerid] != 1)
{
SCM(playerid, TEAM_CYAN_COLOR, "* Stavili ste kacigu na glavu.");
format(string, sizeof(string), "* %s uzima kacigu i stavlja je na glavu", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5);
UsingBelt[playerid] = 1;
SetPlayerAttachedObject(playerid, 1, 18645, 2, 0.086220, 0.028146, 0.000000, 91.219810, 85.847640, 0.000000, 1.000000, 1.000000, 1.000000 ); // MotorcycleHelmet1 - kaciga
return 1;
}
else if(UsingBelt[playerid] == 1)
{
SCM(playerid, TEAM_CYAN_COLOR, "* Skinuli ste kacigu.");
format(string, sizeof(string), "* %s skida kacigu", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5);
UsingBelt[playerid] = 0;
RemovePlayerAttachedObject(playerid,1);
//SetPlayerAttachedObject(playerid,1,19064,2,0.1099,0.019,0.0,0.0,90.0,90.0,1.1,1.1,1.1);
return 1;
}
}
else
{
RemovePlayerAttachedObject(playerid,1);
}
}
else
{
SCM(playerid, COLOR_GREY, "Niste na motoru");
}
}
return 1;
}
Neke slike/video za lakse dobivanje pomoci(neobavezno):/
http://wiki.sa-mp.com/wiki/OnVehicleDamageStatusUpdate
Hocu npr: kad onu sa vozilom udari u zid ako nema pojas ili ako je na motoru i nema kacigu da mu skine pomalo hp a ako ima nista da se ne skida
znaci kad udje u vozilo postavis mu timer na 15sekundi da postavi pojas ako ne dok je u vozilu oduzimas mu health
Ma ne to hocu bez tajmer znaci kad udje u vozilo i ne stavi pojas on moze da vozi ali ako udari negde ili zakaci kola da mu skida po malo hp i opet ako udari da mu skine hp i sve tako dok ne umre a kad stavi pojas onda nista da mu ne skida kad udara isto tako i za motor.
bleaksova funkcija + varijabla + proveravarijable = oduzimanje health-a
Ako nije problem pomoc kako da to napisem i gde da ubacim posto ne znam bas oko skriptanja jos ucim :)
na kraj skripte stavis sve to sto uradis
Blaeks znam to nego ako moze pomoc kako da napisem ?
proveris da li on ima taj pojas i ako nema stavis da mu se oduzima health(SetPlayerHealth)
Evoo pojas
CMD:pojas(playerid, params[])
{
if(IsPlayerConnected(playerid))
{
new string[128];
if(IsPlayerInAnyVehicle(playerid))
{
if(!IsModelABike(GetPlayerVehicleID(playerid)))
{
if(UsingBelt[playerid] == 0)
{
SCM(playerid, TEAM_CYAN_COLOR, "* Vezali ste vas pojas.");
format(string, sizeof(string), "* %s vezuje svoj pojas.", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5);
UsingBelt[playerid] = 1;
}
else
{
SCM(playerid, TEAM_CYAN_COLOR, "* Odvezali ste vas pojas.");
format(string, sizeof(string), "* %s odvezuje svoj pojas.", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5);
UsingBelt[playerid] = 0;
}
}
else
{
SCM(playerid, COLOR_GREY,"* Vi ste na motoru, koristite kacigu! (/kaciga)");
return 1;
}
}
}
return 1;
}
Evoo kacigaa
CMD:kaciga(playerid, params[])
{
if(IsPlayerConnected(playerid))
{
new car;
new string[128];
car = GetPlayerVehicleID(playerid)
if(PlayerTied[playerid] == 1 || PlayerCuffed[playerid] > 0)
{
SCM(playerid, COLOR_GREY, "**Vezani ste, ne mozete da stavite kacigu!");
return 1;
}
if(IsPlayerInAnyVehicle(playerid))
{
if(IsModelABike(car))
{
if(UsingBelt[playerid] != 1)
{
SCM(playerid, TEAM_CYAN_COLOR, "* Stavili ste kacigu na glavu.");
format(string, sizeof(string), "* %s uzima kacigu i stavlja je na glavu", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5);
UsingBelt[playerid] = 1;
SetPlayerAttachedObject(playerid, 1, 18645, 2, 0.086220, 0.028146, 0.000000, 91.219810, 85.847640, 0.000000, 1.000000, 1.000000, 1.000000 ); // MotorcycleHelmet1 - kaciga
return 1;
}
else if(UsingBelt[playerid] == 1)
{
SCM(playerid, TEAM_CYAN_COLOR, "* Skinuli ste kacigu.");
format(string, sizeof(string), "* %s skida kacigu", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5);
UsingBelt[playerid] = 0;
RemovePlayerAttachedObject(playerid,1);
//SetPlayerAttachedObject(playerid,1,19064,2,0.1099,0.019,0.0,0.0,90.0,90.0,1.1,1.1,1.1);
return 1;
}
}
else
{
RemovePlayerAttachedObject(playerid,1);
}
}
else
{
SCM(playerid, COLOR_GREY, "Niste na motoru");
}
}
return 1;
}
zasto meni dajes to ?
Pa da mi pomognes kako da napravim ovo kad neko ne kuca kaciga ili pojas u kolima da kad udari negde skida mu hp i sve tako dok ne umre
I ja imam problem sa tim, probao sam nesto, ali nece... odmah me ubije
public OnVehicleDamageStatusUpdate(vehicleid, playerid)
{
if(IsABike(vehicleid))
{
if(vHelmet[playerid] == 0) SetPlayerHealth(playerid, -5);
}
else
{
if(vBelt[playerid] == 0) SetPlayerHealth(playerid, -5);
}
return 1;
}
nece ni mene zato sto mi on ne skine -2 hp nego kad udarim seta mi na -2 i odmah umrem
pa napravis player varijablu
primer
cZdravlje[playerid] = 100;
onda pod damagestatus oduzimas od varijable i setujes u setplayerhealth
primer
cZdravlje[playerid] --;
i onda napravis nekakvu proveru ako je igracu ostalo govorim 0 od te varijable setujes mu health na 0
Trebalo bi ovako:
new hp;
hp = GetPlayerHealth(playerid);
SetPlayerHealth(playerid, hp-2);
Pobaj ovo:
public OnVehicleDamageStatusUpdate(vehicleid, playerid)
{
new
Float:health;
GetPlayerHealth(playerid,health);
if(IsABike(vehicleid))
{
if(vHelmet[playerid] == 0) SetPlayerHealth(playerid,floatround(health,floatround_round)-5);
}
else
{
if(vBelt[playerid] == 0) SetPlayerHealth(playerid,floatround(health,floatround_round)-5);
}
return 1;
}