Stef2n Geplaatst: 2 juli 2011 Rapport Geplaatst: 2 juli 2011 (bewerkt) Hey ik heb een vehicle systeem proberen te scripten alleen het gaat nog niet helemaal goed er zitten 2 errors in die zijn van andere commands 2 /kill en /help eerst waren die wel goed.. Code: if (strcmp("/help", cmdtext, true, 5) == 0); { SendClientMessage(playerid, COLOR_YELLOW, "(INFO) Welkom op deze Server!"); SendClientMessage(playerid, COLOR_YELLOW, "(INFO) Heb je vragen? vraag dat aan een admin!"); } if (strcmp("/kill", cmdtext, true, 5) == 0); { SetPlayerHealth(playerid, 0); SendClientMessage(playerid, COLOR_GREEN, "(INFO) Je hebt zelfmoord gepleegt!"); Errors: C:\Users\Stefan\Downloads\samp03csvr_R2-2_win32\gamemodes\StefanScript.pwn(212) : error 010: invalid function or declaration C:\Users\Stefan\Downloads\samp03csvr_R2-2_win32\gamemodes\StefanScript.pwn(217) : error 010: invalid function or declaration Bewerkt: 2 juli 2011 door Stef2n Reageren
.Timothy Geplaatst: 2 juli 2011 Rapport Geplaatst: 2 juli 2011 Wat betreft je eerste vraag: dat komt waarschijnlijk doordat je de camerapositie niet hebt ingesteld of niet hebt gelijkgesteld aan de positie waar je de speler selecteert. Voor je tweede probleem zou ik toch even kijken bij een van Sandra's tutorials, namelijk deze. Daar legt ze haarfijn uit hoe je zo'n systeem maakt. Ook voor je derde vraag heeft zij - meende ik - ook een tutorial geschreven, maar ik raad je aan eerst de basis van het scripten onder de knie te krijgen, alvorens je je aan de grotere systemen gaat wagen. Reageren
Stef2n Geplaatst: 2 juli 2011 Auteur Rapport Geplaatst: 2 juli 2011 (bewerkt) Ik heb nu een totaal nieuwe vraag :$ Bewerkt: 2 juli 2011 door Stef2n Reageren
Megadreams Geplaatst: 2 juli 2011 Rapport Geplaatst: 2 juli 2011 Bij een if eindig je nooit met een ; (tenzij je de brackets weglaat wanneer het mogelijk is maar doe dat maar als je dit allemaal kan). Je moet bij deze 2 ifs dus gewoon de ; weghalen en ze werken. Overigens moet je bij die 2de nog een } zetten maar dit zal vast wel door het kopieren zijn weggevallen. Reageren
Stef2n Geplaatst: 3 juli 2011 Auteur Rapport Geplaatst: 3 juli 2011 Ik heb nu dit met die ; weg maar hij geeft nog steeds de zelfde error bij mij. if (strcmp("/help", cmdtext, true, 5) == 0) { SendClientMessage(playerid, COLOR_YELLOW, "(INFO) Welkom op deze Server!"); SendClientMessage(playerid, COLOR_YELLOW, "(INFO) Heb je vragen? vraag dat aan een admin!"); } if (strcmp ("/kill", cmdtext, true, 5) == 0) { SetPlayerHealth(playerid, 0); SendClientMessage(playerid, COLOR_GREEN, "(INFO) Je hebt zelfmoord gepleegt!"); } } Reageren
powerkip96 Geplaatst: 3 juli 2011 Rapport Geplaatst: 3 juli 2011 (bewerkt) if (strcmp("/help", cmdtext, true, 5) == 0) { SendClientMessage(playerid, COLOR_YELLOW, "(INFO) Welkom op deze server!"); SendClientMessage(playerid, COLOR_YELLOW, "(INFO) Heb je vragen? Vraag dat aan een admin."); return 1; } if (strcmp("/kill", cmdtext, true, 5) == 0) SetPlayerHealth(playerid, 0); SendClientMessage(playerid, COLOR_GREEN, "(INFO) Je hebt zelfmoord gepleegt!"); return 1; } Zo zou die het moeten doen. P.S; Een command eindigt altijd met return 1; } Bewerkt: 4 juli 2011 door VWO-er Reageren
Megadreams Geplaatst: 3 juli 2011 Rapport Geplaatst: 3 juli 2011 P.S; Een command eindigt altijd met return 1; } Fout het is niet verplicht maar wel beter aangezien hij anders de andere if's nog zal afgaan, maar sowieso raad ik strcmp al af voor commands. Reageren
Stef2n Geplaatst: 3 juli 2011 Auteur Rapport Geplaatst: 3 juli 2011 Het lukt nog steeds niet dit is mijn hele command script: public OnPlayerCommandText(playerid, cmdtext[]) { new cmd[128], tmp[128], string[265], idx; cmd = strtok(cmdtext, idx); if(!strcmp(cmd, "/vec", true)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "GEBRUIK: /vec [voertuig ID]"); return 1; } new vecid = strval(tmp); if(vecid >= 400 && vecid <= 611) { if(IsPlayerAdmin(playerid) == 1) { if(PlayerInfo[playerid][pCarSpawned] == 1) { DestroyVehicle(PlayerInfo[playerid][pCarSpawnedID]); PlayerInfo[playerid][pCarSpawned] = 0; PlayerInfo[playerid][pCarSpawnedID] = (-1); } new Float:pX, Float:pY, Float:pZ, Float: pA; GetPlayerPos(playerid, pX, pY, pZ); GetPlayerFacingAngle(playerid, pA); PlayerInfo[playerid][pCarSpawned] = 1; PlayerInfo[playerid][pCarSpawnedID] = CreateVehicle(vecid, pX, pY, pZ, pA, -1, -1, 900); PutPlayerInVehicle(playerid, PlayerInfo[playerid][pCarSpawnedID], 0); format(string, sizeof string, "Je hebt een voertuig gespawnd, Model: %d, ID: %d", vecid, PlayerInfo[playerid][pCarSpawnedID]); SendClientMessage(playerid, COLOR_RED, string); return 1; } else { SendClientMessage(playerid, COLOR_RED, "Je bent geen administrator!"); } } else { SendClientMessage(playerid, COLOR_RED, "Voertuig Model moet boven 400 zijn en onder 611!"); } return 1; } return 0; } strtok(const string[], &index) { new length = strlen(string); while ((index < length) && (string[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; } if (strcmp("/help", cmdtext, true, 5) == 0) { SendClientMessage(playerid, COLOR_YELLOW, "(INFO) Welkom op deze server!"); SendClientMessage(playerid, COLOR_YELLOW, "(INFO) Heb je vragen? Vraag dat aan een admin."); return 1; } if (strcmp("/kill", cmdtext, true, 5) == 0) SetPlayerHealth(playerid, 0); SendClientMessage(playerid, COLOR_GREEN, "(INFO) Je hebt zelfmoord gepleegt!"); return 1; } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { return 1; } Reageren
powerkip96 Geplaatst: 3 juli 2011 Rapport Geplaatst: 3 juli 2011 Waarom staat het onder strtok? En niet onder /vec? Reageren
Stef2n Geplaatst: 4 juli 2011 Auteur Rapport Geplaatst: 4 juli 2011 Waarom staat het onder strtok? En niet onder /vec? ZOu jij het misschien goed kunnen zetten dan en is die error er dan ook uit? Reageren
powerkip96 Geplaatst: 4 juli 2011 Rapport Geplaatst: 4 juli 2011 (bewerkt) public OnPlayerCommandText(playerid, cmdtext[]) { new cmd[128], tmp[128], string[265], idx; cmd = strtok(cmdtext, idx); if(!strcmp(cmd, "/vec", true)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "GEBRUIK: /vec [voertuig ID]"); return 1; } new vecid = strval(tmp); if(vecid >= 400 && vecid <= 611) { if(IsPlayerAdmin(playerid) == 1) { if(PlayerInfo[playerid][pCarSpawned] == 1) { DestroyVehicle(PlayerInfo[playerid][pCarSpawnedID]); PlayerInfo[playerid][pCarSpawned] = 0; PlayerInfo[playerid][pCarSpawnedID] = (-1); } new Float:pX, Float:pY, Float:pZ, Float: pA; GetPlayerPos(playerid, pX, pY, pZ); GetPlayerFacingAngle(playerid, pA); PlayerInfo[playerid][pCarSpawned] = 1; PlayerInfo[playerid][pCarSpawnedID] = CreateVehicle(vecid, pX, pY, pZ, pA, -1, -1, 900); PutPlayerInVehicle(playerid, PlayerInfo[playerid][pCarSpawnedID], 0); format(string, sizeof string, "Je hebt een voertuig gespawnd, Model: %d, ID: %d", vecid, PlayerInfo[playerid][pCarSpawnedID]); SendClientMessage(playerid, COLOR_RED, string); return 1; } else { SendClientMessage(playerid, COLOR_RED, "Je bent geen administrator!"); } } else { SendClientMessage(playerid, COLOR_RED, "Voertuig Model moet boven 400 zijn en onder 611!"); } return 1; } if (strcmp("/help", cmdtext, true, 5) == 0) { SendClientMessage(playerid, COLOR_YELLOW, "(INFO) Welkom op deze server!"); SendClientMessage(playerid, COLOR_YELLOW, "(INFO) Heb je vragen? Vraag dat aan een admin."); return 1; } if (strcmp("/kill", cmdtext, true, 5) == 0) SetPlayerHealth(playerid, 0); SendClientMessage(playerid, COLOR_GREEN, "(INFO) Je hebt zelfmoord gepleegt!"); return 1; } return 0; } strtok(const string[], &index) { new length = strlen(string); while ((index < length) && (string[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { return 1; } Doet die het zo ? ^ Bewerkt: 4 juli 2011 door VWO-er Reageren
Stef2n Geplaatst: 4 juli 2011 Auteur Rapport Geplaatst: 4 juli 2011 (bewerkt) Hij zegt nu dat regel 202 niet klopt de return 0; bij de /kill command aan het einde. Wajo jij hebt wel snelle reacties xD Bewerkt: 4 juli 2011 door VWO-er Reageren
.Timothy Geplaatst: 4 juli 2011 Rapport Geplaatst: 4 juli 2011 Wederom het verzoek: Zootje citaten weggehaald, vriendelijk verzoek om (als er geen aanleiding voor is) niet te citeren; dit rekt de pagina onnodig uit en leest ook niet erg makkelijk. Reageren
Stef2n Geplaatst: 4 juli 2011 Auteur Rapport Geplaatst: 4 juli 2011 Het script werkt nu heel erg bedankt! Reageren
powerkip96 Geplaatst: 5 juli 2011 Rapport Geplaatst: 5 juli 2011 Het script werkt nu heel erg bedankt! Vergeet niet; return 0; } Sluit de OnCommandText af, dus alles eronder, is geen command meer volgens het script. Reageren
Recommended Posts
Een reactie plaatsen
Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.