Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

cmd:duoti, reikia mažos pagalbos


Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3128 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

CMD:duoti(playerid, params[])
{
    if( SKOLOSIESKOTOJAI[ playerid ] == true )
    {
        SendClientMessage( playerid, COLOR_RED,"* Negalite vygdyti jokių piniginių operacijų, nes nesumokėjote paskolos.");
        return 1;
    }
	if( GetPlayerScore( playerid ) < 2300 ) return SendClientMessage( playerid, COLOR_ORANGE,"* Jūs dar per mažai patyręs, kad duotumėte pinigų.");

	if (sscanf(params, "ud", pID[ playerid ],AMMOUNT[ playerid ] )) return SendClientMessage(playerid, COLOR_ORANGE, "Duoti žaidėjui pinigų: /duotipinigu [vardo_dalis] [kiek]");
	if( pID[ playerid ] == INVALID_PLAYER_ID ) return SendClientMessage( playerid, COLOR_RED, "* Tokio žaidėjo nėra!" );
	if( PINIGAI[ playerid ] < AMMOUNT[ playerid ] ) return SendClientMessage( playerid, COLOR_RED, "* Neturi tiek!" );
	if( AMMOUNT[ playerid ] < 0 ) return SendClientMessage( playerid, COLOR_RED, "* Negali tiek mažai duoti!" );
	if( pID[ playerid ] == playerid ) return SendClientMessage( playerid, COLOR_RED, "* Negali sau duoti pinigų!" );
	if( !strcmp(AMMOUNT[ playerid ],"-",true,1) ) return SendClientMessage( playerid, COLOR_RED, "* Negali tiek mažai duoti!" );

	GetPlayerPos( pID[ playerid ], SavePos[ playerid ][ 0 ],SavePos[ playerid ][ 1 ],SavePos[ playerid ][ 2 ] );

	if( !IsPlayerInRangeOfPoint( playerid, 10.0, SavePos[ playerid ][ 0 ],SavePos[ playerid ][ 1 ],SavePos[ playerid ][ 2 ] ) ) return SendClientMessage( playerid, COLOR_RED,"* Žaidėjas per toli nuo jūsų.");

    GivePlayerMoneyA( playerid, -AMMOUNT[ playerid ] );
	GivePlayerMoneyA( pID[ playerid ], AMMOUNT[ playerid ] );
	TASKAS( playerid, AMMOUNT[ playerid ] );

	format( String[ playerid ],150,"{33CCFF}* Gavote [{E08B1B}%d {33CCFF}LT] iš {E08B1B}%s", AMMOUNT[ playerid ], GetPlayerNameEx[ playerid ] );
	SendClientMessage( pID[ playerid ], COLOR_YELLOW, String[ playerid ] );

	format( String[ playerid ],150,"{33CCFF}* Davėte [{E08B1B}%d {33CCFF}LT] {E08B1B}%s",AMMOUNT[ playerid ], GetPlayerNameEx[ pID[ playerid ] ] );
	SendClientMessage( playerid, COLOR_ORANGE, String[ playerid ] );
    return 1;
}

Noriu, padaryti, kad būtų suma, su tašku, bei darašau šita: TASKAS( playerid, AMMOUNT[ playerid ] ); , jis yra prirašytas prie kitų, pvz: pinigai banke: TASKAS( playerid, PINIGAI[ playerid ] ); Negaunu, jokio error, ar warning, tiesiog nebūna taško, kaip rašai ./duoti V_P [suma] pvz: 5000, tai 5.000

Nuoroda į komentarą
Dalintis per kitą puslapį

CMD:duoti(playerid, params[])

{

new str[88], sID[14], pID, amount;

if(SKOLOSIESKOTOJAI[playerid]) return SendClientMessage(playerid, COLOR_RED, "* Negalite vygdyti jokių piniginių operacijų, nes nesumokėjote paskolos.");

if(GetPlayerScore(playerid) < 2300) return SendClientMessage(playerid, COLOR_ORANGE, "* Jūs dar per mažai patyręs, kad duotumėte pinigų.");

if(sscanf(params, "ud", pID, amount)) return SendClientMessage(playerid, COLOR_ORANGE, "Duoti žaidėjui pinigų: /duotipinigu [vardo_dalis] [kiek]");

if(pID == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, "* Tokio žaidėjo nėra!" );

if(PINIGAI[playerid] < amount) return SendClientMessage(playerid, COLOR_RED, "* Neturi tiek!" );

if(amount < 0) return SendClientMessage(playerid, COLOR_RED, "* Negali tiek mažai duoti!" );

if(pID == playerid) return SendClientMessage(playerid, COLOR_RED, "* Negali sau duoti pinigų!" );

GetPlayerPos(pID, SavePos[playerid][0], SavePos[playerid][1], SavePos[playerid][2]);

if(!IsPlayerInRangeOfPoint(playerid, 10.0, SavePos[playerid][0], SavePos[playerid][1], SavePos[playerid][2])) return SendClientMessage(playerid, COLOR_RED, "* Žaidėjas per toli nuo jūsų.");

GivePlayerMoneyA(playerid, -amount);

GivePlayerMoneyA(pID, amount);

InsertDots(amount, sID);

format(str, 88, "{33CCFF}* Gavote [{E08B1B}%s {33CCFF}LT] iš {E08B1B}%s", sID, GetPlayerNameEx(playerid));

SendClientMessage(pID, COLOR_YELLOW, str);

format(str, 85, "{33CCFF}* Davėte [{E08B1B}%s {33CCFF}LT] {E08B1B}%s", sID, GetPlayerNameEx(pID));

SendClientMessage(playerid, COLOR_ORANGE, str);

return 1;

}

