Jump to content

Příkaz uzdravit pro určité povolání


Paulie

Recommended Posts

Takže je tu můj 2 TUT na uzdravit pro doktory tak začnem...

Do Onplayercommand.... dejte

dcmd(uzdravit,8,cmdtext);

 

A někam do volnýho místa v modu dejte

dcmd_uzdravit(playerid,params[])
{
new id = strval(params);
new string[256];
if (!strlen(params)) return SendClientMessage(playerid,  COLOR_WHITE, "POUŽITÍ: /uzdravit id");
else if(!IsPlayerConnected(id)) return SendClientMessage(playerid,  COLOR_WHITE, "Toto id není připojený!");
else if(iPlayerRole[playerid] != 7) return  SendClientMessage(playerid,  COLOR_WHITE, "Nejsi Doktor!"); // To si změnte na proměnu svého povolání
else if(playerid == id) return  SendClientMessage(playerid,  COLOR_WHITE, "Sám sebe nemůžeš uzdravit!");
else {
if(GetDistanceBetweenPlayers(playerid, id) >= 10)
{
SendClientMessage(playerid, COLOR_WHITE, "Jsi příliš daleko!");
} else {
format(string, sizeof(string), "Doktor %s uzdravil hráče %s !", PlayerName(playerid), PlayerName(id));
SendClientMessageToAll(COLOR_WHITE, string);
SetPlayerHealth(id, 100);
}
}
return 1;
}

A pokud nemáte GetDistanceBetweenPlayers tak do forwardu dejte

forward GetDistanceBetweenPlayers(playerid,playerid2);

 

A někam do modu

public GetDistanceBetweenPlayers(playerid,playerid2)
{
  new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2,Float:tmpdis;
  GetPlayerPos(playerid,x1,y1,z1);
  GetPlayerPos(playerid2,x2,y2,z2);
  tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
  return floatround(tmpdis);
}

Link to comment
Share on other sites

No hlavně musíš mít povolání :d

A pak si musíš uděat např do new

new iPlayerRole[MAX_PLAYERS];

 

Pak mam v Menurow u povolání

iPlayerRole[playerid]=1;

 

A jak je v TUT

else if(iPlayerRole[playerid] != 7)

Tak jsi to změníš na else if(iPlayerRole[playerid] != 1)

Link to comment
Share on other sites

//----------------------------------heal----------------------------------------

dcmd(heal,4,cmdtext);

//-------------------------------------heal2------------------------------------

dcmd_heal(playerid,params[])

{

new id = strval(params);

new string[256];

if (!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "POUŽIT: /heal id");

else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_WHITE, "Toto id není pripojene!");

else if(iPlayerRole[playerid] != 6) return SendClientMessage(playerid, COLOR_WHITE, "Ne si Doktor!"); // To si změnte na proměnu svého povolání

else if(playerid == id) return SendClientMessage(playerid, COLOR_WHITE, "Sám seba nemůožeš uzdravit!");

else {

if(GetDistanceBetweenPlayers(playerid, id) >= 10)

{

SendClientMessage(playerid, COLOR_WHITE, "Jsi velmi daleko!");

} else {

format(string, sizeof(string), "Doktor %s uzdravil hrače %s !", PlayerName(playerid), PlayerName(id));

SendClientMessageToAll(COLOR_WHITE, string);

SetPlayerHealth(id, 100);

}

}

(783) : error 017: undefined symbol "dcmd_heal"

(785) : error 017: undefined symbol "dcmd_heal"

(787) : error 017: undefined symbol "params"

(789) : error 017: undefined symbol "params"

(806) : warning 225: unreachable code

Link to comment
Share on other sites

hore do modu

 

#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

Link to comment
Share on other sites

No hlavně musíš mít povolání :d

A pak si musíš uděat např do new

new iPlayerRole[MAX_PLAYERS];

 

Pak mam v Menurow u povolání

iPlayerRole[playerid]=1;

 

A jak je v TUT

