←  Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

działa?

  • +
  • -
zGraferz - zdjęcie zGraferz 16.02.2009

czy ten plugin będzie działać?

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

#define PLUGIN "Mega VIP"
#define VERSION "1.0.0"
#define AUTHOR "Grafer"
#define FLAGA ADMIN_LEVEL_G

public plugin_init() {
    register_event("HLTV", "nowa_runda", "a", "1=0", "2=0") 
    register_plugin("VIP test", "1.0", "Grafer")
}

public client_putinserver(id)
{
    if( get_user_flags(player) & FLAGA)
        client_print(player,print_chat,"Przyszedl VIP - player_name")
}

public nowa_runda(id)
{
    if( get_user_flags(player) & FLAGA)
        set_user_health(player, 130)
        set_user_armor(player, 130)
        set_user_gravity (player, Float:gravity = 0.9 ) 
        set_user_maxspeed (player, [ Float:speed = 500.0 ] ) 
        cs_set_user_model (player, const model[vipp] ) 
}

public client_disconnect(id)
{
if( get_user_flags(player) & FLAGA)
        client_print(player,print_chat,"Odszedł VIP - player_name")
}
Odpowiedz

  • +
  • -
Miczu - zdjęcie Miczu 16.02.2009

set_user_gravity (player, Float:gravity = 0.9 ) 
        set_user_maxspeed (player, [ Float:speed = 500.0 ] ) 
        cs_set_user_model (player, const model[vipp] )
Zle

client_print(player,print_chat,"Odszedł VIP - player_name")
zadziala ale nie tak jak chcesz.
Odpowiedz

  • +
  • -
zGraferz - zdjęcie zGraferz 16.02.2009

Miczu, może trochę wytłumaczysz co źle? bo chcę się nauczyć robić pluginy, a najlepiej się uczy na błędach. niestety tych błędów, sam sobie nie wytknę
Odpowiedz

  • +
  • -
Miczu - zdjęcie Miczu 16.02.2009

Float:gravity = 0.9
Float:speed = 500.0

wystarczy sama liczba - nie daje sie typu danych (np. Float)

const model[vipp]

const - jak wyzej, nie masz ani zmiennej model, ani adresu do modelu, ani nie dales prechache modelu do podmiany. Zobacz byle jaki sma z podmiana modeli (polecam m_girl bo malo kodu ma).
Odpowiedz

  • +
  • -
wizu - zdjęcie wizu 16.02.2009

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

#define PLUGIN "Mega VIP"
#define VERSION "1.0.0"
#define AUTHOR "Grafer"
#define FLAGA ADMIN_LEVEL_G

public plugin_init() {
register_event("HLTV", "nowa_runda", "a", "1=0", "2=0")
register_plugin("VIP test", "1.0", "Grafer")
}

public client_putinserver(id)
{
if( get_user_flags(player) & FLAGA)
client_print(player,print_chat,"Przyszedl VIP - player_name")
}

public nowa_runda(id)
{
if( get_user_flags(player) & FLAGA)
set_user_health(player, 130)
set_user_armor(player, 130)
set_user_gravity (player, Float:gravity = 0.9 )
set_user_maxspeed (player, [ Float:speed = 500.0 ] )
cs_set_user_model (player, const model[vipp] )
}

public client_disconnect(id)
{
if( get_user_flags(player) & FLAGA)
client_print(player,print_chat,"Odszedł VIP - player_name")
}


Na czerwono błędy rzucające się jako pierwsze w oczy.

Na początek radzę przeczytać jakiś kurs dotyczący podstaw chociażby C++. Znacznie ułatwi Ci to naukę PAWN'a.
Odpowiedz

  • +
  • -
zGraferz - zdjęcie zGraferz 16.02.2009

teraz będzie działało? i sorry miczu, że tak chamski kod ściagnąłem z m_girl :P ale nie zamierzam tego pluginu nigdzie wystawiac

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

#define PLUGIN "Mega VIP"
#define VERSION "1.0.0"
#define AUTHOR "Grafer"
#define FLAGA ADMIN_LEVEL_G

public plugin_init() {
    register_plugin("VIP test", "1.0", "Grafer")
    register_event("HLTV", "nowa_runda", "a", "1=0", "2=0") 
    register_event("TeamInfo","team_assign","a")
}

