[Pomoc] Ne oduzimaju se pare pri kupovini (treba pCash ubacit u komandu)


Započeo Jugoslavija.amx, Decembar 24, 2014, 16:27:58 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim:NGRP
Detaljan opis problema: Ovako, uzeo sam Greedy ovu skriptu za House System, ubacio u mod i sve radi, problem je to sto npr kada kupim kucu pare mi se oduzmu i vrate na staro stanje, vjerovatno zato sto nije definisana varijabla za novac u komandi, mozete li mi napraviti jedan primjer a ja ću ostalo?
Hvala puno :)
VARIJABLA ZA NOVAC JE  pCash

Dio skripte:
CMD:kupikucu(playerid, params[])
{
    for(new i; i < sizeof(KucaInfo); i++)
	{
    if(IsPlayerInRangeOfPoint(playerid, 3.0, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]))
    {
    if(!strcmp(KucaInfo[i][kVlasnik], "Niko", true) && KucaInfo[i][kProveraVlasnika] == 0)
    {
        if(PlayerInfo[playerid][pPosedovanjeKuce] != -1) return SCM(playerid,-1, ""CRVENA"HL:RP "SIVA"Vec imas kucu!");
        if(GetPlayerScore(playerid) < KucaInfo[i][kLevel]) return SCM(playerid,-1,"HL:RP "CRVENA"Nemate dovoljan level za kupovinu kuce!");
        if(GetPlayerMoney(playerid) < KucaInfo[i][kCena]) return SCM(playerid,-1, "HL:RP "CRVENA"Nemate dovoljno novca za kupovinu kuce!");
		if(PlayerInfo[playerid][pRent] != -1) return SCM(playerid,-1,"HL:RP "CRVENA"Rentate kucu prvo unrentajte kucu da bi kupili ovu!");
		strmid(KucaInfo[i][kVlasnik], ImeIgraca(playerid), 0, strlen(ImeIgraca(playerid)), 255);
        KucaInfo[i][kProveraVlasnika] = 1; SetPlayerInterior(playerid, KucaInfo[i][kInt]); PlayerInfo[playerid][pPosedovanjeKuce] = i;
        SetPlayerVirtualWorld(playerid, KucaInfo[i][kVW]); SetPlayerPos(playerid, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ]);
        KucaInfo[i][kZatvoreno] = 0; GivePlayerMoney(playerid, -KucaInfo[i][kCena]); KuceLP(i); SacuvajKucu(i);
        SCM(playerid,-1, ""SPLAVA"HL:RP | "SIVA"Cestitamo, kupili ste kucu!");
        SCM(playerid,-1, ""SPLAVA"HL:RP | "SIVA"Za komande kuce koristite /kuca!");
        SCM(playerid,-1, ""SPLAVA"HL:RP | "SIVA"Za ulaz u kucu koristi tipku F!");
        return 1;
	}
	else return SCM(playerid, -1, ""CRVENA"HL:RP "SIVA"Ta kuca se ne prodaje!");
	}
	}
    return 1;
}




Neke slike/video za lakse dobivanje pomoci(neobavezno): //

Denis_Lapi

*

Balkan SA:MP Web Designer

Pa ubacu u strukturu (enum) pCash i onda ubaci ovako u toj komandi
PlayerInfo[playerid][pCash] -= -KucaInfo[i][kCena];

[FS] Bank Sistem
[TuT] Array Sistem (Napredna)


"Pa krenite na mene i provesce te se super ko kapetan Kuka kada levom brise dupe"

www.denis-lapi.com

Kako misliš da ubacim strukturu enum pCash?,
Opet ista stvar, evo primjer komande za kupnju kuce koji radi ali taj House Sys sam izbacio

