Beiträge von SryP4wn

    Hallo Community,


    in meinen Gogfather wollen sich die Bizzes nicht erstellen...


    Code:
    LoadSBizz();//Geschäfte
    for(new sb = 0; sb < sizeof(SBizzInfo); sb++)
    {
    new string4[128];
    if(SBizzInfo[sb][sbOwned] == 0)
    {
    format(string4, sizeof(string4), "[Zu verkaufendes Biz! - %s]\nPreis: %d$\nLevel: %d", SBizzInfo[sb][sbMessage],SBizzInfo[sb][sbBuyPrice],SBizzInfo[sb][sbLevelNeeded]);
    SBizzInfo[sb][sbText] = Create3DTextLabel(string4,Grun,SBizzInfo[sb][sbEntranceX], SBizzInfo[sb][sbEntranceY], SBizzInfo[sb][sbEntranceZ]+1,15.0,0);
    }
    if(SBizzInfo[sb][sbOwned] == 1)
    {
    format(string4, sizeof(string4), "[%s]\nBesitzer: %s\nProdukte: %d/%d", SBizzInfo[sb][sbMessage],SBizzInfo[sb][sbOwner],SBizzInfo[sb][sbProducts],SBizzInfo[sb][sbMaxProducts]);
    SBizzInfo[sb][sbText] = Create3DTextLabel(string4,COLOR_RED,SBizzInfo[sb][sbEntranceX], SBizzInfo[sb][sbEntranceY], SBizzInfo[sb][sbEntranceZ]+1,15.0,0);
    }
    }
    for(new h = 0; h < sizeof(SBizzInfo); h++)
    {
    if(SBizzInfo[h][sbOwned] == 0)
    {
    AddStaticPickup(1272, 1, SBizzInfo[h][sbEntranceX], SBizzInfo[h][sbEntranceY], SBizzInfo[h][sbEntranceZ]);
    pickups++;
    }
    if(SBizzInfo[h][sbOwned] == 1)
    {
    AddStaticPickup(1239, 1, SBizzInfo[h][sbEntranceX], SBizzInfo[h][sbEntranceY], SBizzInfo[h][sbEntranceZ]);
    pickups++;
    }
    }


    stock LoadSBizz()
    {
    new arrCoords[16][64];
    new strFromFile2[256];
    new File: file = fopen("sbizz.cfg", io_read);
    if (file)
    {
    new idx;
    while (idx < sizeof(SBizzInfo))
    {
    fread(file, strFromFile2);
    split(strFromFile2, arrCoords, '|');
    SBizzInfo[idx][sbOwned] = strval(arrCoords[0]);
    strmid(SBizzInfo[idx][sbOwner], arrCoords[1], 0, strlen(arrCoords[1]), 255);
    strmid(SBizzInfo[idx][sbMessage], arrCoords[2], 0, strlen(arrCoords[2]), 255);
    SBizzInfo[idx][sbEntranceX] = floatstr(arrCoords[4]);
    SBizzInfo[idx][sbEntranceY] = floatstr(arrCoords[5]);
    SBizzInfo[idx][sbEntranceZ] = floatstr(arrCoords[6]);
    SBizzInfo[idx][sbLevelNeeded] = strval(arrCoords[7]);
    SBizzInfo[idx][sbBuyPrice] = strval(arrCoords[8]);
    SBizzInfo[idx][sbTill] = strval(arrCoords[10]);
    SBizzInfo[idx][sbProducts] = strval(arrCoords[13]);
    SBizzInfo[idx][sbMaxProducts] = strval(arrCoords[14]);
    printf("SBizzInfo:%d Owner:%s Message:%s Till:%d Products:%d/%d.\n",
    //LOGSPAMM
    idx,
    SBizzInfo[idx][sbOwner],
    SBizzInfo[idx][sbMessage],
    SBizzInfo[idx][sbTill],
    SBizzInfo[idx][sbProducts],
    SBizzInfo[idx][sbMaxProducts]);
    idx++;
    }
    fclose(file);
    }
    return 1;
    }


    forward OnPropUpdate();
    public OnPropUpdate()
    {
    new idx;
    new File: file2;
    idx = 0;
    while (idx < sizeof(SBizzInfo))
    {
    new coordsstring[256];
    format(coordsstring, sizeof(coordsstring), "%d|%s|%s|%f|%f|%f|%d|%d|%d|%d|%d\n",
    SBizzInfo[idx][sbOwned],
    SBizzInfo[idx][sbOwner],
    SBizzInfo[idx][sbMessage],
    SBizzInfo[idx][sbEntranceX],
    SBizzInfo[idx][sbEntranceY],
    SBizzInfo[idx][sbEntranceZ],
    SBizzInfo[idx][sbLevelNeeded],
    SBizzInfo[idx][sbBuyPrice],
    SBizzInfo[idx][sbTill],
    SBizzInfo[idx][sbProducts],
    SBizzInfo[idx][sbMaxProducts]);
    if(idx == 0)
    {
    file2 = fopen("sbizz.cfg", io_write);
    }
    else
    {
    file2 = fopen("sbizz.cfg", io_append);
    }
    fwrite(file2, coordsstring);
    idx++;
    fclose(file2);
    }
    return 1;
    }


    Ich hoffe mir kann einer helfen


    LG

    forward IsACop(playerid);
    public IsACop(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    new leader = SInfo[playerid][pLeader];
    new member = SInfo[playerid][pMember];
    if(member == 1 || member == 2)
    {
    return 1;
    }
    else if(leader == 1 || leader == 2)
    {
    return 1;
    }
    }
    return 0;
    }


    Überall geht sie nur hier nicht?

    dcmd_orten(playerid,params[])
    {
    new pID;
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,COLOR_RED,"Tippe: /orten [playerid]");
    if(IsACop(playerid))
    {
    if(IsPlayerConnected(pID))
    {
    SetPlayerMarkerForPlayer(playerid,pID, 0xFFFFFFFF);
    SendClientMessage(playerid,COLOR_RED,"Spieler gefunden");
    }
    }
    return 1;
    }
    Also sollte es so klappen?

    Das Ortensystem will ich GENAU nicht so...


    So hatte ich das mal, da es diese Funktion gibt: SetPlayerMarkerForPlayer


    Kann man den Spieler Markieren aber das geht bei mir nicht^^

    Hallo Sa-Mp Community,


    ich hab mir ein Ortensystem geschrieben aber es geht einfach nicht!


    Das ist mein Code:


    dcmd_orten(playerid,params[])
    {
    new pID;
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,COLOR_RED,"Tippe: /orten [playerid]");
    if(IsACop(playerid))
    {
    if(IsPlayerConnected(pID))
    {
    SetPlayerMarkerForPlayer(playerid,pID, 0xFFFFFFFF);
    return SendClientMessage(playerid,COLOR_RED,"Spieler gefunden");
    }
    return SendClientMessage(playerid,COLOR_RED,"Spieler nicht gefunden");
    }
    return 1;
    }


    Hoffe mir kann einer helfen


    LG

    Hier ist mal meins:
    //CBUG
    #define C_BUG_TIME 1
    #define KEY_AIM 132
    new P_CBUG_TICKS[MAX_PLAYERS];//C-Bug


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    if(newkeys & KEY_FIRE && oldkeys & KEY_CROUCH && IsCbugWeapon(playerid))
    {
    P_CBUG_TICKS[playerid] ++;
    if(P_CBUG_TICKS[playerid] > C_BUG_TIME)
    {
    P_CBUG_TICKS[playerid] = playerid;
    ApplyAnimation(playerid,"GYMNASIUM","gym_tread_falloff",1.0,0,0,0,0,0); // Spieler fällt hin
    SetPlayerChatBubble(playerid,"[ACHTUNG] Dieser Spieler macht C-Bug",COLOR_RED,20.0,10000);
    GameTextForPlayer(playerid,"~r~Dieser Spielter macht C-Bug!",5000,5);
    P_CBUG_TICKS[playerid] = 0;
    SendClientMessage(playerid,COLOR_RED,"Dies kann zum Bann führen, lass es besser");
    }
    }
    else if(newkeys & KEY_FIRE && oldkeys & KEY_CROUCH && KEY_AIM && IsCbugWeapon(playerid))
    {
    P_CBUG_TICKS[playerid] ++;
    if(P_CBUG_TICKS[playerid] > C_BUG_TIME)
    {
    P_CBUG_TICKS[playerid] = playerid;
    ApplyAnimation(playerid,"GYMNASIUM","gym_tread_falloff",1.0,0,0,0,0,0); // Spieler fällt hin
    SetPlayerChatBubble(playerid,"Anti C-BUG aktiv",COLOR_LIGHTRED,20.0,10000);
    GameTextForPlayer(playerid,"~r~ANTI C-BUG AKTIV!",5000,5);
    P_CBUG_TICKS[playerid] = 0;
    }
    }
    stock IsCbugWeapon(playerid)
    {
    new weaponID = GetPlayerWeapon(playerid);


    if(weaponID == 22 || weaponID == 24 || weaponID == 25 || weaponID == 27)
    {
    return 1;
    }
    return 0;
    }

    Tausch das aus mit dem:


    ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,"Deine Statistiken",entstring,"Okay","");


    Das der Dialog nicht zur playerid kommt, sondern zur pID

    ocmd:statszeigen(playerid,params[])
    {
    new pID;
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,COLOR_WHITE,"Benutzung: /statszeigen [playerid]");
    return 1;
    }


    ShowPlayerDialog(pID,DIALOG_STATS,DIALOG_STYLE_MSGBOX,"Deine Statistiken",entstring,"Okay","");


    LG

    public OnPlayerRequestClass(playerid, classid)


    Such das im Script!


    Dann hat es 3 Positionen wo du die coordinaten eingeben musst...
    SetPlayerPos(playerid,-2538.9998,2211.3474,27.4415); // Da wo der Spieler stehen soll
    SetPlayerCameraPos(playerid, -2559.5813,2244.5796,27.8816); // Wo die Camera sein soll
    SetPlayerCameraLookAt(playerid, -2582.8604,2293.1035,27.5990);//Wo die Camera hinschauen soll

    Hallo Breadfish,


    ich bin hier neu und brauche mal hilfe... Scripten kann ich eigentlich gut, ich hab zurzeit paar Probleme mit meinem Hauslabel:


    Wenn ich /hauserstellen mache dann kommt das pickup und das label und das label geht nach3 -4 sekunden wieder weg!


    Wenn ich /hausloschen mache kann man das haus immernoch kaufen...


    Code:



    dcmd_hauserstellen(playerid,params[])
    {
    new Hausedit,Level,Float:x,Float:y,Float:z,Preis;
    if(sscanf(params,"dd",Preis,Level))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Benutze: /hauserstellen [preis] [level]");
    }
    else
    {
    if(SInfo[playerid][pAdmin] >= 5)
    {
    if(GetPlayerInterior(playerid) == 0 && GetPlayerVirtualWorld(playerid) == 0)
    {
    for(new i = 1;i < MAX_HAUS; i++)
    {
    format(Datei,sizeof(Datei),"/Haus/%d.ini",i);
    if(!fexist(Datei))
    {
    Hausedit = i;
    GetPlayerPos(playerid,x,y,z);
    format(Hausinfo[Hausedit][Hausbesitzer],MAX_PLAYER_NAME,"GUR Staat");
    Hausinfo[Hausedit][hausid] = Hausedit;
    Hausinfo[Hausedit][Hauspreis] = Preis;
    Hausinfo[Hausedit][hausx] = x;
    Hausinfo[Hausedit][hausy] = y;
    Hausinfo[Hausedit][hausz] = z;
    Hausinfo[Hausedit][Hauslevel] = Level;
    Hausinfo[Hausedit][hauslabel] = Create3DTextLabel("WIRD GRAD ERSTELLT",FARBE_ROT,Hausinfo[Hausedit][hausx],Hausinfo[Hausedit][hausy],Hausinfo[Hausedit][hausz]+0.2,20.0,0,0);
    Hausspeichern(Hausedit);
    Hausladen(Hausedit);
    SendClientMessage(playerid,COLOR_RED,str);
    SendClientMessage(playerid,0x23FF00FF,"Du hast ein Haus erstellt");
    return 1;
    }
    else
    {
    }
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Hier kannst du kein Haus erstellen");
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Gelb,"Du kannst kein Haus erstellen!");
    }
    }
    return 1;
    }


    dcmd_hausloschen(playerid,params[])
    {
    #pragma unused params
    if(SInfo[playerid][pAdmin] >= 5)
    {
    if(IstAnEinemHaus(playerid))
    {
    format(Datei,sizeof(Datei),"/Haus/%d.ini",Hausinfo[AnHaus[playerid]][hausid]);
    if(!fexist(Datei))
    {
    }
    else
    {


    dini_Remove(Datei);
    DestroyPickup(Hausinfo[AnHaus[playerid]][hauspickup]);
    Delete3DTextLabel(Hausinfo[AnHaus[playerid]][hauslabel]);
    SendClientMessage(playerid,COLOR_RED,"Du hast ein Haus gelöscht");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist an keinem Haus");
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du darfst das nicht!");
    }
    return 1;
    }
    stock Hausladen(id)
    {
    new Farbe;
    format(Datei,sizeof(Datei),"/Haus/%d.ini",id);
    if(!fexist(Datei))
    {
    return 1;
    }
    else
    {
    new i = id;
    Hausinfo[i][hausx] = dini_Float(Datei,"hausx");
    Hausinfo[i][hausy] = dini_Float(Datei,"hausy");
    Hausinfo[i][hausz] = dini_Float(Datei,"hausz");
    Hausinfo[i][Hauspreis] = dini_Int(Datei,"Hauspreis");
    Hausinfo[i][Hauslevel] = dini_Int(Datei,"Hauslevel");
    Hausinfo[i][Hausmietbar] = dini_Int(Datei,"Hausmietbar");
    Hausinfo[i][Hausmietpreis] = dini_Int(Datei,"Hausmietpreis");
    Hausinfo[i][Hauskasse] = dini_Int(Datei,"Hauskasse");
    Hausinfo[i][Hausabgeschlossen] = dini_Int(Datei,"Hausabgeschlossen");
    Hausinfo[i][Hausinterior] = dini_Int(Datei,"Hausinterior");
    format(Hausinfo[i][Hausbesitzer],MAX_PLAYER_NAME,"%s",dini_Get(Datei,"Hausbesitzer"));
    if(strcmp("GUR Staat",Hausinfo[i][Hausbesitzer],true) == 0)
    {
    format(str,sizeof(str),"Besitzer: %s\nPreis: %d€\nLevel: %d",Hausinfo[i][Hausbesitzer],Hausinfo[i][Hauspreis],Hausinfo[i][Hauslevel]);
    Hausinfo[i][hauspickup] = CreatePickup(1273,1,Hausinfo[i][hausx],Hausinfo[i][hausy],Hausinfo[i][hausz],0);
    Farbe = 0x00FF00DD;
    }
    else
    {
    if(Hausinfo[i][Hausabgeschlossen] == 1) { Farbe = 0xFF0000DD; }
    if(Hausinfo[i][Hausabgeschlossen] == 0) { Farbe = 0x00FF00DD; }
    if(Hausinfo[i][Hausmietbar] == 1)
    {
    format(str,sizeof(str),"Besitzer: %s\nLevel: %d\nMietpreis: %d€",Hausinfo[i][Hausbesitzer],Hausinfo[i][Hauslevel],Hausinfo[i][Hausmietpreis]);
    }
    else
    {
    format(str,sizeof(str),"Besitzer: %s\nLevel: %d",Hausinfo[i][Hausbesitzer],Hausinfo[i][Hauslevel]);
    }
    Hausinfo[i][hauspickup] = CreatePickup(1273,1,Hausinfo[i][hausx],Hausinfo[i][hausy],Hausinfo[i][hausz],0);
    }
    Update3DTextLabelText(Hausinfo[i][hauslabel], Farbe,str);
    return 1;
    }
    }


    Hoffe mir kann jemand helfen


    LG


    Benny