public plugin_precache()
{ 
	precache_model("models/player/vipct/vipct.mdl")
	precache_model("models/player/viptt/viptt.mdl")
}

public client_putinserver(player)
{
    if( get_user_flags(player) & FLAGA)
        client_print(player,print_chat,"Przyszedl VIP - player_name")
}

public nowa_runda(player)
{
    if( get_user_flags(player) & FLAGA)
        set_user_health(player, 130)
        set_user_armor(player, 130)
        set_user_gravity (player, 0.9 ) 
        set_user_maxspeed (player, 500.0 ) 
}

public team_assign()
{
	new id=read_data(1)
	if(get_user_flags(player) & ADMIN_LEVEL_G)
	{
		new team[32]
		read_data(2,team,31)
		
		if(equal("TERRORIST",team)) cs_set_user_model(id,"viptt")
		if(equal("CT",team)) cs_set_user_model(id,"vipct")
	}
}

public client_disconnect(player)
{
if( get_user_flags(player) & FLAGA)
        client_print(player,print_chat,"Odszedł VIP - player_name")
}
Odpowiedz

  • +
  • -
Miczu - zdjęcie Miczu 16.02.2009

Wow ze nawet nie zauwazylem player jako blad xD

Popraw to jeszcze i z twojego 2 tematu (hmm... nie dalo sie w 1?) daj client_print poprawione.
Odpowiedz

  • +
  • -
darkman - zdjęcie darkman 16.02.2009

1. żadnego parametru w funkcji nie otacza się nawiasami kwadratowymi(w funcwiki napisali je w opisie funkcji co początkujących może wprowadzić w błąd.)

2. funkcja client_putinserver. przy pobraniu flag usera jako index próbujesz użyć zmiennej która nigdzie nie została zadeklarowana. do tego służy parametr forwarda client_putinserver o nazwie id. w funkcji nowa runda jest rzeczowy błąd mianowicie nie posiada ona parametru id. przeczytaj tutorial o eventach, wtedy sie dowiesz.

3. printowanie nicku usera. wszystko obięte w cudzysłowie(oprócz odsyłaczy do zmiennych np. %s(string) %f(float) %i lub %d(integer)) jest pojmowane 'dosłownie' w skutek czego zostanie ci wydrukowany wyraz player name. trzeba zapisać do zmiennej imie gracza(33 elementy wystarczą)
new name[33];
get_user_name(id, name, 32);
client_print(player,print_chat,"Przyszedl VIP - %s", name);

teraz nie ma prawa nie zadziałać.
Odpowiedz

  • +
  • -
Miczu - zdjęcie Miczu 16.02.2009

Nadal jest blad w "team_assign()" :>
Odpowiedz

  • +
  • -
zGraferz - zdjęcie zGraferz 16.02.2009

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

#define PLUGIN "Mega VIP"
#define VERSION "1.0.0"
#define AUTHOR "Grafer"
#define FLAGA ADMIN_LEVEL_G

public plugin_init() {
    register_plugin("VIP test", "1.0", "Grafer")
    register_event("HLTV", "nowa_runda", "a", "1=0", "2=0") 
    register_event("TeamInfo","team_assign","a")
}

public plugin_precache()
{ 
	precache_model("models/player/vipct/vipct.mdl")
	precache_model("models/player/viptt/viptt.mdl")
}

public client_putinserver(id)
{
    if( get_user_flags(0) & FLAGA)
    	  new name[33];
	     get_user_name(0, name, 32);
		  client_print(0,print_chat,"Przyszedl VIP - %s", name);
}

public nowa_runda()
{
    if( get_user_flags(id) & FLAGA)
        set_user_health(0, 130)
        set_user_armor(0, 130)
        set_user_gravity (0, 0.9 ) 
        set_user_maxspeed (0, 500.0 ) 
}

public team_assign(id)
{
	new id=read_data(1)
	if(get_user_flags(id) & ADMIN_LEVEL_G)
	{
		new team[32]
		read_data(2,team,31)
		
		if(equal("TERRORIST",team)) cs_set_user_model(id,"viptt")
		if(equal("CT",team)) cs_set_user_model(id,"vipct")
	}
}

