←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Stary
Monety v2 - niedziałające

  • +
  • -
danie(L) - zdjęcie danie(L) 18.06.2012

Witam,
Stosowałem , tej oto modyfikacjii :
[CoD Stary] Monety v2 - Poradniki, Łatki oraz Pluginy - AMXX.pl: Support AMX Mod X

Robiłem wg. poradnika, aż nawet 5 razy i ciągle wyskakiwały mi takie błędy:

Error: Undefined symbol "pluginy_klas" on line 2877
Error: Expected token: ";" , but found "]" on line 2877
Error: Invalid expression, assumed zero on line 2877
Error: Too many error messages on one line on line 2877
Warning: Expression has no effect on line 2877

public tam gdzie występuje błąd:
public UstawNowaKlase(id)
{
		new ret;
				
		new forward_handle = CreateOneForward(pluginy_klas[klasa_gracza[id]], "cod_class_disabled", FP_CELL, FP_CELL);
		ExecuteForward(forward_handle, ret, id, klasa_gracza[id]);
		DestroyForward(forward_handle);
				
		forward_handle = CreateOneForward(pluginy_klas[nowa_klasa_gracza[id]], "cod_class_enabled", FP_CELL, FP_CELL);
		ExecuteForward(forward_handle, ret, id, nowa_klasa_gracza[id]);
		DestroyForward(forward_handle);
		
		
		if(ret == 4)  
		{
				klasa_gracza[id] = 0;
				return PLUGIN_CONTINUE;
		}

		ExecuteForward(klasa_zmieniona, ret, id, klasa_gracza[id]);
		
		if(ret == 4)	
		{
				klasa_gracza[id] = 0;
				return PLUGIN_CONTINUE;
		}
		
		klasa_gracza[id] = nowa_klasa_gracza[id];
		nowa_klasa_gracza[id] = 0;
		
		WczytajDane(id, klasa_gracza[id]);
		UstawPerk(id, perk_gracza[id], wartosc_perku_gracza[id], 0);
		return PLUGIN_CONTINUE;
}

Linijka w tym publicu gdzie wyskakuje błąd (2877):
new forward_handle = CreateOneForward(pluginy_klas[klasa_gracza[id]], "cod_class_disabled", FP_CELL, FP_CELL);


Za pomoc wynagrodzę "+" , Dzięki ;)
Odpowiedz

  • +
  • -
danie(L) - zdjęcie danie(L) 20.06.2012

Pomoże ktoś ?:)
Odpowiedz

  • +
  • -
danie(L) - zdjęcie danie(L) 22.06.2012

Pomoże ktos ?..
Odpowiedz

  • +
  • -
dasiek - zdjęcie dasiek 22.06.2012

na pewno jest mowa tu o STARYM CODZIE? Kod wygląda mi na nowy cod.

Daj Całe SMA coda.
Odpowiedz

  • +
  • -
danie(L) - zdjęcie danie(L) 22.06.2012

case 0:
{
new koszt = 100
if(monety[id] >= koszt)
ColorChat(id,RED,"[SKLEP]^x01 Nie masz wystarczajaco monet.");
else
{
ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles^x03 500 expa");
doswiadczenie_gracza[id] +=500;
}
}


Zrobiłem juz monety , ale teraz jest cos w sklepie zryte np. Kupuje te monety , mam 0 monet to mi daje expa...


Jak to naprawic?
Odpowiedz

  • +
  • -
Dziku - zdjęcie Dziku 23.06.2012

Masz na odwrót zapisaną funkcję.


case 0:
{
new koszt = 100
if(monety[id] >= koszt)
ColorChat(id,RED,"[SKLEP]^x01 Nie masz wystarczajaco monet.");
else
{
ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles^x03 500 expa");
doswiadczenie_gracza[id] +=500;
}
}


Powinno to wyglądać tak


case 0:
{
new koszt = 100
if(monety[id] >= koszt)
ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles^x03 500 expa");
doswiadczenie_gracza[id] +=500;
else
{
ColorChat(id,RED,"[SKLEP]^x01 Nie masz wystarczajaco monet.");
}
}

Użytkownik misiekcrpv edytował ten post 23.06.2012 10:04
Odpowiedz

  • +
  • -
danie(L) - zdjęcie danie(L) 23.06.2012

To teraz przy kompilacji wyskakują mi takie błędy i kilka warningów :

Warning: Loose indentation on line 518
Warning: Loose indentation on line 519
Warning: Loose indentation on line 529
Warning: Loose indentation on line 530
Warning: Loose indentation on line 540
Warning: Loose indentation on line 541
Error: Invalid expression, assumed zero on line 519
Error: Invalid expression, assumed zero on line 530
Error: Invalid expression, assumed zero on line 541

To te linijki :

519 else
530 else
541 else


Cały kod:

