format
#1

Hey, how do I replace the characters ( ' ' ) to output "Unknown"?

Код:
stock GetPlayerCountryDataAsString(playerid, output[], len = sizeof(output))
{
	if(!IsPlayerConnected(playerid))
		return 0;

	format(output, len, "\
		HHostname: '%s'\n\
		Code: '%s'\n\
		Country: '%s'\n\
		Region: '%s'\n\
		ISP: '%s'\n\
		Proxy: %s",
		PlayerCountryData[playerid][cntr_Hostname],
		PlayerCountryData[playerid][cntr_Code],
		PlayerCountryData[playerid][cntr_Country],
		PlayerCountryData[playerid][cntr_Region],
		PlayerCountryData[playerid][cntr_ISP],
		PlayerCountryData[playerid][cntr_Proxy] ? ("Yes") : ("No"));

	return 1;
}


That's what I want



Here's my code http://pastebin.com/btkB934q (SouthclawJK & Scavenge Survive)

https://github.com/Southclaw/Scaveng...er/country.pwn
Reply
#2

HHostname: \"%s\"\n\
Reply
#3

I do not know what will fix it or do?
Reply
#4

check for empty string if they are empty show them unknown (here is a good example )
https://sampwiki.blast.hk/wiki/Strcmp
Reply
#5

pawn Код:
stock GetPlayerCountryDataAsString(playerid, output[], len = sizeof(output))
{
    if(!IsPlayerConnected(playerid))
        return 0;
       
        new hostname[64], code[64], country[64], region[64], isp[64], proxy[64]; //Adjust for string length as needed
        if(strlen(PlayerCountryData[playerid][cntr_Hostname]) == 0) hostname = "Unknown";
        else hostname = PlayerCountryData[playerid][cntr_Hostname];
        if(strlen(PlayerCountryData[playerid][cntr_Code]) == 0) code = "Unknown";
        else code = PlayerCountryData[playerid][cntr_Code];
        if(strlen(PlayerCountryData[playerid][cntr_Country]) == 0) country = "Unknown";
        else country = PlayerCountryData[playerid][cntr_Country];
        if(strlen(PlayerCountryData[playerid][cntr_Region]) == 0) region = "Unknown";
        else region = PlayerCountryData[playerid][cntr_Region];
        if(strlen(PlayerCountryData[playerid][cntr_ISP]) == 0) isp = "Unknown";
        else isp = PlayerCountryData[playerid][cntr_ISP];
        if(strlen(PlayerCountryData[playerid][cntr_Proxy]) == 0) proxy = "Unknown";
        else proxy = PlayerCountryData[playerid][cntr_Proxy];
       

    format(output, len, "\
        HHostname: '%s'\n\
        Code: '%s'\n\
        Country: '%s'\n\
        Region: '%s'\n\
        ISP: '%s'\n\
        Proxy: %s"
,
        hostname,
        code,
        country,
        region,
        isp,
        proxy
         ? ("Yes") : ("No"));

    return 1;
}
Reply
#6

