Beitrag von Exqoolz ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
Wo bekomme ich diese Textur für Textdraw's?
Das ist ein Punkt, mit sehr großer X TextDrawLetterSize. Also ein extrem langgezogener Punkt.
Aso Ok danke dir.
Hey,
wieso kann ich trozdem auf die No DM Fraktionen Setzen?
if(strcmp(cmd, "/contract", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pMember] == 8 || PlayerInfo[playerid][pLeader] == 8)
{
SendClientMessage(playerid, COLOR_GRAD1, "Du darfst das nicht!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "Benutze: /contract [playerid] [Betrag]");
return 1;
}
giveplayerid = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "Benutze: /contract [playerid] [Betrag]");
return 1;
}
moneys = strval(tmp);
if(moneys < 10000 || moneys > 100000) { SendClientMessage(playerid, COLOR_GREY, " Die Vertragssumme muß mindestens $10000-, aber nicht mehr als $100000 betragen!"); return 1; }
if(PlayerInfo[playerid][pLevel] < 3)
{
SendClientMessage(playerid, COLOR_GRAD1, "Du mußt mindestens Level 3 haben um einen Vertrag zu erstellen.");
return 1;
}
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(PlayerInfo[giveplayerid][pMember] == 8 && PlayerInfo[playerid][pLeader] == 8)
{
SendClientMessage(playerid, COLOR_GREY, " Du kannst keine Verträge mit deiner eigenen Agentur abschließen!");
return 1;
}
else if(PlayerInfo[giveplayerid][pLeader] == 8 && PlayerInfo[playerid][pMember] == 8)
{
SendClientMessage(playerid, COLOR_GREY, " Du kannst keine Verträge mit deiner eigenen Agentur abschließen!");
return 1;
}
else if(PlayerInfo[giveplayerid][pMember] == 8|| PlayerInfo[giveplayerid][pLeader] == 8)
{
SendClientMessage(playerid, COLOR_GREY, " Du kannst keinen Hitman unter Vertrag nehmen !");
return 1;
}
else if(gTeam[giveplayerid] == 2 || IsACop(giveplayerid) || PlayerInfo[giveplayerid][pLeader] == 24 || PlayerInfo[giveplayerid][pMember] == 24)
{
SendClientMessage(playerid, COLOR_GREY, " Du kannst keinen Beamten als Auftrag geben !");
return 1;
}
else if(PlayerInfo[giveplayerid][pMember] == 4 || PlayerInfo[giveplayerid][pMember] == 9 || PlayerInfo[giveplayerid][pMember] == 10 || PlayerInfo[giveplayerid][pMember] == 11 || PlayerInfo[giveplayerid][pMember] == 24)
{
SendClientMessage(playerid, COLOR_GREY, " Du kannst keine No - DM Fraktionen als Auftrag geben !");
}
else if(PlayerInfo[giveplayerid][pLeader] == 4 || PlayerInfo[giveplayerid][pLeader] == 9 || PlayerInfo[giveplayerid][pLeader] == 10 || PlayerInfo[giveplayerid][pLeader] == 11 || PlayerInfo[giveplayerid][pLeader] == 24)
{
SendClientMessage(playerid, COLOR_GREY, " Du kannst keine No - DM Fraktionen als Auftrag geben !");
}
if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Du kannst dich nicht selber unter Vertrag nehmen!"); return 1; }
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
playermoney = GetPlayerMoney(playerid);
if (moneys > 0 && playermoney >= moneys)
{
GivePlayerMoney(playerid, (0 - moneys));
PlayerInfo[giveplayerid][pHeadValue]+=moneys;
format(string, sizeof(string), "%s möchte das ein Hitman die Zielperson: %s für $%d tötet.",sendername, giveplayer, moneys);
SendFamilyMessage(8, COLOR_YELLOW, string);
format(string, sizeof(string), "* Du hast einem Hitman den Auftrag zur Beseitigung von %s für $%d erteilt.",giveplayer, moneys);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Falsche Angaben!");
}
}
}
else
{
format(string, sizeof(string), " %d ist kein Aktiver Spieler.", giveplayerid);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
return 1;
}
Das return 1 fehlt nach den Nachrichten:
SendClientMessage(playerid, COLOR_GREY, " Du kannst keine No - DM Fraktionen als Auftrag geben !");
//hier return 1;
Jeffry: Danke
und hast du eine Idee warum /healopfer nicht funktioniert.
Er zeigt jedes mal die Letze Message mit dem Krankenwagen an.
ocmd:healopfer(playerid, params[]) //heal
{
new id, string[120],preis;
if(!IsPlayerInFrac(playerid,4))
return SendClientMessage(playerid, COLOR_RED,"Du bist kein Mitglied des LiS Medical-Centers!");
if(sscanf(params, "ud", id,preis))
return SendClientMessage(playerid, COLOR_WHITE, "Befehl: /healopfer [Name/ID] [Preis]");
if(playerid == id)
return SendClientMessage(playerid,COLOR_RED,"Du kannst dich nicht selber heilen!");
if(IsPlayerNPC(id))
return SendClientMessage(playerid, COLOR_RED, "Du kannst keinen NPC/Bot heilen.");
if(!IsPlayerInAnyVehicle(playerid))
return SendClientMessage(playerid, COLOR_RED,"Du musst in einem Fahrzeug sein!");
if(id == INVALID_PLAYER_ID)
return SendClientMessage(playerid, COLOR_RED, "Dieser Spieler existiert nicht.");
if(GetVehicleModel(GetPlayerVehicleID(playerid) == 416) || GetVehicleModel(GetPlayerVehicleID(playerid) == 417))
{
if(GetVehicleModel(GetPlayerVehicleID(playerid) == 416) || GetVehicleModel(GetPlayerVehicleID(playerid) == 417))
{
new Float:Leben;
GetPlayerHealth(id,Leben);
if(Leben > 99)
return SendClientMessage(playerid,COLOR_RED,"Der Spieler hat schon maximales Leben!");
if(preis < 1 || preis > 1499)
{
SendClientMessage(playerid, COLOR_GREEN, "Du kannst maximal 1500$ und minimal 1$ !");
return 1;
}
if(GetPlayerVehicleID(id) == GetPlayerVehicleID(playerid))
{
if(HealOffer[id] == 999)
{
format(string, sizeof(string), "* Du hast %s angeboten Ihn für $%d zu heilen.", GetName(id),preis);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "* %s hat dir angeboten dich für $%d zu heilen, tippe /acceptheal um anzunehmen.", GetName(playerid),preis);
SendClientMessage(id, COLOR_WHITE, string);
HealOffer[id] = playerid;
HealPrice[id] = preis;
return 1;
}
else
{
SendClientMessage(playerid,COLOR_RED,"Der Spieler hat schon Heilangebot erhalten!");
return 1;
}
}
else
{
return SendClientMessage(playerid, COLOR_RED,"Der angegebene Spieler muss im gleichen Rettungswagen wie du sitzen, damit du ihn heilen kannst!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED,"Der angegebene Spieler muss im gleichen Rettungswagen wie du sitzen, damit du ihn heilen kannst!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_RED,"Du musst in einem Rettungswagen sitzen um einen anderen heilen zu können!");
return 1;
}
}
if(GetVehicleModel(GetPlayerVehicleID(playerid) == 416) || GetVehicleModel(GetPlayerVehicleID(playerid) == 417))
{
if(GetVehicleModel(GetPlayerVehicleID(playerid) == 416) || GetVehicleModel(GetPlayerVehicleID(playerid) == 417))
{
zu:
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 416 || GetVehicleModel(GetPlayerVehicleID(playerid)) == 417)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 416 || GetVehicleModel(GetPlayerVehicleID(playerid)) == 417)
{
Warum eigentlich zwei mal? Eins davon kannst du weg machen.
Danke und die Letzte frage.
Hast du eine Ahnung warum ich in der Zeile mit pMember und pLeader Errors bekomme
C:\Users\Patrick\Desktop\IRP-City\gamemodes\GRZv1.2.6LYD.pwn(71389) : warning 211: possibly unintended assignment
C:\Users\Patrick\Desktop\IRP-City\gamemodes\GRZv1.2.6LYD.pwn(71389) : warning 211: possibly unintended assignment
C:\Users\Patrick\Desktop\IRP-City\gamemodes\GRZv1.2.6LYD.pwn(71389) : error 022: must be lvalue (non-constant)
C:\Users\Patrick\Desktop\IRP-City\gamemodes\GRZv1.2.6LYD.pwn(71389) : error 022: must be lvalue (non-constant)
C:\Users\Patrick\Desktop\IRP-City\gamemodes\GRZv1.2.6LYD.pwn(71389) : error 022: must be lvalue (non-constant)
C:\Users\Patrick\Desktop\IRP-City\gamemodes\GRZv1.2.6LYD.pwn(71389) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
Alles anzeigen
ocmd:frakmats(playerid, params[])
{
new mats, frak, preis;
if(PlayerInfo[playerid][pMember] = 5 || PlayerInfo[playerid][pMember] = 6 || PlayerInfo[playerid][pMember] = 13 || PlayerInfo[playerid][pMember] = 14 || PlayerInfo[playerid][pMember] = 15 || PlayerInfo[playerid][pMember] = 16 || PlayerInfo[playerid][pMember] = 17 || PlayerInfo[playerid][pMember] = 18 || PlayerInfo[playerid][pMember] = 19 || PlayerInfo[playerid][pMember] = 20 || PlayerInfo[playerid][pMember] = 23) return SendClientMessage(playerid,-1,"Du bist in keiner Gang"); //71389
if(PlayerInfo[playerid][pLeader] = 5 || PlayerInfo[playerid][pLeader] = 6 || PlayerInfo[playerid][pLeader] = 13 || PlayerInfo[playerid][pLeader] = 14 || PlayerInfo[playerid][pLeader] = 15 || PlayerInfo[playerid][pLeader] = 16 || PlayerInfo[playerid][pLeader] = 17 || PlayerInfo[playerid][pLeader] = 18 || PlayerInfo[playerid][pLeader] = 19 || PlayerInfo[playerid][pLeader] = 20 || PlayerInfo[playerid][pLeader] = 23) return SendClientMessage(playerid,-1,"Du bist in keiner Gang");
if(!IsPlayerInRangeOfPoint(playerid, 8.0, -1076.1724,-1154.8590,129.2188))
{
SendClientMessage(playerid, COLOR_GRAD1, "Du kannst hier keine Fraktions-Materialien kaufen!");
return 1;
}
if(sscanf(params, "d", mats))
{
SendClientMessage(playerid, COLOR_GRAD1, "Benutzung: /frakmats [Anzahl]");
SendClientMessage(playerid, COLOR_GRAD1, "*Du kannst maximal 500 Fraktions-Materialien mit dir nehmen.");
SendClientMessage(playerid, COLOR_GRAD1, "*1 Fraktions-Material kostet 10$.");
return 1;
}
if(mats < 0 || mats > 500)
{
SendClientMessage(playerid,COLOR_WHITE," Bitte nur Summen in Höhe von 1 bis 500!");
return 1;
}
if(FrakMatsHolding[playerid] + mats > 500)
{
SendClientMessage(playerid, COLOR_GRAD1, "So viele Fraktions-Materialien könntest du nicht mit dir tragen!");
return 1;
}
preis = mats * 10;
new fraktionsid = 0;
if(PlayerInfo[playerid][pLeader] > 0) fraktionsid = PlayerInfo[playerid][pLeader] - 1;
if(preis > FraktionsKasse[fraktionsid])
{
SendClientMessage(playerid, COLOR_GRAD1, "So viele Geld ist nicht auf der Fraktionskasse!");
return 1;
}
// GivePlayerMoney(playerid, -preis);
FraktionsKasse[fraktionsid] -= preis;
FrakMatsHolding[playerid] += mats;
format(ALLSTRING, sizeof(ALLSTRING), "*Du hast %d Fraktions-Materialien für %d$ gekauft. Bringe sie nun zur Fraktionskammer!", mats, preis);
SendClientMessage(playerid, COLOR_LIGHTBLUE, ALLSTRING);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Solltest du reloggen / sterben verlierst du die Materialien wieder!");
SaveFraktionsKassen();
return 1;
}
Du hast da jeweils nur ein Gleichzeichen, es müssen aber zwei sein.
=
Zu
==
Hö?
Möglicherweise in einer Include versteckt, oder über Variablen zusammengebaut.
Naja, du kannst es so blockieren: Erstelle dir einen Filterscript und schreibe bei OnPlayerCommandText das rein:
if(!strcmp(cmdtext, "/deinemutterstincktecht", true)) return 1;
Dann solltest du den Befehl nicht mehr verwenden können.
@[LnD]JustMe.77: Dann wäre es wahrscheinlich gut, wenn du mal bei demjenigen nachfragst, der Zugriff auf den Code hat.
Geht das auch im Hauptskript?
Oder muss es in ein Filterskript
Kommt darauf an wie es gemacht wurde. Kannst es ja zuerst im Gamemode versuchen, und wenn es nicht geht, mache es in dem ersten Filterscript den du lädst.
Ok, ich werd es per Filterskript machen.
Weißt du wieso das Ordnungsamt Park system nicht funktioniert?
if (strcmp("/opark", cmd, true, 10) == 0)
{
if(IsPlayerInAnyVehicle(playerid) && GetVehicleModel(GetPlayerVehicleID(playerid)) == 525 && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
if(PlayerInfo[playerid][pMember] == 24||PlayerInfo[playerid][pLeader] == 24)
{
if(!IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
{
SendClientMessage(playerid, COLOR_GREY, " An deinem Abschleppwagen ist kein Auto angehängt!");
return 1;
}
//new trailercar = GetVehicleTrailer(GetPlayerVehicleID(playerid));
//new trailercar = GetPlayerVehicleID(playerid);
if(IsADtCar(trailercar))
{
new trailercar = GetVehicleTrailer(GetPlayerVehicleID(playerid));
new Float:X,Float:Y,Float:Z;
new Float:z_rot;
GetVehiclePos(trailercar, X,Y,Z);
GetVehicleZAngle(trailercar, z_rot);
new carowner = GetDtCarOwner(trailercar);
new slot = GetDtCarOwnerSlot(carowner,trailercar);
PlayerCar[carowner][slot][CarPos_x] = X;
PlayerCar[carowner][slot][CarPos_y] = Y;
PlayerCar[carowner][slot][CarPos_z] = Z;
PlayerCar[carowner][slot][CarArrest] = 1;
PlayerCar[carowner][slot][CarRotate] = z_rot;
new fkasse = 2000 + random(2999);
FraktionsKasse[23] += fkasse;
if(carowner != 555)
{
OnPlayerCarUpdate(carowner);
SendClientMessage(carowner, COLOR_WHITE, " Ihr Fahrzeug wurde abgeschleppt, Fahren zu zur Ordnungsamt Base, um ihr auto wieder Freizukaufen.");
PlayerInfo[carowner][pRest] = 1;
SetTimerEx("PlayerCarSpawn",1000,0,"i",carowner);
}
DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
SendClientMessage(playerid, COLOR_YELLOW, " Du hast das Fahrzeug erfolgreich abgeschleppt!");
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Du bist kein Mitglied des Ordnungsamtes!");
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Du musst einen Abschleppwagen fahren!");
}
return 1;
}
Was funktioniert denn nicht?
Ingame kommt Unknow Command.
_______________
Versuchs mal so:
Der Code den du da gepostet hast ist in mehreren Punkten fehlerhaft.
Punkt 1:
Die Punkte werden nicht richtig gesetzt (du fügst die Punkte an "string" an, anstatt an den "buffer"):
new string[256] = "Das ist ein langer String, der ziemlich lang ist und keinen eigentlichen Sinn hat, sondern nur so lang ist, damit die Ausgabe getestet werden kann.";
SendBigMessage(playerid, -1, string);
[31/05/2015 02:45:15] Das ist ein langer String, der ziemlich lang ist und keinen eigentlichen Sinn hat, sondern nur so lang ist, damit die Ausgabe g
[31/05/2015 02:45:15] etestet werden kann....
Punkt 2:
Du löschst den ausgegebenen Text immer aus dem "string". PAWN arbeitet mit Referenzen, bei in Parametern von Funktionen übergebenen Arrays. Somit löschst du den Inhalt, was zur Folge hat, dass der Text wird in einer Schleife, oder bei doppelter Verwendung über eine Variable nicht mehr gesendet.
new string[256] = "Das ist ein langer String, der ziemlich lang ist und keinen eigentlichen Sinn hat, sondern nur so lang ist, damit die Ausgabe getestet werden kann.";
SendBigMessage(playerid, -1, string); //sieht den Text
SendBigMessage(player1, -1, string); //sieht den Text nicht
[31/05/2015 02:46:05] Das ist ein langer String, der ziemlich lang ist und keinen eigentlichen Sinn hat, sondern nur so lang ist, damit die Ausgabe g
[31/05/2015 02:46:05] etestet werden kann....
Außerdem ist eine while-Schleife dafür eher angebracht.
So muss die Funktion aussehen: ( TheOneBehindYou1
stock SendBigMessage(playerid,color,string[]) //©Jeffry
{
if(strlen(string) < 128) return SendClientMessage(playerid,color,string);
new buffer[131],tmp[1024];
strcat(tmp, string);
while(tmp[0] != EOS)
{
strmid(buffer,tmp,0,127);
strdel(tmp,0,127);
if(tmp[0] != EOS) strcat(buffer,"...");
SendClientMessage(playerid,color,buffer);
}
return 1;
}
Ich finde den Fehler einfach nicht hilfe bittteee:
script: http://pastebin.com/YxF9FJbT
Error:
Mein Server\filterscripts\jadmin3.pwn(2348 ) : error 027: invalid character constant
Mein Server\filterscripts\jadmin3.pwn(2348 ) : error 027: invalid character constant
Mein Server\filterscripts\jadmin3.pwn(2348 ) : warning 215: expression has no effect
Mein Server\filterscripts\jadmin3.pwn(2348 ) : warning 215: expression has no effect
Mein Server\filterscripts\jadmin3.pwn(2348 ) : warning 215: expression has no effect
Mein Server\filterscripts\jadmin3.pwn(2348 ) : error 001: expected token: ";", but found ")"
Mein Server\filterscripts\jadmin3.pwn(2348 ) : fatal error 107: too many error messages on one line