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

[ROZWIĄZANE] Zwrócenie c-stringu


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

#1 diggs

    Wszechwidzący

  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:229
  • Lokalizacja:Internet
Offline

Napisano 31.10.2011 18:59

Witam, męczę się i głowię jak w pawnie można zwrócić tablice (c-stringa).
Przykład:
[...]
show_hudmessage(id, "Zwrocony tekst: %s", oddajtxt(id));
[...]
public oddajtxt(id)
{
new name[32];
get_user_name(pid, name, 31);

return name;
}

Oczywiście przykład nie działa tak jak powinien.

Użytkownik diggs edytował ten post 31.10.2011 19:02

  • +
  • -
  • 0

cFun.pl BaseBuilderPro v6.5.8 Tirant edit by diggs
IP: 80.82.16.66:27034
b_350_20_D91408_470002_FFFFFA_000000.png

cFun.pl Only AWP - 1000 FPS [SkinsMod]
IP: 80.72.42.113:27015
b_350_20_F8D241_B69427_0F100D_000000.png


#2 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 31.10.2011 19:10

Chyba tak się nie da, bo i w żadnym pluginie nie widziałem czegoś podobnego, do tego zrobiłeś tutaj błąd ^ ^ jak już to
public oddajtxt(id)
{
new name[32];
get_user_name(id, name, 31);

return name;
}

  • +
  • -
  • 1

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#3 diggs

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:229
  • Lokalizacja:Internet
Offline

Napisano 31.10.2011 19:15

Nie istotne czy mam błąd w przykładzie, chodzi czy i jak to zrobić muszę wywołać funkcje która wygeneruje mi tekst i chce żeby ona mi ten tekst zwróciła, ale + dla ciebie za spostrzegawczość ;]
  • +
  • -
  • 0

cFun.pl BaseBuilderPro v6.5.8 Tirant edit by diggs
IP: 80.82.16.66:27034
b_350_20_D91408_470002_FFFFFA_000000.png

cFun.pl Only AWP - 1000 FPS [SkinsMod]
IP: 80.72.42.113:27015
b_350_20_F8D241_B69427_0F100D_000000.png


#4 Vertricus

    Godlike

  • Przyjaciel

Reputacja: 426
Wszechobecny

  • Postów:1 549
  • Lokalizacja:.
Offline

Napisano 31.10.2011 19:36

Nie da się zwrócić tablicy w pawnie, no może dynamiczną ale i tak zaleca się robienie tego w ten sposób

tablica(x[32])
{
copy(x, 31, "Moj string");
}

Co do tego ze sie da dynamiczną ale nie powinno:
http://www.amxmodx.o...go=func&id=1206

Opis copy:
http://amxx.pl/dokumentacja/f1377/copy

zerknij sobie w stocki które są w bibliotekach, z reguły tak to działa ;)

dla przykładu nie robimy:
name = get_user_name(id)

Użytkownik Vertricus edytował ten post 31.10.2011 19:42

  • +
  • -
  • 0

#5 diggs

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:229
  • Lokalizacja:Internet
Offline

Napisano 31.10.2011 19:41

@Vertricus - a przez referencje jakoś by nie dało? Co do sposobu z copy czy mam to skopiować do tablicy x która jest globalna czy do tej której np przekazuje przy wywoływaniu tej funkcji?
  • +
  • -
  • 0

cFun.pl BaseBuilderPro v6.5.8 Tirant edit by diggs
IP: 80.82.16.66:27034
b_350_20_D91408_470002_FFFFFA_000000.png

cFun.pl Only AWP - 1000 FPS [SkinsMod]
IP: 80.72.42.113:27015
b_350_20_F8D241_B69427_0F100D_000000.png


#6 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 31.10.2011 20:21

Można zwracać tekst, ale tworzą się właśnie dziwne referencje i czasami kod nie zachowuje się jak tego byśmy chcieli.

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	
	new szNick[32];
	szNick = getText();
	
	log_amx("No siema %s", szNick);
}

getText()
{
	new szText[] = "ziom";
	return szText;
}



Podałem zły przykład to podam i dobry:

