kako da napravin komandu da kad kucan /sprunk kraj aparata da mi doÄ'e animacija koa da lik sjedne ( može i bez animacije ) i da mu se doda 25hp???
hmmm to da mu se doda 25 hp. neznam ali za animaciju samo u modu ili FS (zavisi gdje su ti animacije) promjenis komandu za sjesti iz /chairsit u /sprunk...
to bi onda bile 2 komande sprunk ???? ili na animaciju dodam da se nabije hp
ma neznam zasto uopce radis to...komplicirano je...a i nepotrebno da covjek sjedne kada ide jesti kod sprunk aparata....
Ja bi to napravio s funkcijama IsPlayerInRangeOfPoint i SetPlayerHealth, malo logike samo.. Za animaciju neznam.
Prvo uzmi x,y,z kordinate od mesta ispred kog ces moci da uzimas sprunk
Te kordinate dobijas tako sto odes na zeleljeno mesto u igrici i ukucas /save
I onda stavis pod
Citatpublic OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/sprunk", cmdtext, true, 10) == 0)
{
if(PlayerToPoint(1.0, playerid, x,y,z) -- tu stavljas kordinate od tog mesta na kom ce moci da uzima sprunk
GivePlayerMoney(playerid, -3); --- -3 to je da igracu oduzme 3 dolara kad upise /sprunk,ti podesi koliko hoces
SendClientMessage(playerid, 0xFFFFFF, "Kupili ste sprunk.");
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_SPRUNK);
return 1;
}
}
probaj preko ovog includea...
http://forum.sa-mp.com/index.php?topic=43075.0 (http://forum.sa-mp.com/index.php?topic=43075.0)
Da bolje mu je preko ovog includea ja sam mu samo onako obicno stavio ;) Nek se malo potrudi pa nek stavi po tom sto je seif napravio
evo ljudi da van nelažem stavio sam ovo:
Citat//---------------------------------[Sprunk]------------------------------------------
if(strcmp(cmdtext, "/sprunk", true) == 0)
{
if(PlayerToPoint(3.0, playerid, 2483.8538,-1783.5389,13.5541))
{
GivePlayerMoney(playerid, -20);
SetPlayerHealth(playerid, 87.00);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s uzima sok iz aparata i pije ga.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
return 1;
}
kad sam vido onaj include Å¡ta li veÄ odma sam ga ugasio xD a ovo drugu sa animacijon mi je javljalo neke erore e sad ako je moguÄe da mi reÄete kako da mi se hp dodaje 20 po 20 % a ne da mi odma skoÄi na 87???
//---------------------------------[Sprunk]------------------------------------------
if(strcmp(cmdtext, "/sprunk", true) == 0)
{
if(PlayerToPoint(3.0, playerid, 2483.8538,-1783.5389,13.5541))
{
GivePlayerMoney(playerid, -20);
SetPlayerHealth(playerid, 25.00);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s uzima sok iz aparata i pije ga.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
return 1;
}
evo kopiraj owo..sada ce dodati 25 % heal-a :D
edit: ako ne radi jawi..
loše radi treba mi da svaki put kad popijem da mi se doda 25 a sada mi ode na 25 i opet popijet ostane 25 a trebalo bi 50 pa ako znaš pomozi ;)
Trebas kombinaciju sa GetPlayerHealth, i onda na vrijednost koju dobijes sa Get dodas 25, i onda tek SetPlayerHealth ta finalna vrijednost...
ili odmah stavi kada jede na sprunk da dobije % heala XD
if(strcmp(cmd, "/menu", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerToPoint(20.0, playerid,369.1292,-72.7348,1001.5078) || PlayerToPoint(38.0, playerid,1212.7590,-904.1766,48.0557) || PlayerToPoint(10.0, playerid,-2446.8879,2230.1929,4.8438))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "Pomoc: /menu [id jela]");
SendClientMessage(playerid, COLOR_GRAD1, "|_______ Jela na Ponudi _______|");
SendClientMessage(playerid, COLOR_GRAD2, "| 1: Hamburger(10$), 2: CheesBurger(20$), 3: Pizza(25$), 4: Odojak(50$)");
return 1;
}
new item = strval(tmp);
new Float:health;
GetPlayerHealth(playerid, health);
switch (item)
{
case 1:
{
if (PlayerToPoint(10.0, playerid,369.1292,-72.7348,1001.5078)|| PlayerToPoint(10.0, playerid,1212.7590,-904.1766,48.0557) || PlayerToPoint(10.0, playerid,-2446.8879,2230.1929,4.8438))
{
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), "* %s jede Hamburger", pName);
ProxDetector(10.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SetPlayerHealth(playerid, health + 10.0);
GivePlayerMoney(playerid, -10);
SBizzInfo[9][sbTill] += 10;
}
}
case 2:
{
if (PlayerToPoint(10.0, playerid,369.1292,-72.7348,1001.5078)|| PlayerToPoint(10.0, playerid,1212.7590,-904.1766,48.0557) || PlayerToPoint(10.0, playerid,-2446.8879,2230.1929,4.8438))
{
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), "* %s jede CheesBruger", pName);
ProxDetector(10.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SetPlayerHealth(playerid, health + 20.0);
GivePlayerMoney(playerid, -20);
SBizzInfo[9][sbTill] += 20;
}
}
case 3:
{
if (PlayerToPoint(10.0, playerid,369.1292,-72.7348,1001.5078)|| PlayerToPoint(10.0, playerid,1212.7590,-904.1766,48.0557) || PlayerToPoint(10.0, playerid,-2446.8879,2230.1929,4.8438))
{
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), "* %s jede Pizzu", pName);
ProxDetector(10.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SetPlayerHealth(playerid, health + 25.0);
GivePlayerMoney(playerid, -25);
SBizzInfo[9][sbTill] += 25;
}
}
case 4:
{
if (PlayerToPoint(10.0, playerid,369.1292,-72.7348,1001.5078)|| PlayerToPoint(10.0, playerid,1212.7590,-904.1766,48.0557) || PlayerToPoint(10.0, playerid,-2446.8879,2230.1929,4.8438))
{
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), "* %s jede Odojak", pName);
ProxDetector(10.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SetPlayerHealth(playerid, health + 50.0);
GivePlayerMoney(playerid, -50);
SBizzInfo[9][sbTill] += 50;
}
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Nisi kod mjesta za /menu !");
}
}//not connected
return 1;
}
Eto ti moja komanda od /menu, radi na istom principu
hvala ljudi rješio asm može lock