Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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

cmd_target, problem


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

#1 Snejk47

    Zaawansowany

  • Zbanowany

Reputacja: -1
Mniej niż zer0.

  • Postów:78
  • GG:
  • Imię:Snejk
  • Lokalizacja:Bytom
Offline

Napisano 02.10.2010 20:45

Witam, napisałem sobie funkcję do przekazywania innym graczom fragów:


new cmd[10], userName[36], userFrag[5];
parse(userText, cmd, 9, userName, 35, userFrag, 4);

if (equal(cmd, "/dajfragi") || equal(cmd, "/przekaz") || equal(cmd, "/fragi") || equal(cmd, "/daj") || equal(cmd, "/oddaj") || equal(cmd, "/wyslij"))
{
if(strlen(userName) <= 0 || strlen(userFrag) <= 0)
{
ColorChat(id, RED, "^x04[HFS]^x03 /dajfragi ^x04<^x03nick^x04> ^x04<^x03ilosc^x04>");
}
else
{
new userFrags = str_to_num(userFrag);
new userId = cmd_target(id, userName, 7);
new fullName[33];
get_user_name(userId, fullName, 32);

if(userId == id)
{
ColorChat(id, RED, "^x04[HFS]^x01 Do siebie chcesz wyslac? -.- ");
}
else
{
if(userFrags < 1)
{
ColorChat(id, RED, "^x04[HFS]^x01 ^^.- ");
}
else
{
if(!is_user_connected(userId))
{
ColorChat(id, RED, "^x04[HFS]^x01 Nie ma takiego gracza!");
}
else
{
if(getFrag(id, userFrags))
{
giveFrag(userId, userFrags);
new myName[33];
get_user_name(id, myName, 32);
ColorChat(id, RED, "^x04[HFS]^x01 Dales %i fragow %s!", userFrags, fullName);
ColorChat(0, RED, "^x04[HFS]^x01 %s dal %i fragow %s!", myName, userFrags, fullName);
}
else
{
ColorChat(id, RED, "^x04[HFS]^x01 Nie masz tyle fragow!");
}
}
}
}
}
}


Funkcja teoretycznie nie jest błędna, ale na serwerze nie działa dla wszystkich, tj. na nie których działa, a na nie których nie, np. na serwerze jest gracz "Ziomek", po wpisaniu /dajfragi ziomek 10, wyskakuje, że nie ma takiego gracza. Czy coś jest nie tak z cmd_target? A może ja gdzieś błąd zrobiłem?

Pozdrawiam.

#2 grankee

    Godlike

  • Support Team

Reputacja: 507
Wszechwiedzący

  • Postów:1500
  • Lokalizacja:Radom
Offline

Napisano 02.10.2010 21:28

Daj całe sma
  • +
  • -
  • 0

#3 Snejk47

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: -1
Mniej niż zer0.

  • Postów:78
  • GG:
  • Imię:Snejk
  • Lokalizacja:Bytom
Offline

Napisano 02.10.2010 21:31

1,5 k linijek ? Raczej nie, po za tym to plugin dla kolegi, który mi za niego płaci.

Coś co wywołuje tą funkcję to "register_clcmd("say", "checkSay");" ( Funkcja checkSay - Nieoficjalny polski support AMX Mod X );

W "userText", jest string bez "say ".

Użytkownik TheSnake edytował ten post 02.10.2010 21:32


#4 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6034
Godlike

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

Napisano 02.10.2010 21:36

It only needs to have enough of the name to identify only one person. "bl" would find the userid of "blu.knight" unless there is someone like "blackbob", in which case it would return 0.
new userId = cmd_target(id, userName, 7);
na

new userId = find_player("bj"userName);
sprawdź
  • +
  • -
  • 1

#5 Snejk47

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: -1
Mniej niż zer0.

  • Postów:78
  • GG:
  • Imię:Snejk
  • Lokalizacja:Bytom
Offline

Napisano 02.10.2010 21:46

DarkGL, dzięki, dam odpowiedź jutro bo graczy już mało, a przy takiej ilości zawsze działało, dodałem jeszcze flagę "l", aby ignorować wielkość liter.

#6 grankee

    Godlike

  • Support Team

Reputacja: 507
Wszechwiedzący

  • Postów:1500
  • Lokalizacja:Radom
Offline

Napisano 03.10.2010 01:22

To daj chociaż całą tą funkcję, bo z tego co widać teraz to dzielisz coś, ale nie wiem co....
  • +
  • -
  • 1

#7 Snejk47

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: -1
Mniej niż zer0.

  • Postów:78
  • GG:
  • Imię:Snejk
  • Lokalizacja:Bytom
Offline

Napisano 03.10.2010 13:48

Jest w poprzednim dziale. Funkcja działa prawidłowo, dzięki ;)




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

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