Beiträge von janpplayer

    machs doch mitm string und dann mit dini speicherst du ihn :)


    hier mal ne vorlage


    new string[128];
    format(string,sizeof(string),"x: %s\ny: %i\nz: %s",Login[playerid][spawnx],Login[playerid][spawny],Login[playerid][spawnz]);


    dann das enum enum RegisterSys
    {
    spawnx,
    spawny,
    spawnz
    }
    new Login[MAX_PLAYERS][RegisterSys]

    das saven dann mit dini denke ich kannste


    hoffe ich konnte dir helfen



    MFG janpplayer


    edit 1 die formatierung vom string geändert
    edit 2 nochwas an der formatierung

    also hier mal mein stock: stock LoadBiz(bizid)
    {
    new pfad[128];
    format(pfad,128,"/biz/%d.txt",bizid);
    if(!fexist(pfad))return 0;
    BizInfo[bizid][biz_x1] = dini_Float(pfad,"x1");
    BizInfo[bizid][biz_y2] = dini_Float(pfad,"y2");
    BizInfo[bizid][biz_z3] = dini_Float(pfad,"z3");
    BizInfo[bizid][biz_preis] = dini_Int(pfad,"preis");
    format(BizInfo[bizid][biz_art],32,"%s",dini_Get(pfad,"Art"));
    format(BizInfo[bizid][biz_besitzer],32,"%s",dini_Get(pfad,"besitzer"));
    new Float:x,Float:y,Float:z;
    x = BizInfo[bizid][biz_x1] = dini_Float(pfad,"x1");
    y = BizInfo[bizid][biz_y2] = dini_Float(pfad,"y2");
    z = BizInfo[bizid][biz_z3] = dini_Float(pfad,"z3");
    new string[128];
    format(string,sizeof(string),"Besitzer: %s\npreis: %i\nArt: %s",BizInfo[bizid][biz_besitzer],BizInfo[bizid][biz_preis],BizInfo[bizid][biz_art]);
    BizInfo[bizid][label] = bizid;
    Create3DTextLabel(string,BizBlau,x,y,z,40.0,0);
    BizInfo[bizid][biz_pickup] = CreatePickup(1273 ,23,x,y,z,0); //erstellt ein Pickup an den Hauskoordinaten
    return print("Das Biz wurde erfolgreich geladen");
    }


    und hier der dialog: if(dialogid == DIALOG_BIZEINGABE)
    {
    new id = strlen(inputtext);
    if(response==0)
    {
    SendClientMessage(playerid,Rot,"Du hast den Vorgang abgebrochen.");
    ShowPlayerDialog(playerid,DIALOG_BIZ,DIALOG_STYLE_LIST,"Rund ums Biz","Erstellen \n Bearbeiten \n Löschen","Auswählen","Abbruch");
    }
    if(response==1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,Rot,"Die BizID existiert nicht!.");
    ShowPlayerDialog(playerid,DIALOG_BIZEINGABE,DIALOG_STYLE_INPUT,"BIZ LÖSCHEN","Gib das gewünschte Biz ein das du löschen willst:","Löschen","Abbrechen");
    }
    else
    {
    DestroyPickup(BizInfo[id][biz_pickup]);
    return 1;
    }
    }

    könnte mir das vll jemand machen damit ich das kapiere ich denke damit helft ihr auch anderen :)

    also jailbreaken kannst du auf jailbreakme ohne irgendwas zu befürchten und einfach mit dem ipod über wlan auf die seite und dann muss mal jailbreak klicken und alles passiert von selber besser als mit dem kack dfu modus bis ich bei dem iphone 2 mal rausbekommen habe das die sim drin sein muss hab ich lange gebraucht naja hoffe ich konnte helfen.


    MFG janpplayer

    hallo da ich meine 3D texte auch wieder löschen will da sie mit dem biz system zusammen arbeiten soll wenn man das biz löscht nicht nur das pickup verschwinden sondern auch der 3d text.


    hier die errors G:\Users\Jan\Desktop\server neu carsys\gamemodes\neu2.pwn(703) : warning 213: tag mismatch
    G:\Users\Jan\Desktop\server neu carsys\gamemodes\neu2.pwn(908) : warning 213: tag mismatch


    damit ihr auch genau wisst was los ist hier : 1te BizInfo[bizid][label] = Create3DTextLabel(string,BizBlau,x,y,z,40.0,0);
    2te :Delete3DTextLabel(BizInfo[strlen(inputtext)][label]);


    will das genau so : 1te: BizInfo[bizid][biz_pickup] = CreatePickup(1273 ,23,x,y,z,0); //erstellt ein Pickup an den Hauskoordinaten
    2te: DestroyPickup(BizInfo[strlen(inputtext)][biz_pickup]);



    edit 1 hab MFG vergessen


    MFG janpplayer

    Hallo wollte einen dialog machen wo man etwas eingeben kann nur leider geht es nicht mit inputtext hier mein script :if(dialogid == DIALOG_BIZEINGABE)
    {
    if(response==0)
    {
    SendClientMessage(playerid,Rot,"Du hast den Vorgang abgebrochen.");
    ShowPlayerDialog(playerid,DIALOG_BIZ,DIALOG_STYLE_LIST,"Rund ums Biz","Erstellen \n Bearbeiten \n Löschen","Auswählen","Abbruch");
    }
    if(response==1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,Rot,"Die BizID existiert nicht!.");
    ShowPlayerDialog(playerid,DIALOG_BIZEINGABE,DIALOG_STYLE_INPUT,"BIZ LÖSCHEN","Gib das gewünschte Biz ein das du löschen willst:","Löschen","Abbrechen");
    }
    else
    {
    new id = inputtext;
    DestroyPickup(BizInfo[id][biz_pickup]);
    return 1;
    }
    }
    }


    und hier die errors : G:\Users\Jan\Desktop\server neu carsys\gamemodes\neu2.pwn(700) : error 033: array must be indexed (variable "-unknown-")


    MFG janpplayer

    könnte mir das mal jemand erklären


    The Styler wenn mir jemand das erklärt dann kann ich das auch !!!!!


    edit 2 fragen hinzugefügt


    wie kann ich das denn machen das sich der string sich der menge des bizzes anpasst dass wenn ich z.b 31bizzes hab es auch nur 31 reihen in der liste gib und wenn ich dann wieder welche mache das es dann mehr bzw wenieger reihen gibt also ohne das ich den string immer anpassen muss?


    und die 2te frage wie mach ich wen ich 31 bizzes hab und ich die nr.2 lösche dann ist die reihenfolge ja nicht mehr richtig wie mach ich das jetzt das ich das abfrage welches biz das war?


    bitte um hilfe !!!!!


    MFG
    japplayer

    zuerst also so machen jetzt!!!


    OnGameModeInit : SetTimer("Knastpublic", 1000,1);

    dann die public so : public Jail(i)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    if(pInfo[i][JailTime] >= 1)
    {
    if(pInfo[i][Free]==0)
    {
    pInfo[i][JailTime] -=1000;
    }
    }
    else if(pInfo[i][JailTime] == 0 && pInfo[i][Free] == 0)
    {
    pInfo[i][Free] = 1;
    SetPlayerPos(i,1552.5352,-1675.6243,16.1953);
    SetPlayerFacingAngle(i,90);
    SetCameraBehindPlayer(i);
    SetPlayerInterior(i,0);
    SetPlayerVirtualWorld(i,0);
    SendClientMessage(i,0xC8C8C8FF, "Du hast deine Strafe abgesessen! Du bist wieder frei!");
    }
    return 1;
    }


    so das war jetzt mal die public damit es so leuft!!!



    MFG janpplayer

    np aber ich würde es nicht immer so wie du machen weil du sonst die timer doppelt irgendwann laufen hast ich hatte auch immer das problem deßwegen habe ich das oben in der gamemodeinit gemacht mit dem timer!!!!


    naja war ja nur ein tipp ist ja deine sache


    MFG janpplayer

    du müstest noch eine abfrage machen dann würde es gehen also nicht nur abfragen ob er schon im knast sitzt also bei der public


    public Jail(playerid)
    {
    if(pInfo[playerid][JailTime] >= 1)
    {
    if(pInfo[playerid][Free]==1)
    {
    SetPlayerPos(playerid,264.7867,82.0650,1001.0391);
    SetPlayerInterior(playerid,6);
    SetPlayerVirtualWorld(playerid,38);
    pInfo[playerid][JailTime] -= 1000;
    pInfo[playerid][Free]=0;
    }
    else
    {
    pInfo[playerid][JailTime] -=1000;
    }
    }
    else if(pInfo[playerid][JailTime] == 0 && pInfo[playerid][Free] == 0)
    {
    pInfo[playerid][Free] = 1;
    SetPlayerPos(playerid,1552.5352,-1675.6243,16.1953);
    SetPlayerFacingAngle(playerid,90);
    SetCameraBehindPlayer(playerid);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    SendClientMessage(playerid,0xC8C8C8FF, "Du hast deine Strafe abgesessen! Du bist wieder frei!");
    }
    return 1;
    }

    so danke geht jetzt hab ich noch 2 probs wie mach ich das wenn ich den string größer hab und er größer ist das dann da nicht art: besitzer:
    steht weil ich habe zurzeit z.b 31 bizzes die gibts auch in der liste und der string ist 1024 aber darunter kommen noch mehr wo nur art und besitzer steht also leere felder kann ich das irgendwie machen das nur für die die es auch zurzeit gibt eine reihe in der liste ist?


    und die 2te frage ist wie frag ich ab in welche zeile welches biz ist? damit wenn ich das löschen will ich das auch machen kann nur wenn ich eins lösche geht die reihenfolge ja nicht mehr 1,2,3, sondern wenn ich 2 lösche 1,3,4,5, dadurch geht das nicht mit case oder listitem?


    MFG janpplayer

    Hallo ich möchte für mein grundbizsystem alle bizzes über einen listendialog sehen also das dann der name also die art da steht und da neben halt der Besitzer und dann dadrunter das selbe also immer so weiter nur die frage wie ?


    hier frage ich alle bizzes mit ab : for(new i=1;i<MAX_biz;i++) // schleife für alle bizzes


    so ich arbeite mit dini hier mein stock : stock LoadBiz(bizid)
    {
    new pfad[128];
    format(pfad,128,"/biz/%d.txt",bizid);
    if(!fexist(pfad))return 0;
    BizInfo[bizid][biz_x1] = dini_Float(pfad,"x1");
    BizInfo[bizid][biz_y2] = dini_Float(pfad,"y2");
    BizInfo[bizid][biz_z3] = dini_Float(pfad,"z3");
    BizInfo[bizid][biz_preis] = dini_Int(pfad,"preis");
    format(BizInfo[bizid][biz_art],32,"%s",dini_Get(pfad,"Art"));
    format(BizInfo[bizid][biz_besitzer],32,"%s",dini_Get(pfad,"besitzer"));
    new Float:x,Float:y,Float:z;
    x = BizInfo[bizid][biz_x1] = dini_Float(pfad,"x1");
    y = BizInfo[bizid][biz_y2] = dini_Float(pfad,"y2");
    z = BizInfo[bizid][biz_z3] = dini_Float(pfad,"z3");
    new string[128];
    format(string,sizeof(string),"Besitzer: %s\npreis: %i\nArt: %s",BizInfo[bizid][biz_besitzer],BizInfo[bizid][biz_preis],BizInfo[bizid][biz_art]);
    Create3DTextLabel(string,BizBlau,x,y,z,40.0,0);
    BizInfo[bizid][biz_pickup] = CreatePickup(1273 ,23,x,y,z,0); //erstellt ein Pickup an den Hauskoordinaten
    return print("Das Biz wurde erfolgreich geladen");
    }



    wennn irgendwas fehlt ich poste es nach denke es reicht für den dialog



    MFG janpplayer

    ich weiß zwar nicht wie du es hast aber ich würde es so machen
    ganz oben


    new Knast[MAX_PLAYERS];
    new Eingeknastet[MAX_PLAYERS];
    forward Knastpublic()


    dann bei on gamemodeinit


    SetTimer("Knastpublic", 1000,1);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    Knast[i]=0;
    Eingeknastet[i]=0;
    }


    dann ganz unten


    public Knastpublic()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    if(IsPlayerConnected(i))
    {
    if(Knast[i]>=1)
    {
    if(Eingeknastet[i]==1)
    {
    Knast[i]--;
    }
    }
    if(Knast[i]==0)
    {
    if(Eingeknastet[i]==1)
    {
    //was passieren soll wenn die zeit abgelaufen ist und der player noch eingespert ist
    Eingeknastet[i]=0;
    }
    }
    }
    return 1;
    }


    also hab das freihändig gemacht :D denke aber es müsste funzen musst du natürlich nurnoch deinem login register system anpassen aber sonst ist es ok mit Knast[] kannst du die sekunden einstellen wielange der player im knast ist !!!



    hoffe ich konnte helfen


    MFG janpplayer

    also hier mal mit dcmd und sscanf2


    OnPlayerCommandText

    : dcmd(sethp,5,cmdtext);



    dann ganz unten oder außerhalb einer public :


    dcmd_sethp(playerid, params[])
    {
    new spieler;
    new Float:health;
    if (sscanf(params, "uf", spieler, health)) return SendClientMessage(playerid, Farbe, "Benutzung: /sethp [ID/Spielername] [Leben]");
    SetPlayerHealth(spieler,health);
    return 1;
    }