Skripta koju koristim: //
Detaljan opis problema: Pa treba mi CMD /konop,kad sam u helic i kad idem /konop da me spusti niz konop
Dio skripte:
Neke slike/video za lakse dobivanje pomoci(neobavezno):
evo ga: http://pastebin.com/Meih0rbn
E da na to sam mislio, samo kako sad da to prebacim u komandu /konop pa da se spusta a ne da moram tipkom aktivirat to, i kad me spusti dole ostane mi ona animacija od spustanja
(http://i.imgur.com/3IzT8Xr.png) (http://imgur.com/3IzT8Xr)
Izbaci to sto si ubacio pod OnPlayerKeyStatechange i ubaci ovu komandu:
CMD:konop(playerid,params[])
{
if(GetPlayerSkin(playerid) == skinid && GetPVarInt(playerid,"roped") == 0 && GetPlayerVehicleSeat(playerid) != 0 && IsPlayerInAnyVehicle(playerid))
{
GetPlayerPos(playerid,pl_pos[playerid][0],pl_pos[playerid][1],pl_pos[playerid][2]);
MapAndreas_FindZ_For2DCoord(pl_pos[playerid][0],pl_pos[playerid][1],pl_pos[playerid][3]);
pl_pos[playerid][4] = floatsub(pl_pos[playerid][2],pl_pos[playerid][3]);
if(pl_pos[playerid][4] >= ropelength) return SendClientMessage(playerid,0xAA3333AA,"You are too scared to slide from this height");
if(pl_pos[playerid][4] <= 2) return RemovePlayerFromVehicle(playerid);
SetPVarInt(playerid,"roped",1);
SetPlayerCheckpoint(playerid,pl_pos[playerid][0],pl_pos[playerid][1],floatsub(pl_pos[playerid][3],offsetz),20);
SetPlayerPos(playerid,pl_pos[playerid][0],pl_pos[playerid][1],floatsub(pl_pos[playerid][2],2));
SetPlayerVelocity(playerid,0,0,0);
for(new rep=0;rep!=10;rep++) ApplyAnimation(playerid,"ped","abseil",4.0,0,0,0,1,0);
for(new cre=0;cre<=pl_pos[playerid][4];cre++)
{
r0pes[playerid][cre] = CreateObject(3004,pl_pos[playerid][0],pl_pos[playerid][1],floatadd(pl_pos[playerid][3],cre),87.640026855469,342.13500976563, 350.07507324219);
}
SetTimerEx("syncanim",dur,0,"i",playerid);
}
return 1;
}
i da se prekine animacija zamjeni ovo:
public OnPlayerEnterCheckpoint(playerid)
{
if(GetPVarInt(playerid,"roped") == 1 && GetPlayerSkin(playerid) == skinid)
{
SetPVarInt(playerid,"roped",0);
SetPVarInt(playerid,"chop_id",0);
ClearAnimations(playerid);
SetPlayerSkin(playerid, GetPlayerSkin(playerid));
TogglePlayerControllable(playerid,0);
TogglePlayerControllable(playerid,1);
DisablePlayerCheckpoint(playerid);
for(new destr4=0;destr4<=ropelength;destr4++)
{
DestroyObject(r0pes[playerid][destr4]);
}
}
return 1;
}
Baca mi warninge
warning 217: loose indentation
public OnPlayerEnterCheckpoint(playerid)
{
if(GetPVarInt(playerid,"roped") == 1 && GetPlayerSkin(playerid) == skinid)
{
SetPVarInt(playerid,"roped",0);
SetPVarInt(playerid,"chop_id",0);
ClearAnimations(playerid);
SetPlayerSkin(playerid, GetPlayerSkin(playerid));
TogglePlayerControllable(playerid,0);
TogglePlayerControllable(playerid,1);
DisablePlayerCheckpoint(playerid);
for(new destr4=0;destr4<=ropelength;destr4++)
{
DestroyObject(r0pes[playerid][destr4]);
}
}
return 1;
}
Tu mi error baca return 1;
i ovaj
123) : warning 203: symbol is never used: "konop"
CMD:konop(playerid, params[])
{
if(GetPlayerSkin(playerid) == skinid && GetPVarInt(playerid,"roped") == 0 && GetPlayerVehicleSeat(playerid) != 0 && IsPlayerInAnyVehicle(playerid))
{
GetPlayerPos(playerid,pl_pos[playerid][0],pl_pos[playerid][1],pl_pos[playerid][2]);
// MapAndreas_FindZ_For2DCoord(pl_pos[playerid][0],pl_pos[playerid][1],pl_pos[playerid][3]);
pl_pos[playerid][4] = floatsub(pl_pos[playerid][2],pl_pos[playerid][3]);
if(pl_pos[playerid][4] >= ropelength) return SendClientMessage(playerid,0xAA3333AA,"You are too scared to slide from this height");
if(pl_pos[playerid][4] <= 2) return RemovePlayerFromVehicle(playerid);
SetPVarInt(playerid,"roped",1);
SetPlayerCheckpoint(playerid,pl_pos[playerid][0],pl_pos[playerid][1],floatsub(pl_pos[playerid][3],offsetz),20);
SetPlayerPos(playerid,pl_pos[playerid][0],pl_pos[playerid][1],floatsub(pl_pos[playerid][2],2));
SetPlayerVelocity(playerid,0,0,0);
for(new rep=0;rep!=10;rep++) ApplyAnimation(playerid,"ped","abseil",4.0,0,0,0,1,0);
for(new cre=0;cre<=pl_pos[playerid][4];cre++)
{
r0pes[playerid][cre] = CreateObject(3004,pl_pos[playerid][0],pl_pos[playerid][1],floatadd(pl_pos[playerid][3],cre),87.640026855469,342.13500976563, 350.07507324219);
}
SetTimerEx("syncanim",dur,0,"i",playerid);
}
return 1;
}
Definisi konop u pocetku linije
Ne moze, kako god stavi pise warning 203: symbol is never used: "konop"
Citat: Mat |E| poslato Jun 29, 2015, 22:39:12 POSLE PODNE
Ne moze, kako god stavi pise warning 203: symbol is never used: "konop"
Koji proces komandi ti koristis ZCMD, YCMD ili?
Koristim ZCMD, ali pokuso sam to dodat u filterscriptu, a ne direktno u mod
Citat: Mat |E| poslato Jun 29, 2015, 22:49:21 POSLE PODNE
Koristim ZCMD, ali pokuso sam to dodat u filterscriptu, a ne direktno u mod
Pa dali u filterskripti imas inkludovan ZCMD?
Jer se ovaj warning jedino javlja kada koristis ZCMD komandu ali nemas inkluda...
Pokuso sam i sa strcmp ali mi izbaci ovo
(147) : warning 217: loose indentation
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp("/konop", cmdtext))
{
if(GetPlayerSkin(playerid) == skinid && GetPVarInt(playerid,"roped") == 0 && GetPlayerVehicleSeat(playerid) != 0 && IsPlayerInAnyVehicle(playerid))
{
GetPlayerPos(playerid,pl_pos[playerid][0],pl_pos[playerid][1],pl_pos[playerid][2]);
// MapAndreas_FindZ_For2DCoord(pl_pos[playerid][0],pl_pos[playerid][1],pl_pos[playerid][3]);
pl_pos[playerid][4] = floatsub(pl_pos[playerid][2],pl_pos[playerid][3]);
if(pl_pos[playerid][4] >= ropelength) return SendClientMessage(playerid,0xAA3333AA,"You are too scared to slide from this height");
if(pl_pos[playerid][4] <= 2) return RemovePlayerFromVehicle(playerid);
SetPVarInt(playerid,"roped",1);
SetPlayerCheckpoint(playerid,pl_pos[playerid][0],pl_pos[playerid][1],floatsub(pl_pos[playerid][3],offsetz),20);
SetPlayerPos(playerid,pl_pos[playerid][0],pl_pos[playerid][1],floatsub(pl_pos[playerid][2],2));
SetPlayerVelocity(playerid,0,0,0);
for(new rep=0;rep!=10;rep++) ApplyAnimation(playerid,"ped","abseil",4.0,0,0,0,1,0);
for(new cre=0;cre<=pl_pos[playerid][4];cre++)
{
r0pes[playerid][cre] = CreateObject(3004,pl_pos[playerid][0],pl_pos[playerid][1],floatadd(pl_pos[playerid][3],cre),87.640026855469,342.13500976563, 350.07507324219);
}
SetTimerEx("syncanim",dur,0,"i",playerid);
}
}
return 1;
}
taj warning je ovaj return 1;
Zanemari taj warning, on je samo da kaze kao da skripta nije uredna, redovi nisu ljepo poredani...
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp("/konop", cmdtext))
{
if(GetPlayerSkin(playerid) == skinid && GetPVarInt(playerid,"roped") == 0 && GetPlayerVehicleSeat(playerid) != 0 && IsPlayerInAnyVehicle(playerid))
{
GetPlayerPos(playerid,pl_pos[playerid][0],pl_pos[playerid][1],pl_pos[playerid][2]);
// MapAndreas_FindZ_For2DCoord(pl_pos[playerid][0],pl_pos[playerid][1],pl_pos[playerid][3]);
pl_pos[playerid][4] = floatsub(pl_pos[playerid][2],pl_pos[playerid][3]);
if(pl_pos[playerid][4] >= ropelength) return SendClientMessage(playerid,0xAA3333AA,"You are too scared to slide from this height");
if(pl_pos[playerid][4] <= 2) return RemovePlayerFromVehicle(playerid);
SetPVarInt(playerid,"roped",1);
SetPlayerCheckpoint(playerid,pl_pos[playerid][0],pl_pos[playerid][1],floatsub(pl_pos[playerid][3],offsetz),20);
SetPlayerPos(playerid,pl_pos[playerid][0],pl_pos[playerid][1],floatsub(pl_pos[playerid][2],2));
SetPlayerVelocity(playerid,0,0,0);
for(new rep=0;rep!=10;rep++) ApplyAnimation(playerid,"ped","abseil",4.0,0,0,0,1,0);
for(new cre=0;cre<=pl_pos[playerid][4];cre++)
{
r0pes[playerid][cre] = CreateObject(3004,pl_pos[playerid][0],pl_pos[playerid][1],floatadd(pl_pos[playerid][3],cre),87.640026855469,342.13500976563, 350.07507324219);
}
SetTimerEx("syncanim",dur,0,"i",playerid);
}
}
return 1;
}
Nema warninga,ali nece mi sada ni jedna komanda na serveru
haha vrati sto si zadnje radio pa ponovo stimaj isto dok izbaci error/warning
Nema boga
Citat: Mat |E| poslato Jun 30, 2015, 10:34:03 PRE PODNE
Nema boga
Pa nezz kako bi ti pomogo, radio ti je mod, kad si ubacio ovo ne radi, znaci nesto nisi dobro ubacio...
Ima Boga, probaj ovo
CMD:konop(playerid, params[])
{
if(GetPlayerSkin(playerid) == skinid && GetPVarInt(playerid,"roped") == 0 && GetPlayerVehicleSeat(playerid) != 0 && IsPlayerInAnyVehicle(playerid))
{
GetPlayerPos(playerid,pl_pos[playerid][0],pl_pos[playerid][1],pl_pos[playerid][2]);
MapAndreas_FindZ_For2DCoord(pl_pos[playerid][0],pl_pos[playerid][1],pl_pos[playerid][3]);
pl_pos[playerid][4] = floatsub(pl_pos[playerid][2],pl_pos[playerid][3]);
if(pl_pos[playerid][4] >= ropelength)
{
SendClientMessage(playerid,0xAA3333AA,"You are too scared to slide from this height");
return 1;
}
if(pl_pos[playerid][4] <= 2)
{
RemovePlayerFromVehicle(playerid);
}
SetPVarInt(playerid,"roped",1);
SetPlayerCheckpoint(playerid,pl_pos[playerid][0],pl_pos[playerid][1],floatsub(pl_pos[playerid][3],offsetz),20);
SetPlayerPos(playerid,pl_pos[playerid][0],pl_pos[playerid][1],floatsub(pl_pos[playerid][2],2));
SetPlayerVelocity(playerid,0,0,0);
for(new rep=0;rep!=10;rep++) ApplyAnimation(playerid,"ped","abseil",4.0,0,0,0,1,0);
for(new cre=0;cre<=pl_pos[playerid][4];cre++)
{
r0pes[playerid][cre] = CreateObject(3004,pl_pos[playerid][0],pl_pos[playerid][1],floatadd(pl_pos[playerid][3],cre),87.640026855469,342.13500976563, 350.07507324219);
}
SetTimerEx("syncanim",dur,0,"i",playerid);
}
return 1;
}
Sad baca errore
Možda zbog ovoga
MapAndreas_FindZ_For2DCoord(pl_pos[playerid][0],pl_pos[playerid][1],pl_pos[playerid][3]);
stavi ovako //MapAndreas_FindZ_For2DCoord(pl_pos[playerid][0],pl_pos[playerid][1],pl_pos[playerid][3]);
156) : error 030: compound statement not closed at the end of file (started at line 126),
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp("/konop", cmdtext))
{
if(GetPlayerSkin(playerid) == skinid && GetPVarInt(playerid,"roped") == 0 && GetPlayerVehicleSeat(playerid) != 0 && IsPlayerInAnyVehicle(playerid))
{
GetPlayerPos(playerid,pl_pos[playerid][0],pl_pos[playerid][1],pl_pos[playerid][2]);
// MapAndreas_FindZ_For2DCoord(pl_pos[playerid][0],pl_pos[playerid][1],pl_pos[playerid][3]);
pl_pos[playerid][4] = floatsub(pl_pos[playerid][2],pl_pos[playerid][3]);
if(pl_pos[playerid][4] >= ropelength)
{
SendClientMessage(playerid,0xAA3333AA,"You are too scared to slide from this height");
return 1;
}
if(pl_pos[playerid][4] <= 2)
{
RemovePlayerFromVehicle(playerid);
}
SetPVarInt(playerid,"roped",1);
SetPlayerCheckpoint(playerid,pl_pos[playerid][0],pl_pos[playerid][1],floatsub(pl_pos[playerid][3],offsetz),20);
SetPlayerPos(playerid,pl_pos[playerid][0],pl_pos[playerid][1],floatsub(pl_pos[playerid][2],2));
SetPlayerVelocity(playerid,0,0,0);
for(new rep=0;rep!=10;rep++) ApplyAnimation(playerid,"ped","abseil",4.0,0,0,0,1,0);
for(new cre=0;cre<=pl_pos[playerid][4];cre++)
{
r0pes[playerid][cre] = CreateObject(3004,pl_pos[playerid][0],pl_pos[playerid][1],floatadd(pl_pos[playerid][3],cre),87.640026855469,342.13500976563, 350.07507324219);
}
SetTimerEx("syncanim",dur,0,"i",playerid);
}
return 1;
}