Код:
pawno\include\base.pwn(175) : error 047: array sizes do not match, or destination array is too small
pawno\include\base.pwn(177) : error 047: array sizes do not match, or destination array is too small
pawno\include\base.pwn(179) : error 047: array sizes do not match, or destination array is too small
pawno\include\base.pwn(181) : error 047: array sizes do not match, or destination array is too small
pawno\include\base.pwn(183) : error 047: array sizes do not match, or destination array is too small
pawno\include\base.pwn(185) : error 047: array sizes do not match, or destination array is too small
Код:
stock GetPlayerCountryDataAsString(playerid, output[], len = sizeof(output))
{
    new hostname[100], code[100], country[100], region[100], isp[100], proxy[100]; //Adjust for string length as needed

	if(!IsPlayerConnected(playerid))
		return 0;
	
	if(strlen(PlayerCountryData[playerid][cntr_Hostname]) == 0) hostname = "Unknown";
	else hostname = PlayerCountryData[playerid][cntr_Hostname]; // This error
	if(strlen(PlayerCountryData[playerid][cntr_Code]) == 0) code = "Unknown";
	else code = PlayerCountryData[playerid][cntr_Code]; // This error
	if(strlen(PlayerCountryData[playerid][cntr_Country]) == 0) country = "Unknown";
	else country = PlayerCountryData[playerid][cntr_Country]; // This error
	if(strlen(PlayerCountryData[playerid][cntr_Region]) == 0) region = "Unknown";
	else region = PlayerCountryData[playerid][cntr_Region]; // This error
	if(strlen(PlayerCountryData[playerid][cntr_ISP]) == 0) isp = "Unknown";
	else isp = PlayerCountryData[playerid][cntr_ISP]; // This error
	if(strlen(PlayerCountryData[playerid][cntr_Proxy]) == 0) proxy = "Unknown";
	else proxy = PlayerCountryData[playerid][cntr_Proxy]; // This error


	format(output, len, "\
		HHostname: '%s'\n\
		Code: '%s'\n\
		Country: '%s'\n\
		Region: '%s'\n\
		ISP: '%s'\n\
		Proxy: %s",
		hostname,
		code,
		country,
		region,
		isp,
		proxy
		 ? ("Yes") : ("No"));

	return 1;
}
What does it mean ?
Reply
#7

PHP код:
stock GetPlayerCountryDataAsString(playeridoutput[], len sizeof(output))
{
    new
        
hostname[30],
        
code[30],
        
country[30],
        
region[30],
        
isp[30],
        
proxy[30];

    if(!
IsPlayerConnected(playerid))
        return 
0;

    if(
strlen(PlayerCountryData[playerid][cntr_Hostname]) == 0hostname "Unknown";
    else 
format(hostnamesizeof(hostname), "%s"PlayerCountryData[playerid][cntr_Hostname]);
    
    if(
strlen(PlayerCountryData[playerid][cntr_Code]) == 0code "Unknown";
    else 
format(codesizeof(code), "%s"PlayerCountryData[playerid][cntr_Code]);
    
    if(
strlen(PlayerCountryData[playerid][cntr_Country]) == 0country "Unknown";
    else 
format(countrysizeof(country), "%s"PlayerCountryData[playerid][cntr_Hostname]);
    
    if(
strlen(PlayerCountryData[playerid][cntr_Region]) == 0region "Unknown";
    else 
format(regionsizeof(region), "%s"PlayerCountryData[playerid][cntr_Region]);
    
    if(
strlen(PlayerCountryData[playerid][cntr_ISP]) == 0isp "Unknown";
    else 
format(ispsizeof(isp), "%s"PlayerCountryData[playerid][cntr_ISP]);
    
    if(
strlen(PlayerCountryData[playerid][cntr_Proxy]) == 0proxy "Unknown";
    else 
format(proxysizeof(proxy), "%s"PlayerCountryData[playerid][cntr_Proxy]);


    
format(outputlen"\
        HHostname: '%s'\n\
        Code: '%s'\n\
        Country: '%s'\n\
        Region: '%s'\n\
        ISP: '%s'\n\
        Proxy: %s"
,
        
hostname,
        
code,
        
country,
        
region,
        
isp,
        
proxy
         
? ("Yes") : ("No"));

    return 
1;

Reply
#8

Quote:
Originally Posted by YouServ
Посмотреть сообщение
PHP код:
stock GetPlayerCountryDataAsString(playeridoutput[], len sizeof(output))
{
    new
        
hostname[30],
        
code[30],
        
country[30],
        
region[30],
        
isp[30],
        
proxy[30];
    if(!
IsPlayerConnected(playerid))
        return 
0;
    if(
strlen(PlayerCountryData[playerid][cntr_Hostname]) == 0hostname "Unknown";
    else 
format(hostnamesizeof(hostname), "%s"PlayerCountryData[playerid][cntr_Hostname]);
    
    if(
strlen(PlayerCountryData[playerid][cntr_Code]) == 0code "Unknown";
    else 
format(codesizeof(code), "%s"PlayerCountryData[playerid][cntr_Code]);
    
    if(
strlen(PlayerCountryData[playerid][cntr_Country]) == 0country "Unknown";
    else 
format(countrysizeof(country), "%s"PlayerCountryData[playerid][cntr_Hostname]);
    
    if(
strlen(PlayerCountryData[playerid][cntr_Region]) == 0region "Unknown";
    else 
format(regionsizeof(region), "%s"PlayerCountryData[playerid][cntr_Region]);
    
    if(
strlen(PlayerCountryData[playerid][cntr_ISP]) == 0isp "Unknown";
    else 
format(ispsizeof(isp), "%s"PlayerCountryData[playerid][cntr_ISP]);
    
    if(
strlen(PlayerCountryData[playerid][cntr_Proxy]) == 0proxy "Unknown";
    else 
format(proxysizeof(proxy), "%s"PlayerCountryData[playerid][cntr_Proxy]);
    
format(outputlen"\
        HHostname: '%s'\n\
        Code: '%s'\n\
        Country: '%s'\n\
        Region: '%s'\n\
        ISP: '%s'\n\
        Proxy: %s"
,
        
hostname,
        
code,
        
country,
        
region,
        
isp,
        
proxy
         
? ("Yes") : ("No"));
    return 
1;

This is correct ofcourse, my bad. Sorry.
Reply
#9

It works well, but when you test the script on the host server, so it still shows a player, "Unknown" where is the mistake?

On the local server hosted on a PC it shows Unknown, therefore it is localhost, but on a hosted server? For hosting, it does not work why?

Код:
#include <a_samp>
#include <zcmd>
#include <base.pwn>

CMD:tent(playerid, params[])
{
	new dating[255];
	GetPlayerCountryDataAsString(playerid, dating);
	ShowPlayerDialog(playerid, 4874, DIALOG_STYLE_MSGBOX, "Title", dating, "Close", "");
	return 1;
}
Код:
stock GetPlayerCountryDataAsString(playerid, output[], len = sizeof(output))
{
    new
        hostname[30],
        code[30],
        country[30],
        region[30],
        isp[30],
        proxy[30];

    if(!IsPlayerConnected(playerid))
        return 0;

    if(strlen(PlayerCountryData[playerid][cntr_Hostname]) == 0) hostname = "Unknownnn";
    else format(hostname, sizeof(hostname), "%s", PlayerCountryData[playerid][cntr_Hostname]);

    if(strlen(PlayerCountryData[playerid][cntr_Code]) == 0) code = "Unknown";
    else format(code, sizeof(code), "%s", PlayerCountryData[playerid][cntr_Code]);

    if(strlen(PlayerCountryData[playerid][cntr_Country]) == 0) country = "Unknown";
    else format(country, sizeof(country), "%s", PlayerCountryData[playerid][cntr_Hostname]);

    if(strlen(PlayerCountryData[playerid][cntr_Region]) == 0) region = "Unknown";
    else format(region, sizeof(region), "%s", PlayerCountryData[playerid][cntr_Region]);

    if(strlen(PlayerCountryData[playerid][cntr_ISP]) == 0) isp = "Unknown";
    else format(isp, sizeof(isp), "%s", PlayerCountryData[playerid][cntr_ISP]);

    if(strlen(PlayerCountryData[playerid][cntr_Proxy]) == 0) proxy = "Unknown";
    else format(proxy, sizeof(proxy), "%s", PlayerCountryData[playerid][cntr_Proxy]);


    format(output, len, "\
        HHostname: '%s'\n\
        Code: '%s'\n\
        Country: '%s'\n\
        Region: '%s'\n\
        ISP: '%s'\n\
        Proxy: %s",
        hostname,
        code,
        country,
        region,
        isp,
        proxy
         ? ("Yes") : ("No"));

    return 1;
}
Reply
#10

Probably because the include is based on server (VPS) information and you don't have the same on your VPS & your computer. Check how was scripted the include
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)