getText(szText[], len)
{
    return copy(szText, len, "ziom");
}

  • +
  • -
  • 1

#7 diggs

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:229
  • Lokalizacja:Internet
Offline

Napisano 31.10.2011 20:35

R3X mógłbyś pokazać jeszcze jak wywołać tą funkcje z poprawnego sposobu?
  • +
  • -
  • 0

cFun.pl BaseBuilderPro v6.5.8 Tirant edit by diggs
IP: 80.82.16.66:27034
b_350_20_D91408_470002_FFFFFA_000000.png

cFun.pl Only AWP - 1000 FPS [SkinsMod]
IP: 80.72.42.113:27015
b_350_20_F8D241_B69427_0F100D_000000.png


#8 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 31.10.2011 21:03


new szNick[32];

getText(szNick, 31);



log_amx( "No siema %s", szNick);


  • +
  • -
  • 1

#9 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 31.10.2011 21:17

a jak już jesteśmy w temacie to nie można robić konstrukcji takiej
return "tekst";
kompilator się na tym wywali :D

  • +
  • -
  • 0

#10 diggs

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:229
  • Lokalizacja:Internet
Offline

Napisano 31.10.2011 21:18

Niestety ale sposób z copy nie działa :/
  • +
  • -
  • 0

cFun.pl BaseBuilderPro v6.5.8 Tirant edit by diggs
IP: 80.82.16.66:27034
b_350_20_D91408_470002_FFFFFA_000000.png

cFun.pl Only AWP - 1000 FPS [SkinsMod]
IP: 80.72.42.113:27015
b_350_20_F8D241_B69427_0F100D_000000.png


#11 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 31.10.2011 21:20

działa, działa...
  • +
  • -
  • 0

#12 diggs

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:229
  • Lokalizacja:Internet
Offline

Napisano 31.10.2011 21:27

Mi nie działa a robię to tak:
public native_get_text(id, szText[], len)
{
new text[64];

ArrayGetString(g_Text, num[id], text, 63);

return copy(szText, len, text);
}
[...]
new szcos[64];
diggs_get_text(id, class_name, 64);
show_hudmessage(id, "Tekst: %s",  szcos);
[...]
Efektem tego jest napis "Tekst:"

Jak nic z tym nie zrobię to jutro zrobię to od d*py strony.

Użytkownik diggs edytował ten post 31.10.2011 21:28

  • +
  • -
  • 0

cFun.pl BaseBuilderPro v6.5.8 Tirant edit by diggs
IP: 80.82.16.66:27034
b_350_20_D91408_470002_FFFFFA_000000.png

cFun.pl Only AWP - 1000 FPS [SkinsMod]
IP: 80.72.42.113:27015
b_350_20_F8D241_B69427_0F100D_000000.png


#13 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 31.10.2011 21:31

czy dobrze widzę, że to natyw? to pewniak że nie działa ze stylem=1

musisz użyć style=0 i set_string()
  • +
  • -
  • 1

#14 diggs

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:229
  • Lokalizacja:Internet
Offline

Napisano 01.11.2011 07:35

R3X dobrze widzisz i wielkie dzięki za to, ale jutro już to zrobię na dziś mam dość. Dam znać jak mi poszło.



Edit 01.11.2011

R3X jeszcze raz dzięki za spostrzegawczość, właśnie dopisałem 1 linijkę i chodzi jak ta bajka xD dodam że w stylu 1 też sie da wystarczy tylko na samym początku naszej funkcji dodać wywołanie funkcji param_convert( num ) i jako parametr podać numer argumentu w którym przekazana ma być tablica.

Po raz kolejny zawiniła moja skłonność do popełniania banalnych błędów...

Użytkownik diggs edytował ten post 01.11.2011 07:35

  • +
  • -
  • 0

cFun.pl BaseBuilderPro v6.5.8 Tirant edit by diggs
IP: 80.82.16.66:27034
b_350_20_D91408_470002_FFFFFA_000000.png

cFun.pl Only AWP - 1000 FPS [SkinsMod]
IP: 80.72.42.113:27015
b_350_20_F8D241_B69427_0F100D_000000.png


#15 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 01.11.2011 10:00

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0




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

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