[Pomoc] hitno automatski level

Započeo [GU:RP] ivica 156, Jun 21, 2012, 16:53:00 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim:cyber
Detaljan opis problema:kako da napravim da ako neki neki igrac ima recimo 24/24 respekta da dobije level up ali da bude automatski ne da mora kucat komandu /podigni level
Dio skripte:
Neke slike/video za lakse dobivanje pomoci(neobavezno):

U Public PayDay iz tvoje komande za prelazak levela uzmi onaj deo koji proverava koliko igrac ima respekta i ubaci ga
Poslednja Izmena: Jun 21, 2012, 17:01:47 POSLE PODNE od ...Nikola...

na paydayu provjeri jel varijabla sa respektima >= iznosu koji treba za taj level, ako je veca onda ostavi visak u toj varijabli... eto to je to, a princip provjere je jednak kao u komandi...

e sada ovo je moja cmd koji dio da prebacim u payday public?

if (strcmp(cmd, "/levelup", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
if (gPlayerLogged[playerid] != 0)
{
//PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);
//GameTextForPlayer(playerid, string, 5000, 1);
if(PlayerInfo[playerid][pLevel] >= 0)
{
new nxtlevel = PlayerInfo[playerid][pLevel]+1;
new expamount = nxtlevel*levelexp;
new infostring[256];
if (PlayerInfo[playerid][pExp] < expamount)
{
format(infostring, 256, "Trebate imati %d Respekata, trenutno imate %d !",expamount,PlayerInfo[playerid][pExp]);
SendClientMessage(playerid, COLOR_GRAD1, infostring);
return 1;
}
else
{
format(infostring, 256, "[Level up +++] Cestitamo, Presli ste na level %d", nxtlevel);
SendClientMessage(playerid, SVETLOPLAVA , infostring);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
PlayerPlayMusic(playerid);
PlayerInfo[playerid][pLevel]++;
if(PlayerInfo[playerid][twixDonatorRank] > 0)
{
    PlayerInfo[playerid][pExp] -= expamount;
    new total = PlayerInfo[playerid][pExp];
    if(total > 0)
    {
        PlayerInfo[playerid][pExp] = total;
    }
    else
    {
        PlayerInfo[playerid][pExp] = 0;
    }
}
else
{
PlayerInfo[playerid][pExp] = 0;
}
PlayerInfo[playerid][gPupgrade] = PlayerInfo[playerid][gPupgrade]+2;
format(infostring, 256, "Sada ste level %d upisite /upgrade", nxtlevel);
SendClientMessage(playerid, COLOR_GRAD1, infostring);
format(infostring, 256, "Imate %d nepotrosenih Upgrade Poena",PlayerInfo[playerid][gPupgrade]);
SendClientMessage(playerid, COLOR_GRAD2, infostring);
}
}
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Nisi logiran!");
}
}
return 1;
}


Ovako bi trebalo
new nxtlevel = PlayerInfo[playerid][pLevel]+1;
new expamount = nxtlevel*levelexp;
new infostring[256];
if (PlayerInfo[playerid][pExp] < expamount)
{
format(infostring, 256, "[Level up +++] Cestitamo, Presli ste na level %d", nxtlevel);
SendClientMessage(playerid, SVETLOPLAVA , infostring);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
PlayerPlayMusic(playerid);
PlayerInfo[playerid][pLevel]++;
if(PlayerInfo[playerid][twixDonatorRank] > 0)
{
PlayerInfo[playerid][pExp] -= expamount;
  new total = PlayerInfo[playerid][pExp];
    if(total > 0)
{
    PlayerInfo[playerid][pExp] = total;
}
else
{
PlayerInfo[playerid][pExp] = 0;
}
}
else
{
PlayerInfo[playerid][pExp] = 0;
}
PlayerInfo[playerid][gPupgrade] = PlayerInfo[playerid][gPupgrade]+2;
format(infostring, 256, "Sada ste level %d upisite /upgrade", nxtlevel);
SendClientMessage(playerid, COLOR_GRAD1, infostring);
format(infostring, 256, "Imate %d nepotrosenih Upgrade Poena",PlayerInfo[playerid][gPupgrade]);
SendClientMessage(playerid, COLOR_GRAD2, infostring);
}
Poslednja Izmena: Jun 21, 2012, 17:06:38 POSLE PODNE od ...Nikola...

jel zna jos neko kako da rijesim taj problem ;)

vlado_plavsic

A sve su ti lepo rekli...Evo kako to treba da izgleda...


new respect = PlayerInfo[playerid][pLevel] + 1;
new lvlprovera = respect*4; // Ovo 4 je onaj broj na koliko respecta ti ide lvlup.
if(PlayerInfo[playerid][pRespect] >= lvlprovera)
{
PlayerInfo[playerid][pLevel] += 1;
SCM(playerid, -1, " Dobili ste automatski levelup ");
}