←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Jak zrobić funkcje

Zablokowany

  • +
  • -
Monsulito - zdjęcie Monsulito 08.04.2010

Jak zrobić takie coś że, np:
Kupujesz no niewiem dla przykladu : ryby i za 1500 masz 1 rybe.
Jak zrobic zeby te ryby byly i jak napiszesz /iloscryb zeby pokazywalo ile ich masz i jak np wpiszesz /zjedz to odejmie 1 rybe ale doda HP.
PS. Kase juz zrobilem lecz tylko jeszcze ilosc ryb i odejmowanie ryb i dodawanie ich.

public plugin_init() {
register_clcmd("say /kuprybe", "buyfish")
register_clcmd("say /zjedz","zjedz")
}
public buyfish(id){
	cs_set_user_money(id, cs_get_user_money(id) - 1500)
	client_print(id, print_chat, "Kupiles 1 rybe.!")
}
public zjedz(id) {
	if(koniec[id]) {
		client_print(id,print_chat,"[AMXX]Skonczyly ci sie Ryby!")
		return PLUGIN_HANDLED
	}
	client_print(id,print_chat,"Zjadles rybe!")
	return PLUGIN_HANDLED
}	
Oczywiscie mam inny caly kod lecz pokazuje tylko funkcje do ryb
Użytkownik Monsulito edytował ten post 08.04.2010 12:28
Odpowiedz

  • +
  • -
mgr inż. Pavulon - zdjęcie mgr inż. Pavulon 08.04.2010

jakąś tablicę globalną zrób i na niej operuj.
np
new ryby[33] //deklaracja
ryby[id] = 10 //ustawienie 10 ryb dla gracza
ryby[id]-- //odjecie jednej ryby
client_print(id, print_chat,"Masz %d ryb", ryby[id]) //wyswietlenie ilosci
Odpowiedz

  • +
  • -
Monsulito - zdjęcie Monsulito 08.04.2010

No dzięki, ale jak zrobic max to 10
Dodalem cos takiego:
public maxryb(id){
	
if (ryby[id]<10){
	}
	else client_print(id,print_center,"Maxymalna ilosc ryb osiagnieta")
}
Zrobilem cos takiego ale nie dziala mozna kupic wiecej niz 10 :(
Użytkownik Monsulito edytował ten post 08.04.2010 14:15
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 08.04.2010

jak odejmujesz gosciowi kase to wypadalo by sprawdzic czy ma wymagana kwote :D
Odpowiedz

  • +
  • -
Monsulito - zdjęcie Monsulito 10.04.2010

Pomoze ktos bo ciagle leci mi na minusie jak zjadam, albo w gore jak kupuje. Czyli max 10 a moge miec 50. ?

09 kwiecień 2010 - 20:21:
Czy pomoze ktos z max i 0?

10 kwiecień 2010 - 11:32:
pomoze ktos?
Odpowiedz

  • +
  • -
mgr inż. Pavulon - zdjęcie mgr inż. Pavulon 10.04.2010

public dodaj(id)
{
new const ile_ryb = 2;
new const max_ryb = 10;

if (ryby[id]+ile_ryb>max_ryb)
{
client_print(id, print_chat, "Mozna miec maksymalnie %d ryb", max_ryb)
return PLUGIN_HANDLED
}
ryby += ile_ryb

return PLUGIN_HANDLED
}
Odpowiedz

  • +
  • -
Monsulito - zdjęcie Monsulito 10.04.2010

ryby += ile_ryb
Tutaj jest blad. Jak mozesz to pomoz :). A i jeszcze moge kupowac ryby i sa na minusie?. Jak zrobic zeby bylo do 0?
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 10.04.2010

ryby[id] += ile_ryb
Odpowiedz

  • +
  • -
Monsulito - zdjęcie Monsulito 10.04.2010

Dzięki, a pomozesz jeszcze z 0. B jak kupuje to leci mi ponizej 0 czyli -1,-2 itd
PS. dzięki polecial +
PS2. Czy to jest dobrze?
case 0: { // 1
			if(cs_get_user_money(id) <= 1000){
			client_print(id, print_chat,"Nie posiadasz tyle pieniedzy zeby zakupic rybe")
		}
			else if(cs_get_user_money(id) >= 1000) {
			cs_set_user_money(id, cs_get_user_money(id) - 1000)
			ryby[id]+=1
			client_print(id, print_chat,"Kupiles 1 rybe, posiadasz aktualnie: %d", ryby[id]])
		}
	}

Użytkownik Monsulito edytował ten post 10.04.2010 12:27
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 10.04.2010

public wezj(id)

{

        new const ile_ryb = 2;

        

        

        if (ryby[id]-ile_ryb<0)

        {

                ryby[id]=0

                return PLUGIN_HANDLED

        }

        ryby[id]-= ile_ryb

        

        return PLUGIN_HANDLED   

}
Odpowiedz

  • +
  • -
Monsulito - zdjęcie Monsulito 11.04.2010

case 0: { // 1
			if(cs_get_user_money(id) <= 1000){
			client_print(id, print_chat,"Nie posiadasz tyle pieniedzy zeby zakupic rybe")
		}
			else if(cs_get_user_money(id) >= 1000) {
			cs_set_user_money(id, cs_get_user_money(id) - 1000)
			ryby[id]+=1
			client_print(id, print_chat,"Kupiles 1 rybe, posiadasz aktualnie: %d", ryby[id]])
		}
	}
Czy to jest dobrze?

Nie dziala to max 10. moge leciec wyzej. a to do 0 to dziala tylko ze jest -1. ale nie dalej. i Co zrobic jak jest 0 zeby nie mozna bylo ryby zjesc?

11 kwiecień 2010 - 15:59:
reup, dam +
Użytkownik Monsulito edytował ten post 10.04.2010 12:48
Odpowiedz

  • +
  • -
mgr inż. Pavulon - zdjęcie mgr inż. Pavulon 11.04.2010

Daj całą plugin bo takie babranie się z urywkami jest bez sensu.
Odpowiedz

  • +
  • -
Monsulito - zdjęcie Monsulito 11.04.2010

Masz:
#include <amxmodx>
#include <hamsandwich>
#include <cstrike>
#include <colorchat>
#include <fun>


#define PLUGIN "Ryby"
#define VERSION "1.0"
#define AUTHOR "Leny"
#define TASK 666
#define Keyskupryby (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8) // Keys: 123456789

new bool:nac[33]
new gmsg_SetFOV
new bool:koniec[33]
new ryby[33] //deklaracja



public plugin_init() {
	gmsg_SetFOV = get_user_msgid("SetFOV")
	RegisterHam(Ham_Spawn, "player", "Hamspawn", 1)
	
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_menucmd(register_menuid("kupryby"), Keyskupryby, "Pressedkupryby")
	register_clcmd("say /zjedz", "zjedz")
	register_clcmd("say /kupryby","Showkupryby")
	register_clcmd("say /ryby", "iloscryb")
	
}
public zjedz(id) {

if(ryby[id]=0)
{
	ColorChat(id,GREEN,"Skonczyly Ci sie ryby")
}
else if(ryby[id]>=1)
give_item(id, "weapon_m4a1")
give_item(id, "weapon_awp")
give_item(id, "ammo_338magnum")
give_item(id, "ammo_338magnum")
give_item(id, "ammo_338magnum")    
give_item(id, "weapon_ak47")
give_item(id, "ammo_762nato")
give_item(id, "ammo_762nato")
give_item(id, "ammo_762nato")
give_item(id, "weapon_m4a1")
give_item(id, "ammo_556nato")
give_item(id, "ammo_556nato")
give_item(id, "ammo_556nato")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_smokegrenade")
give_item(id, "weapon_hegrenade")
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")
change_health
ColorChat(id,GREEN,"Zjadles rybe!")
ryby[id]-=1	
return PLUGIN_HANDLED
}	
public iloscryb(id){
	client_print(id, print_chat,"Masz %d ryb", ryby[id]) //wyswietlenie ilosci
	
}
public maxryb(id)
{
        new const ile_ryb = 2;
        new const max_ryb = 50;
        
        if (ryby[id]+ile_ryb>max_ryb)
        {
                client_print(id, print_chat, "Mozna miec maksymalnie %d ryb", max_ryb)
                return PLUGIN_HANDLED
        }
        ryby[id] += ile_ryb
        
        return PLUGIN_HANDLED   
}
public wezj(id)
{
        new const ile_ryb = 2;
        
        
        if (ryby[id]-ile_ryb<0)
        {
                ryby[id]=0
		client_print(id, print_chat, "Skonczyly Ci sie ryby")
                return PLUGIN_HANDLED
        }
        ryby[id]-= ile_ryb
        
        return PLUGIN_HANDLED   
}


public Showkupryby(id) {
	show_menu(id, Keyskupryby, "\rKup Ryby^n\y1.1\w Ryba^n\y2.2\w Ryby^n\y3.3\w Ryby^n\y4.4\w Ryb^n\y5.5\w Ryb^n\y6.6\w Ryb^n\y7.7\w Ryb^n\y8.8\w Ryb^n\y9.9\w Ryb^n", -1, "kupryby") // Display menu
}

public Pressedkupryby(id, key) {
	/* Menu:
	* Kup ryby
	* 1.1 ryb
	* 2.2 ryb
	* 3.3 ryb
	* 4.4 ryb
	* 5.5 ryb
	* 6.6 ryb
	* 7.7 ryb
	* 8.8 ryb
	* 9.9 ryb
	*/

	switch (key) {
		case 0: { // 1
			if(cs_get_user_money(id) <= 1000){
			client_print(id, print_chat,"Nie posiadasz tyle pieniedzy zeby zakupic towar!")
		}
			else if(cs_get_user_money(id) >= 1000) {
			cs_set_user_money(id, cs_get_user_money(id) - 1000)
			ryby[id]+=1
			client_print(id, print_chat,"Kupiles 1 rybe, posiadasz aktualnie: %d", ryby[id])
		}
	}
		case 1: { // 2
			if(cs_get_user_money(id) <= 2000){
			client_print(id, print_chat,"Nie posiadasz tyle pieniedzy zeby zakupic towar!")
		}
			else if(cs_get_user_money(id) >= 2000) {
			cs_set_user_money(id, cs_get_user_money(id) - 2000)
			ryby[id]+=2
			client_print(id, print_chat,"Kupiles 2 ryby, posiadasz aktualnie: %d", ryby[id])
		}
	}
		case 2: { // 3
			if(cs_get_user_money(id) <= 3000){
			client_print(id, print_chat,"Nie posiadasz tyle pieniedzy zeby zakupic towar!")
		}
			else if(cs_get_user_money(id) >= 3000) {
			cs_set_user_money(id, cs_get_user_money(id) - 3000)
			ryby[id]+=3
			client_print(id, print_chat,"Kupiles 3 ryby, posiadasz aktualnie: %d", ryby[id])
		}
	}
		case 3: { // 4
			if(cs_get_user_money(id) <= 4000){
			client_print(id, print_chat,"Nie posiadasz tyle pieniedzy zeby zakupic towar!")
		}
			else if(cs_get_user_money(id) >= 4000) {
			cs_set_user_money(id, cs_get_user_money(id) - 4000)
			ryby[id]+=4
			client_print(id, print_chat,"Kupiles 4 ryby, posiadasz aktualnie: %d", ryby[id])
		}
	}
		case 4: { // 5
			if(cs_get_user_money(id) <= 5000){
			client_print(id, print_chat,"Nie posiadasz tyle pieniedzy zeby zakupic towar!")
		}
			else if(cs_get_user_money(id) >= 5000) {
			cs_set_user_money(id, cs_get_user_money(id) - 5000)
			ryby[id]+=5
			client_print(id, print_chat,"Kupiles 5 ryb, posiadasz aktualnie: %d", ryby[id])
		}
	}
		case 5: { // 6
			if(cs_get_user_money(id) <= 6000){
			client_print(id, print_chat,"Nie posiadasz tyle pieniedzy zeby zakupic towar!")
		}
			else if(cs_get_user_money(id) >= 6000) {
			cs_set_user_money(id, cs_get_user_money(id) - 6000)
			ryby[id]+=6
			client_print(id, print_chat,"Kupiles 6 ryb, posiadasz aktualnie: %d", ryby[id])
		}
	}
		case 6: { // 7
			if(cs_get_user_money(id) <= 7000){
			client_print(id, print_chat,"Nie posiadasz tyle pieniedzy zeby zakupic towar!")
		}
			else if(cs_get_user_money(id) >= 7000) {
			cs_set_user_money(id, cs_get_user_money(id) - 7000)
			ryby[id]+=7
			client_print(id, print_chat,"Kupiles 7 ryb, posiadasz aktualnie: %d", ryby[id])
		}
	}
		case 7: { // 8
                           if(cs_get_user_money(id) <= 8000){
			client_print(id, print_chat,"Nie posiadasz tyle pieniedzy zeby zakupic towar!")
		}
		                  else if(cs_get_user_money(id) >= 8000) {
			cs_set_user_money(id, cs_get_user_money(id) - 8000)
			ryby[id]+=8
			client_print(id, print_chat,"Kupiles 8 ryb, posiadasz aktualnie: %d", ryby[id])
		}
	}
		case 8: { // 9
			if(cs_get_user_money(id) <= 9000){
			client_print(id, print_chat,"Nie posiadasz tyle pieniedzy zeby zakupic towar!")
		}
			else if(cs_get_user_money(id) >= 9000) {
			cs_set_user_money(id, cs_get_user_money(id) - 9000)
			ryby[id]+=9
			client_print(id, print_chat,"Kupiles 9 ryb, posiadasz aktualnie: %d", ryby[id])
		}
	}
}
}

Użytkownik Monsulito edytował ten post 11.04.2010 16:36
Odpowiedz

  • +
  • -
mgr inż. Pavulon - zdjęcie mgr inż. Pavulon 11.04.2010

po co ci funkcje wezj(id), maxryb(id) jak z nich nie korzystasz...

Sprawdź:
#include <amxmodx>
#include <hamsandwich>
#include <cstrike>
#include <colorchat>
#include <fun>


#define PLUGIN "Ryby"
#define VERSION "1.0"
#define AUTHOR "Leny"
#define TASK 666
#define Keyskupryby (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8) // Keys: 123456789

new bool:nac[33]
new gmsg_SetFOV
new bool:koniec[33]
new ryby[33] //deklaracja

new const max_ryb = 50;

public plugin_init() {
gmsg_SetFOV = get_user_msgid("SetFOV")
RegisterHam(Ham_Spawn, "player", "Hamspawn", 1)

register_plugin(PLUGIN, VERSION, AUTHOR)

register_menucmd(register_menuid("kupryby"), Keyskupryby, "Pressedkupryby")
register_clcmd("say /zjedz", "zjedz")
register_clcmd("say /kupryby","Showkupryby")
register_clcmd("say /ryby", "iloscryb")

}
public zjedz(id)
{
if(ryby[id]<=0)
{
ColorChat(id,GREEN,"Skonczyly Ci sie ryby")
} else {
give_item(id, "weapon_m4a1")
give_item(id, "weapon_awp")
give_item(id, "ammo_338magnum")
give_item(id, "ammo_338magnum")
give_item(id, "ammo_338magnum")
give_item(id, "weapon_ak47")
give_item(id, "ammo_762nato")
give_item(id, "ammo_762nato")
give_item(id, "ammo_762nato")
give_item(id, "weapon_m4a1")
give_item(id, "ammo_556nato")
give_item(id, "ammo_556nato")
give_item(id, "ammo_556nato")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_smokegrenade")
give_item(id, "weapon_hegrenade")
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")

ColorChat(id,GREEN,"Zjadles rybe!")
ryby[id]-=1
}
return PLUGIN_HANDLED
}
public iloscryb(id){
client_print(id, print_chat,"Masz %d ryb", ryby[id]) //wyswietlenie ilosci
}

public Showkupryby(id) {
show_menu(id, Keyskupryby, "\rKup Ryby^n\y1.1\w Ryba^n\y2.2\w Ryby^n\y3.3\w Ryby^n\y4.4\w Ryb^n\y5.5\w Ryb^n\y6.6\w Ryb^n\y7.7\w Ryb^n\y8.8\w Ryb^n\y9.9\w Ryb^n", -1, "kupryby") // Display menu
}

public Pressedkupryby(id, key)
{
new rybeczki = key + 1
new monej = cs_get_user_money(id)

if (monej< rybeczki*1000)
client_print(id, print_chat,"Nie posiadasz tyle pieniedzy zeby zakupic towar!")
else if (ryby[id]+rybeczki>max_ryb)
client_print(id, print_chat,"Chcialbys przedawkowac rybami ?!")
else {
cs_set_user_money(id, monej - rybeczki*1000)
ryby[id] += rybeczki

new odmiana[5]

switch(rybeczki)
{
case 1: copy(odmiana, 4, "rybe")
case 2,3,4: copy(odmiana, 4, "ryby")
default: copy(odmiana, 4, "ryb")
}


client_print(id, print_chat,"Kupiles %d %s, posiadasz aktualnie: %d", rybeczki, odmiana, ryby[id])
}
}


Może się nie zamotałem nigdzie :D
Odpowiedz

  • +
  • -
Monsulito - zdjęcie Monsulito 12.04.2010

Chyba zamotales bo daje na serwer i nic nie dziala tak jak wogóle by plugin nie dzialal plugin nazwa "ryby" w plugins dodalem ryby.amxx
P.S innego pluginu nie mam na serwie
Użytkownik Monsulito edytował ten post 12.04.2010 13:07
Odpowiedz

  • +
  • -
Vertricus - zdjęcie Vertricus 12.04.2010

To ty motasz usuń:
RegisterHam(Ham_Spawn, "player", "Hamspawn", 1)
Odpowiedz

  • +
  • -
Monsulito - zdjęcie Monsulito 12.04.2010

Dalej cos nie tak.. To samo.
Odpowiedz
Zablokowany