public client_disconnect(id)
{
if( get_user_flags(id) & FLAGA)
		  new name[33];
	     get_user_name(0, name, 32);
		  client_print(0,print_chat,"Odszedl VIP - %s", name);
}

czy coś w ogóle poprawiłem?
Odpowiedz

  • +
  • -
wizu - zdjęcie wizu 16.02.2009

No i tu:
if( get_user_flags(player) & FLAGA)
        set_user_health(player, 130)
        set_user_armor(player, 130)
        set_user_gravity (player, 0.9 )
        set_user_maxspeed (player, 500.0 )

Chciał chyba wszystko zmienić danemu graczowi, trzeba wziąć to w klamerki.
if( get_user_flags(player) & FLAGA)
{
        set_user_health(player, 130)
        set_user_armor(player, 130)
        set_user_gravity (player, 0.9 )
        set_user_maxspeed (player, 500.0 )
}
Odpowiedz

  • +
  • -
Miczu - zdjęcie Miczu 16.02.2009

public team_assign(id) 
{ 
    new id=read_data(1)

to powinno wywalic blad przy kompilowaniu - zerknij jeszcze raz do m_girl

[ Dodano: 16-02-2009, 19:47 ]
if( get_user_flags(id) & FLAGA) 
          new name[33]; 
         get_user_name(0, name, 32); 
          client_print(0,print_chat,"Odszedl VIP - %s", name);

if( get_user_flags(0) & FLAGA) 
          new name[33]; 
         get_user_name(0, name, 32); 
          client_print(0,print_chat,"Przyszedl VIP - %s", name);
to tez klamerka zlapac razem
Odpowiedz

  • +
  • -
zGraferz - zdjęcie zGraferz 16.02.2009

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

#define PLUGIN "Mega VIP"
#define VERSION "1.0.0"
#define AUTHOR "Grafer"
#define FLAGA ADMIN_LEVEL_G

public plugin_init() {
    register_plugin("VIP test", "1.0", "Grafer")
    register_event("HLTV", "nowa_runda", "a", "1=0", "2=0") 
    register_event("TeamInfo","team_assign","a")
}

public plugin_precache()
{ 
	precache_model("models/player/vipct/vipct.mdl")
	precache_model("models/player/viptt/viptt.mdl")
}

public client_putinserver(id)
{
    if( get_user_flags(0) & FLAGA)
        {
    	  new name[33];
	     get_user_name(0, name, 32);
		  client_print(0,print_chat,"Przyszedl VIP - %s", name);
		  }
}

public nowa_runda()
{
if( get_user_flags(player) & FLAGA)
        {
        set_user_health(player, 130)
        set_user_armor(player, 130)
        set_user_gravity (player, 0.9 )
        set_user_maxspeed (player, 500.0 )
        }
}

public team_assign()
{
	new id=read_data(1)
	if(get_user_flags(id) & ADMIN_LEVEL_G)
	{
		new team[32]
		read_data(2,team,31)
		
		if(equal("TERRORIST",team)) cs_set_user_model(id,"viptt")
		if(equal("CT",team)) cs_set_user_model(id,"vipct")
	}
}

public client_disconnect(id)
{
if( get_user_flags(id) & FLAGA)
        {
		  new name[33];
	     get_user_name(0, name, 32);
		  client_print(0,print_chat,"Odszedl VIP - %s", name);
		  }
}

o to chodziło?
Odpowiedz

  • +
  • -
darkman - zdjęcie darkman 16.02.2009

jak uzyjesz w get_user_name indexu 0 to pobierze imiona wszystkich graczy :D
Odpowiedz

  • +
  • -
zGraferz - zdjęcie zGraferz 16.02.2009

to jakiego indexu mam użyc? 1?
Odpowiedz

  • +
  • -
darkman - zdjęcie darkman 16.02.2009

id, taki jak 1szy parametr client disconnect
Odpowiedz

  • +
  • -
zGraferz - zdjęcie zGraferz 16.02.2009

tak?

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

#define PLUGIN "Mega VIP"
#define VERSION "1.0.0"
#define AUTHOR "Grafer"
#define FLAGA ADMIN_LEVEL_G

public plugin_init() {
    register_plugin("VIP test", "1.0", "Grafer")
    register_event("HLTV", "nowa_runda", "a", "1=0", "2=0") 
    register_event("TeamInfo","team_assign","a")
}

public plugin_precache()
{ 
	precache_model("models/player/vipct/vipct.mdl")
	precache_model("models/player/viptt/viptt.mdl")
}

public client_putinserver(id)
{
    if( get_user_flags(id) & FLAGA)
        {
    	  new name[33];
	     get_user_name(1, name, 32);
		  client_print(0,print_chat,"Przyszedl VIP - %s", name);
		  }
}

public nowa_runda()
{
if( get_user_flags(1) & FLAGA)
        {
        set_user_health(1, 130)
        set_user_armor(1, 130)
        set_user_gravity (1, 0.9 )
        set_user_maxspeed (1, 500.0 )
        }
}

public team_assign()
{
	new id=read_data(1)
	if(get_user_flags(id) & ADMIN_LEVEL_G)
	{
		new team[32]
		read_data(2,team,31)
		
		if(equal("TERRORIST",team)) cs_set_user_model(id,"viptt")
		if(equal("CT",team)) cs_set_user_model(id,"vipct")
	}
}

public client_disconnect(id)
{
if( get_user_flags(1) & FLAGA)
        {
		  new name[33];
	     get_user_name(1, name, 32);
		  client_print(0,print_chat,"Odszedl VIP - %s", name);
		  }
}
Odpowiedz

  • +
  • -
Miczu - zdjęcie Miczu 16.02.2009

Wykres postepow
_
   _/ 
__/

Skopales teraz sprawe z id.

Kazdy gracz ma wlasne nr. indexu/id od 1 do 32
Skoro dajesz 1 to tylko dla 1 gracza bedzie dzialac i nie koniecznie ma on flage :lol:
Odpowiedz

  • +
  • -
zGraferz - zdjęcie zGraferz 16.02.2009

hah, wygłupiłem się :) może teraz?
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

