Na das strlen das gleiche wie sscanf ist wusste ich noch garnicht . Ich meine SSCANF nicht strlen oder sonst was...
Beiträge von Robert
-
-
Guten Tag,
ich wollte fragen ob man sscanf auch ohne ocmd / dcmd und weitere cmd arten mit params / parametern erstellen kann. Wenn ja wollte ich fragen wie das möglich ist in einem Standart Befehl sscanf zu nutzen.
Lg
-
Frag doch mal in Scriptwünsche das System ist eigentlich sehr ziemlich leicht.
-
Hier das was du wolltest:
new bool:oocoffen;
ocmd:ooc(playerid,params[])
{
if(oocoffen == false && /* Admin == 0 */) // Dort eintragen wenn er kein Admin ist
{
SendClientMessage(playerid, COLOR_WHITE, "Der OOC Chat ist nur für Admins offen.");
return 1; // Wenn OOC zu ist & er kein Admin ist kommt die Nachricht nicht
}
new string[128],nachricht,sender[MAX_PLAYER_NAME];
if(sscanf(params,"s",nachricht))return SendClientMessage(playerid,COLOR_GRAD2,"INFO: /ooc [NACHRICHT]");
{
GetPlayerName(playerid, sender, sizeof(sender));
format(string,sizeof(string),"(( %s: %s ))",sender,nachricht);
SendClientMessageToAll(COLOR_WHITE,string);
}
return 1;
}ocmd:oocon(playerid,params[])
{
#pragma unused params
if(/*Admin Abfrage*/)
{
if(oocoffen == true) return SendClientMessage(playerid, COLOR_WHITE, "Der OOC Chat ist bereits offen.");
oocoffen = true;
SendClientMessage(playerid, COLOR_WHITE, "Du hast den OOC Chat geöffnet.");
}
return 1;
}ocmd:oocoff(playerid,params[])
{
#pragma unused params
if(/*Admin Abfrage*/)
{
if(oocoffen == false) return SendClientMessage(playerid, COLOR_WHITE, "Der OOC Chat ist bereits geschlossen.");
oocoffen = false;
SendClientMessage(playerid, COLOR_WHITE, "Du hast den OOC Chat geschlossen.");
}
return 1;
}
Und hier für den Fall das du das lieber haben willst anstatt mit oocon & oocoff:
ocmd:ooctoggle(playerid,params[])
{
#pragma unused params
if(/*Admins Definition*/)
{
if(oocoffen==true)
{
oocoffen = false;
SendClientMessage(playerid, COLOR_WHITE, "OOC Chat geschlossen.");
}
else
{
oocoffen = true;
SendClientMessage(playerid, COLOR_WHITE, "OOC Chat geöffnet.");
}}
return 1;
}Hoffe das funktioniert so.
-
funzt nicht
habe bei allen Befehlen, bei denen ein fahrzeug gespawnt wird, folgendes eingefügt:
spawnedcar[playerid] = CreateVehicle//bla
Wenn ich den Befehl nun durchführe:
ocmd:destroyallveh(playerid,params[])
{
#pragma unused params
//Adminabfrage
{
for(new i=0;i {
if(!IsPlayerInVehicle(i, spawnedcar[i]))
{
DestroyVehicle(spawnedcar[i]);
SendClientMessage(playerid, cRot, "Erfolgreich respawnt!");
}
}
}
return 1;
}Wird der ganze Chat mit dem erfolgreich respawnt zugespammt, aber kein einziges auto wird gelöscht!
edit: Wenn ich dann aus einem Veh aussteige und den Befehl erneut eingebe, wird nur das Veh gelöscht und der Chat wieder vollgespammt.
ocmd:destroyallveh(playerid,params[])
{
#pragma unused params
//Adminabfrage
{
for(new i=0;i {
if(!IsPlayerInVehicle(i, spawnedcar))
{
DestroyVehicle(spawnedcar);
}
}
SendClientMessage(playerid, cRot, "Erfolgreich respawnt!");
}
return 1;
}
So solltest du nicht mehr zugespammt werden -
Hallo,
ich habe es nicht testen können aber wenn es funktioniert sollte man damit einfach bei alten Toren die "seltsam" aufgehen wieder normal funktionieren. Ich weiß auch nicht ob das schon jemand gepostet hat.
forward sMoveObject(objectid, Float:x, Float:y, Float:z, Float:speed);
public sMoveObject(objectid, Float:x, Float:y, Float:z, Float:speed)
{
new Float:op[3];
GetObjectRot(objectid, op[0], op[1], op[2]);
MoveObject(objectid, x, y, z, speed, op[0], op[1], op[2]);
return 1;
}Lg
-
Sind es verschiedene Kabel die du benutzt bei den Fernsehern ?
-
Dann brauchst du das hier garantiert:
new SpawnVehicle[MAX_PLAYERS];
// Beim erstellen:
SpawnVehicle[playerid] = CreateVehicle( ... )
// Beim löschen
for(new i=0;i<MAX_PLAYERS;i++) {
if(!IsPlayerInVehicle(i, SpawnVehicle[i])) {
DestroyVehicle(SpawnVehicle[i]);
}
} -
Also die sollen gelöscht werden wenn niemand im Fahrzeug sitzt habe ich das richtig verstanden?
-
Meinst du das hier ?
LinkVehicleToInterior(vehicleid, interiorid);
-
Über einen Befehl ginge es mit :
PlayerInfo[playerid][pHeadvalue]Aber playerid ersetzen mit der Spieler ID von demjenigen dessen Contract gelöscht werden soll.
-
public OnPlayerExitVehicle(playerid, vehicleid)
{
DestroyVehicle(vehicleid);
return 1;
}
Das ist komplett richtig. Die Fahrzeug ID (vehicleid) ist die des letzten Fahrzeugs. Aber wenn du das mit eigenen machen willst sollten diese beim erstellen eine Definition bekommen.
new MyCar[MAX_PLAYERS];
// Erstellen
MyCar[playerid] = CreateVehicle(....);
// Zerstören:
public OnPlayerExitVehicle(playerid, vehicleid)
{
if(MyCar[playerid] == vehicleid) {
DestroyVehicle(vehicleid);
}
return 1;
}So sollte es dann funktionieren ..
-
er meinte nur wie die stock funktion geht
Genau mehr brauchte ich nicht
War zu Blöd dafür
MfG
-
stock Spielername(playerid) { new NoName[MAX_PLAYER_NAME]; GetPlayerName(playerid,NoName,sizeof NoName); return NoName; }
Danke das geht. Somit kann hier /close gemacht werden -
Ich weiß das dies möglich ist ( also die Idee ) aber auch mit Public geht dies nicht ( leider ).
-
Hallo,
da die Suchfunktion zZ nicht funktioniert wollte ich fragen wie ich einen kurzen Command haben kann z.B. "MeinName(playerid)" also mit GetPlayerName dadrinne. Ich habe es bereits versucht aber dort steht dann kein Name:
stock MeinName(playerid)
{
new myname[MAX_PLAYER_NAME];
GetPlayerName(playerid, myname, sizeof(myname));
return 1;
}MfG
-
Hier mal was alles ausgefüllt werden sollte:
http://wiki.sa-mp.com/wiki/CreatePickup
Mehr mache ich auch nicht ansonsten dort mal das Beispiel ansehen. Viel Glück.
MfG
-
So ein kleines Update und damit es auch jeder sieht : Neue Admin Definierung über das Gamemode / vorhandes Filterscript mit Admin Funktion. Einfach mit euren Admin ersetzen ( Godfather z.B. PlayerInfo[playerid][pAdmin] )
forward GetAdmin(playerid);
Public GetAdmin(playerid)
{
return /*Admin Definition*/;
}Steht gleich auch alles oben drinne.
Edit: Hatte gekürz drinne nu steht da forward mit Public ...
-
Dann machst du es falsch, es geht 1A !
Edit: Von dcmd_ einfach in ocmd: ändern dann geht das auch und oben ist gemeint das es mit MrMonat nicht klappt. -
"File does not exist on this server" bitte neu hochladen bei zeiten .. Danke