hlmod.hu
https://hlmod.hu/

Start Deagle
https://hlmod.hu/viewtopic.php?f=9&t=1736
Oldal: 1 / 1

Szerző:  buster [2010.05.13. 14:33 ]
Hozzászólás témája:  Start Deagle

Helló mindenki :)
Találtam neten 1 számomra igen érdekes plugint:
Minden kör kezdetén, ha nincs deagled, kapsz :)
Nah ez szép és jó de valamiért nem akar működni...Átnéztem többször is, nem találtam benne hibát, jó lenne kideríteni miért is nem működik :D
Kód:
#include <amxmod> 
#include <amxmisc>
#include <fun>

public plugin_init()
{
   register_plugin("Spawn Deagle","1.0","Petey B")
   register_event("ResetHUD","newRound","b")
   register_cvar("sv_deagle","1")
}

public newRound(id)
{
   new iweapons[32], wpname[32], inum
   get_user_weapons(id,iweapons,inum)
   for(new a=0;a<inum;++a){
      get_weaponname(iweapons[a],wpname,31)
      if(!equal(wpname, "weapon_deagle")){
         return PLUGIN_HANDLED
      }
   }
   if(get_cvar_num("sv_deagle")==1)
   {
      client_cmd(id, "weapon_glock18; weapon_usp; weapon_p228; weapon_elite; weapon_fiveseven")
      client_cmd(id, "drop")
      give_item(id,"weapon_deagle")
      give_item(id,"ammo_50ae")
      give_item(id,"ammo_50ae")
      give_item(id,"ammo_50ae")
      give_item(id,"ammo_50ae")
      give_item(id,"ammo_50ae")
   }
   return PLUGIN_HANDLED
}

Szerző:  Metal [2010.05.13. 16:54 ]
Hozzászólás témája:  Re: Start Deagle

Szerintem ez a hibás:
Kód:
      if(!equal(wpname, "weapon_deagle")){
         return PLUGIN_HANDLED
      }


próbáld átírni így:
Kód:
      if(equal(wpname, "weapon_deagle")){
         return PLUGIN_HANDLED
      }


Viszont csak akkor kapsz deaglet, ha nincsen. Esetleg kiveheted ezt:
Kód:
   for(new a=0;a<inum;++a){
      get_weaponname(iweapons[a],wpname,31)
      if(!equal(wpname, "weapon_deagle")){
         return PLUGIN_HANDLED
      }
   }


És akkor mindig kap deaglet.
Utóbbi csak gyors tipp, tesztelni nem tudtam.

Szerző:  buster [2010.05.13. 23:25 ]
Hozzászólás témája:  Re: Start Deagle

Kipróbáltam mind 2 módon, nem működik így sem, de köszi a tippeket...
Esetleg másnak valami ötlete?

Szerző:  CheeseDave [2010.05.14. 02:34 ]
Hozzászólás témája:  Re: Start Deagle

Én nem vagyok benne biztos hogy a newround ID-re működik.. Sztem végigkéne loopolni a játékosokon. Bár nemértem pl hogy mitkeres a scriptben a többi fegyver meg ilyenek, de valahogy így képzelném el:
Kód:
public newRound()
{
   new players[32], playerCount, i;
   get_players(players,playerCount);

   for(i=0;i<playerCount;i++)
   {
      give_item(players[i];,"weapon_deagle")
                give_item(players[i];,"ammo_50ae")
                // stb...
   }
}

További kiegészítésekhez lehet célszerűbb lenne spawn figyelőt használni a kör kezdetek helyett. (akkor adjon ha valaki újraéled, pl deathmatch kompatibilis lenne.)
info: http://forums.alliedmods.net/showthread.php?t=126318

Szerző:  Metal [2010.05.14. 08:52 ]
Hozzászólás témája:  Re: Start Deagle

