Probleme mit meinem PayDay System

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Wie es schon in der Überschrieft steht habe ich Probleme mit meinem PayDay System unzwar wenn man Die erforderlichen Respektounkte hat soll man /buylevel machen können das geht zwar aber man wird imemr LEvel ab wenn man die respektpunkte hat und nicht /buylevel eingibt hir der befehl:


    Spoiler anzeigen
    ocmd:buylevel(playerid, params[])
    {
    switch(PlayerInfo[playerid][pRespektPunkte])
    {
    case 6:{
    if(PlayerInfo[playerid][pPremium] == 1){
    GivePlayerMoney(playerid,-6000);
    SetPlayerScore(playerid,2);
    PlayerInfo[playerid][pRespektPunkte]-=6;}
    else{
    GivePlayerMoney(playerid,-6000);
    SetPlayerScore(playerid,2);
    PlayerInfo[playerid][pRespektPunkte]=0;}}
    case 12:{
    if(PlayerInfo[playerid][pPremium] == 1){
    GivePlayerMoney(playerid,-12000);
    SetPlayerScore(playerid,3);
    PlayerInfo[playerid][pRespektPunkte]-=12;}
    else{
    GivePlayerMoney(playerid,-12000);
    SetPlayerScore(playerid,3);
    PlayerInfo[playerid][pRespektPunkte]=0;}}
    case 18:{
    if(PlayerInfo[playerid][pPremium] == 1){
    GivePlayerMoney(playerid,-18000);
    SetPlayerScore(playerid,4);
    PlayerInfo[playerid][pRespektPunkte]-=18;}
    else{
    GivePlayerMoney(playerid,-12000);
    SetPlayerScore(playerid,4);
    PlayerInfo[playerid][pRespektPunkte]=0;}}
    case 24:{
    if(PlayerInfo[playerid][pPremium] == 1){
    GivePlayerMoney(playerid,-30000);
    SetPlayerScore(playerid,5);
    PlayerInfo[playerid][pRespektPunkte]-=24;}
    else{
    GivePlayerMoney(playerid,-30000);
    SetPlayerScore(playerid,5);
    PlayerInfo[playerid][pRespektPunkte]=0;}}
    case 30:{
    if(PlayerInfo[playerid][pPremium] == 1){
    GivePlayerMoney(playerid,-36000);
    SetPlayerScore(playerid,6);
    PlayerInfo[playerid][pRespektPunkte]-=24;}
    else{
    GivePlayerMoney(playerid,-36000);
    SetPlayerScore(playerid,6);
    PlayerInfo[playerid][pRespektPunkte]=0;}}
    case 36:{
    if(PlayerInfo[playerid][pPremium] == 1){
    GivePlayerMoney(playerid,-42000);
    SetPlayerScore(playerid,7);
    PlayerInfo[playerid][pRespektPunkte]-=24;}
    else{
    GivePlayerMoney(playerid,-42000);
    SetPlayerScore(playerid,7);
    PlayerInfo[playerid][pRespektPunkte]=0;}}
    case 42:{
    if(PlayerInfo[playerid][pPremium] == 1){
    GivePlayerMoney(playerid,-48000);
    SetPlayerScore(playerid,8);
    PlayerInfo[playerid][pRespektPunkte]-=24;}
    else{
    GivePlayerMoney(playerid,-48000);
    SetPlayerScore(playerid,8);
    PlayerInfo[playerid][pRespektPunkte]=0;}}
    }
    return 1;
    }


    Hir der PayDayTImer:


    Spoiler anzeigen
    public PayDayTime()
    {
    new lol[580],test[259];
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    {
    if(GetPVarInt(i,"Eingeloggt")==0)continue;
    {
    switch(PlayerInfo[i][pRespektPunkte])
    {
    case 6:{lol="Du kannst dir das nexte Level kaufen für $6000 /buylevel";}
    case 12:{lol="Du kannst dir das nexte Level kaufen für $12000 /buylevel";}
    case 18:{lol="Du kannst dir das nexte Level kaufen für $18000 /buylevel";}
    case 24:{lol="Du kannst dir das nexte Level kaufen für $24000 /buylevel";}
    case 30:{lol="Du kannst dir das nexte Level kaufen für $30000 /buylevel";}
    case 36:{lol="Du kannst dir das nexte Level kaufen für $36000 /buylevel";}
    case 42:{lol="Du kannst dir das nexte Level kaufen für $42000 /buylevel";}
    }
    if(PlayerInfo[i][pPayDayTime]==60)
    {
    if(GetPlayerScore(i)<=5)
    {
    GivePlayerMoney(i,8000);
    PlayerInfo[i][pPayDayTime]=0;
    PlayerInfo[i][pRespektPunkte]+=1;
    SCM(i,Weiss,"~,~PayDay~,~");
    SCM(i,Weiss,"Lohn : $8000");
    SCM(i,Weiss,"Du bekommst 1 RespektPunkt.");
    format(test,sizeof(test),"%s",lol);
    SCM(i,Weiss,test);
    }
    else if(GetPlayerScore(i)==5)
    {
    PlayerInfo[i][pPayDayTime]=0;
    PlayerInfo[i][pRespektPunkte]+=1;
    SCM(i,Weiss,"~,~PayDay~,~");
    SCM(i,Weiss,"Du bekommst 1 RespektPunkt.");
    SCM(i,Weiss,"Du bist nun kein Noob mehr,");
    SCM(i,Weiss,"und deswegen bekommst du keine unterstützung mehr.");
    format(test,sizeof(test),"%s",lol);
    SCM(i,Weiss,test);
    }
    else if(GetPlayerScore(i)>5)
    {
    PlayerInfo[i][pPayDayTime]=0;
    PlayerInfo[i][pRespektPunkte]+=1;
    SCM(i,Weiss,"~,~PayDay~,~");
    SCM(i,Weiss,"Du bekommst 1 RespektPunkt.");
    format(test,sizeof(test),"%s",lol);
    SCM(i,Weiss,test);
    }
    }
    }
    }
    }
    return 1;
    }

    Mit freundlichen Grüßen,


    Fabi.StaR :love::saint:


  • pack das ganze doch in ein array

    enum payday
    {
    rpoints,
    prpoints,
    lprice,
    plprice,
    nlevel,
    }
    new PayDayInfo[7][payday] = {
    {6,6,-6000,-6000,2},
    {12,12,-12000,-12000,3},
    {18,18,-12000,-18000,4},
    {24,24,-30000,-30000,5},
    {30,24,-36000,-36000,6},
    {36,24,-42000,-42000,7},
    {42,24,-48000,-48000,8}
    };



    ocmd:buylevel(playerid, params[])
    {
    new i=0, bool:no;
    for(; i < sizeof(PayDayInfo); ++i){
    if(GetPlayerScore(playerid) < PayDayInfo[i][nlevel] && PlayerInfo[playerid][pRespektPunkte] >= PayDayInfo[i][rpoints]){
    if(PlayerInfo[playerid][pPremium] == 1 && GetPlayerMoney(playerid) >= PayDayInfo[i][plprice]){
    SetPlayerScore(playerid,PayDayInfo[i][nlevel]);
    GivePlayerMoney(playerid,PayDayInfo[i][plprice]);
    PlayerInfo[playerid][pRespektPunkte]-= PayDayInfo[i][prpoints];
    }
    if(PlayerInfo[playerid][pPremium] == 0 && GetPlayerMoney(playerid) >= PayDayInfo[i][lprice]){
    SetPlayerScore(playerid,PayDayInfo[i][nlevel]);
    GivePlayerMoney(playerid,PayDayInfo[i][lprice]);
    PlayerInfo[playerid][pRespektPunkte] = 0;
    }
    no = false;
    break;
    }else no = true;
    }
    if(no)return SendClientMessage(playerid,-1,"Du kannst dir kein Level kaufen");
    return 1;
    }