Setz das mal unter OnPlayerConnect ![]()
Beiträge von Kaliber
-
-
Wie sieht denn dein Code unter OnPlayerRequestClass & OnPlayerRequestSpawn aus?

-
wenn man draufklickt die Nachricht kommt die er gesendet hat
Ehh...wo hast n die Nachricht gespeichert..das wäre irgendwie relevant xD
Also..Variable..oder Datei..oder wo xDOder gibt es tatsächlich irgendwo ein unterschied wo man das obere benutzen könnte, es ist ja langsamer?
Das könntest du

Theoretisch wäre foreach noch besser

-
wie frage ich diese 2 cops ab?
Naja..
C
Alles anzeigenstock GetOnlineFrakPlayer(frakid) { new counter; for(new i=GetPlayerPoolSize(); i!=-1; i--) //Ist wie deine Schleife..nur schneller :D Da sie nicht 500 spieler durchloopt sondern nur bis zur höchsten spielerid { if(!IsPlayerConnected(i) || IsPlayerNPC(i)) continue; if(SpielerInfo[i][pFrak] == frakid) counter++; //Dieses SpielerInfo zeug halt auf deine Datenstruktur anpassen... } return counter; } //Nutzung: new onlineCops = GetOnlineFrakPlayer(1); //1 = frakid if(onlineCops < 2) return SendClientMessage(playerid,-1,"* Es sind keine 2 Cops online!"); SendClientMessage(playerid,-1,"* Es sind mehr als 2 Cops online :)"); -
Hilfe Bitte
Na, selbst ist der Mann.
Öffne das Skript..schau wo der Text steht..und check die Tilden.
Eine Tilde ist folgendes: ~
Stell dir vor der Text ist so:
"Willkommen ~r~TimeLine!"
Das wäre korrekt!Falsch wäre:
"Willkommen ~rTimeLine!"
Da dort eine Tilde hinter dem ~r fehlt

Also...such den Text & ergänze oder lösche die Tilde

Denn wenn 2 Tilden hintereinander stehen: ~~ ist auch falsch

-
Mit
Also, wenn ich den Text richtig verstanden habe...hat er es bereits geschafft diese Log Dateien zu speichern..und möchte sie nun auslesen & in einem Dialog anzeigen.
So ginge das:
-
Überall hast du Stats8[playerid] ... und am Ende Stats8[playerid][8]...was soll dieses [8] ...das einfach löschen

-
Toll dank Kaliber ist jetzt Global Gamer gebannt
Hab doch gar nichts gemacht

-
Geplant ist es nicht ein 0815 Server zu erstellen, sondern etwas das es so noch nicht gibt oder das einfach besser ist als es woanders vielleicht schon gibt? Wir werden sehen.
Jetzt nicht böse gemeint oder so...aber weißt du wie viele sowas in den letzten Jahren geschrieben haben?

Du bist zwar erst seit einem halben Jahr hier...aber glaub mir...es wahren SEHR viele...allerdings sind 99.9% von diesen Projekten binnen 1-3 Monaten genauso rasch wieder verschwunden wie sie herkamen.
Meistens wegen Team-Differenzen oder weil keiner so wirklich wusste, was sie tun sollten.In diesem Sinne, wäre es viel ansprechender, wenn du schreibst, was du dir so vorstellst..und was dein Ziel ist...
Anstatt zu sagen...etwas komplett neues was es noch nie gegeben hat
-
Nichts für ungut...aber das was du da so schreibst...geht alles drunter und drüber...
GivePlayerMonez z.B. hat bei dir nur einen Parameter und zwar playerid.
Unten nutzt du das mit 2 Parametern...
das macht iwi keinen Sinn xD
Und was du meintest mit..das funktioniert jetzt..weiß ich nicht was du damit meinst...
Aber da du PlayerInfo[playerid][pMoney] lädst...schreib das wenn dann so:
C
Alles anzeigenpublic OnPlayerUpdate(playerid) { if (IsPlayerNPC(playerid)) return 1; static cash; cash = GetPlayerMoney(playerid); if (cash != PlayerInfo[playerid][pMoney]) { if(cash < PlayerInfo[playerid][pMoney] && cash > -1) PlayerInfo[playerid][pMoney] = cash; ResetPlayerMoney(playerid); GivePlayerMoney(playerid,PlayerInfo[playerid][pMoney]); } return 1; } -
...ich weiß nicht wie deine Geld geben funktionen aussehn...auf welche Variablen du zurückgreifst...
der beim Joinen das Geld mit lädt
...da steht OnPlayerUpdate nicht OnPlayerConnect....
OnPlayerUpdate..wird permanent aufgerufen..nicht nur am Anfang...
Insofern...wird permanent das Geld gecleart..und deshalb auch immer wieder zurückgesetzt.
Zeig am besten nochmal kurz deine Geld-Gebe Funktion...^^
-
Ahja, genau das dachte ich mir

Du hast 2 Geld Variablen...& 2 Geld Funktionen...
Die die du unter OnPlayerUpdate hast....macht nicht mit...lösch das mal

-
Jaa...det sieht der Hammer aus

-
Eigentlich ist das aber hier die Ausnahme:
if( money < PMoney[playerid] && money > -1 ) PMoney[playerid]=money;
Denn sagen wir du hast 5.000$ auf der Hand.
Dann werden dir 100$ abgezogen.
Dann steht da, wenn:
if(4900 < 5000 && 4999 > -1) 5000 = 4900;
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, 4900);und das ist ja alles korrekt...
Deshalb irritiert mich das ein wenig...
Hast du eventuell noch anderen Anti-Cheat Code, wo es ums Geld geht? o: -
In dem Video sieht man irgendwie nicht alles?

