Jump to content
  • 0

pomoc [Help] Vypsání IP přímo ve hře


PcHawkVich

Dotaz

Čuste, potřebuju poradit nějaký způsob pomocí kterého bych mohl vypsat IP přímo ve hře.. zkoušel jsem najít nějaké návody jenže vždy když se pracuje s IP tak je skrytá a vypíše se nanejvýš do souboru.. zkoušel jsem to různými způsoby a bez výsledku.. naposled se mi nějaká IP sice snažila vypsat ale evidentně nebyla zrovna celá "53." a navíc nevím kde k ní server přišel :d ať jsem se díval do cmd, hamachi nebo na net nikde jsem IP s obsaženou 53. nenašel..

 

Díky za všechny rady..

Link to comment
Share on other sites

19 odpovědí na tuto otázku

Recommended Posts

  • 0

No jsem sice v pawnu začátečník, ale zkus tohle :

(ps: funguje)

 

nahoru nebo do prikazu :

 

new string[100]; //novy string s maxx poctem znaku 100

new ipcko[100]; //promenna do ktere ulozime ip hrace

 

do prikazu :

 

GetPlayerIp(playerid, ipcko, 100); //zjisti ip a naslende ulozi do promenne

format(string, sizeof(string), "Tvá ip je %s", ipcko); // preddefinujeme si zpravu

SendClientMessage(playerid, barva, string); // odesleme zpravu

Link to comment
Share on other sites

  • 0

Normal tam kde to máš si dej

new ip[20];

GetPlayerIp(playerid,ip,20);

A pak si to dej například do SCM

Př.: new ip[16];

GetPlayerIp(playerid,ip,16);

format(string, sizeof(string), "Tvoje IP je %s", ip);

SendClientMessage(playerid, COLOR_RED, string);

EDIT : Martinius mě předběhl ale zapomněl jsem string :d takže new string[128];

Ale je to i na wiki takže zbytečný topic :)

Link to comment
Share on other sites

  • 0

ku*va tak v čem jsem udělal chybu :d já se tu s tím piplám už takovou dobu a prostě mi to nefičí..

 

viz.:

 

 

new string[128];

format(string, sizeof(string), "IP adresa hráče %s je %d.", name(id), ip(id));

SendClientMessage(playerid, white, string);

 

stock ip(id)

{

new p_ip[16];

GetPlayerIp(id, p_ip, sizeof(p_ip));

return p_ip;

}

 

