Beiträge von MarkusEckardt

    Guten Abend,


    Ich habe in meinem Selfmade ein Haussystem eingebaut und wollte nun per /spawnchange auswählen das ich im Haus spawne.


    Mein Problem ist wenn ich im Haus spawnen "sollte" Spawne ich am Noobspawn.


    Wenn ich dann mal in meinem Haus spawne und ich raus will lande ich bei der Drogenfarm.

    public OnPlayerSpawn(playerid)
    {
    if(GetPVarInt(playerid,"Spawn")==0)
    {
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 1:{SetPlayerPos(playerid,zivispawn);SetPlayerColor(playerid,Weiß);}
    case 2:{SetPlayerPos(playerid,zivispawn);SetPlayerColor(playerid,Hellblau);}
    case 3:{SetPlayerPos(playerid,zivispawn);SetPlayerColor(playerid,Dunkelblau);}
    case 4:{SetPlayerPos(playerid,zivispawn);SetPlayerColor(playerid,Braun);}
    case 5:{SetPlayerPos(playerid,zivispawn);SetPlayerColor(playerid,Orange);}
    case 6:{SetPlayerPos(playerid,zivispawn);SetPlayerColor(playerid,Dunkelgrün);}
    }
    return 1;
    }
    else if(GetPVarInt(playerid,"Spawn")==1)
    {
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 1:{SetPlayerPos(playerid,zivispawn);SetPlayerColor(playerid,Weiß);}
    case 2:{SetPlayerPos(playerid,lspdspawn);SetPlayerColor(playerid,Hellblau);}
    case 3:{SetPlayerPos(playerid,fbispawn);SetPlayerColor(playerid,Dunkelblau);}
    case 4:{SetPlayerPos(playerid,bikerboyzspawn);SetPlayerColor(playerid,Braun);}
    case 5:{SetPlayerPos(playerid,medicspawn);SetPlayerColor(playerid,Orange);}
    case 6:{SetPlayerPos(playerid,groovestreetspawn);SetPlayerColor(playerid,Dunkelgrün);}
    }
    return 1;
    }
    else if(GetPVarInt(playerid,"Spawn")==2)
    {
    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof name);
    if(strcmp(HausInfo[haus][haus_besitzer],name,false) == 0)
    {
    new innenraum = HausInfo[haus][haus_innenraum];
    SetPlayerPos(playerid,HausInnenraum[innenraum][innen_x],HausInnenraum[innenraum][innen_y],HausInnenraum[innenraum][innen_z]);
    SetPlayerInterior(playerid,HausInnenraum[innenraum ][innen_interior]);
    inHaus[playerid] = haus;
    }
    }
    }
    return 1;
    }


    ocmd:raus(playerid,params[])
    {
    if(inHaus[playerid] == -1)return SendClientMessage(playerid,0x00FF00,"Du bist in keinem Haus!");
    new haus = inHaus[playerid];
    new innenraum = HausInfo[haus][haus_innenraum];
    if(!IsPlayerInRangeOfPoint(playerid,5,HausInnenraum[innenraum][innen_x],HausInnenraum[innenraum][innen_y],HausInnenraum[innenraum][innen_z]))return SendClientMessage(playerid,0x00FF00,"Du bist nicht am Ausgang!");
    SetPlayerPos(playerid,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z]);
    SetPlayerInterior(playerid,0);
    SendClientMessage(playerid,0x00FF00,"Du hast das Haus verlassen!");
    inHaus[playerid] = -1;
    return 1;
    }




    ocmd:rein(playerid,params[])
    {
    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    if(IsPlayerInRangeOfPoint(playerid,5,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z]))
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof name);
    if(strcmp(HausInfo[haus][haus_besitzer],name,false) == 0)
    {
    new innenraum = HausInfo[haus][haus_innenraum];
    SetPlayerPos(playerid,HausInnenraum[innenraum][innen_x],HausInnenraum[innenraum][innen_y],HausInnenraum[innenraum][innen_z]);
    SetPlayerInterior(playerid,HausInnenraum[innenraum ][innen_interior]);
    inHaus[playerid] = haus;
    }
    else SendClientMessage(playerid,Grau,"Du bist nicht der Besitzer! Du darfst hier nicht rein!");
    }
    }
    return 1;
    }

    Hab mal nachgedacht und es ganz anders gemacht :D


    Lösung für jmd der das Gleiche Problem später mal hat :



    public OnPlayerRequestClass(playerid, classid)
    {
    SetTimerEx("SpawnTimer",50,0,"i",playerid);
    return 1;
    }



    //Spawn Timer
    forward SpawnTimer(playerid);
    public SpawnTimer(playerid)
    {
    SpawnPlayer(playerid);
    return 1;
    }

    Habe keine Errors etc spawne aber trozdem bei der Drogenfarm :(


    Timer :


    //Spawn Timer
    forward SpawnTimer(playerid);
    public SpawnTimer(playerid)
    {
    SetSpawnInfo(playerid,0,1,GetPVarInt(playerid,"Spawn"),0,0,0,0,0,0,0,0,0);
    SpawnPlayer(playerid);
    return 1;
    }


    public OnPlayerRequestClass(playerid, classid)
    {
    SetTimerEx("SpawnTimer", 50, 0, "i", playerid);
    return 1;
    }

    Ich bin verdammt müde :D


    Stimmt das so ? Habe Errors :(


    //Spawn Timer
    forward SpawnTimer();
    public SpawnTimer()
    {
    SetSpawnInfo(playerid,0,1,GetPVarInt(playerid,"Spawn"),0,0,0,0,0,0,0,0,0);
    SpawnPlayer(playerid);
    return 1;
    }



    public OnPlayerRequestClass(playerid, classid)
    {
    SetTimer("SpawnTimer",1,0);
    return 1;
    }

    C:\Dokumente und Einstellungen\Markus\Desktop\Server 0.3e\gamemodes\version5.pwn(4235) : error 017: undefined symbol "playerid"
    C:\Dokumente und Einstellungen\Markus\Desktop\Server 0.3e\gamemodes\version5.pwn(4236) : error 017: undefined symbol "playerid"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.

    Guten Abend,


    Ich habe folgendes Problem :


    Ich habe in meinem Selfmade bei OnPlayerSpawn die verschiedenen Spawns erstellt nun wollte ich über OnPlayerRequestClass den Spawn Button entfernen und die Spawns automatisch auslesen lassen was nicht funktionierte.


    public OnPlayerRequestClass(playerid, classid)
    {
    SetSpawnInfo(playerid,0,1,GetPVarInt(playerid,"Spawn"),0,0,0,0,0,0,0,0,0);
    SpawnPlayer(playerid);
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    if(GetPVarInt(playerid,"Spawn")==1)
    {
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 1:{SetPlayerPos(playerid,zivispawn);SetPlayerColor(playerid,Weiß);}
    case 2:{SetPlayerPos(playerid,lspdspawn);SetPlayerColor(playerid,Hellblau);}
    case 3:{SetPlayerPos(playerid,fbispawn);SetPlayerColor(playerid,Dunkelblau);}
    case 4:{SetPlayerPos(playerid,bikerboyzspawn);SetPlayerColor(playerid,Braun);}
    case 5:{SetPlayerPos(playerid,medicspawn);SetPlayerColor(playerid,Orange);}
    case 6:{SetPlayerPos(playerid,groovestreetspawn);SetPlayerColor(playerid,Dunkelgrün);}
    }
    return 1;
    }
    else if(GetPVarInt(playerid,"Spawn")==0)
    {
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 1:{SetPlayerPos(playerid,zivispawn);SetPlayerColor(playerid,Weiß);}
    case 2:{SetPlayerPos(playerid,zivispawn);SetPlayerColor(playerid,Hellblau);}
    case 3:{SetPlayerPos(playerid,zivispawn);SetPlayerColor(playerid,Dunkelblau);}
    case 4:{SetPlayerPos(playerid,zivispawn);SetPlayerColor(playerid,Braun);}
    case 5:{SetPlayerPos(playerid,zivispawn);SetPlayerColor(playerid,Orange);}
    case 6:{SetPlayerPos(playerid,zivispawn);SetPlayerColor(playerid,Dunkelgrün);}
    }
    return 1;
    }
    else if(GetPVarInt(playerid,"Spawn")==2)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof name);
    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    if(strcmp(HausInfo[haus][haus_besitzer],name,false) == 0)
    {
    new innenraum = HausInfo[haus][haus_innenraum];
    SetPlayerPos(playerid,HausInnenraum[innenraum][innen_x],HausInnenraum[innenraum][innen_y],HausInnenraum[innenraum][innen_z]);
    SetPlayerInterior(playerid,HausInnenraum[innenraum ][innen_interior]);
    inHaus[playerid] = haus;
    }
    return 1;
    }
    }



    return 1;
    }

    So muss es gehen. Du hast bei jeder AddPlayerClass eine ",0" vergessen. Dann sind wenigstens wie Warnings weg.


    public OnGameModeInit()
    {
    // Don't use these lines if it's a filterscript
    SetGameModeText("Duel Script");


    UsePlayerPedAnims();

    AddPlayerClass(18, 2390.9563,1158.5485,34.2529, 24, 99999, 0, 0, 0, 0, 0); //Class 0
    AddPlayerClass(38, 2390.9563,1158.5485,34.2529, 24, 99999, 0, 0, 0, 0, 0); //Class 1
    AddPlayerClass(49, 2390.9563,1158.5485,34.2529, 24, 99999, 0, 0, 0, 0, 0); //Class 2
    AddPlayerClass(97, 2390.9563,1158.5485,34.2529, 24, 99999, 0, 0, 0, 0, 0); //Class 3
    AddPlayerClass(155, 2390.9563,1158.5485,34.2529, 24, 99999, 0, 0, 0, 0, 0); //Class 4
    AddPlayerClass(176, 2390.9563,1158.5485,34.2529, 24, 99999, 0, 0, 0, 0, 0); //Class 5
    AddPlayerClass(230, 2390.9563,1158.5485,34.2529, 24, 99999, 0, 0, 0, 0, 0);//Class 6
    AddPlayerClass(18, 2390.9563,1158.5485,34.2529, 24, 99999, 0, 0, 0, 0, 0); //Class 7

    // Hier die ganzen "CreateObject"s.
    // Hier die ganzen "CreateObject"s.
    // Hier die ganzen "CreateObject"s.
    // Hier die ganzen "CreateObject"s.
    // Hier die ganzen "CreateObject"s.
    // Hier die ganzen "CreateObject"s.
    // Hier die ganzen "CreateObject"s.
    // Hier die ganzen "CreateObject"s.
    // Hier die ganzen "CreateObject"s.
    // Hier die ganzen "CreateObject"s.





    return 1;
    }

    Wie erstelle in in einem Ordner(Drogenlager) eine datei die die anzahl der Drogen speichert und im spiel bei /buydrugs ausgibt wie viele noch dort sind ?

    Du musst eine Schleife erstellen und bei SendClientMessage nicht die "playerid" benutzen sondern deine Players die du in der Schleife durchlaufen lässt.


    Müsste so aussehen mit der Schleife :


    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerAnAdmin(i,GetPVarInt(playerid,"Adminlevel")<=1))
    {
    SendClientMessage(i,Hellgrün,text);
    }
    return 1;
    }
    }



    'EDIT: Sniper ? Ich glaube bei deinem SendClientMEssage muss dann anstatt playerid "i" rein.

    Ich helfe gerne.


    Jetzt habe ich leider keine Zeit aber ich bin morgen nach der Schule online und könnte dir ein Login/Register schreiben und ein kleines Adminsystem nach Wunsch.


    P.s: Bin so ab 16Uhr Online. Schreib mich dann einfach an.

    Jungs tut mir leid :D Mein Befehl klappe die ganze Zeit nur wurde er nicht gespawnt weil ich keine PlayerPos abgefragt habe :D


    Jetzt :


    ocmd:getcar(playerid,params[])//LSPD
    {
    if(!isPlayerAnAdmin(playerid,1))return 1;
    {
    new vehicle;
    new Float:X,Float:Y,Float:Z;
    vehicle = GetPlayerVehicleID(playerid);
    if(sscanf(params,"i",vehicle))
    {
    SendClientMessage(playerid,Grau,"Nutzung: /getcar [CarID]");
    return 1;
    }
    GetPlayerPos(playerid,X,Y,Z);
    SetVehiclePos(vehicle,X,Y,Z);
    return 1;
    }


    }




    Vorher :
    ocmd:getcar(playerid,params[])//LSPD
    {
    if(!isPlayerAnAdmin(playerid,1))return 1;
    {
    new vehicle;
    new Float:X,Float:Y,Float:Z;
    vehicle = GetPlayerVehicleID(playerid);
    if(sscanf(params,"i",vehicle))
    {
    SendClientMessage(playerid,Grau,"Nutzung: /getcar [CarID]");
    return 1;
    }
    SetVehiclePos(vehicle,X,Y,Z);
    return 1;
    }


    }



    Sorry ich dachte es liegt an der VehicleID dabei lags an der PlayerPos xD



    Danke Jungs

    Guten Tag ,


    Ich habe eine Befehl erstellt um mir alle Admins anzeigen zu lassen die Online sind. Nur irgendwie funktioniert er nicht. Mein Name wird ununterbrochen angezeigt.



    ocmd:adminlist(playerid,params[])
    {
    new string[64],
    Spielername[MAX_PLAYER_NAME];
    SendClientMessage(playerid, Weiß,"*==========Admin-Liste==========*");
    new adminname[100];
    switch(GetPVarInt(playerid,"Adminlevel"))
    {
    case 0:(adminname="---");
    case 1:(adminname="Supporter");
    case 2:(adminname="Admin");
    case 3:(adminname="Server Owner");
    }
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    {
    if(GetPVarInt(i, "Adminlevel")>=1)
    {
    GetPlayerName(i, Spielername, MAX_PLAYER_NAME);
    format(string, sizeof(string), "Name: %s | Adminlevel: %s", Spielername,adminname);
    SendClientMessage(playerid, Grau,string);
    }
    }
    }
    return 1;
    }

    Du unterstellst ihm hier eine Straftat, und das kann für dich auch schnell nach hinten losgehen.


    Er kann ihm die Straftat sehr gut unterstellen . Es ist zwar nur ein kleiner Betrag aber es kann nicht sein das eine Person die eine gewisse Verantwortung zu tragen hat so eine scheiße baut !