CMD:buyhouse(playerid, params[])
{
    new string[128];
    new playername[MAX_PLAYER_NAME];
    new sendername[MAX_PLAYER_NAME];
    new Float:oldposx, Float:oldposy, Float:oldposz;
    GetPlayerName(playerid, playername, sizeof(playername));
    GetPlayerPos(playerid, oldposx, oldposy, oldposz);
    for(new h = 0; h < sizeof(HouseInfo); h++)
	{
        if(IsPlayerInRangeOfPoint(playerid,2.0,HouseInfo[h][hExteriorX], HouseInfo[h][hExteriorY], HouseInfo[h][hExteriorZ]) )
		{
            if( HouseInfo[h][hOwned] == 0 )
			{
                if(PlayerInfo[playerid][pLevel] < HouseInfo[h][hLevel])
				{
                    format(string, sizeof(string), "   Moras biti level %d da kupis ovo!", HouseInfo[h][hLevel]);
                    SendClientMessageEx(playerid, COLOR_GRAD5, string);
                    return 1;
                }
                if(PlayerInfo[playerid][pPhousekey] == INVALID_HOUSE_ID)
				{

					if(GetPlayerCash(playerid) > HouseInfo[h][hValue])
					{
						PlayerInfo[playerid][pPhousekey] = h;
						HouseInfo[h][hOwned] = 1;
						GetPlayerName(playerid, sendername, sizeof(sendername));
						strmid(HouseInfo[h][hOwner], sendername, 0, strlen(sendername), 255);
						GivePlayerCash(playerid,-HouseInfo[h][hValue]);
						SetPlayerInterior(playerid,HouseInfo[h][hHInteriorWorld]);
						if(HouseInfo[h][hCustomInterior] == 1)
						{
							TogglePlayerControllable(playerid, 0);
							GameTextForPlayer(playerid, "Ucitavanje objekata...", 4000, 5);
							SetPVarInt(playerid, "Loading..Interior", 1);
							SetTimerEx("SafeLoadObjects", 4000, 0, "d", playerid);
						}
						SetPlayerPos(playerid,HouseInfo[h][hInteriorX],HouseInfo[h][hInteriorY],HouseInfo[h][hInteriorZ]);
						GameTextForPlayer(playerid, "~w~Dobrodosao kuci~n~Mozes uvijek izac dolazeci do ovih vrata i kucanjem /izlaz.", 5000, 3);
						PlayerInfo[playerid][pInt] = HouseInfo[h][hHInteriorWorld];
						SendClientMessageEx(playerid, COLOR_WHITE, "Cestitamo na vasoj novoj kupovini!");
						SendClientMessageEx(playerid, COLOR_WHITE, "Upisi /help da vidis pomoc vezanu za ovu sekciju!");
						SaveHouses();
						OnPlayerStatsUpdate(playerid);
						PlayerInfo[playerid][pLocal] = h+6000;
						PlayerInfo[playerid][pVW] = h+6000;
						SetPlayerVirtualWorld(playerid, h+6000);
						DestroyDynamicPickup(HouseInfo[h][hPickupID]);
						HouseInfo[h][hPickupID] = CreateDynamicPickup(1273, 23, HouseInfo[h][hExteriorX], HouseInfo[h][hExteriorY], HouseInfo[h][hExteriorZ]);
						format(string, sizeof(string), "Ova kuca je u vlasnistvu od:\n %s\nPotreban Level: %d\nID: %d",HouseInfo[h][hOwner],HouseInfo[h][hLevel],h);
						UpdateDynamic3DTextLabelText(HouseInfo[h][hTextID], COLOR_GREEN, string);
						new ip[32];
						GetPlayerIp(playerid,ip,sizeof(ip));
						format(string,sizeof(string),"%s (IP: %s) has bought house ID %d for $%d.",GetPlayerNameEx(playerid),ip,h,HouseInfo[h][hValue]);
						Log("logs/house.log", string);
						return 1;
					}
					else
					{
						SendClientMessageEx(playerid, COLOR_WHITE, "   You don't have the cash for that!");
						return 1;
					}
				}

Ovaj dio obrisi
GivePlayerMoney(playerid, -KucaInfo[i][kCena]);


a ovaj ispod ubaci u komandu

GivePlayerCash(playerid, -KucaInfo[i][kCena]);



Hvala, radi :D
Možeš li mi sada dati primjer ovoga, kada hocu nesto da kupim u firmi pise da nemam dovoljno novca a imam, i to sam isto ubacivao.. samo mi daj primjer
EVO DIO I DIALOGA
new i = PlayerInfo[playerid][pImaFirmu];
		if(PlayerInfo[playerid][pCash] < 15) return SCM(playerid, COLOR_WHITE, ""SVPLAVA"[BD Info] | "BIJELA"Nemate dovoljno novca");
		GivePlayerCash(playerid, -15);
		FI[IntID[i]][fNovac] += 15;
		SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_SPRUNK);
		SCM(playerid, -1, ""SVPLAVA"[BD Info] | "BIJELA"Kupio si votku");
		new string[128];
	 	new pname[MAX_PLAYER_NAME];
	  	GetPlayerName(playerid, pname, sizeof(pname));
	  	format(string, sizeof(string), "%s pije votku", pname);
	   	SCM(playerid, 0x586433FF, string);
		Sigraca(playerid);
		SacuvajFirmu(i);

Pa za proveru novca dali igrac ima dovoljno koliko bi trebalo za nesto mozes koristiti tu varijablu pCash ako ti je ona lepo sredjena da zapisuje tacan broj novca
if(PlayerInfo[playerid][pCash] < 15) return SCM(playerid, -1, "Nemate dovoljno novca");


A takodje mozes koristiti i funkciju GetPlayerMoney
if(GetPlayerMoney(playerid) < 15) return SCM(playerid, -1, "Nemate dovoljno novca");
Poslednja Izmena: Decembar 24, 2014, 20:14:40 POSLE PODNE od â–… â–† â–ˆ Rudimental â–ˆ â–† â–…

Hvala puno, probao sam ovako i radi
if(GetPlayerCash(playerid) < 150) return SCM(playerid,-1, "HS | "CRVENA"Nemate dovoljno novca za kupovinu kuce!");


LOCK :D