ResetHUD esetén van id, ha így van paraméterezve a regisztrál event, azaz nem kell loopolni- (Nálam működik Alienmodban), de a Hamsandwitch több lehetőséget is adhat, így azt használnám.

HamSpawn esetén meg nem értem, miért PLUGIN_HANDLED van írva, mivel szerintem ilyenkor hamsandwitches visszatéréssi értékkel kéne viszatérnie. (pl: HAM_SUPERCEDE, HAM_IGNORED)

A fegyvere azért vannak ott (legalábbis úgy gondolom), hogy ha véletlenül rendelkezne valamelyikkel, akkor dobja el, így nem lesz több pisztoly a kezében :)

Szerző:  Metal [2010.05.14. 09:40 ]
Hozzászólás témája:  Re: Start Deagle

Nah, elkészítettem a kódot:

Kód:
#include <amxmod> 
#include <amxmisc>
#include <fun>
#include <hamsandwich>

public plugin_init()
{
   register_plugin("Spawn Deagle","1.0","Petey B")
   register_cvar("sv_deagle","1")
   RegisterHam(Ham_Spawn, "player", "PlayerSpawn", 1)
}

public PlayerSpawn( id )
{
   if(!is_user_alive(id))
      return PLUGIN_HANDLED;

   if(get_cvar_num("sv_deagle")==1)
   {
      new iweapons[32], wpname[32], inum
      get_user_weapons(id,iweapons,inum)
      for(new a=0;a<inum;++a)
      {
         get_weaponname(iweapons[a],wpname,31)
         if(equal(wpname, "weapon_deagle"))
         {
            give_item(id,"ammo_50ae")
            give_item(id,"ammo_50ae")
            give_item(id,"ammo_50ae")
            give_item(id,"ammo_50ae")
            give_item(id,"ammo_50ae")

            return PLUGIN_HANDLED
         }
      }

      client_cmd(id, "weapon_glock18; weapon_usp; weapon_p228; weapon_elite; weapon_fiveseven")
      client_cmd(id, "drop")
      give_item(id,"weapon_deagle")
      give_item(id,"ammo_50ae")
      give_item(id,"ammo_50ae")
      give_item(id,"ammo_50ae")
      give_item(id,"ammo_50ae")
      give_item(id,"ammo_50ae")
   }
   return PLUGIN_HANDLED
}

( Mondjuk egyszerűbben is meg lehetne írni a plugint ;) )
Megjegyeznám, hogy a
Kód:
      if(equal(wpname, "weapon_deagle")){
         return PLUGIN_HANDLED
      }


Átírás után is működött a plugin, tehát akkor nem csináltad meg a tanácsolt változtatásokat.
Dave ötlete miatt írtam át a cuccost spawnosra, remélem nem para :)

Sok sikert.

Szerző:  buster [2010.05.14. 15:00 ]
Hozzászólás témája:  Re: Start Deagle

A kész kód sem akar nekem valamiért működni, tehát a pluginmenüben: "unknown".
A tanácsaidat megfogadtam, a for ciklust is kivettem, akkor sem volt jó.
Kód:
      if(equal(wpname, "weapon_deagle")){
         return PLUGIN_HANDLED
      }

is kivettem, így sem jó, de azért köszi neked is és CheeseDave-nak is, hogy szakítottatok rám időt... :D

Szerző:  Metal [2010.05.14. 15:58 ]
Hozzászólás témája:  Re: Start Deagle

Az előző Postomban van egy jó megoldás, hazsnáláld akkor azt.

Szerző:  demetera [2010.05.25. 15:40 ]
Hozzászólás témája:  Re: Start Deagle

HaLI!

eZ A CUCCOST ENGEM IS ÉRDEKELNE É IS DOLGOZOK RAJTA :dd csak küldjétek az alapot:)

Szerző:  Metal [2010.05.25. 17:48 ]
Hozzászólás témája:  Re: Start Deagle

Nesze itt van a lefordított kód:
http://diwat26clan.oom.hu/deagle.amxx

Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/