#define PLUGIN "Mega VIP"
#define VERSION "1.0.0"
#define AUTHOR "Grafer"
#define FLAGA ADMIN_LEVEL_G

public plugin_init() {
    register_plugin("VIP test", "1.0", "Grafer")
    register_event("HLTV", "nowa_runda", "a", "1=0", "2=0") 
    register_event("TeamInfo","team_assign","a")
}

public plugin_precache()
{ 
	precache_model("models/player/vipct/vipct.mdl")
	precache_model("models/player/viptt/viptt.mdl")
}

public client_putinserver(id)
{
    if( get_user_flags(id) & FLAGA)
        {
    	  new name[33];
	     get_user_name(id, name, 32);
		  client_print(0,print_chat,"Przyszedl VIP - %s", name);
		  }
}

public nowa_runda()
{
if( get_user_flags(id) & FLAGA)
        {
        set_user_health(id, 130)
        set_user_armor(id, 130)
        set_user_gravity (id, 0.9 )
        set_user_maxspeed (id, 500.0 )
        }
}

public team_assign()
{
	new id=read_data(1)
	if(get_user_flags(id) & ADMIN_LEVEL_G)
	{
		new team[32]
		read_data(2,team,31)
		
		if(equal("TERRORIST",team)) cs_set_user_model(id,"viptt")
		if(equal("CT",team)) cs_set_user_model(id,"vipct")
	}
}

public client_disconnect(id)
{
if( get_user_flags(id) & FLAGA)
        {
		  new name[33];
	     get_user_name(id, name, 32);
		  client_print(0,print_chat,"Odszedl VIP - %s", name);
		  }
}
Odpowiedz

  • +
  • -
Miczu - zdjęcie Miczu 16.02.2009

public nowa_runda() 
{ 
if( get_user_flags(id) & FLAGA) 
        { 
        set_user_health(id, 130) 
        set_user_armor(id, 130) 
        set_user_gravity (id, 0.9 ) 
        set_user_maxspeed (id, 500.0 ) 
        } 
}

Tu nie masz zdefiniowanego id, co gorsze event nie przekazuje informacji o id, wiec pozostaje ci nadal dosc sporo mozliwosci by to uzupelnic O:)
Odpowiedz