:( Zkoušel jsem vypsat kvůli teček v IP i jako string ale žádná změna..

Link to comment
Share on other sites

  • 0
ku*va tak v čem jsem udělal chybu :d já se tu s tím piplám už takovou dobu a prostě mi to nefičí..

 

viz.:

 

 

new string[128];

format(string, sizeof(string), "IP adresa hráče %s je %d.", name(id), ip(id));

SendClientMessage(playerid, white, string);

 

stock ip(id)

{

new p_ip[16];

GetPlayerIp(id, p_ip, sizeof(p_ip));

return p_ip;

}

 

:( Zkoušel jsem vypsat kvůli teček v IP i jako string ale žádná změna..

 

místo %d dej %s... ip není celé číslo ani desetinné je to spíše soubor znaků

Link to comment
Share on other sites

  • 0
ku*va tak v čem jsem udělal chybu :d já se tu s tím piplám už takovou dobu a prostě mi to nefičí..

 

viz.:

 

 

new string[128];

format(string, sizeof(string), "IP adresa hráče %s je %d.", name(id), ip(id));

SendClientMessage(playerid, white, string);

 

stock ip(id)

{

new p_ip[16];

GetPlayerIp(id, p_ip, sizeof(p_ip));

return p_ip;

}

 

:( Zkoušel jsem vypsat kvůli teček v IP i jako string ale žádná změna..

 

místo %d dej %s... ip není celé číslo ani desetinné je to spíše soubor znaků

Napsal jsem to i tak a taky to nešlo..

Link to comment
Share on other sites

  • 0

No já s dcmd nedělám. Ale jestli to nemusí být nutně přes dcmd tak tdy máš celý příkaz bez publicu ani sotcku :

 

if (strcmp("/ipcko", cmdtext, true, 7) == 0)
{
    new name[100];
	new ipcko[100];
	GetPlayerName(playerid, name, 100);
	GetPlayerIp(playerid, ipcko, 100);
	format(string, sizeof(string), "%s tvá ip je %s", name, ipcko);
	SendClientMessage(playerid, white, string);
	return 1;
}

 

Me to tedy funguje.

Link to comment
Share on other sites

  • 0

sorry za double post..

nekontroloval jsem to ale mělo by to jít.

dcmd_ip(playerid,params[])
  {
      new name[128]; 
     GetPlayerName(playerid, name, 100);
     format(string, sizeof(string), "%s tvá ip je %s", name(playerid), ipcko(playerid));
     SendClientMessage(playerid, white, string);
     return 1;
  }
stock ipcko(playerid)
{
    new ipcko[16];
   GetPlayerIp(playerid, ipcko, 16);
    return ipcko;
}

Link to comment
Share on other sites

  • 0
No já s dcmd nedělám. Ale jestli to nemusí být nutně přes dcmd tak tdy máš celý příkaz bez publicu ani sotcku :

 

if (strcmp("/ipcko", cmdtext, true, 7) == 0)
{
    new name[100];
	new ipcko[100];
	GetPlayerName(playerid, name, 100);
	GetPlayerIp(playerid, ipcko, 100);
	format(string, sizeof(string), "%s tvá ip je %s", name, ipcko);
	SendClientMessage(playerid, white, string);
	return 1;
}

 

Me to tedy funguje.

Max délka IPv4 je 16 znaků jak jistě chtěl říct Pixar.. No v dcmd to být nemusí ale chtěl jsem to tak a s dcmd problém ani není jak jsem řekl problém bude někde mezi ním a stockem :(.

Link to comment
Share on other sites

  • 0
sorry za double post..

nekontroloval jsem to ale mělo by to jít.

dcmd_ip(playerid,params[])
  {
      new name[128]; 
     GetPlayerName(playerid, name, 100);
     format(string, sizeof(string), "%s tvá ip je %s", name(playerid), ipcko(playerid));
     SendClientMessage(playerid, white, string);
     return 1;
  }
stock ipcko(playerid)
{
    new ipcko[16];
   GetPlayerIp(playerid, ipcko, 16);
    return ipcko;
}

Nemám to náhodou stejně? O_o nevidím rozdíl.. a hore ti chybí new string

Link to comment
Share on other sites

  • 0
je to jiný zkus to..

no pořád stejný výsledek

jinak musel jsem nadefinovat string nahoře.. name mám ve stocku a funguje.. tím to nebude.. a název stocku nemůže mít stejný název jako proměnná.

 

EDIT: Serte už na to.. :d jak se znám bude to zase nějaká kravina..

Link to comment
Share on other sites

  • 0
  • Administrátor
sorry za double post..

nekontroloval jsem to ale mělo by to jít.

dcmd_ip(playerid,params[])
  {
      new name[128]; 
     GetPlayerName(playerid, name, [color=#FF0000]100[/color]);
     format(string, sizeof(string), "%s tvá ip je %s", name(playerid), ipcko(playerid));
     SendClientMessage(playerid, white, string);
     return 1;
  }
stock ipcko(playerid)
{
    new ipcko[16];
   GetPlayerIp(playerid, ipcko, 16);
    return ipcko;
}

100 ? snad 21

Link to comment
Share on other sites

  • 0

Z mého modu

 

dcmd(ip,2,cmdtext);

dcmd_ip(playerid,params[])
{
new id,ip[17],string[65];
if(sscanf(params,"u",id)) return SendClientMessage(playerid,green2,"Použití: /ip ID");
GetPlayerIp(id,ip,17);
format(string,sizeof(string),"Hráč %s(ID:%d) má IP: %s",GetPName(id),id,ip);
SendClientMessage(playerid,green2,string);
return 1;
}

Link to comment
Share on other sites

  • 0
sorry za double post..

nekontroloval jsem to ale mělo by to jít.

dcmd_ip(playerid,params[])
  {
      new name[128]; 
     GetPlayerName(playerid, name, [color=#FF0000]100[/color]);
     format(string, sizeof(string), "%s tvá ip je %s", name(playerid), ipcko(playerid));
     SendClientMessage(playerid, white, string);
     return 1;
  }
stock ipcko(playerid)
{
    new ipcko[16];
   GetPlayerIp(playerid, ipcko, 16);
    return ipcko;
}

100 ? snad 21

jáj sorry,já to přepisoval a neuvědomil jsem si to,sorry.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...