Ich meine...anfangs ganz kurz siehste die Tuning Garage..und danach nur eine Küche..einen Wartebereich, die aber alle im 1. OG sind..und von der EG siehste gar nichts mehr..was ja die eigentliche Tuning Garage sein soll oder?

Also an sich was man so sieht....sieht das alles (wie immer) top aus xD
-
Warte mal...Gott
Das sollte alles so stimmen..lass das alles mal so..
Ehm sicher, dass du dein Auto auch demoliert hattest ein bisschen..sonst werden keine 100$ abgezogen -_-
-
...der wird nur aufgerufen..wenn auch ein Geld unterschied existiert...
Schau doch mit wie viel du reinfährst..und wieder ausfährst...
Ich denke du musst dein Anti-Cheat aber bearbeiten, da er instant den Geld Wert anpasst...
Kannst du mal zeigen...wie dein Anti-Cheat Code aussieht...
-
Allerdings ohne Funktion
...was ohne Funktion?

Nein...brauchst keine Plugins...nur das...
Kannst du denn das Skript kompilieren mit den Callbacks...
Dann ist alles richtig...dann funktioniert es schon..
//Edit: Bitte unterlasse Vollzitate..des einfach grausig
-
Downloade dir mal den hier: https://www.piriform.com/ccleaner
und dann clear mal deinen Rechner & deine Registry

Eventuell lässt sich dadurch das Problem bereinigen

-
Da das hier eine oft gefragte Frage ist..war ich mal so freundlich und habe dir ein Include für alle Pay'NSprays erstellt:
Source-Code: Pastebin
Das downloade dir mal..und binde mal ein.
Dann fügst du folgende Callbacks in dein Skript:
C
Alles anzeigenpublic OnPlayerEnterPayNSpray(playerid) { SetPVarInt(playerid,!"pay_money",GetPlayerMoney(playerid)); return 1; } public OnPlayerLeavePayNSpray(playerid) { new x = GetPVarInt(playerid,!"pay_money"),money = GetPlayerMoney(playerid); if(money < x) { new string[64]; format(string,sizeof(string),"* Sie haben beim Pay' N Spray: %d$ verloren!",x-money); SendClientMessage(playerid,-1,string); } DeletePVar(playerid,!"pay_money"); return 1; }Und dann kannst du da wo er was abgezogen bekommen hat, auch beim Anti-Cheat anpassen und dem einfach das Geld mit deinem System abziehen

PS: Man kann auch mehr als 100$ verlieren..wenn man z.B. reinfährt..dann gegen die innere wand fährt...kurz wartet..dann kann man auch 200$ verlieren xD Mit dem System..könntest du ihm natürlich auch noch zusätzlich Geld abziehen
Viel Spaß damit
