Also OnPlayerSpawn wird nicht aufgerufen...
Sag mal poste mal deine ganzen Includes die du dem Script hinzufügst, ich glaube ich weiß warum es nicht geht...dir wird der Callback weg-gehookt ![]()
mfg. ![]()
Also OnPlayerSpawn wird nicht aufgerufen...
Sag mal poste mal deine ganzen Includes die du dem Script hinzufügst, ich glaube ich weiß warum es nicht geht...dir wird der Callback weg-gehookt ![]()
mfg. ![]()
Weiß nicht ob es das hier schon gibt, aber wenn man den Fahrer eines Fahrzeugs haben möchte, dann hier ein kleiner, aber meiner Meinung nach nützlicher stock:
Das funktioniert so nicht ![]()
1. Du benutzt i und hast es nicht deklariert.
2. Sobald er einen Fahrer finden würde, würde er 1 returnen andernfalls 0 ![]()
Schreibs am besten mal so:
stock GetVehicleDriver(vehicleid) {
for(new i; i<MAX_PLAYERS; i++) if(GetPlayerVehicleID(i) == vehicleid && GetPlayerState(i) == PLAYER_STATE_DRIVER) return i;
return -1;
}
mfg. ![]()
Ich habe den NPC erneut aufgenommen, keine Änderung.
Kann es sein, dass 0.3z Bots nicht unterstützt oder so?
Glaube ja eher nicht, aber total komisch im Moment dass es nicht mehr funktioniert, nur weil ich meinen neuen PC bekommen habe und dort SA-MP drauf laufen lasse (Server).
Hat mit beidem nichts zu tun ![]()
Hast du mal die Abfrage die ich gepostet habe so angepasst?
Nimm doch evtl mal die Abfrage IsPlayerNPC raus und Connecte mit dem Namen und schau ob mit dir das gemacht wird, was mit dem Bot gemacht werden soll ![]()
Wenn nein, weißt du woran es liegt ![]()
mfg. ![]()
Wie soll das denn beim connecten gehen, wenn man kein Zugriff auf das Verzeichniss hat?
Er redet nicht von Client-Seitigen Abfragen, sondern von Server-Seitigen Abfragen.
Sprich du prüfst ob der Spieler das tut, was der Cleo Mod macht...wenn ja -> Ban ![]()
PS: S0beit ist auch nur ein Mod und da machst du ja auch nichts anderes ![]()
mfg. ![]()
Schreib es so:
new clanname4[32];
strcat(clanname4,dini_Get(clanFile,"Clanname"));
und das andere so:
SetPVarString(playerid,"Clanname",dini_Get(clanFile,"Clanname"));
mfg. ![]()
if(strcmp(GetName(playerid),"BOT_Emma",true))
Schreib es so:
if(!strcmp(GetName(playerid),"BOT_Emma"))
mfg. ![]()
public OnPlayerSpawn(playerid)
So wie du das machst, ist das suboptimal, da immer ein neuer Timer für den Spieler erstellt wird sobald er spawnt.
Wenn er 1x spawnt pro sek 1x-anzahl..beim 2.x spawnen 2x-anzahl...beim 3.x spawnen 3x-anzahl usw...
Somit ist man irgendwann instant im negativen Bereich, wenn man diese Fläche betritt ![]()
Somit solltest du den Timer unter OnPlayerConnect starten lassen, da dieser Callback (im Normalfall) nur 1x für den Spieler aufgerufen wird ![]()
mfg. ![]()
Versuchs mal so:
Wenn das nicht funktioniert downloade dir mal CrashDetect und poste den Fehler ![]()
mfg. ![]()
Das Programm heißt DeAMX und nunja um das mal vorweg zu nehmen, das funktioniert nicht wirklich gut ![]()
Es liefert dir nur wenn du Glück hast (nicht bei allen .pwn Dateien klappt es wegen Directives bzw Präprozessoren oder großen Arrays oder komplexen Abfragen) eine kleine Grundstruktur, aber versuche dein Glück (ich hoffe nur für deine eigenen Scripte):
http://www.4shared.com/rar/l7Rjsf5p/Easy_DeAMX.html
mfg. ![]()
So kommen wir nicht weiter ![]()
Wenn du weitere Hilfe willst, schick mir einfach mal deine TeamViewer Daten per PN...
Keine Lust jetzt noch weiter hier rum zu spammen!
mfg. ![]()
...
...jetzt brauche ich wieder den Source-Code der in dieser Zeile steht... ![]()
Es heißt ja auch nicht Createobject, sondern CreateObject!
Achte auf die Groß-und Kleinschreibung! ![]()
mfg. ![]()
Ich mache die Maps mit Filterscripts
Achso, also ein Filterscript, sag das doch ![]()
Dann schreib den Code nur so:
#include <a_samp>
#pragma tabsize 0 //Damit die Formatierung ignoriert wird
public OnFilterScriptInit() {
//Hier alles mit CreateObject rein
return 1;
}
public OnPlayerConnect(playerid) {
//Hier alles mit RemoveObjectForPlayer rein
return 1;
}
ich klatsche sie nicht in mein Script...
Naja...doch sonst würde ja RemoveBuilding nicht in Zeile 1 stehen ![]()
-> Also schreib es so wie ich es in dem Codeschnipsel jetzt hier erklärt habe! (Dann funktioniert es auch)
mfg. ![]()
Wo soll ich das den reinschreiben? xD
Na, in dein Script?!
Machst du ein Gamemode oder ein Filterscript? ![]()
Du kannst in Pawn nicht einfach ohne entsprechende Callbacks und native Funktionen etwas ins Script schreiben...sonst tut sich da nichts und er erkennt die Funktionen nicht ![]()
Vielleicht solltest du dich erstmal ein wenig mit der Materie auseinandersetzen, bevor du ein Script einfach mal so schreiben willst ![]()
du meinst nicht einfach in pawno klatschen
Nein, ich meine sein Script
Pawno ist der Editor, der damit mal gar nichts zu tun hat...ich kann auch Notepad++ benutzen, da darf er es auch nicht reinklatschen ![]()
mfg. ![]()
Nun, du darfst das nicht einfach so in das Script klatschen ![]()
Schreib mal folgendes:
#include <a_samp>
#pragma tabsize 0 //Damit die Formatierung ignoriert wird
main(){ }
public OnGameModeInit() {
//Hier alles mit CreateObject rein
return 1;
}
public OnPlayerConnect(playerid) {
//Hier alles mit RemoveObjectForPlayer rein
return 1;
}
public OnPlayerRequestClass(playerid, classid) {
return SetSpawnInfo(playerid,0,299,0,0,2,0,0,0,0,0,0,0),SpawnPlayer(playerid); //Das lass einfach so
//das ist nur dafür da, dass das Game nicht crasht, wenn du mal auf den Server joinst
}
mfg. ![]()
RemoveBuildingForPlayer (playerid, 4024, 1479,8672, -1790,3984, 56,0234, 0,25);
Schauen wir uns diese Zeile mal an:
Der Fehler liegt darin, dass man in Pawn Floats (Kommastellenzahlen) nicht mit einem , sondern einem . trennt.
Also müsste diese Zeile (genauso wie alle anderen) so heißen:
RemoveBuildingForPlayer (playerid, 4024, 1479.8672, -1790.3984, 56.0234, 0.25);
Verbessere das überall und es wird gehen ![]()
mfg. ![]()
Bitte hört auf mich zu Demütigen
Interessante Geschichte, dafür dass du nur eine Frage hast ![]()
Eventuell solltest du mal an deiner Grammatik und Formatierung arbeiten, da dein Text schwer zu entziffern ist ![]()
Aber nun zu deinem Problem, leider kann dir hier keiner ohne Code helfen, also poste doch einfach mal die Zeile, wo dieser Error auftritt und am besten ein paar Zeilen darüber und darunter auch ![]()
mfg. ![]()
Schreib das mal so:
public WetterLS(playerid) {
if(PlayerInfo[playerid][pMember] != 9 && PlayerInfo[playerid][pLeader] != 9) return 0;
for(new i = 0; i < MAX_PLAYERS; i++) {
if(!IsPlayerConnected(i)) continue;
SetWeather(Weather[0]);
switch(Weather[0]) {
case 0:SendClientMessage(COLOR_YELLOW,"WetterstationLS: Das Wetter ist klar und sonnig! Wind:- Flug: nicht gefährdet");// Wetter 1
case 1:SendClientMessage(COLOR_YELLOW,"WetterstationLS: Das Wetter ist ein wenig bewölkt! Wind:leicht Flug: nicht gefährdet");// Wetter 2
case 2:SendClientMessage(COLOR_YELLOW,"WetterstationLS: Das Wetter ist ein wenig bewölkt! Wind:leicht Flug: nicht gefährdet");// Wetter 3
case 3:SendClientMessage(COLOR_YELLOW,"WetterstationLS: Das Wetter ist sehr stark neblig! Wind:mittel Flug: gefährdet");//Wetter 9
case 4:SendClientMessage(COLOR_YELLOW,"WetterstationLS: Unwetter! Wind:stark Flug:sehr stark gefährdet");//wetter 16
case 5:SendClientMessage(COLOR_YELLOW,"WetterstationLS: Das Wetter ist sehr stark bewölkt und windig! Wind:mittel Flug:gefährdet");//wetter 15
}
}
return 1;
}
mfg. ![]()
Du hast eine public Funktion (schau auf deine forwards) genauso genannt wie die Variable WetterRandomLS ![]()
Deshalb kommen diese Fehler, da das Script jetzt das nicht richtig zuordnen kann ![]()
Ändere einfach den Namen der Funktion und es wird funktionieren ![]()
mfg. ![]()
habe auch schon geschaut es ist keine ip gebant nix und auf jeden server komme ich..
Dann liegt es am Script ![]()
Also doch du musst gebannt sein, sonst könntest du ja, wie alle anderen connecten ![]()
1. Versuche mal deinen Namen zu ändern.
2. Hast du Zugriff auf die Serverdaten, wenn ja schau mal in die scriptfiles ob da irgendwelche Daten sind, wo dein Name / Ip-Addresse drinnen steht, bzw die server.ban Datei.
mfg. ![]()