stock InsertDots(skaicius, rez[], len = sizeof(rez))

{

format(rez, len, "%d", skaicius);

len = strlen(rez);

while(len - 3 > 0)

{

len -= 3;

strins(rez, ".", len, 1);

}

return 1;

}

  • Teigiamai 2
Nuoroda į komentarą
Dalintis per kitą puslapį


(39824) : warning 219: local variable "pID" shadows a variable at a preceding level

(39837) : error 012: invalid function call, not a valid address

(39837) : warning 215: expression has no effect

(39837) : error 001: expected token: ";", but found ")"

(39837) : error 029: invalid expression, assumed zero

(39837) : fatal error 107: too many error messages on one line

Nuoroda į komentarą
Dalintis per kitą puslapį

Funkcija, tikrai gera, pakeičiau į ppid, ir gavau tokių errorų:

(39832) : error 035: argument type mismatch (argument 1)
(39837) : error 012: invalid function call, not a valid address
(39837) : warning 215: expression has no effect
(39837) : error 001: expected token: ";", but found ")"
(39837) : error 029: invalid expression, assumed zero
(39837) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


5 Errors.


Kodas:
CMD:duoti(playerid, params[])
{
	new str[88], sID[14], ppID, amount;
	if(SKOLOSIESKOTOJAI[playerid]) return SendClientMessage(playerid, COLOR_RED, "* Negalite vygdyti jokių piniginių operacijų, nes nesumokėjote paskolos.");
	if(GetPlayerScore(playerid) < 2300) return SendClientMessage(playerid, COLOR_ORANGE, "* Jūs dar per mažai patyręs, kad duotumėte pinigų.");
	if(sscanf(params, "ud", ppID, amount)) return SendClientMessage(playerid, COLOR_ORANGE, "Duoti žaidėjui pinigų: /duotipinigu [vardo_dalis] [kiek]");
	if(ppID == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, "* Tokio žaidėjo nėra!" );
	if(PINIGAI[playerid] < amount) return SendClientMessage(playerid, COLOR_RED, "* Neturi tiek!" );
	if(amount < 0) return SendClientMessage(playerid, COLOR_RED, "* Negali tiek mažai duoti!" );
	if(ppID == playerid) return SendClientMessage(playerid, COLOR_RED, "* Negali sau duoti pinigų!" );
	GetPlayerPos(pID, SavePos[playerid][0], SavePos[playerid][1], SavePos[playerid][2]);
	if(!IsPlayerInRangeOfPoint(playerid, 10.0, SavePos[playerid][0], SavePos[playerid][1], SavePos[playerid][2])) return SendClientMessage(playerid, COLOR_RED, "* Žaidėjas per toli nuo jūsų.");
	GivePlayerMoneyA(playerid, -amount);
	GivePlayerMoneyA(ppID, amount);
	InsertDots(amount, sID);
	format(str, 88, "{33CCFF}* Gavote [{E08B1B}%s {33CCFF}LT] iš {E08B1B}%s", sID, GetPlayerNameEx(playerid));
	SendClientMessage(pID, COLOR_YELLOW, str);
	format(str, 85, "{33CCFF}* Davėte [{E08B1B}%s {33CCFF}LT] {E08B1B}%s", sID, GetPlayerNameEx(pID));
	SendClientMessage(playerid, COLOR_ORANGE, str);
	return 1;
}

stock InsertDots(skaicius, rez[], len = sizeof(rez))
{
	format(rez, len, "%d", skaicius);
	len = strlen(rez);
	while(len - 3 > 0)
	{
		len -= 3;
		strins(rez, ".", len, 1);
	}
	return 1;
}
Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3128 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...