ZitatIch habe ein Filterscript und wollte dem Spieler eine PVar verpassen. Kann ich diese dann im Gamemode abfragen?
Ja pVars werden auf nen Spieler gesetzt also sollte es auch gehen.
ZitatIch habe ein Filterscript und wollte dem Spieler eine PVar verpassen. Kann ich diese dann im Gamemode abfragen?
Ja pVars werden auf nen Spieler gesetzt also sollte es auch gehen.
Okay danke
Hallo.
Ich würde gerne einen /me Chat machen.
Und zwar fehlt mir dazu der richtige Befehl um etwas in den Chat zu senden was alle sehen die xyz Meter weit weg sind.
Wie geht das ?
mit einer for new schleife
for(new i;i<MAX_PLAYERS;i++)
{
if(IsPlayerInRangeOfPoint(i,10,x,y,z))
{
SendClientMessage(i,mechat,string);
}
}
Geht das nicht auch einfach mit einem ocmd ?
Ja, hier wäre so ein Codeschnipsel:
ocmd:me(playerid,params[])
{
new string[120],text[111];
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
if(sscanf(params,"s",text)) return SendClientMessage(playerid,blau,"Benutzung: /me [Text]");
format(string,sizeof(string),"**%s %s**",SpielerName(playerid),text);
for(new i = 0;i<MAX_PLAYERS;i++)
{
if(IsPlayerInRangeOfPoint(i,10,x,y,z))
{
SendClientMessage(i,violett,string);
}
}
return 1;
}
Frage die Position des Spielers ab und dann mache eine Schleife und frage ab ob irgendein Spieler in der Nähe ist.
Danke, das funktioniert.
Wäre cool wenn mir noch jemand hier helfen könnte :
Adminbefehl -- /gebewaffe
wie mache ich das hier ein radius von 30.0 eingehalten wird?
public OnPlayerText(playerid, text[])
{
new str[64], Name[MAX_PLAYER_NAME];
GetPlayerName(playerid, Name, sizeof(Name));
format(str, 64, "%s sagt: %s",Name,text);
SendClientMessageToAll(0xFFFFFFAA, str);
SetPlayerChatBubble(playerid, text, 0xFF0000FF, 40.0, 10000);
return 0;
}
habe es versucht mit den /me zu verschmelzen aber vergebens
mit ner for schleife wo du fragt wer in 30.0 umgebung von der position der playerid ist.
das habe ich ja versucht aber daran scheiter ich
new float:x, float:y, float:z;
GetPlayerPos(playerid,x,y,z);
for(new i=0;i<=MAX_PLAYERS;i++)
{
if(IsPlayerInRangeOfPoint(i,30.0,x,y,z))
{
SendClientMessage(i,FARBE,text);
}
}
Bei einer Schleife würde ich immer erst checken, ob der Spieler überhaupt existiert, sonst fragt er ja unnötig 500x ab...
new float:x, float:y, float:z;
GetPlayerPos(playerid,x,y,z);
for(new i=0;i<=MAX_PLAYERS;i++) {
if(IsPlayerConnected(i) && !IsPlayerNPC(i)) {
if(IsPlayerInRangeOfPoint(i,30.0,x,y,z)) {
SendClientMessage(i,FARBE,text);
}
}
}
Ja bei mir im Script hab ich ne extra Variable ONLINE_PLAYERS
War jetzt nur provisorisch
hey,
Habe 2 Erros bei OnGameModeInti
C:\Users\Mark\Desktop\Eigen Script\gamemodes\eigen.pwn(24) : warning 217: loose indentation
C:\Users\Mark\Desktop\Eigen Script\gamemodes\eigen.pwn(33) : warning 217: loose indentation
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
2 Warnings.
public OnGameModeInit()
{
// Don't use these lines if it's a filterscript
SetGameModeText("Blank Script");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
//Spawn Hotel LS
CreateObject(971, 308.39999389648, -1559.8000488281, 31.39999961853, 0, 0, 322.25);
tor=CreateObject(971, 365.099609375, -1469.3994140625, 31.39999961853, 0, 0, 38.995971679688);
//Autos
AddStaticVehicle(598,295.3022,-1541.0171,24.3399,52.8358,0,1); // LVPD
AddStaticVehicle(560,291.6244,-1545.2196,24.2994,54.1754,21,1); // SULTAN
AddStaticVehicle(560,282.3075,-1531.9871,24.2988,51.7202,21,1); // SULTAN
AddStaticVehicle(560,284.3021,-1527.4121,24.2982,235.0701,21,1); // SULTAN
AddStaticVehicle(560,288.6419,-1522.0557,24.2990,54.8554,21,1); // SULTAN
AddStaticVehicle(560,293.6925,-1519.2534,24.2991,233.2932,21,1); // SULTAN
return 1;
}
danke wenn mir einer Helfen kann
Das sind keine Errors sondern einfach nur Warnings, mach einfach die leeren Zeilen in deinem Script weg...
ich denke du hast einen public function erstellt ohne diese zu deklarieren mit "forward". "#forward" wäre allerdings falsch, schau am Besten mal hier: http://wiki.sa-mp.com/wiki/Public_functions
EDIT: Sorry, falsch geschaut, wurde natürlich bereits beantwortet.
Hallo mein Problem ist, dass ich sobald ich ne If Anfrage einfüge direkt 26 Errors habe. Ob ich diese richtig engefügt habe, weiß ich jedoch nicht.
Desweiteren sollte ne Meldung kommen, wenn man kein Cop ist "Du bist kein Cop du darfst diesen Befehl nicht nutzen".
Wie bekomme ich ne If Abfrage rein das dieses nur die Variable IsACop nutzen kann ?
if(strcmp(cmdtext, "/blcop", true) == 0)
{
if(UCL[GetPlayerVehicleID(playerid)] == 0)
{
new tmpcar = GetPlayerVehicleID(playerid);
if(GetVehicleModel(tmpcar) == 560)
{
sirene[GetPlayerVehicleID(playerid)] = CreateObject(19288,0,0,0,0,0,0,100);
sirene1[GetPlayerVehicleID(playerid)] = CreateObject(18646,0,0,0,0,0,0,100);
sirene2[GetPlayerVehicleID(playerid)] = CreateObject(19288,0,0,0,0,0,0,100);
sirene3[GetPlayerVehicleID(playerid)] = CreateObject(19288,0,0,0,0,0,0,100);
sirene4[GetPlayerVehicleID(playerid)] = CreateObject(19292,0,0,0,0,0,0,100);
AttachObjectToVehicle(sirene[GetPlayerVehicleID(playerid)],GetPlayerVehicleID(playerid),0 ,2.6,0,0,0,0);//Vorne Mitte
AttachObjectToVehicle(sirene1[GetPlayerVehicleID(playerid)],GetPlayerVehicleID(playerid),-0.5,0.0,0.85,0,0,0);//Dach sirene
AttachObjectToVehicle(sirene2[GetPlayerVehicleID(playerid)],GetPlayerVehicleID(playerid),0.7,2.6,0,0,0,0);//Vorne Licht Beifahrerseite
AttachObjectToVehicle(sirene3[GetPlayerVehicleID(playerid)],GetPlayerVehicleID(playerid),-0.7,2.6,0,0,0,0);//Vorne Licht Fahrerseite
AttachObjectToVehicle(sirene4[GetPlayerVehicleID(playerid)],GetPlayerVehicleID(playerid),0,0.9,0.4,0,0,0);//Mittig im Fenster
UCL[GetPlayerVehicleID(playerid)] = 1;
return 1;
}
//Edit aus der 6 ne 26 gemacht
Ich habe folgendes Problem undzar ich habe ein Ban und Kick Befehl mit ocdm erstellt und da tauchen folgende Fehler/strings auf ..
Ich habe den Kick Befehl zuerst gemacht und dann kopiert und in ocmd:ban(playerid,params[]) dann nochmal eingefügt und bisschen bearbeitet ..
Ich würd gern wissen was ich besser machen kann.. also was ich bearbeiten soll damit ich die Errors/Warnings weg bekomme
Grüße
c47
ZitatAlles anzeigen
239) : Variable "string" wurde mehrmals deklariert
Zeile (174 ) : Variable "reason" wurde mehrmals deklariert
Zeile (192 ) : Variable "reason" wurde mehrmals deklariert
Zeile (216 ) : warning 216: nested comment
Zeile (218 ) : error 055: start of function body without function header
Zeile (219 ) : Unbekannte Funktion
Zeile (221 ) : Unbekannte Funktion
Zeile (226 ) : Unbekannte Funktion
Zeile (233 ) : Variable "pID" wurde mehrmals deklariert
Zeile (233 ) : Variable "reason" wurde mehrmals deklariert
Zeile (233 ) : Variable "string" wurde mehrmals deklariert
Zeile (270 ) : Variable "string" wurde mehrmals deklariert
Zeile (643 ) : Variable "string" wurde mehrmals deklariert
Zeile (893 ) : Variable wird nie benutzt: "pID"
Zeile (893 ) : Variable wird nie benutzt: "reason"
Zeile (893 ) : Variable wird nie benutzt: "string"
4 Errors, 12 Warnungen
Du hast Errors im Skript. Kompilierung abgebrochen
Hier der ocmd Ban befehl.
ocmd:ban(playerid,params[]);{ if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,DUNKELROT,"Du bist kein Admin."); new pID,reason[128],string[128]; if(sscanf(params, "us",pID,reason))return SendClientMessage(playerid,HELLGRAU,"Benutze: /ban [ID/Name] [Grund]"); format(string,sizeof(string)," %s wurde von %s gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason); SendClientMessageToAll(ORANGE,string); SetPVarInt(pID,"Baned",1); Kick(pID); return 1;}
Also ich habe keine Idee was bei dir falsch ist C47, tut mir leid.
Aber ich habe auch ein Problem :
Ich schaffe es nicht einen Befehl zu scripten der wie folgt aussieht :
/gebewaffe [SpielerID] [WaffenID] [Ammo]
Kann mir da wer hefen ?
lg
Felix