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

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: sticky2 - 2012. november 23. - 12:57:15

Cím: Mentõs munka
Írta: sticky2 - 2012. november 23. - 12:57:15
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? :)
Cím: Mentõs munka
Írta: nyE - 2012. november 23. - 13:02:49

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;
}
Cím: Mentõs munka
Írta: sticky2 - 2012. november 23. - 20:33:38
Köszi :) Még azt kéne, hogy ne tudja a végtelenségig gyógyitani, hanem csak 1x :D
Cím: Mentõs munka
Írta: Kovacs_Bela - 2012. november 23. - 21:53:23
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?
Cím: Mentõs munka
Írta: Iceaac - 2012. november 23. - 22:13:27
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?
Cím: Mentõs munka
Írta: sticky2 - 2012. november 24. - 07:37:12
Köszönöm =) Nem tudom mit jelent az, még kezdõ vagyok :D