Skripta koju koristim: GTA-RP edit
Detaljan opis problema: Kako da odradim u dcmd procesu komandi da imam naprimer komandu /house i onda podkomande /house putgun i tako dalje 🙂
Dio skripte: /
Neke slike/video za lakse dobivanje pomoci(neobavezno): /
[Pomoc] dcmd
720
pregleda
16
postova
31. Jan. 2016.
CMD:house(playerid, params[])
{
new stvar, string;
if(sscanf(params, "s", stvar))
{
SendClientMessage(playerid,-1, "/house[Ime stvari]");
SendClientMessage(playerid,-1, "Stvari: putgun");
return 1;
}
if(!strcmp(stvar, "putgun", true))
{
/*
PUTGUN AKCIJA*/
}
else return SendClientMessage(playerid, -1, "Pogresno ime stvari!");
return 1;
}31. Jan. 2016.
CMD:house(playerid, params[])
{
new kolicina, stvar, string;
if(sscanf(params, "is", kolicina, stvar))
{
SCM(playerid,-1, "/house [Ime stvari]");
SCM(playerid,-1, "Stvari: nesto");
return 1;
}
if(!strcmp(stvar, "nesto", true))
{
/*AKCIJA*/
}
else return SCM(playerid, -1, "Pogresno ime stvari!");
return 1;
}31. Jan. 2016.
Evo uradio sam sve , kad kucam /house buy samo to radi ovo ostalo mi samo izbacuje Pogresno ime stvari , evo koda:
dcmd_house(playerid, params[])
{
#pragma unused params
new stvar, string, option, amount;
new done;
new idx;
new price;
new playername;
GetPlayerName(playerid, playername, sizeof(playername));
if(sscanf(params, "s", stvar))
{
SendClientMessage(playerid, COLOR_GREY, "Koriscenje: /house ()");
SendClientMessage(playerid, COLOR_WHITE,"OPCIJE: buy, sell, lock");
SendClientMessage(playerid, COLOR_WHITE,"OPCIJE: upgrade, deposit, withdraw");
return 1;
}
if(!strcmp(stvar, "buy", true))
{
idx = GetPlayerVirtualWorld(playerid)-500;
if(PlayerInfo != 0) return SendClientMessage(playerid, COLOR_GREY, "Vec posedujete kucu.");
for(new idx=1; idx {
if(IsPlayerInRangeOfPoint(playerid, 2, HouseInfo, HouseInfo, HouseInfo))
{
if(!strcmp("Drzava", HouseInfo, false))
{
if(GetPlayerMoney(playerid) < HouseInfo) return SendClientMessage(playerid, COLOR_GREY, "Nemate dovoljno novca.");
GivePlayerMoney(playerid, -HouseInfo);
format(HouseInfo, 32, "%s", RPNU(playerid));
format(string, sizeof(string), "[ KUCA ]\nVlasnik kuce: '%s'\nStatus: '%s'", HouseInfo, RHS(idx));
UpdateDynamic3DTextLabelText(HouseInfo, COLOR_WHITE, string);
DestroyPickup(HouseInfo);
HouseInfo = CreateDynamicPickup(1274, 1, HouseInfo, HouseInfo, HouseInfo, 0);
SendClientMessage(playerid, COLOR_WHITE, "Cestitamo, kupili ste novu kucu!");
SendClientMessage(playerid, COLOR_WHITE, "Kucajte (/house) da vidite sve komande.");
format(string, sizeof(string), "%s je kupio kucu id %d.", RPN(playerid), idx);
Log("logs/house.log", string);
PlayerInfo = idx;
SaveHouses();
idx = MAX_HOUSES;
done = 1;
}
if(idx == MAX_HOUSES-1 && !done)
{
SendClientMessage(playerid, COLOR_GREY, "Ova kuca vec ima vlasnika!");
}
}
if(idx == MAX_HOUSES-1 && !done)
{
SendClientMessage(playerid, COLOR_GREY, "Niste blizu kuce na prodaju!");
}
}
}
if(!strcmp(stvar, "sell", true))
{
if(PlayerInfo == 0 && PlayerInfo == 0) return SendClientMessage(playerid, COLOR_GREY, "Ne posedujes kucu!");
if(sscanf(params, "s", params)) return SendClientMessage(playerid, COLOR_GREY, "Koriscenje: /sellhouse confirm");
if(!strcmp(params, "confirm", true))
{
if(IsPlayerInRangeOfPoint(playerid, 2, HouseInfo[PlayerInfo], HouseInfo[PlayerInfo], HouseInfo[PlayerInfo]))
{
GivePlayerMoney(playerid, (75*HouseInfo[PlayerInfo])/100);
HouseInfo[PlayerInfo] = 0;
format(HouseInfo[PlayerInfo], 32, "Drzava");
format(string, sizeof(string), "[ KUCA ]\nAdresa kuce: '%d'\nVlasnik: '%s'\nCena: '$%d'", idx, HouseInfo, HouseInfo);
UpdateDynamic3DTextLabelText(HouseInfo[PlayerInfo], COLOR_WHITE, string);
PlayerInfo = 0;
SendClientMessage(playerid, COLOR_WHITE, "Prodao si kucu drzavi! Za cenu 75% manju od stvarne.");
format(string, sizeof(string), "%s je prodao kucu id %d drzavi.", playername, idx);
Log("logs/house.log", string);
SaveHouses();
done = 1;
}
if(!done)
{
idx = PlayerInfo;
if(IsPlayerInRangeOfPoint(playerid, 2, HouseInfo, HouseInfo, HouseInfo))
{
GivePlayerMoney(playerid, (75*HouseInfo)/100);
HouseInfo = 0;
format(HouseInfo, 32, "Drzava");
format(string, sizeof(string), "[ KUCA ]\nAdresa kuce: '%d'\nVlasnik: '%s'\nCena: '$%d'", idx, HouseInfo, HouseInfo);
UpdateDynamic3DTextLabelText(HouseInfo[PlayerInfo], COLOR_WHITE, string);
PlayerInfo = 0;
SendClientMessage(playerid, COLOR_WHITE, "Prodao si kucu drzavi! Za cenu 75% manju od stvarne.");
format(string, sizeof(string), "%s je prodao kucu id %d drzavi.", playername, idx);
Log("logs/house.log", string);
SaveHouses();
done = 1;
}
}
if(!done)
{
SendClientMessage(playerid, COLOR_GREY, "Niste kod svoje kuce.");
return 1;
}
}
if(!strcmp(stvar, "enter", true))
{
for(new idx=1; idx {
if(IsPlayerInRangeOfPoint(playerid, 2, HouseInfo, HouseInfo, HouseInfo))
{
format(string, sizeof(string), "* %s ulazi u kucu.", playername);
if(PlayerInfo == 1)
{
format(string, sizeof(string), "* Maskirana osoba ulazi u kucu.");
}
else
{
format(string, sizeof(string), "* %s ulazi u kucu.", playername);
}
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SetPlayerVirtualWorld(playerid, idx+500);
if(HouseInfo == 1)
{
SetPlayerPos(playerid, 243.9951,304.9418,999.1484);
SetPlayerFacingAngle(playerid, 267.0980);
SetCameraBehindPlayer(playerid);
SetPlayerInterior(playerid, 1);
SaveHouses();
}
else if(HouseInfo == 2)
{
SetPlayerPos(playerid, 2259.6702,-1135.8542,1050.6328);
SetPlayerFacingAngle(playerid, 267.3974);
SetCameraBehindPlayer(playerid);
SetPlayerInterior(playerid, 10);
SaveHouses();
}
else if(HouseInfo == 3)
{
SetPlayerPos(playerid, 2308.8254,-1212.8070,1049.0234);
SetPlayerFacingAngle(playerid, 359.8550);
SetCameraBehindPlayer(playerid);
SetPlayerInterior(playerid, 6);
SaveHouses();
}
else if(HouseInfo == 4)
{
SetPlayerPos(playerid, 260.7436,1237.5563,1084.2578);
SetPlayerFacingAngle(playerid, 1.6415);
SetCameraBehindPlayer(playerid);
SetPlayerInterior(playerid, 9);
SaveHouses();
}
else if(HouseInfo == 5)
{
SetPlayerPos(playerid, -42.5742,1405.6521,1084.4297);
SetPlayerFacingAngle(playerid, 359.1347);
SetCameraBehindPlayer(playerid);
SetPlayerInterior(playerid, 8);
SaveHouses();
}
else if(HouseInfo == 6)
{
SetPlayerPos(playerid, 2468.6787,-1698.2617,1013.5078);
SetPlayerFacingAngle(playerid, 89.1791);
SetCameraBehindPlayer(playerid);
SetPlayerInterior(playerid, 2);
SaveHouses();
}
else if(HouseInfo == 7)
{
SetPlayerPos(playerid, 2365.2183,-1135.4014,1050.8750);
SetPlayerFacingAngle(playerid, 359.8550);
SetCameraBehindPlayer(playerid);
SetPlayerInterior(playerid, 8);
SaveHouses();
}
else if(HouseInfo == 8)
{
SetPlayerPos(playerid, 2270.1270,-1210.4855,1047.5625);
SetPlayerFacingAngle(playerid, 89.4224);
SetCameraBehindPlayer(playerid);
SetPlayerInterior(playerid, 10);
SaveHouses();
}
else if(HouseInfo == 9)
{
SetPlayerPos(playerid, 2324.4424,-1149.2057,1050.7101);
SetPlayerFacingAngle(playerid, 0.7248);
SetCameraBehindPlayer(playerid);
SetPlayerInterior(playerid, 12);
SaveHouses();
}
else if(HouseInfo == 10)
{
SetPlayerPos(playerid, 83.0863,1322.3020,1083.8662);
SetPlayerFacingAngle(playerid, 359.5183);
SetCameraBehindPlayer(playerid);
SetPlayerInterior(playerid, 9);
SaveHouses();
}
else if(HouseInfo == 11)
{
SetPlayerPos(playerid, 225.6631,1022.3559,1084.0150);
SetPlayerFacingAngle(playerid, 359.5183);
SetCameraBehindPlayer(playerid);
SetPlayerInterior(playerid, 7);
SaveHouses();
}
}
}
}
if(!strcmp(stvar, "exit", true))
{
if(IsPlayerInRangeOfPoint(playerid, 2, 243.9951,304.9418,999.1484) || IsPlayerInRangeOfPoint(playerid, 2, 2259.6702,-1135.8542,1050.6328) || IsPlayerInRangeOfPoint(playerid, 2, 2308.8254,-1212.8070,1049.0234) || IsPlayerInRangeOfPoint(playerid, 2, 260.7436,1237.5563,1084.2578)
|| IsPlayerInRangeOfPoint(playerid, 2, -42.5742,1405.6521,1084.4297) || IsPlayerInRangeOfPoint(playerid, 2, 2468.6787,-1698.2617,1013.5078) || IsPlayerInRangeOfPoint(playerid, 2, 2365.2183,-1135.4014,1050.8750) || IsPlayerInRangeOfPoint(playerid, 2, 2270.1270,-1210.4855,1047.5625)
|| IsPlayerInRangeOfPoint(playerid, 2, 2324.4424,-1149.2057,1050.7101) || IsPlayerInRangeOfPoint(playerid, 2, 83.0863,1322.3020,1083.8662) || IsPlayerInRangeOfPoint(playerid, 2, 225.6631,1022.3559,1084.0150)) // Houses
{
new idx;
idx = GetPlayerVirtualWorld(playerid)-500;
if(!done && idx < MAX_HOUSES && HouseInfo)
{
format(string, sizeof(string), "* %s izlazi iz kuce.", playername);
if(PlayerInfo == 1)
{
format(string, sizeof(string), "* Maskirana osoba izlazi iz kuce.");
}
else
{
format(string, sizeof(string), "* %s izlazi iz kuce.", playername);
}
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SetPlayerPos(playerid, HouseInfo, HouseInfo, HouseInfo);
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
done = 1;
}
}
}
if(!strcmp(stvar, "upgrade", true))
{
if(PlayerInfo == 0) return SendClientMessage(playerid, COLOR_GREY, "Ne posedujes kucu!");
if(!PlayerInfo)
{
if(!IsPlayerInRangeOfPoint(playerid, 2, HouseInfo, HouseInfo, HouseInfo)) return SendClientMessage(playerid, COLOR_GREY, "Nisi kod vrata kuce!");
}
else
{
if(!IsPlayerInRangeOfPoint(playerid, 2, HouseInfo, HouseInfo, HouseInfo))
{
done ++;
if(!IsPlayerInRangeOfPoint(playerid, 2, HouseInfo, HouseInfo, HouseInfo)) done ++;
}
if(done == 2) return SendClientMessage(playerid, COLOR_GREY, "Nisi kod svoje kuce.");
}
if(sscanf(params, "s", params)) return SendClientMessage(playerid, COLOR_GREY, "Koriscenje: /houseupgrade confirm");
if(HouseInfo >= 11) return SendClientMessage(playerid, COLOR_WHITE, "Tvoja kuca je maksimalno nadogradjena.");
if(!strcmp(params, "confirm", true))
{
price = 500000;
if(GetPlayerMoney(playerid) < price)
{
format(string, sizeof(string), "* Nemas $%d za nadogradjivanje.", price);
SendClientMessage(playerid, COLOR_WHITE, string);
return 1;
}
HouseInfo ++;
GivePlayerMoney(playerid, -price);
format(string, sizeof(string), "* Unapredio si kucu na level: %d.", HouseInfo);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "[ KUCA ]\nVlasnik: '%s'\nStatus: '%s'", idx, HouseInfo, RHS(idx));
UpdateDynamic3DTextLabelText(HouseInfo, COLOR_WHITE, string);
SaveHouses();
}
}
if(!strcmp(stvar, "hlock", true))
{
if(PlayerInfo)
{
idx = PlayerInfo;
if(IsPlayerInRangeOfPoint(playerid, 2, HouseInfo, HouseInfo, HouseInfo))
{
if(!HouseInfo[PlayerInfo])
{
HouseInfo[PlayerInfo] = 1;
format(string, sizeof(string), "[ KUCA ]\nVlasnik: '%s'\nStatus: '%s'", HouseInfo, RHS(idx));
UpdateDynamic3DTextLabelText(HouseInfo[PlayerInfo], COLOR_WHITE, string);
format(string, sizeof(string), "* %s otkljucava kucu.", playername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
GameTextForPlayer(playerid, "~g~KUCA OTKLJUCANA!", 3500, 3);
SaveHouses();
}
else if(HouseInfo[PlayerInfo])
{
HouseInfo[PlayerInfo] = 0;
format(string, sizeof(string), "[ KUCA ]\nVlasnik: '%s'\nStatus: '%s'", HouseInfo, RHS(idx));
UpdateDynamic3DTextLabelText(HouseInfo[PlayerInfo], COLOR_WHITE, string);
format(string, sizeof(string), "* %s zakljucava kucu.", playername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
GameTextForPlayer(playerid, "~r~KUCA ZAKLJUCANA!", 3500, 3);
SaveHouses();
}
done = 1;
}
}
if(PlayerInfo && !done)
{
idx = PlayerInfo;
if(IsPlayerInRangeOfPoint(playerid, 2, HouseInfo, HouseInfo, HouseInfo))
{
if(!HouseInfo[PlayerInfo])
{
HouseInfo[PlayerInfo] = 1;
format(string, sizeof(string), "[ KUCA ]\nVlasnik: '%s'\nStatus: '%s'", HouseInfo, RHS(idx));
UpdateDynamic3DTextLabelText(HouseInfo[PlayerInfo], COLOR_WHITE, string);
format(string, sizeof(string), "* %s otkljucava kucu.", playername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
GameTextForPlayer(playerid, "~g~KUCA OTKLJUCANA!", 3500, 3);
SaveHouses();
}
else if(HouseInfo[PlayerInfo])
{
HouseInfo[PlayerInfo] = 0;
format(string, sizeof(string), "[ KUCA ]\nVlasnik: '%s'\nStatus: '%s'", HouseInfo, RHS(idx));
UpdateDynamic3DTextLabelText(HouseInfo[PlayerInfo], COLOR_WHITE, string);
format(string, sizeof(string), "* %s zakljucava kucu.", playername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
GameTextForPlayer(playerid, "~r~KUCA ZAKLJUCANA!", 3500, 3);
SaveHouses();
}
return 1;
}
}
}
if(!strcmp(stvar, "deposit", true))
{
if(PlayerInfo == 0 && PlayerInfo == 0) return SendClientMessage(playerid, COLOR_GREY, "Ne posedujes kucu.");
if(GetPlayerVirtualWorld(playerid)-500 != idx && !PlayerInfo) return SendClientMessage(playerid, COLOR_GREY, "Niste u vasoj kuci.");
if(GetPlayerVirtualWorld(playerid)-500 != idx && PlayerInfo)
{
idx = PlayerInfo;
if(GetPlayerVirtualWorld(playerid)-500 != idx) return SendClientMessage(playerid, COLOR_GREY, "Niste u vasoj kuci.");
}
if(sscanf(params, "s", option))
{
SendClientMessage(playerid, COLOR_GREY, "Koriscenje: /hdeposit ");
SendClientMessage(playerid, COLOR_WHITE, "OPCIJE: money ");
/* format(string, sizeof(string), "SAFE: $%d | %d Weed | %d Crack", HouseInfo, HouseInfo, HouseInfo);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "SAFE: Weapon 1: %s (%d Ammo) | Weapon 2: %s (%d Ammo) | Weapon 3: %s (%d Ammo)", RWN(HouseInfo), HouseInfo, RWN(HouseInfo), HouseInfo, RWN(HouseInfo), HouseInfo);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "SAFE: Weapon 4: %s (%d Ammo) | Weapon 5: %s (%d Ammo)", RWN(HouseInfo), HouseInfo, RWN(HouseInfo), HouseInfo);
SendClientMessage(playerid, COLOR_WHITE, string);*/
return 1;
}
if(sscanf(params, "s", option))
{
SendClientMessage(playerid, COLOR_GREY, "Koriscenje: /hdeposit ");
SendClientMessage(playerid, COLOR_WHITE, "OPCIJE: money");
return 1;
}
if(!strcmp(option, "money", true, 5))
{
if(sscanf(params, "si", option, amount)) return SendClientMessage(playerid, COLOR_GREY, "Koriscenje: /hsafe deposit money ");
if(GetPlayerMoney(playerid) < amount ) return SendClientMessage(playerid, COLOR_GREY, "Nemate toliko para kod sebe.");
if(amount < 1) return SendClientMessage(playerid,COLOR_GREY,"Morate staviti vise od $1.");
HouseInfo += amount;
GivePlayerMoney(playerid, -amount);
format(string, sizeof(string), "* %s stavlja u kucni sef $%d.", playername, amount);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
format(string, sizeof(string), "* Stavili ste $%d dolara u vas sef.",amount);
SendClientMessage(playerid, COLOR_WHITE, string);
SaveHouses();
}
}
}
else return SendClientMessage(playerid, -1, "Pogresno ime stvari!");
return 1;
} 31. Jan. 2016.
zasto ne napravis zasebne komande kao sto ti je i bilo vjv
Ovo ne moze nikako raditi vec moras u prvu provjeru staviti i nastavak S() npr i storas ga u neku var. Zatim iz te var uzimas ovo
if(!strcmp(params, "confirm", true))
u
if(!strcmp(tvojavar, "confirm", true))
eto primjer 🙂
if(!strcmp(stvar, "sell", true))
{
if(PlayerInfo == 0 && PlayerInfo == 0) return SendClientMessage(playerid, COLOR_GREY, "Ne posedujes kucu!");
if(sscanf(params, "s", params)) return SendClientMessage(playerid, COLOR_GREY, "Koriscenje: /sellhouse confirm");
if(!strcmp(params, "confirm", true))
Ovo ne moze nikako raditi vec moras u prvu provjeru staviti i nastavak S() npr i storas ga u neku var. Zatim iz te var uzimas ovo
if(!strcmp(params, "confirm", true))
u
if(!strcmp(tvojavar, "confirm", true))
eto primjer 🙂
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava