[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • Sind defines schneller als Funktionen oder wie?


    Ja, denn sie müssen nicht extra als Funktion aufgerufen werden, sondern werden beim compilen direkt ersetzt und können somit direkt angsprochen werden
    Kaliber:
    Variablen != Funktionen 8|
    Nix Speicher .... nix :D

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Wie packe ich die bots in eine virtuale welt. Wenn ich denspieler in eine random welt packe? hier mal mein code: PlayerV[playerid] = random(256);
    SetPlayerVirtualWorld(playerid,PlayerV[playerid]);
    TutorialV[playerid][0] = CreateVehicle(506,-1855.5466,916.4339,34.7134,265.6235,90,71,999999);
    if(!strcmp(GetName(playerid),"Auto",true))
    {
    pInfo[playerid][pOnline] = 1;
    PutPlayerInVehicle(playerid,TutorialV[playerid][0],0);
    SetPlayerVirtualWorld(playerid,PlayerV[playerid]);
    }
    if(!strcmp(GetName(playerid),"test1",true)){ pInfo[playerid][pOnline] = 1; SetPlayerVirtualWorld(playerid,PlayerV[playerid]); }
    if(!strcmp(GetName(playerid),"test2",true)){ pInfo[playerid][pOnline] = 1; SetPlayerVirtualWorld(playerid,PlayerV[playerid]); }
    if(!strcmp(GetName(playerid),"test3",true)){ pInfo[playerid][pOnline] = 1; SetPlayerVirtualWorld(playerid,PlayerV[playerid]); }
    if(!strcmp(GetName(playerid),"test4",true)){ pInfo[playerid][pOnline] = 1; SetPlayerVirtualWorld(playerid,PlayerV[playerid]); }
    if(!strcmp(GetName(playerid),"test5",true)){ pInfo[playerid][pOnline] = 1; SetPlayerVirtualWorld(playerid,PlayerV[playerid]); }
    if(!strcmp(GetName(playerid),"test6",true)){ pInfo[playerid][pOnline] = 1; SetPlayerVirtualWorld(playerid,PlayerV[playerid]); }
    if(!strcmp(GetName(playerid),"test7",true)){ pInfo[playerid][pOnline] = 1; SetPlayerVirtualWorld(playerid,PlayerV[playerid]); }
    if(!strcmp(GetName(playerid),"test8",true)){ pInfo[playerid][pOnline] = 1; SetPlayerVirtualWorld(playerid,PlayerV[playerid]); }
    if(!strcmp(GetName(playerid),"test9",true)){ pInfo[playerid][pOnline] = 1; SetPlayerVirtualWorld(playerid,PlayerV[playerid]); }
    if(!strcmp(GetName(playerid),"test10",true)){ pInfo[playerid][pOnline] = 1; SetPlayerVirtualWorld(playerid,PlayerV[playerid]); }


    dies funzuniert aller dings nicht

  • -.-
    Wenn du den Spieler in seine eigene ID setzt, werden sie sich nicht sehen.
    Spieler 0 auf den Server kommt in VWorld 0
    Spieler 1 auf dem Server kommt in Vworld 1
    ...


    Das gleiche mit den Bots, nur das du dort die ID des betreffenden Spielers ausließt bzw. vorher speicherst.


  • Meist hilft es den (Player)TextDraw erneut anzeigen zulassen


    public OnPlayerDeath(playerid, killerid, reason)
    {


    PlayerTextDrawShow(playerid, Textdraw0[playerid]);
    SendDeathMessage(killerid,playerid,reason);


    if (pInDM[playerid] == 1)
    {

    new string[100];
    new string2[100];
    Kills[killerid] ++; // to increase killerid's kills.
    Deaths[playerid] ++; //to increase playerid's deaths.
    format(string,sizeof(string),"Kills:%d",Kills[killerid]);
    format(string,sizeof(string2),"Deaths:%d",Deaths[playerid]);
    PlayerTextDrawSetString(playerid, pKills[playerid], string);
    PlayerTextDrawSetString(playerid, pDeaths[playerid], string2);
    SetPlayerPos(playerid, 0,0,5);
    PlayerTextDrawShow(playerid,pDeaths[playerid]);
    PlayerTextDrawShow(playerid,pKills[playerid]);
    PlayerTextDrawShow(playerid,Textdraw4[playerid]);
    }
    else
    {
    SetPlayerPos(playerid, 0,0,0);
    }


    Also so? Falls ja: Es funktioniert nicht :D

  • Wieso wird mir bei dem Befehl nicht der Adminrang zugewiesen? Die Nachrichten bekomme ich jedoch.



    ocmd:setadmin(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,AdmCmd,"AdmCmd: Sie besitzen nicht die nötigen Rechte um diesen Befehl zu nutzen!");
    new pID,string[258],adminlvl;
    if(sscanf(params,"ui",pID,adminlvl)) return SendClientMessage(playerid,WACMD,"Benutzung: /setadmin [Spieler ID] [Adminlevel]");
    if(adminlvl<0 || adminlvl>5) return SendClientMessage(playerid,AdmCmd,"AdmCmd: Es sind nur die Ränge [1-5] verfügbar.");
    format(string,sizeof(string),"Info: Der %s %s [ID:%i] hat Sie als %s eingestellt. Willkommen im Team %s",sInfo[playerid][Admin],SpielerName(playerid),playerid,Adminrang(pID),SpielerName(pID));
    SendClientMessage(pID,Hellgelb,string);
    format(string,sizeof(string),"Info: Der %s %s [ID:%i] hat dem Spieler %s [ID:%i] das Adminlevel %s zugewiesen",sInfo[playerid][Admin],SpielerName(playerid),playerid,SpielerName(pID),pID,Adminrang(pID));
    SendClientMessage(playerid,Hellgelb,string);
    format(string,sizeof(string),"UPDATE `srp_accounts` SET `Admin`='%i' WHERE `Name`='%s'",sInfo[pID][Admin]);
    sInfo[playerid][Admin] = adminlvl;
    OnUserSave(pID);
    return 1;
    }



    Die Kritik an anderen hat noch keinem die eigene Leistung erspart.

    – Noël Coward

  • Ich hoffe das jemand hier rat weiß, undzwar möchte ich das man an meinem Suppoter Fahrzeug auf beiden Seiten ( Fahrzeugtür ) einen Text stehen hat. Der Text sollte "Supporter" sein. Ich habe es schon, aber bei mir ist das Object Schwarz, und auf dem Dach. Der Test steht aber schon drauf. Ich bräcuhte jemanden, der die Koordinaten der Türen vom Sultan hat.





    ocmd:supcar(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,1)) return SendClientMessage(playerid,AdmCmd,"AdmCmd: Sie besitzen nicht die nötigen Rechte um diesen Befehl zu nutzen!");
    {
    new Float:x, Float:y, Float:z;
    new Text3D:supportveh[MAX_VEHICLES];
    new admincar;
    GetPlayerPos(playerid,x,y,z);
    SetVehicleNumberPlate(admincar = CreateVehicle(560,x,y,z,3,165,165,-1),"Support");
    new objfont = CreateObject(19483,x,y,z,0,0,0,300.0);
    AttachObjectToVehicle(objfont,admincar,0.0, 0.0, 1.0, 0.0, 0.0, 0.0);
    SetObjectMaterialText(objfont,"Supporter",0,90,"Arial", 28, 0, 0xFFFF8200, 0xFF000000,1);
    PutPlayerInVehicle(playerid,admincar,0);
    SendClientMessage(playerid,Hellgelb,"Du hast ein Supporter Fahrzeug erstellt! Benutze /delscar um das Fahrzeug zu Entfernen.");
    supportveh[admincar] = Create3DTextLabel("Supporter im Dienst", AdminCar,0.0,0.0,0.0,3.0,0,1);
    Attach3DTextLabelToVehicle(supportveh[admincar],admincar,0.0,0.0,1.0);
    return 1;
    }
    }




    Die Kritik an anderen hat noch keinem die eigene Leistung erspart.

    – Noël Coward


  • Problem besteht leider immer noch. Es wird einwandfrei kompiliert, aber der TextString macht kein Update :(