GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Szkript kérések => A témát indította: Yakuza™ - 2012. március 24. - 15:19:49

Cím: /heal parancs
Írta: Yakuza™ - 2012. március 24. - 15:19:49
Hy :D
Kéne egy olyan,hogy /heal [iD] és feltölti másnak az életét.
Köszönöm :D
Cím: /heal parancs
Írta: Gabor.. - 2012. március 24. - 15:40:22
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! :)
Cím: /heal parancs
Írta: Erik3333 - 2012. március 24. - 15:41:00
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]
Cím: /heal parancs
Írta: Gabor.. - 2012. március 24. - 15:54:16
Idézetet írta: Erik3333 date=1332600060\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"18994\" data-ipsquote-contentclass=\"forums_Topic
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!
Cím: /heal parancs
Írta: Yakuza™ - 2012. március 24. - 16:49:16
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.
Cím: /heal parancs
Írta: Erik3333 - 2012. március 24. - 16:54:53
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;
}
Cím: /heal parancs
Írta: Gabor.. - 2012. március 24. - 17:29:21
Á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
Cím: /heal parancs
Írta: Yakuza™ - 2012. március 24. - 18:06:23
:S
megpróbáltam de nem jó
Cím: /heal parancs
Írta: Gabor.. - 2012. március 24. - 18:19:55
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
Cím: /heal parancs
Írta: Benceee - 2012. március 25. - 08:58:38
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
Cím: /heal parancs
Írta: #Nexus# - 2012. március 25. - 11:13:17
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 !
Cím: /heal parancs
Írta: Zotyabuszos - 2012. március 25. - 11:21:46

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