Szerző Téma: Mentõs munka  (Megtekintve 1012 alkalommal)

Mentõs munka
« Dátum: 2012. november 23. - 12:57:15 »
0 Show voters
Sziasztok!
Találtam egy mentõs scriptet, csak ezzel az a gond, hogy akkor is tölti az életet, amikor nincs is a player közelében,
és akár meddig töltheti.
 
CMD:mento(playerid, params[])
{
 if(GetPlayerScore(playerid) >= 150)
 {
      SetPVarInt(playerid, \"Mento\", 1);
      SetPlayerPos(playerid, 1177.3818,-1323.0188,14.0679); // Ide írd a kordinátát!
              SetPlayerSkin(playerid, 275);
 }
 else
 {
               SendClientMessage(playerid, 0xFF0000AA, \"Még tapasztalatlan vagy!(Minimum 150 pont)\");
         }
         return 1;
}
CMD:szoli(playerid, params[])
{
     if(GetPVarInt(playerid, \"Szolgalat\") == 0)
     {
   new name[MAX_PLAYER_NAME], string[128];
   SetPVarInt(playerid, \"Szolgalat\", 1);
           GetPlayerName(playerid, name, MAX_PLAYER_NAME);
   format(string, sizeof(string), \"%s(%d) Mentõ szolgálatba állt!\", name, playerid);
           SendClientMessageToAll(0x33AA33AA, string);
      }
      return 1;
}
CMD:gyogyit(playerid, params[])
{
       if(GetPVarInt(playerid, \"Mento\") == 1)
       {
    new
      PID,
      ertek;
            if(sscanf(params, \"ui\", PID, ertek)) return SendClientMessage(playerid, 0xFF0000AA, \"Használat: /heal <ID/Játékosnév> <Érték>\");
    if(ertek < 0 || ertek > 100) return SendClientMessage(playerid, 0xFF0000AA, \"Rossz érték! (0-100)\");
    if(PID == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFF0000AA, \"Rossz ID/Név\");
    if(playerid == PID) return SendClientMessage(playerid, 0xFF0000AA, \"Magadanak nem töltheted fel az életedet!\");
    SetPlayerHealth(PID, ertek);
    GivePlayerMoney(playerid, 4000);
    SetPlayerScore(playerid, GetPlayerScore(playerid) +2);
       }
       else if(GetPVarInt(playerid, \"Mento\") == 0)
       {
            SendClientMessage(playerid, 0xFF0000AA, \"Nem vagy mentõs!\");
       }
       return 1;
}
CMD:104(playerid, params[])
{
new Float:V, Float:V1, Float:V2;
new name[MAX_PLAYER_NAME], string[128];
         GetPlayerPos(playerid, V, V1, V2);
         SetPlayerCheckpoint(playerid, V, V1, V2, 2);
 GetPlayerName(playerid, name, MAX_PLAYER_NAME);
 format(string, sizeof(string), \"%s(%d) Hívta a mentõket!\", name, playerid);
 SendClientMessageToAll(0x33CCFFAA, string);
         return 1;
}

 
Valaki át tudná nekem kicsit alakítani? :)

Nem elérhető nyE

  • 1745
    • Profil megtekintése
Mentõs munka
« Válasz #1 Dátum: 2012. november 23. - 13:02:49 »
+1 Show voters

CMD:gyogyit(playerid, params[])
{
       if(GetPVarInt(playerid, \"Mento\") == 1)
       {
            new
                      PID,
                      ertek;
            if(sscanf(params, \"ui\", PID, ertek)) return SendClientMessage(playerid, 0xFF0000AA, \"Használat: /heal <ID/Játékosnév> <Érték>\");
            if(ertek < 0 || ertek > 100) return SendClientMessage(playerid, 0xFF0000AA, \"Rossz érték! (0-100)\");
            if(PID == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFF0000AA, \"Rossz ID/Név\");
            if(playerid == PID) return SendClientMessage(playerid, 0xFF0000AA, \"Magadanak nem töltheted fel az életedet!\");
            if(!IsPlayerInRangeOfPlayer(playerid, PID, 3.0)) return SendClientMessage(playerid, 0xFF0000AA, \"Nem vagy elég közel a megadott játékoshoz!\" );
            SetPlayerHealth(PID, ertek);
            GivePlayerMoney(playerid, 4000);
            SetPlayerScore(playerid, GetPlayerScore(playerid) +2);
       }
       else if(GetPVarInt(playerid, \"Mento\") == 0)
       {
            SendClientMessage(playerid, 0xFF0000AA, \"Nem vagy mentõs!\");
       }
       return 1;
}
stock IsPlayerInRangeOfPlayer(playerid, targetid, Float: range)
{
    new Float: targetPos[3];
    GetPlayerPos(targetid, targetPos[0], targetPos[1], targetPos[2]);
    if(IsPlayerInRangeOfPoint(playerid, range, targetPos[0], targetPos[1], targetPos[2])) return true;
    return false;
}

Mentõs munka
« Válasz #2 Dátum: 2012. november 23. - 20:33:38 »
0 Show voters
Köszi :) Még azt kéne, hogy ne tudja a végtelenségig gyógyitani, hanem csak 1x :D

Kovacs_Bela

  • Vendég
Mentõs munka
« Válasz #3 Dátum: 2012. november 23. - 21:53:23 »
+1 Show voters
Idézetet írta: sticky2 date=1353699218\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"30133\" data-ipsquote-contentclass=\"forums_Topic
Köszi :) Még azt kéne, hogy ne tudja a végtelenségig gyógyitani, hanem csak 1x :D
 
elvileg csak egyszer 100ig töltheti.. vagy mire gondolsz?

Nem elérhető Iceaac

  • 2187
    • Profil megtekintése
Mentõs munka
« Válasz #4 Dátum: 2012. november 23. - 22:13:27 »
0 Show voters
CMD:gyogyit(playerid, params[])
{
    if(!GetPVarInt(playerid, \"Mento\")) SendClientMessage(playerid, 0xFF0000AA, \"Nem vagy mentõs!\");
    new PID, Float:hp;
    if(sscanf(params, \"u\", PID)) return SendClientMessage(playerid, 0xFF0000AA, \"Használat: /heal <ID/Játékosnév>\");
    if(PID == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFF0000AA, \"Rossz ID/Név\");
    if(playerid == PID) return SendClientMessage(playerid, 0xFF0000AA, \"Magadanak nem töltheted fel az életedet!\");
    if(!IsPlayerInRangeOfPlayer(playerid, PID, 3.0)) return SendClientMessage(playerid, 0xFF0000AA, \"Nem vagy elég közel a megadott játékoshoz!\");
GetPlayerHealth(PID, hp);
if(hp >= 100) return SendClientMessage(playerid, 0xFF0000AA, \"A játékos nincs megsérülve!\");
    SetPlayerHealth(PID, 100);
GivePlayerMoney(playerid, 4000);
SetPlayerScore(playerid, GetPlayerScore(playerid) +2);
    return 1;
}

 
Így elméletileg nincs 2. paraméter, azaz nem tudsz 1-1 életpontonként gyógyítani és ölni sem (eredeti parancsnál ha értéknek 0-t írtál megölted volna). Egybõl 100 HPra gyógyít és nem enged utána gyógyítani, mivel a játékosnak már tele az élete.
Edit: amúgy miért indentál ilyen hülyén ez a code tag?

Mentõs munka
« Válasz #5 Dátum: 2012. november 24. - 07:37:12 »
0 Show voters
Köszönöm =) Nem tudom mit jelent az, még kezdõ vagyok :D

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal