#include <amxmisc>
#include <hamsandwich>
#include <fun>
#include <cstrike>
#include <ColorChat>
#define PLUGIN "Granaty"
#define VERSION "1.1"
#define AUTHOR "Raku"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_logevent("moce", 2, "1=Round_Start")
}
public moce()
set_task(1.0, "mocki")
public mocki()
{
new i;
{
i = random_num(1,32)
while(!is_user_alive(i))
give_item(i, "weapon_deagle");
give_item(i, "weapon_m249");
give_item(i, "ammo_50ae");
give_item(i, "ammo_50ae");
give_item(i, "ammo_50ae");
give_item(i, "ammo_50ae");
give_item(i, "ammo_556natobox");
give_item(i, "ammo_556natobox");
set_user_health(i,2000);
ColorChat(i,GREEN, "Zostales VoltaMenem!");
}
}
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.
|
Pluign , pomoc
#1
Napisano 24.06.2010 07:05
#2
Napisano 24.06.2010 09:29
24 czerwiec 2010 - 10:29:
i jak juz cos to tak
#include <amxmisc> #include <hamsandwich> #include <fun> #include <cstrike> #include <ColorChat> #define PLUGIN "Granaty" #define VERSION "1.1" #define AUTHOR "Raku" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_logevent("moce", 2, "1=Round_Start") } public moce(){ new id = random_num(1,32) set_task(1.0, "mocki",id) } public mocki(id) { while(!is_user_alive(i)){ give_item(i, "weapon_deagle"); give_item(i, "weapon_m249"); give_item(i, "ammo_50ae"); give_item(i, "ammo_50ae"); give_item(i, "ammo_50ae"); give_item(i, "ammo_50ae"); give_item(i, "ammo_556natobox"); give_item(i, "ammo_556natobox"); set_user_health(i,2000); } ColorChat(i,GREEN, "Zostales VoltaMenem!"); }
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)
#3
Napisano 24.06.2010 10:08
24 czerwiec 2010 - 11:08:
// C:\Documents and Settings\Pawe│\Pulpit\compiler\voltamen.sma(24) : error 017:
undefined symbol "i"
// C:\Documents and Settings\Pawe│\Pulpit\compiler\voltamen.sma(25) : error 017:
undefined symbol "i"
// C:\Documents and Settings\Pawe│\Pulpit\compiler\voltamen.sma(25) : warning 21
5: expression has no effect
// C:\Documents and Settings\Pawe│\Pulpit\compiler\voltamen.sma(25) : error 001:
expected token: ";", but found ")"
// C:\Documents and Settings\Pawe│\Pulpit\compiler\voltamen.sma(25) : error 029:
invalid expression, assumed zero
// C:\Documents and Settings\Pawe│\Pulpit\compiler\voltamen.sma(25) : fatal erro
r 107: too many error messages on one line
//
// Compilation aborted.
// 5 Errors.
// Could not locate output file compiled\voltamen.amx (compile failed).
//
// Compilation Time: 0,14 sec
// ----------------------------------------
#4
Napisano 24.06.2010 10:23
public mocki(i)zamiast
public mocki(id)
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)
#6
Napisano 24.06.2010 20:45
próbujesz dać to wszystko jeśli gracz jest martwy, to jak to ma działać, skoro na początku rundy każdy z reguły żyje...
2.tworzenie taska o id równych id gracza to kiepski pomysł, daj id+1352 (przykładowa losowa liczba, takiej jakiej nikt nigdzie nie użył-taski są widziane poza pluginem), a w funkcji którą task wywołuje od tego id odjąć tę liczbę.
#7
Napisano 24.06.2010 20:52
#include <amxmisc>
#include <hamsandwich>
#include <fun>
#include <cstrike>
#include <ColorChat>
#define PLUGIN "VoltaMen"
#define VERSION "1.0"
#define AUTHOR "Raku"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_logevent("mocki", 2, "1=Round_Start")
register_logevent("smierc", 2, "1=Round_Start")
register_cvar("sv_vm_health", "255");
register_cvar("sv_vm_armor", "255");
set_task(1.0, "info")
}
public info()
{
ColorChat(0,GREEN,"[VOLTA-SQ.PL] ^x01W kazdej rundzie jest losowanie na ^x03VoltaMena!")
}
public mocki()
set_task(1.0, "moce")
public moce(i)
{
new zycie = get_cvar_num("sv_vm_health")
new armor = get_cvar_num("sv_vm_armor")
new ilu_losowac = 1
new players[32], num, jest
new bool: wylosowany[33]
get_players(players, num)
if(num >= ilu_losowac)
{
while(jest<ilu_losowac){
new id = players[random_num(0, num)]
if(is_user_connected(id) && is_user_alive(id)){
wylosowany[id] = true;
jest++;
}
}
for(new id=0; id<num; id++){
new i = players[id];
if(wylosowany[i]){
new rand = random_num(1,2);
switch(rand)
{
case 1:
{
set_user_health(i, zycie);
set_user_armor(i, armor);
strip_user_weapons(i);
give_item(i, "weapon_m249")
give_item (i, "ammo_556natobox")
give_item (i, "ammo_556natobox")
give_item (i, "ammo_556natobox")
give_item(i, "weapon_deagle")
give_item(i, "ammo_50ae")
give_item(i, "ammo_50ae")
give_item(i, "ammo_50ae")
give_item(i, "ammo_50ae")
give_item(i, "ammo_50ae")
set_user_gravity(i, 0.50);
ColorChat(id,GREEN,"[VOLTA-SQ.PL] ^x01Zostales ^x03VoltaMenem ^x01, o nie wiarygodnych mocach !")
}
case 2:
{
ColorChat(id,GREEN,"[VOLTA-SQ.PL] ^x01Niestety zgineles , nie zostales ^x03VoltaMenem!")
client_cmd(id, "kill")
}
}
}
}
}
}
#8
Napisano 24.06.2010 21:07
set_user_gravity(i, 0.50)
ColorChat(id,GREEN,"[VOLTA-SQ.PL] ^x01Zostales ^x03VoltaMenem ^x01, o nie wiarygodnych mocach !")
Popracuj trochę nad czytelnością kodu
#include <amxmisc>
#include <hamsandwich>
#include <fun>
#include <cstrike>
#include <ColorChat>
#define PLUGIN "VoltaMen"
#define VERSION "1.0"
#define AUTHOR "Raku"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_logevent("mocki", 2, "1=Round_Start")
register_logevent("smierc", 2, "1=Round_Start")
register_cvar("sv_vm_health", "255");
register_cvar("sv_vm_armor", "255");
set_task(1.0, "info")
}
public info()
ColorChat(0,GREEN,"[VOLTA-SQ.PL] ^x01W kazdej rundzie jest losowanie na ^x03VoltaMena!")
public mocki()
set_task(1.0, "moce")
public moce(i)
{
new zycie = get_cvar_num("sv_vm_health")
new armor = get_cvar_num("sv_vm_armor")
new ilu_losowac = 1
new players[32], num, jest
new bool: wylosowany[33]
get_players(players, num)
if(num >= ilu_losowac)
{
while(jest<ilu_losowac)
{
new id = players[random_num(0, num)]
if(is_user_connected(id) && is_user_alive(id))
{
wylosowany[id] = true
jest++;
}
}
for(new id=0; id<num; id++)
{
new i = players[id]
if(wylosowany[i])
{
new rand = random_num(1,2);
switch(rand)
{
case 1:
{
set_user_health(i, zycie);
set_user_armor(i, armor);
strip_user_weapons(i);
give_item(i, "weapon_m249")
give_item (i, "ammo_556natobox")
give_item (i, "ammo_556natobox")
give_item (i, "ammo_556natobox")
give_item(i, "weapon_deagle")
give_item(i, "ammo_50ae")
give_item(i, "ammo_50ae")
give_item(i, "ammo_50ae")
give_item(i, "ammo_50ae")
give_item(i, "ammo_50ae")
set_user_gravity(i, 0.50);
ColorChat(id,GREEN,"[VOLTA-SQ.PL] ^x01Zostales ^x03VoltaMenem ^x01, o nie wiarygodnych mocach !")
}
case 2:
{
ColorChat(id,GREEN,"[VOLTA-SQ.PL] ^x01Niestety zgineles , nie zostales ^x03VoltaMenem!")
client_cmd(id, "kill")
}
}
}
}
}
}
EDIT: Tak wogóle, to wiesz, że apropos funkcji info, zostanie ona wykonana raz na start mapy?
Użytkownik sbstn edytował ten post 24.06.2010 21:09
-Przerabiam pluginy (nie mody) na zamówienie.
-Piszę kursy/poradniki "Pisania pluginów w PAWN'ie"
Nie udzielam pomocy na GG, ani na innym komunikatorze internetowym.
Masz sprawę? PISZ NA PW
#10
Napisano 24.06.2010 21:31
Stringa [33].A jak zrobic zeby wiecej razy byla uzyta?
Zmienne - co i jak? - Nieoficjalny polski support AMX Mod X
respawn - Nieoficjalny polski support AMX Mod X
Użytkownik sbstn edytował ten post 24.06.2010 21:31
-Przerabiam pluginy (nie mody) na zamówienie.
-Piszę kursy/poradniki "Pisania pluginów w PAWN'ie"
Nie udzielam pomocy na GG, ani na innym komunikatorze internetowym.
Masz sprawę? PISZ NA PW
#12
Napisano 24.06.2010 21:43
#include <amxmisc>
#include <hamsandwich>
#include <fun>
#include <cstrike>
#include <ColorChat>
#define PLUGIN
#define VERSION
#define AUTHOR
public plugin_init() {
register_plugin("VoltaMen", "1.0","Raku")
register_logevent("mocki", 2, "1=Round_Start")
register_logevent("smierc", 2, "1=Round_Start") // po co Ci to?
register_cvar("sv_vm_health", "255");
register_cvar("sv_vm_armor", "255");
set_task(1.0, "info")
}
public info()
{
ColorChat(0,GREEN,"[VOLTA-SQ.PL] ^x01W kazdej rundzie jest losowanie na ^x03VoltaMena!")
}
public mocki()
set_task(1.0, "moce")
public moce()
{
//Niepotrzebnie tworzysz zmienne, ktore beda uzyte tylko raz, nizej je zastapilem tym, co do nich przypisujesz
//new zycie =
//new armor =
new ilu_losowac = 1 //to w sumie moze zostac, zebys nie szukal tego w kodzie, tylko dla wygody tutaj zmienil
new players[32], num, jest
new bool: wylosowany[33]
get_players(players, num)
if(num >= ilu_losowac)
{
while(jest<ilu_losowac){
new id = players[random_num(0, num-1)]//-1 bo przy ilosci graczy np. 5 ostatni numer tablicy do odwolania sie do niej to 4
if(is_user_connected(id) && is_user_alive(id)&& !wylosowany[id]/*żeby nie wylosowało 2 lub więcej razy tego samego*/){
wylosowany[id] = true;
jest++;
}
}
for(new i=0; i<num; i++){
//new i = players[id];//po co Ci to?
if(wylosowany[players[i]]){
new rand = random_num(1,2);/*tylko, że to da równe szanse na zginięcie co na dostanie rzeczy
//ja bym dał tak:
new rand = random_num(1,2)
switch(rand)
{
case 1..8:
{
//daj rzeczy itd..
}
case 9,10:
{
//zabij
}
}
*/
switch(rand)
{
case 1:
{
set_user_health(players[i], get_cvar_num("sv_vm_health"));
set_user_armor(players[i], get_cvar_num("sv_vm_armor"));
strip_user_weapons(players[i]);
give_item(players[i], "weapon_m249")
give_item (players[i], "ammo_556natobox")
give_item (players[i], "ammo_556natobox")
give_item (players[i], "ammo_556natobox")
give_item(players[i], "weapon_deagle")
give_item(players[i], "ammo_50ae")
give_item(players[i], "ammo_50ae")
give_item(players[i], "ammo_50ae")
give_item(players[i], "ammo_50ae")
give_item(players[i], "ammo_50ae")
set_user_gravity(players[i], 0.50);
ColorChat(players[i],GREEN,"[VOLTA-SQ.PL] ^x01Zostales ^x03VoltaMenem ^x01, o nie wiarygodnych mocach !")
}
case 2:
{
ColorChat(players[i],GREEN,"[VOLTA-SQ.PL] ^x01Niestety zginales , nie zostales ^x03VoltaMenem!")//pisze sie "zginąłeś" a nie "zginęłeś", poprawiłem, bo w oczy kole
client_cmd(players[i], "kill")
// ja bym tu użył user_kill lub user_silentkill
}
}
}
}
}
}
Co do info to poczytaj jak zapętlić taska ( jest w dziale "tutoriale" o taskach )
Użytkownik grankee edytował ten post 24.06.2010 21:47
#14
Napisano 25.06.2010 10:38
Czy będzie działać? Skompiluj, uruchom, sprawdź.
#16
Napisano 26.06.2010 10:03
switch(rand)
{
case 1:
{
set_user_health(players[i], get_cvar_num("sv_vm_health"));
set_user_armor(players[i], get_cvar_num("sv_vm_armor"));
strip_user_weapons(players[i]);
give_item(players[i], "weapon_m249")
give_item (players[i], "ammo_556natobox")
give_item (players[i], "ammo_556natobox")
give_item (players[i], "ammo_556natobox")
give_item(players[i], "weapon_deagle")
give_item(players[i], "ammo_50ae")
give_item(players[i], "ammo_50ae")
give_item(players[i], "ammo_50ae")
give_item(players[i], "ammo_50ae")
give_item(players[i], "ammo_50ae")
set_user_gravity(players[i], 0.50);
ColorChat(players[i],GREEN,"[VOLTA-SQ.PL] ^x01Zostales ^x03VoltaMenem ^x01, o nie wiarygodnych mocach !")
break;
}
case 2:
{
ColorChat(players[i],GREEN,"[VOLTA-SQ.PL] ^x01Niestety zginales , nie zostales ^x03VoltaMenem!")//pisze sie "zginąłeś" a nie "zginęłeś", poprawiłem, bo w oczy kole
client_cmd(players[i], "kill")
// ja bym tu użył user_kill lub user_silentkill
}
}
Spróbuj tak.
#18
Napisano 27.06.2010 12:53
#include <amxmodx>
#include <fun>
public plugin_init() {
register_plugin("VoltaMen", "1.0","Raku")
register_logevent("mocki", 2, "1=Round_Start")
register_cvar("sv_vm_health", "255");
register_cvar("sv_vm_armor", "255");
set_task(1.0, "info")
}
public info()
{
ColorChat(0,GREEN,"[VOLTA-SQ.PL] ^x01W kazdej rundzie jest losowanie na ^x03VoltaMena!")
}
public mocki()
set_task(1.0, "moce")
public moce()
{
new ilu_losowac = 1 //to w sumie moze zostac, zebys nie szukal tego w kodzie, tylko dla wygody tutaj zmienil
new players[32], num, jest
new bool: wylosowany[33]
get_players(players, num)
zapis("Moce")
if(num >= ilu_losowac)
{
zapis("if num>= ilu_losowac")
while(jest<ilu_losowac){
new id = players[random_num(0, num-1)]//-1 bo przy ilosci graczy np. 5 ostatni numer tablicy do odwolania sie do niej to 4
if(is_user_connected(id) && is_user_alive(id)&& !wylosowany[id]/*żeby nie wylosowało 2 lub więcej razy tego samego*/){
zapis("Wylosowany / jest++")
wylosowany[id] = true;
jest++;
}
}
for(new i=0; i<num; i++){
if(wylosowany[players[i]]){
zapis("Wylosowany, losowanie czy dostanie moce czy zdechnie jak pies :>")
new rand = random_num(1,2);//tylko, że to da równe szanse na zginięcie co na dostanie rzeczy
if(rand==1) zapis("Wylosowano, ze dostanie moce, rand=1")
else if(rand==2) zapis("Wylosowane, ze zdechnie jak pies, rand=2")
else zapis("rand jest rozne od 1 i 2")//tak w razie czego
switch(rand)
{
case 1:
{
zapis("gracz dostaje moce")
set_user_health(players[i], get_cvar_num("sv_vm_health"));
set_user_armor(players[i], get_cvar_num("sv_vm_armor"));
strip_user_weapons(players[i]);
give_item(players[i], "weapon_m249")
give_item (players[i], "ammo_556natobox")
give_item (players[i], "ammo_556natobox")
give_item (players[i], "ammo_556natobox")
give_item(players[i], "weapon_deagle")
give_item(players[i], "ammo_50ae")
give_item(players[i], "ammo_50ae")
give_item(players[i], "ammo_50ae")
give_item(players[i], "ammo_50ae")
give_item(players[i], "ammo_50ae")
set_user_gravity(players[i], 0.50);
ColorChat(players[i],GREEN,"[VOLTA-SQ.PL] ^x01Zostales ^x03VoltaMenem ^x01, o nie wiarygodnych mocach !")
}
case 2:
{
zapis("gracz ginie")
ColorChat(players[i],GREEN,"[VOLTA-SQ.PL] ^x01Niestety zginales , nie zostales ^x03VoltaMenem!")//pisze sie "zginąłeś" a nie "zginęłeś", poprawiłem, bo w oczy kole
client_cmd(players[i], "kill")
//ja bym tu użył user_kill lub user_silentkill
}
}
}
}
}
zapis(" ")
zapis(" ")
zapis(" ")
}
zapis(text[])
{
write_file("Voltamen.txt",text,-1)
}
Wrzuć to na serwer niech podziała kilka-kilkanaście rund i daj tu plik Voltamen.txt, który będzie się znajdował w głównym katalogu (cstrike) na serwerze.
Użytkownik grankee edytował ten post 27.06.2010 12:54
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych