Pomoc oko komande


Započeo radio, Decembar 24, 2018, 17:48:28 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Problem(error/warning): Htio bih da napravim komandu koja vi dala svim igracima pare u isto vreme ( na bankovni racun ) Pocetnik sam pa mi ne ide u glavu kako to da napravim :D P.S Koristim SM mod
Dio skripte: [ pawn ]vaš odgovor[ /pawn ]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]vaš odgovor[ /code ]
Slika/video ingame problema(obavezno ako je ingame problem): link slike

#include <a_samp>
#undef MAX_PLAYERS
#define MAX_PLAYERS 69 // OVDJE POSTAVLJAS NA KOLIKO CE ICI VARIJABLE IGRACA..
#include <sscanf2>
#include <YSI\y_commands>

new Prijavljenih = 0;
new Prijavljen[MAX_PLAYERS];
new BNovac[MAX_PLAYERS];


public OnGameModeInit()
{
	Prijavljenih = 0;
	return 1;
}

public OnGameModeExit()
{
	Prijavljenih = 0;
	return 1;
}





public OnPlayerConnect(playerid)
{
	Prijavljen[playerid]=0;
	return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
	if(Prijavljen[playerid]==1)
	{
		Prijavljenih--;
	}
	return 1;
}

forward OnPlayerLogin(playerid);
public OnPlayerLogin(playerid) // ovo stavis u funkciji kad se logira ne moras koristit onplayerlogin
{
	Prijavljen[playerid]=1;
	Prijavljenih++;
	return 1;
}
CMD:dajsvima(playerid,params[])
{
	new koliko;
	if(sscanf(params,"i",koliko)) return 1;
	if(koliko<1||koliko>999123) return 1;
	new string[90]; new ime[24];
	GetPlayerName(playerid,ime,sizeof(ime));
	if(Prijavljenih == 1)
	{
		BNovac[playerid]+=koliko;
		format(string,sizeof(string),"*Dao si samo sebi na bankovni racun %d$!",koliko);
        SendClientMessage(playerid,-1,string);
		return 1;
	}
	for(new id=0; id < Prijavljenih; id++)
	{
	    BNovac[id]+=koliko;
		if(id!=playerid)
		{
			format(string,sizeof(string),"*Dobio si od Admina %s na bankovni racun %d$!",ime,koliko);
		}
		else if(id==playerid)
		{
		    format(string,sizeof(string),"*Dao si sebi i ostalima na bankovni racun +%d$!",koliko);
		}
		SendClientMessage(id,-1,string);
	}
	return 1;
}

primjer
69

Citat: youngdeal poslato Decembar 24, 2018, 18:28:58 POSLE PODNE
#include <a_samp>
#undef MAX_PLAYERS
#define MAX_PLAYERS 69 // OVDJE POSTAVLJAS NA KOLIKO CE ICI VARIJABLE IGRACA..
#include <sscanf2>
#include <YSI\y_commands>

new Prijavljenih = 0;
new Prijavljen[MAX_PLAYERS];
new BNovac[MAX_PLAYERS];


public OnGameModeInit()
{
	Prijavljenih = 0;
	return 1;
}

public OnGameModeExit()
{
	Prijavljenih = 0;
	return 1;
}





public OnPlayerConnect(playerid)
{
	Prijavljen[playerid]=0;
	return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
	if(Prijavljen[playerid]==1)
	{
		Prijavljenih--;
	}
	return 1;
}

forward OnPlayerLogin(playerid);
public OnPlayerLogin(playerid) // ovo stavis u funkciji kad se logira ne moras koristit onplayerlogin
{
	Prijavljen[playerid]=1;
	Prijavljenih++;
	return 1;
}
CMD:dajsvima(playerid,params[])
{
	new koliko;
	if(sscanf(params,"i",koliko)) return 1;
	if(koliko<1||koliko>999123) return 1;
	new string[90]; new ime[24];
	GetPlayerName(playerid,ime,sizeof(ime));
	if(Prijavljenih == 1)
	{
		BNovac[playerid]+=koliko;
		format(string,sizeof(string),"*Dao si samo sebi na bankovni racun %d$!",koliko);
        SendClientMessage(playerid,-1,string);
		return 1;
	}
	for(new id=0; id < Prijavljenih; id++)
	{
	    BNovac[id]+=koliko;
		if(id!=playerid)
		{
			format(string,sizeof(string),"*Dobio si od Admina %s na bankovni racun %d$!",ime,koliko);
		}
		else if(id==playerid)
		{
		    format(string,sizeof(string),"*Dao si sebi i ostalima na bankovni racun +%d$!",koliko);
		}
		SendClientMessage(id,-1,string);
	}
	return 1;
}

primjer
Hvala, nego mozes li samo napraviti da se posalje samo jedno obavestenje da sam poslao svima pare na bank racun ? :D Cadilabe ako vidis pomazi to ti na BU imas ;D

Citat: Fred3rick poslato Decembar 24, 2018, 18:36:29 POSLE PODNE
Hvala, nego mozes li samo napraviti da se posalje samo jedno obavestenje da sam poslao svima pare na bank racun ? :D Cadilabe ako vidis pomazi to ti na BU imas ;D
umjesto CMD:dajsvima(playerid,params[]) stavi YCMD:dajsvima(playerid,params[],help) i
ispod {  #pragma unused help // jer sam stavio inc slucajno YCMD a pisao u ZCMD-u (na informatici sam u skoli haha)

YCMD:dajsvima(playerid,params[],help)
{
	#pragma unused help
	new koliko;
	if(sscanf(params,"i",koliko)) return 1;
	if(koliko<1||koliko>999123) return 1;
	new string[90]; new ime[24];
	GetPlayerName(playerid,ime,sizeof(ime));
	if(Prijavljenih == 1)
	{
		BNovac[playerid]+=koliko;
		format(string,sizeof(string),"*Dao si samo sebi na bankovni racun %d$!",koliko);
        SendClientMessage(playerid,-1,string);
		return 1;
	}
        format(string,sizeof(string),"*Admin %s je dao svima na bankovni racun %d$!",ime,koliko);
	for(new id=0; id < Prijavljenih; id++)
	{
	    BNovac[id]+=koliko;
	   SendClientMessage(id,-1,string);
	}
	return 1;
}

Poslednja Izmena: Decembar 24, 2018, 18:47:13 POSLE PODNE od youngdeal
69

CMD:dajsvima(playerid, params[]);
{
    new novac;
    if(!sscanf(params, "i", novac))
    {
        foreach(new i : Player)
        {
            PInfo[i][pNovacBanka] += novac;
            SendClientMessage(i, -1, " Admin je dao svima na b. racun novac");
        }
    } 
    return 1;
}

Prilagodi sebi