public SklepM_Handle(id,menu,item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
switch(item)
{
case 0:
{
new koszt = 100
if(monety[id] >= koszt)
ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles^x03 500 expa");
doswiadczenie_gracza[id] +=500;
else
{
ColorChat(id,RED,"[SKLEP]^x01 Nie masz wystarczajaco monet.");
}
}
case 1:
{
new koszt = 50
if(monety[id] >= koszt)
ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles^x03 200 expa");
doswiadczenie_gracza[id] +=200;
else
{
ColorChat(id,RED,"[SKLEP]^x01 Nie masz wystarczajaco monet.");
}
}
case 2:
{
new koszt = 30
if(monety[id] >= koszt)
ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles^x03 100 expa");
doswiadczenie_gracza[id] +=100;
else
{
ColorChat(id,RED,"[SKLEP]^x01 Nie masz wystarczajaco monet.");
}
}
}
return PLUGIN_CONTINUE;
}


Jak to naprawic ? Pomocy; (
Użytkownik danie(L) edytował ten post 23.06.2012 11:04
Odpowiedz

  • +
  • -
Dziku - zdjęcie Dziku 23.06.2012

Spróbuj tak

public SklepM_Handle(id,menu,item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
switch(item)
{
case 0:
{
new koszt = 100
if(monety[id] >= koszt)
{
ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles^x03 500 expa");
doswiadczenie_gracza[id] +=500;
}
else
ColorChat(id,RED,"[SKLEP]^x01 Nie masz wystarczajaco monet.");
}
case 1:
{
new koszt = 50
if(monety[id] >= koszt)
{
ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles^x03 200 expa");
doswiadczenie_gracza[id] +=200;
}
else
ColorChat(id,RED,"[SKLEP]^x01 Nie masz wystarczajaco monet.");
}
case 2:
{
new koszt = 30
if(monety[id] >= koszt)
{
ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles^x03 100 expa");
doswiadczenie_gracza[id] +=100;
}
else
ColorChat(id,RED,"[SKLEP]^x01 Nie masz wystarczajaco monet.");
}
}
return PLUGIN_CONTINUE;
}
Odpowiedz

  • +
  • -
danie(L) - zdjęcie danie(L) 23.06.2012

Okey, nie ma błędów ale teraz jest tak:

Nie mam monet , nie mogę kupic..
Gdy mam monety mogę kupic ale po kupnie nie odejmuje monet i se kupuje ile chce..
Odpowiedz

  • +
  • -
Dziku - zdjęcie Dziku 23.06.2012

A teraz?


public SklepM_Handle(id,menu,item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
switch(item)
{
case 0:
{
new koszt = 100
if(monety[id] >= koszt)
{
ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles^x03 500 expa");
doswiadczenie_gracza[id] +=500;
monety[id] -=100;
}
else
ColorChat(id,RED,"[SKLEP]^x01 Nie masz wystarczajaco monet.");
}
case 1:
{
new koszt = 50
if(monety[id] >= koszt)
{
ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles^x03 200 expa");
doswiadczenie_gracza[id] +=200;
monety[id] -=50;
}
else
ColorChat(id,RED,"[SKLEP]^x01 Nie masz wystarczajaco monet.");
}
case 2:
{
new koszt = 30
if(monety[id] >= koszt)
{
ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles^x03 100 expa");
doswiadczenie_gracza[id] +=100;
monety[id] -=30;
}
else
ColorChat(id,RED,"[SKLEP]^x01 Nie masz wystarczajaco monet.");
}
}
return PLUGIN_CONTINUE;
}

Użytkownik misiekcrpv edytował ten post 23.06.2012 12:51
Odpowiedz

  • +
  • -
Dziku - zdjęcie Dziku 23.06.2012

Widzę, że nie mogę edytować posta, bo dostałem + ale myślę jednak, że lepsza była by kombinacja


public SklepM_Handle(id,menu,item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
switch(item)
{
case 0:
{
new koszt = 100
if(monety[id] >= koszt)
{
ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles^x03 500 expa");
doswiadczenie_gracza[id] +=500;
monety[id] -= koszt;
}
else
ColorChat(id,RED,"[SKLEP]^x01 Nie masz wystarczajaco monet.");
}
case 1:
{
new koszt = 50
if(monety[id] >= koszt)
{
ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles^x03 200 expa");
doswiadczenie_gracza[id] +=200;
monety[id] -= koszt;
}
else
ColorChat(id,RED,"[SKLEP]^x01 Nie masz wystarczajaco monet.");
}
case 2:
{
new koszt = 30
if(monety[id] >= koszt)
{
ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles^x03 100 expa");
doswiadczenie_gracza[id] +=100;
monety[id] -= koszt;
}
else
ColorChat(id,RED,"[SKLEP]^x01 Nie masz wystarczajaco monet.");
}
}
return PLUGIN_CONTINUE;
}

Byłoby to o tyle bardziej optymalne, że w przypadku zwiększenia tablicy nie trzeba by było samodzielnie zmieniać poszczególnych wartości. Jeśli post wnosi nie wiele do tematu proszę moderatora o usunięcie go.
Odpowiedz