Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Problem z pluginem.


  • Zamknięty Temat jest zamknięty
7 odpowiedzi w tym temacie

#1 Ciechan

    Początkujący

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:10
  • Lokalizacja:Głogów
Offline

Napisano 12.06.2010 23:32

Witam. Chciałem sam napisać plugin według poradnika na tej stronce, lecz podczas próby kompilowania tego na strone AMX Mod X - Half-Life Scripting for Pros!
wyskakuje mi
Your plugin failed to compile! Read the errors below:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

/home/groups/amxmodx/tmp3/phpB0d3J8.sma(24) : warning 217: loose indentation
/home/groups/amxmodx/tmp3/phpB0d3J8.sma(26) : warning 217: loose indentation
/home/groups/amxmodx/tmp3/phpB0d3J8.sma(26) : error 029: invalid expression, assumed zero
/home/groups/amxmodx/tmp3/phpB0d3J8.sma(28) : warning 217: loose indentation
/home/groups/amxmodx/tmp3/phpB0d3J8.sma(30) : warning 225: unreachable code
/home/groups/amxmodx/tmp3/phpB0d3J8.sma(30) : warning 217: loose indentation

1 Error.
Could not locate output file /home/groups/amxmodx/public_html/websc3/phpB0d3J8.amx (compile failed).
Nie wiem zbytni o co chodzi. Tutaj daje o to ten plugin:
/* Plugin generated by AMXX-Studio */

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

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Grzegorz"
new hp_koszt


public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	hp_koszt = register_cvar("hp_koszt","6000")
	register_clcmd("say /hpme","hp")
	
	
}
public hp(id){
	if(!is_user_alive(id)){
		client_print(id,print_chat,"[Zmiana HP] Nie mozesz skorzystac z tej uslugi ziom, bo jestes niezywy ;-(")
return PLUGIN_HANDLED
}
if(get_user_health(id)>=200)){
       client_print(id,print_chat,"[Zmiana HP] Juz skorzystales z tej uslugi!")
        return PLUGIN_HANDLED
    } 
    set_user_health(id,200)
    cs_set_user_money(id,cs_get_user_money(id)-get_pcvar_num(hp_koszt))
    return PLUGIN_HANDLED
}
Proszę o podanie co jest źle w pluginie, co powinienem z nim zrobić. Najlepiej podajcie poprawna wersję pluginu.
Ma on za zadanie po wpisaniu /hpme dodać hp graczowi. Potrzebuję tego, gdyż zaczynam pisanie pluginów, i chcę się czegoś nauczyć, zobaczyć co mam źle. Na pewno pomoże mi to w dalszej edukacji. Pozdrawiam
  • +
  • -
  • 0

#2 Lukasz5

    Godlike

  • Power User

Reputacja: 280
Wszechwidzący

  • Postów:1 414
  • Imię:Łukasz
  • Lokalizacja:C: / WINDOWS
Offline

Napisano 12.06.2010 23:57

Łap... :D

Załączone pliki


  • +
  • -
  • 0

#3 Ciechan

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:10
  • Lokalizacja:Głogów
Offline

Napisano 13.06.2010 09:44

Z tego co widzę doszła linijka
jestes niezywy ;-(")
Nie znam się dlatego pytam co oznaczają poszczególne jej elementy?

13 czerwiec 2010 - 09:44:

Z tego co widzę doszła linijka

jestes niezywy ;-(")
Nie znam się dlatego pytam co oznaczają poszczególne jej elementy?


Edit: po wpisaniu tej komendy /hpme wyskakuje informacja, że jestem nieżywy ([Zmiana HP] Nie mozesz skorzystac z tej uslugi ziom, bo jestes niezywy ;-().
  • +
  • -
  • 0

#4 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 13.06.2010 11:54

Łukasz zdaje się niezbyt zrozumiał prośbę, było "poprawcie mi błędy" a nie "napiszcie mi to dobrze".
Podoba mi się, że Ciechan nie chce iść na łatwiznę, ale sam coś zrobić :)

używaj [ sma ] [/ sma] zamiast [ code ] [/ code]



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

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Grzegorz"
new hp_koszt


public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
hp_koszt = register_cvar("hp_koszt","6000")
register_clcmd("say /hpme","hp")


}
public hp(id){
if(!is_user_alive(id)){
client_print(id,print_chat,"[Zmiana HP] Nie mozesz skorzystac z tej uslugi ziom, bo jestes niezywy ;-(")
return PLUGIN_HANDLED
}
if(get_user_health(id)>=200)){//ŹLE! Jeżeli gracz ma 200 lub więcej hp, a jak może mieć więcej? Poza tym takim warunkiem sprawdzisz jego hp, a nie to czy już to kupił, bo jak oberwie to będzie miał mniej hp, chyba, że nie ma limitu ile razy na runde można to kupić..
client_print(id,print_chat,"[Zmiana HP] Juz skorzystales z tej uslugi!")
return PLUGIN_HANDLED
}
//tu powinieneś dać warunek sprawdzający czy gracza stać na kupno, tj czy ma 6000 lub więcej kasy.
/*Czyli w skrócie szkielet
if(cs_get_user_money>=get_pcvar_num(hp_koszt))
{
set_user_health(id,200)
cs_set_user_money(id,cs_get_user_money(id)-get_pcvar_num(hp_koszt))
}
else
{
print(id, "Nie masz tyle kasy/Nie stac Cie")
}
Oczywiście postawiaj odpowiednie funkcje.
*/
set_user_health(id,200)
cs_set_user_money(id,cs_get_user_money(id)-get_pcvar_num(hp_koszt))
return PLUGIN_HANDLED
}



  • +
  • -
  • 0

#5 Ciechan

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:10
  • Lokalizacja:Głogów
Offline

Napisano 13.06.2010 15:06

if(get_user_health(id)>=200)){//ŹLE! Jeżeli gracz ma 200 lub więcej hp, a jak może mieć więcej? Poza tym takim warunkiem sprawdzisz jego hp, a nie to czy już to kupił, bo jak oberwie to będzie miał mniej hp, chyba, że nie ma limitu ile razy na runde można to kupić..

wytłumaczysz co tutaj powinienem napisać, gdyż nie wiem. Przy okazji znasz jakieś źródło skąd można się uczyć pisania pluginów(pawn c++) od podstaw.
  • +
  • -
  • 0

#6 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 13.06.2010 16:00

Kursów C++ na necie jest masa. Nie podam Ci tego, z którego ja się uczyłem, bo niedługo po tym zgubiłem gdzieś linka.


Poczytaj o warunkach if

if(get_user_health(id)>=200))
{
//tutaj kod, który wykona się w sytuacji, gdy warunek będzie prawdą
}

Innymi słowy "Jeśli ilość punktów życia (hp) jest większa lub równa 200 to wykonaj to co między klamrami"
jest kilka 'ale'
-Jeśli ktoś kupi sobie 200hp to będzie miał tyle do momentu aż nie straci chociażby 1 hp (postrzał, upadek z wysokości itd), zatem mając 199 hp już będzie mógł kupić kolejny raz 200hp, natomiast więcej niż 200 hp w jaki sposób miałby mieć(to zawarłeś w warunku if)?


Nie mogę powiedzieć co powinieneś napisać, bo nie wiem w jakim przypadku ma być możliwość kupna a w jakim nie.
  • +
  • -
  • 0

#7 Ciechan

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:10
  • Lokalizacja:Głogów
Offline

Napisano 13.06.2010 17:12

Jeszcze takie pytanko, czego lepiej się uczyć pawn czy c++?
  • +
  • -
  • 0

#8 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 13.06.2010 17:20

zalezy co chcesz robic jesli pisac pluginy to pawn i przy okazji podstawy c++ a jesli jakies programy to odpusc sobie pawn i bierz sie za c++ //polecam symfonie naprawdę dobra ksiazka o C++
  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych