-
Sziasztok!
Azt szeretném megkérdezni, hogy a \"CLIMB_IDLE\" animot hogy lehetne lekérdezni?
És ha azt az animot csinálja vagyis kapaszkodik valahova, akkor pl.: írjon ki egy szöveget (Ezt csak azért írtam ide, hogy nagyjából tudjátok mit szeretnék.)
Ezzel a kóddal, meg ezzel az átalakításával is próbálkoztam, de nem sikerült:..
public OnPlayerUpdate(playerid)
{
if(GetPlayerAnimationIndex(playerid))
{
new animlib[32];
new animname[32];
new msg[128];
GetAnimationName(GetPlayerAnimationIndex(playerid),animlib,32,animname,32);
format(msg, 128, \"Futó animáció: %s %s\", animlib, animname);
SendClientMessage(playerid, 0xFFFFFFFF, msg);
}
return 1;
}
Elõre is köszönöm a segítséget!
-
Szia. Elsõnek is keresd meg az animáció nevét a leírt szkripted alapján (felmész a szerverre felkapaszkodsz valamire és kiírja a nevét.). Ezt úgy kell megoldani, ellenõrzöd hogy a kapaszkodó animáció neve egyezik-e a lekérdezés pillanatában. Tehát ha fut a játékos akkor nem fogja kiírni, de ha kapaszkodik akkor kiírja.
public OnPlayerUpdate(playerid)
{
if(GetPlayerAnimationIndex(playerid))
{
new animlib[32],animname[32];
GetAnimationName(GetPlayerAnimationIndex(playerid),animlib,32,animname,32);
if(!strcmp(\"kapaszkodó animáció neve\", animname, true)) SendClientMessage(playerid,-1,\"Te most kapaszkodsz. (Flood roham) \");
}
return 1;
}
-
Az anim nevét tudom az a \'CLIMB_IDLE\'.
A scriptet, megnézem majd olyan délután fele, köszönöm szépen.
-
Akkor módosítottam is a szkriptet. Tessék:
public OnPlayerUpdate(playerid)
{
if(GetPlayerAnimationIndex(playerid))
{
new animlib[32],animname[32];
GetAnimationName(GetPlayerAnimationIndex(playerid),animlib,32,animname,32);
if(!strcmp(\"CLIMB_IDLE\", animname, true)) SendClientMessage(playerid,-1,\"Te most kapaszkodsz. (Flood roham) \");
}
return 1;
}
-
szerintem felesleges ez a string ellenõrzés...
if(GetPlayerAnimationIndex(playerid) == ANIMÁCIÓ_ID)
ez nem terhel annyit, fõleg OnPlayerUpdate alatt egy ilyen \"spórolás\" nagyon sokat számít!
inkább ezt ajánlom :)
-
szerintem felesleges ez a string ellenõrzés...
if(GetPlayerAnimationIndex(playerid) == ANIMÁCIÓ_ID)
ez nem terhel annyit, fõleg OnPlayerUpdate alatt egy ilyen \"spórolás\" nagyon sokat számít!
inkább ezt ajánlom :)
Richard: nem tudom miért, de a tied nekem valoamiért erroros, próbáltam \" jelek közé tenni, akkor is errort ír próbáltam anélkül akkor is.
BoOy:
A tied az tökéletesen mûködik köszönöm!
E: még nyitva hagyom témát Richard hátha tud olyan kodót adni ami sporólás képpen jó.
-
az ANIMÁCIÓ_ID-t átírtad az ID-ra? :) (pl.: 1234)
ehhez 1. meg kell tudnod az anim ID-t, mint ahogy a stringhez tudod a nevet ide az ID-ja kell
if(!strcmp(\"CLIMB_IDLE\", animname, true)) { format(animname,sizeof(animname),\"ID: %d\",GetPlayerAnimationIndex(playerid)); }
-
Ja, hogy az ID -t kellet, elnézést én néztem félre. Tökéletesen mûködik köszönöm, neked is megy a +!