-
Hy :D
Kéne egy olyan,hogy /heal [iD] és feltölti másnak az életét.
Köszönöm :D
-
CMD:heal(playerid, params[])
{
new
string[128],
name[MAX_PLAYER_NAME],
PID,
ertek;
if(sscanf(params, \"u\", PID)) return SendClientMessage(playerid,0xFF0000AA, \"Használat: /heal <ID/Játékos név>);
if(ertek < 0 || ertek > 100) return SendClientMessage(playerid,0xFF0000AA, \"Rossz érték! (0-100));
SetPlayerHalth(PID, ertek);
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
format(string, sizeof(string), \"Feltöltötted %s nevû játékos életét!\", name);
SendClientMessage(playerid, 0x33CCFFAA, string);
return 1;
}
Tessék! :)
-
Tessék:
[pawn]
if(strcmp, \"/heal\", cmd, true, 10) == 0)
{
SetPlayerHealth(playerid, 100); // 100-re tölti a játékos életét
SendClientMessage(playerid, SZÍN, \"Feltöltötted a játékos életét!\");
return 1;
}
[/pawn]
-
Tessék:
if(strcmp, \"/heal\", cmd, true, 10) == 0)
{
SetPlayerHealth(playerid, 100); // 100-re tölti a játékos életét
SendClientMessage(playerid, SZÍN, \"Feltöltötted a játékos életét!\");
return 1;
}
Ez nem jó, mert õ nem a saját élet szintjét akarja feltölteni, hanem egy másik játékosét! Ezért használatos a sccanf, és a zcmd!
-
Köszi gabor!
De nem tudnád átalakítani nem zcmd-re?
Mert a módom nem zcmd-s hanem
if(strcmp(cmd, \"/parancs\", true) == 0) {
-os és azért :)
Ha átalakítanád megköszönném.
-
Próbáld ki ezt:
if (strcmp(\"/heal\", cmdtext, true, 10) == 0)
{
new tmp[8], id, Float:Heal;
if(!strlen(tmp)) return SendClientMessage(playerid, -1, \"Használat: /heal <PlayerID>\");
GetPlayerHealth(id, Heal);
SetPlayerHealth(id, Heal);
SendClientMessage(id, -1, \"Valaki beállította az életed!\");
SendClientMessage(playerid, -1, \"Sikeresen beállítottad a játékos életét!\");
return 1;
}
-
Átírnám, de strcmpben nem lehet használni sscanfot, és a többi paraméter beolvasót nem nagyon vágom, csak a sscanfot :( De ha jóltudom a zcmd, és a strcmp megfér egymás melett csak a CMD helyre COMMAND-ot írj, és az OnPlayerCommandText alá rakod, vagy csak valahova, nemtudom, egyik jó (Asszem) :D
-
:S
megpróbáltam de nem jó
-
Fúh, hát akkor nemtudom, de annyit tudok, hogy lehet a kettõt egyszerre alkalmazni, csak az a kérdés, hogy hogyan. :D
-
if(strcmp(cmdtext,\"/heal\",true) == 0)
{
new
string[128],
name[MAX_PLAYER_NAME],
PID,
ertek;
if(sscanf(cmdtext, \"u\", PID)) return SendClientMessage(playerid,0xFF0000AA, \"Használat: /heal <ID/Játékos név>);
if(ertek < 0 || ertek > 100) return SendClientMessage(playerid,0xFF0000AA, \"Rossz érték! (0-100));
SetPlayerHalth(PID, ertek);
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
format(string, sizeof(string), \"Feltöltötted %s nevû játékos életét!\", name);
SendClientMessage(playerid, 0x33CCFFAA, string);
return 1;
}
Nem biztos, hogy jó. Azt hallottam, hogy így is lehet. Én ZCMD-t használok, ezért csak ahhoz értek.:D
-
Itt van ez a ZCMD-s parancs
[pawn]CMD:heal(playerid, params[])
{
new
string[128],
name[MAX_PLAYER_NAME],
PID,
ertek;
if(sscanf(params, \"u\", PID)) return SendClientMessage(playerid,0xFF0000AA, \"Használat: /heal <ID/Játékos név>);
if(ertek < 0 || ertek > 100) return SendClientMessage(playerid,0xFF0000AA, \"Rossz érték! (0-100));
SetPlayerHalth(PID, ertek);
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
format(string, sizeof(string), \"Feltöltötted %s nevû játékos életét!\", name);
SendClientMessage(playerid, 0x33CCFFAA, string);
return 1;
}[/pawn]
http://sampforum.hu/index.php?topic=4562.0
ennek segítségével tudod használni mindkettõ parancsot a zcmd-t is meg a másikat is sok szerencsét ha elakadnál írj !
-
if(strcmp(cmd, \"/sethp\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, \"USAGE: /sethp [playerid/PartOfName] [health]\");
return 1;
}
new playa;
new health;
playa = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
health = strval(tmp);
if(IsPlayerConnected(playa))
{
if(playa != INVALID_PLAYER_ID)
{
SetPlayerHealth(playa, health);
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, \" Rossz ID!\");
}
}
return 1;
}
Not tested