Beiträge von TPO

    Teamspirit doch wird mitgezählt nur bei DCMD nicht.
    Eine Frage: Hast du es so im Script mal versucht:


    if(strcmp(cmdtext,"/hitbase",true)==0)
    {
    MoveObject(tGate,1411.0688476563, -1891.7446289063, 12.772193908691,2.0);
    SetTimer("GateClosetGate",5000,0);
    }
    return 1;

    STRG + F => GetPointDistanceToPointExMorph
    Und löschen den Abteil wenn dann keine Errors kommen stimmte das hier.


    Zum anderen nein, es fehlen dir Scriptfiles. Hast du alle benötigten Scriptfiles die vom Server unter dem Public OnGameModeInit geladen werden auch wirklich im Scriptfiles Ordner?

    Nein TeamSpirit.
    Es reicht von:
    if (strcmp("/hitbase", cmdtext, true, 10) == 0)
    machen auf
    if (strcmp("/hitbase", cmdtext, true, 8) == 0)
    Da /hitbase genau 8Zeichen enthält net 10 =P
    und falls das nicht geht so:
    if(strcmp(cmdtext,"/hitbase",true)==0)

    Kaum schreib einer nen Joke schon muss jeder schreiben was er zu letzt an Essen gekauft hat jeder 2te schreibt von Alk etc. xD naja ich hab mir heute nach der Schule ne neue Webcam gekauft 20€ bei Conrad mit Headset^^

    Zwar ausm Godfather funzt aber einwandfrei gerade kB was eigenes zu machen:


    new Float:TeleportDest[MAX_PLAYERS][3];


    if(strcmp(cmdtext, "/saveplace", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    GetPlayerPos(playerid, TeleportDest[playerid][0],TeleportDest[playerid][1],TeleportDest[playerid][2]);
    SendClientMessage(playerid, COLOR_GRAD1, " Teleporter Zielort gesetzt");
    }
    return 1;
    }
    if(strcmp(cmdtext, "/gotoplace", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if (GetPlayerState(playerid) == 2)
    {
    new tmpcar = GetPlayerVehicleID(playerid);
    SetVehiclePos(tmpcar, TeleportDest[playerid][0],TeleportDest[playerid][1],TeleportDest[playerid][2]);
    TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
    }
    else
    {
    SetPlayerPos(playerid, TeleportDest[playerid][0],TeleportDest[playerid][1],TeleportDest[playerid][2]);
    }
    SetPlayerInterior(playerid,0);
    }
    return 1;
    }

    TRS_Sebastian RepairVehicle ist zwar in deinem Fixveh aber dazu fehlt noch ein Stock/Public halt die Funktion inkl. forward ... SetVehicleHealth reicht vollkommen. Achja er meinte 100$ nicht 500$ =D



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/carwash", cmdtext, true, 10) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    MoveObject(Carwashwasser,1910.8001708984, -1776.3387451172, 7.9853558540344, 3);
    GameTextForPlayer(playerid,"Bitte warten!",2000,0);
    TogglePlayerControllable(playerid,0); // ist zum nicht bewegen | 0 = Nicht bewegen / 1 = Bewegen
    SetVehicleHealth(GetPlayerVehicleID(playerid), 1000.0); // dashier
    RepairVehicle(GetPlayerVehicleID(playerid)); // dashier ist zum reppen hab ich jedenfalls in meinem /fixveh
    GivePlayerMoney(playerid,-500); // GivePlayerMoney(playerid,money); ---> hier werden ihm also 500$ abgezogen
    forward SetPlayerUnfreeze(playerid);
    public SetPlayerUnfreeze(playerid)
    {
    TogglePlayerControllable(playerid,true);
    SendClientMessage(playerid,COLOR_BLUE,"Du bist nun fertig"); //oder sonstwas
    return 1;
    }


    Public in Public funktioniert nicht. Du hast Klammern und alles andere vergessen.

    ehm selbsmord...
    es müsste ja dann so sein
    SetPlayerWantedLevel(killerid,GetPlayerWantedLevel(playerid)+2);


    und bei onplayerdeath
    SetPlayerWantedLevel(playerid,0);

    Aha sicher. Nein geht es nicht.
    Dann sobald ein Spieler stirbt bekommt der der Stirbt seine Wanteds abgezogen? Fail.


    Und Selbstmord abfragen einfach nur
    if(killerid==playerid){}else{}

    Genau das gleiche Problem habe ich auch! Doch bei mir funzte es als ich die Textdraws unter OnGameModeInit mit einem MAX_PLAYERS Array erstellt habe und nicht unter OnPlayerConnect =D (anzeigen trotzdem unter OnPlayerConnect möglich)

    Meine Commands laufen bereits meistens komprimiert ab.
    Ingame sehe ich auch keine Fehler.. nur ich würde gerne wissen ob das eig. auch irgendetwas außer unübersichtlichkeit und kürzeres Script was bringt?


    Achja ich weiß FireFan hab immer im Script die Tabsize 0 sonst würd das nicht funktionieren =D

    TeamSpirit [44] net {44] ;)


    Erstmal musst du abfragen können welche Person (X) den Bliter (Y) aufgebaut hat und die Geschwindigkeit vom Blitzen (Z). Ohne das bringt dir alles nichts, wenn das getahn ist dann bringt dir erst GetPlayerName etwas, dann verwendest du
    new X[26];
    new Text[64];
    GetPlayerName (playerid, X, sizeof(X));
    format(Text, sizeof(Text), "[PC] Du hast %s mit %dkm/h geblitzt.",Y,Z);
    SendClientMessage(X,Deine_Farbe, Text);

    Die .txd extrahieren aufn Desk.
    Die .txd mit TXD Workshop öffnen..
    Dann die Textur extrahieren die du ändern willst
    Die Textur mit einem Bildbearbeitungsprogramm öffnen und editieren
    Die Datei Speichern und wieder mit TXD Workshop in die .txd einfügen
    Die .txd mit einem Modding Tool wieder in deine gta3.img Datei.

    Shadowfighter gibt mir nicht seinen Generator also glaube ich er hat 0 Ahnung wie es aufgebaut ist. Redet sich nur raus naja ist auch wurscht.. habs mir runtergeladen aber funzt nicht =O nicht hier aufm PC aufm Laptop (Macintosh-.-) dort kommt nur die Meldung: "Can not read from file" -.- xD

    Guten Tag, hier ist mal SSCANF in 14Zeilen davor waren es halt 49Zeilen (komprimiert) doch meine Frage/Anliegen/Problem what ever ist: Funktioniert es so genau wie vorher und ist es so nicht eig. Resourcensparender das Script hat komischer weise nun einen geringeren Speicherverbrauch?


    stock sscanf(string[],format[],{Float,_}:...){if(string[0]==0||(string[0]==1&&string[1]==0)){return format[0];}new formatPos=0,stringPos=0,paramPos=2,paramCount=numargs(),delim=' ';while(string[stringPos]&&string[stringPos]<=' '){stringPos++;}while(paramPos<paramCount&&string[stringPos]){switch(format[formatPos++]){case'\0':{return 0;}case'i','d':{new neg=1,num=0,ch=string[stringPos];if(ch=='-'){neg=-1;ch=string[++stringPos];}do{stringPos++;if('0'<=ch<='9'){num=(num * 10) + (ch - '0');}else{return -1;}}
    while((ch=string[stringPos])>' '&&ch!=delim);setarg(paramPos,0,num * neg);}case'h','x':{new num=0,ch=string[stringPos];do{stringPos++;switch(ch){case'x','X':{num=0;continue;}case'0' .. '9':{num=(num << 4) | (ch - '0');}case'a' .. 'f':{num=(num << 4) | (ch - ('a' - 10));}case'A' .. 'F':{num=(num << 4) | (ch - ('A' - 10));}default:{return -1;}}}while((ch=string[stringPos])>' '&&ch!=delim);setarg(paramPos,0,num);}case'c':{setarg(paramPos,0,string[stringPos++]);}
    case'f':{new changestr[16],changepos=0,strpos=stringPos;while(changepos<16&&string[strpos]&&string[strpos]!=delim){changestr[changepos++]=string[strpos++];}changestr[changepos]='\0';setarg(paramPos,0,_:floatstr(changestr));}case'p':{delim=format[formatPos++];continue;}case'\'':{new end=formatPos - 1,ch;while((ch=format[++end])&&ch!='\'') {}if(!ch){return -1;}format[end]='\0';if((ch=strfind(string,format[formatPos],false,stringPos))==-1){if(format[end + 1]){
    return -1;}return 0;}format[end]='\'';stringPos=ch + (end - formatPos);formatPos=end + 1;}case'u':{new end=stringPos - 1,id=0,bool:num=true,ch;while((ch=string[++end])&&ch!=delim){if(num){if('0'<=ch<='9'){id=(id*10)+(ch-'0');}else{num=false;}}}if(num&&IsPlayerConnected(id)){setarg(paramPos,0,id);}else{
    #if!defined foreach
    #define foreach(%1,%2) for (new %2=0; %2<MAX_PLAYERS; %2++) if(IsPlayerConnected(%2))
    #define __SSCANF_FOREACH__
    #endif
    string[end]='\0';num=false;new name[MAX_PLAYER_NAME];id=end - stringPos;foreach (Player,playerid){GetPlayerName(playerid,name,sizeof (name));if(!strcmp(name,string[stringPos],true,id)){setarg(paramPos,0,playerid);num=true;break;}}if(!num){setarg(paramPos,0,INVALID_PLAYER_ID);}string[end]=ch;
    #if defined __SSCANF_FOREACH__
    //#undef foreach
    //#undef __SSCANF_FOREACH__
    #endif
    }stringPos=end;}case's','z':{new i=0,ch;if(format[formatPos]){while((ch=string[stringPos++])&&ch!=delim){setarg(paramPos,i++,ch);}if(!i){return -1;}}else{while((ch=string[stringPos++])){setarg(paramPos,i++,ch);}}stringPos--;setarg(paramPos,i,'\0');}default:{continue;}}while(string[stringPos]&&string[stringPos]!=delim&&string[stringPos]>' '){stringPos++;}while(string[stringPos]&&(string[stringPos]==delim||string[stringPos]<=' ')){stringPos++;}paramPos++;}do
    {if((delim=format[formatPos++])>' '){if(delim=='\''){while((delim=format[formatPos++])&&delim!='\'') {}}else if(delim!='z'){return delim;}}}while(delim>' ');return 0;}

    Sende mir deinen mal per PN bitte, glaub dir gerade 0%, sry!


    Brauch das leider nicht hab meinen eig. gefunden ist mit AHK benutze den aber auch nur da ich den Source Code habe =D

    ja das ist ein Problem. Alles andere als eine Leiter wäre halt Gothic untypisch. Aber ich denke mit einem einfachen Teleport an den beiden Leiterenden geht das schon ;)

    Du kannst einfach falls Scriptkentnisse vorhanden eine Funktion erstellen das der Spieler falls er an der Leiter steht und 'Enter' bzw. 'F' drückt das er langsam mit einer passenden Animation (gibt es sicherlich) hochgefahren wird =P


    Nice Map wie ne Ritterburg irgendwie sieht so aus aufm ersten Blick!
    10/10 endlich mal was wirklich neuartiges.