else if(iPlayerRole[playerid] != 7)

Tak jsi to změníš na else if(iPlayerRole[playerid] != 1)

 

nejde ked sa dam za doktora pise Nie si Doktor!

 

else if(iPlayerRole[playerid] != 6) mam tak lebo v public OnPlayerSelectedMenuRow(playerid, row)

 

if (Current ==doktormenu ) {

switch(row) {

case 0:{

new string[256];

new pname[MAX_PLAYER_NAME];

GetPlayerName(playerid, pname, MAX_PLAYER_NAME);

format(string, sizeof(string), "[POVOLANIE] %s Sa pridal k doktorom .", pname);

SendClientMessageToAll(COLOR_PEKNA, string); //posle vsem hracum

SCM(playerid,COLOR_PEKNA,"Pridal si sa k doktorom liec ludi z /heal.");

povolani[playerid] = 6;

ResetPlayerWeapons(playerid); //restartuj hracovi zbrane

SetPlayerSkin(playerid, 276); //nastav hracovi skin

SetPlayerColor(playerid,COLOR_WHITE); //nastav hracovi barvu

}

}

}

Link to comment
Share on other sites

else if(iPlayerRole[playerid] != 6) a povolani[playerid] = 6;

To je asi rozdíl ne :d

 

 

(1304) : warning 211: possibly unintended assignment
(1304) : error 001: expected token: "*then", but found ";"
(1304) : error 036: empty statement
1305) : warning 225: unreachable code
1305) : error 029: invalid expression, assumed zero
(1305) : warning 215: expression has no effect
(1305) : error 001: expected token: ";", but found "if

 

a riadjky

dcmd_heal(playerid,params[])

{

new id = strval(params);

new string[256];

if (!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "POUŽIT: /heal id");

else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_WHITE, "Toto id není pripojene!");

else if povolani[playerid] = 6; return SendClientMessage(playerid, COLOR_WHITE, "Nie si Doktor!"); // To si změnte na proměnu svého povolání

else if(playerid == id) return SendClientMessage(playerid, COLOR_WHITE, "Sám seba nemůožeš uzdravit!");

else {

if(GetDistanceBetweenPlayers(playerid, id) >= 10)

{

SendClientMessage(playerid, COLOR_WHITE, "Jsi velmi daleko!");

} else {

format(string, sizeof(string), "Doktor %s uzdravil hrače %s !", PlayerName(playerid), PlayerName(id));

SendClientMessageToAll(COLOR_WHITE, string);

SetPlayerHealth(id, 100);

return 1;

}

}

return 1;

}

Link to comment
Share on other sites

dcmd_heal(playerid,params[])

{

new id = strval(params);

new string[128];

if (!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "POUŽIT: /heal id");

else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_WHITE, "Toto id není pripojene!");

else if povolani[playerid] = 6; return SendClientMessage(playerid, COLOR_WHITE, "Nie si Doktor!"); // To si změnte na proměnu svého povolání

else if(playerid == id) return SendClientMessage(playerid, COLOR_WHITE, "Sám seba nemůožeš uzdravit!");

else {

if(GetDistanceBetweenPlayers(playerid, id) >= 10)

{

SendClientMessage(playerid, COLOR_WHITE, "Jsi velmi daleko!");

} else {

format(string, sizeof(string), "Doktor %s uzdravil hrače %s !", PlayerName(playerid), PlayerName(id));

SendClientMessageToAll(COLOR_WHITE, string);

SetPlayerHealth(id, 100);

}

}

return 1;

}

 

skus toto ale nwm no dal si siroky pojem riadky

Link to comment
Share on other sites

(1304) : warning 211: possibly unintended assignment

(1304) : error 001: expected token: "*then", but found ";"

(1304) : error 036: empty statement

(1305) : warning 225: unreachable code

(1305) : error 029: invalid expression, assumed zero

(1305) : warning 215: expression has no effect

(1305) : error 001: expected token: ";", but found "if"

(1318) : warning 203: symbol is never

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...